@unbrained/pm-cli 2026.8.19 → 2026.8.20

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 (146) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +19 -0
  3. package/dist/cli/register-list-query.js +12 -10
  4. package/dist/cli/register-structured-mutation.d.ts +2 -0
  5. package/dist/cli/register-structured-mutation.js +29 -6
  6. package/dist/cli-bundle/bundle-manifest.json +151 -143
  7. package/dist/cli-bundle/chunks/{chunk-4THEB6PD.js → chunk-2RDVGYWE.js} +12 -12
  8. package/dist/cli-bundle/chunks/{chunk-BHYMXLAE.js → chunk-4GB2LTOQ.js} +2 -2
  9. package/dist/cli-bundle/chunks/{chunk-TOXJM4WA.js → chunk-7BRF2BX2.js} +2 -2
  10. package/dist/cli-bundle/chunks/chunk-BLVQHFSY.js +35 -0
  11. package/dist/cli-bundle/chunks/chunk-CU25EQVV.js +5 -0
  12. package/dist/cli-bundle/chunks/{chunk-4NRRH7AM.js → chunk-K3EN3LK2.js} +2 -2
  13. package/dist/cli-bundle/chunks/{chunk-OIOKV6NO.js → chunk-L4LGPBJU.js} +49 -49
  14. package/dist/cli-bundle/chunks/chunk-RS3IV2R6.js +197 -0
  15. package/dist/cli-bundle/chunks/chunk-TSMWLCHS.js +3 -0
  16. package/dist/cli-bundle/chunks/chunk-US2ZQW2M.js +77 -0
  17. package/dist/cli-bundle/chunks/{chunk-QXSH7BLM.js → chunk-XYDDWBZN.js} +2 -2
  18. package/dist/cli-bundle/chunks/register-list-query-JSAQCVOC.js +11 -0
  19. package/dist/cli-bundle/chunks/{register-mutation-AUWVCW4M.js → register-mutation-XJPAW63D.js} +20 -20
  20. package/dist/cli-bundle/chunks/{register-operations-PZQPHXW5.js → register-operations-DSOSB2XQ.js} +2 -2
  21. package/dist/cli-bundle/chunks/{register-setup-I4LUHGVW.js → register-setup-QUR6QL2C.js} +2 -2
  22. package/dist/cli-bundle/focused-chunks/{chunk-DKPLYW3L.js → chunk-325UXIO7.js} +2 -2
  23. package/dist/cli-bundle/focused-chunks/chunk-5L7M4AI7.js +2 -0
  24. package/dist/cli-bundle/focused-chunks/{chunk-EF6ZS5GH.js → chunk-6AHG2YW7.js} +2 -2
  25. package/dist/cli-bundle/focused-chunks/{chunk-MCZXYZAF.js → chunk-AZBACT5T.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/{chunk-VXDSU5MC.js → chunk-BLJCGGID.js} +2 -2
  27. package/dist/cli-bundle/focused-chunks/chunk-FUREQLQN.js +18 -0
  28. package/dist/cli-bundle/focused-chunks/{chunk-US7VEYZG.js → chunk-G3C5ERXG.js} +2 -2
  29. package/dist/cli-bundle/focused-chunks/{chunk-ZBIQQYMI.js → chunk-GXWQBE3T.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/{chunk-JDOMQ7VQ.js → chunk-JWKEDZJI.js} +3 -3
  31. package/dist/cli-bundle/focused-chunks/chunk-KYZ6JGPL.js +155 -0
  32. package/dist/cli-bundle/focused-chunks/{chunk-ESISGDAY.js → chunk-M32HFIQB.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/{chunk-EXBCLIBU.js → chunk-OM65KHGF.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/chunk-Q47EX4DI.js +2 -0
  35. package/dist/cli-bundle/focused-chunks/{chunk-BJRYFVSH.js → chunk-RIHDMCUM.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/chunk-T4ZFY7ZJ.js +16 -0
  37. package/dist/cli-bundle/focused-chunks/chunk-TDR5OGG3.js +2 -0
  38. package/dist/cli-bundle/focused-chunks/{chunk-ODHQEECS.js → chunk-UGSS4F5X.js} +2 -2
  39. package/dist/cli-bundle/focused-chunks/chunk-Z3PLWSGM.js +2 -0
  40. package/dist/cli-bundle/main.js +2 -2
  41. package/dist/cli-bundle/sdk-authoring.js +1 -1
  42. package/dist/cli-bundle/sdk-contracts.js +2 -2
  43. package/dist/cli-bundle/sdk-core.js +41 -41
  44. package/dist/cli-bundle/sdk-governance.js +1 -1
  45. package/dist/cli-bundle/sdk-graph.js +1 -1
  46. package/dist/cli-bundle/sdk-merge.js +31 -31
  47. package/dist/cli-bundle/sdk-query.js +1 -1
  48. package/dist/cli-bundle/sdk-runtime.js +1 -1
  49. package/dist/cli-bundle/sdk-testing.js +1 -1
  50. package/dist/cli-bundle/sdk.js +5 -5
  51. package/dist/core/output/mutation-projection.js +26 -2
  52. package/dist/core/shared/constants.d.ts +1 -5
  53. package/dist/core/shared/constants.js +3 -81
  54. package/dist/core/shared/item-metadata-contract.d.ts +14 -0
  55. package/dist/core/shared/item-metadata-contract.js +90 -0
  56. package/dist/core/store/item-store.d.ts +60 -0
  57. package/dist/core/store/item-store.js +22 -5
  58. package/dist/sdk/agent/closed-domain-contracts.d.ts +25 -0
  59. package/dist/sdk/agent/closed-domain-contracts.js +140 -0
  60. package/dist/sdk/agent/refusal-closure.d.ts +13 -1
  61. package/dist/sdk/agent/refusal-closure.js +45 -3
  62. package/dist/sdk/agent/refusal-reachability.d.ts +26 -0
  63. package/dist/sdk/agent/refusal-reachability.js +26 -2
  64. package/dist/sdk/agent-capability-contracts.js +6 -11
  65. package/dist/sdk/cli-contracts/completeness.js +8 -2
  66. package/dist/sdk/cli-contracts/enum-contracts.d.ts +4 -2
  67. package/dist/sdk/cli-contracts/enum-contracts.js +16 -6
  68. package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
  69. package/dist/sdk/cli-contracts/flag-contracts.js +11 -2
  70. package/dist/sdk/cli-contracts/flag-lexicon-contracts.d.ts +19 -2
  71. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +105 -5
  72. package/dist/sdk/cli-contracts/grammar-contracts.d.ts +2 -2
  73. package/dist/sdk/cli-contracts/grammar-contracts.js +5 -2
  74. package/dist/sdk/cli-contracts/runtime-contracts.js +7 -3
  75. package/dist/sdk/cli-contracts/tool-schema.js +7 -2
  76. package/dist/sdk/cli-contracts.d.ts +2 -2
  77. package/dist/sdk/cli-contracts.js +4 -4
  78. package/dist/sdk/contracts.d.ts +1 -0
  79. package/dist/sdk/contracts.js +3 -2
  80. package/dist/sdk/core.d.ts +1 -1
  81. package/dist/sdk/core.js +3 -3
  82. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +74 -2
  83. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +112 -40
  84. package/dist/sdk/index.d.ts +5 -3
  85. package/dist/sdk/index.js +6 -4
  86. package/dist/sdk/init-agent-guidance.d.ts +5 -3
  87. package/dist/sdk/init-agent-guidance.js +69 -9
  88. package/dist/sdk/lifecycle/mcp-actions.d.ts +18 -0
  89. package/dist/sdk/lifecycle/mcp-actions.js +52 -0
  90. package/dist/sdk/lifecycle/reopen.d.ts +44 -0
  91. package/dist/sdk/lifecycle/reopen.js +69 -0
  92. package/dist/sdk/lifecycle/update.d.ts +31 -0
  93. package/dist/sdk/lifecycle/update.js +95 -13
  94. package/dist/sdk/query/get.d.ts +1 -1
  95. package/dist/sdk/query/get.js +18 -52
  96. package/dist/sdk/query/list.d.ts +7 -21
  97. package/dist/sdk/query/list.js +35 -49
  98. package/dist/sdk/query/projection-contracts.d.ts +33 -0
  99. package/dist/sdk/query/projection-contracts.js +185 -0
  100. package/dist/sdk/query/search-contracts.d.ts +2 -1
  101. package/dist/sdk/query/search-contracts.js +18 -87
  102. package/dist/sdk/query/search.d.ts +15 -0
  103. package/dist/sdk/query/search.js +31 -5
  104. package/dist/sdk/runtime-primitives.d.ts +1 -1
  105. package/dist/sdk/runtime-primitives.js +3 -3
  106. package/dist/sdk/runtime.d.ts +6 -0
  107. package/dist/sdk/runtime.js +18 -14
  108. package/dist/sdk/similarity.d.ts +13 -0
  109. package/dist/sdk/similarity.js +32 -6
  110. package/docs/COMMANDS.md +13 -1
  111. package/docs/README.md +1 -0
  112. package/docs/RECURRENCE_RECOVERY_CONTRACTS.md +114 -0
  113. package/docs/SDK.md +10 -2
  114. package/docs/SDK_CONTEXT_INTEGRITY.md +45 -0
  115. package/docs/generated/AGENT_COMMAND_SURFACE.md +1 -1
  116. package/docs/performance/sdk-entrypoint-import-costs.md +14 -21
  117. package/marketplace.json +2 -2
  118. package/package.json +5 -5
  119. package/packages/pm-beads/package.json +1 -1
  120. package/packages/pm-calendar/package.json +1 -1
  121. package/packages/pm-command-kit/package.json +1 -1
  122. package/packages/pm-digital-twin/package.json +1 -1
  123. package/packages/pm-governance-audit/package.json +1 -1
  124. package/packages/pm-guide-shell/package.json +1 -1
  125. package/packages/pm-kanban/package.json +1 -1
  126. package/packages/pm-lifecycle-hooks/package.json +1 -1
  127. package/packages/pm-linked-test-adapters/package.json +1 -1
  128. package/packages/pm-search-advanced/package.json +1 -1
  129. package/packages/pm-templates/package.json +1 -1
  130. package/packages/pm-todos/package.json +1 -1
  131. package/packages/pm-vcs/package.json +1 -1
  132. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  133. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  134. package/sdk/public-surface.json +387 -25
  135. package/dist/cli-bundle/chunks/chunk-GWMXAQOD.js +0 -197
  136. package/dist/cli-bundle/chunks/chunk-HVFQTLYM.js +0 -35
  137. package/dist/cli-bundle/chunks/chunk-OI4XI562.js +0 -5
  138. package/dist/cli-bundle/chunks/chunk-SARFF5H5.js +0 -3
  139. package/dist/cli-bundle/chunks/chunk-YBMRWW4E.js +0 -77
  140. package/dist/cli-bundle/chunks/register-list-query-Y56KINDU.js +0 -11
  141. package/dist/cli-bundle/focused-chunks/chunk-34QBIYZI.js +0 -155
  142. package/dist/cli-bundle/focused-chunks/chunk-L623ZPNK.js +0 -2
  143. package/dist/cli-bundle/focused-chunks/chunk-PRHY2IMX.js +0 -18
  144. package/dist/cli-bundle/focused-chunks/chunk-RZU5U6Q7.js +0 -2
  145. package/dist/cli-bundle/focused-chunks/chunk-YBMGXBFV.js +0 -16
  146. package/dist/cli-bundle/focused-chunks/chunk-YLVBJ6GF.js +0 -2
@@ -1,155 +0,0 @@
1
- import{A as io,Aa as go,G as so,Ja as At,L as Tt,La as Qe,Na as Ze,Oa as et,P as Tn,Q as An,Qa as bo,R as On,Ra as wo,S as Ye,Sa as Eo,T as ao,Ta as ko,U as co,Ua as vo,Va as So,Z as uo,_ as lo,a as bt,h as It,p as oo,q as xt,s as be,t as ce,u as H,ua as fo,v as Ke,va as mo,wa as _o,xa as po,ya as yo,za as ho}from"./chunk-JDOMQ7VQ.js";import{C as vt,D as St,E as xn,G as no,R as ge,S as ae,T as ro,W as g,X as Re,Y as I,Z as x,aa as M,ba as Ne,ca as we,da as v,n as wt,o as Yr,p as Qr,q as Zr,r as eo,v as Et,w as kt,x as to}from"./chunk-RZU5U6Q7.js";import{AsyncLocalStorage as Qs}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 Cn=new Qs,Io=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function Ot(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function Ee(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=Ot(n.id,128),o=Ot(n.parent_id,128);if(r===void 0||!Io.test(r)||o!==void 0&&!Io.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=Ot(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function De(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=Ot(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Zs(e,t,n){let r=Cn.getStore(),o=De({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=Ee(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={...De(r?.provenance),...o,...De(e?.provenance)},a=Ee(e?.episode,!1)??Ee(n,!1)??i??Ee(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 Rn(e,t){return Zs(e.session_context,t,e.client_info?.episode)??{}}function Kf(e,t){let n=Cn.getStore(),r=Ee(e.episode,!0),o=Ee(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...De(n?.provenance),...De(e.provenance)};return Cn.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function Yf(e){let t=De(e.provenance),n=Ee(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 Hn}from"node:async_hooks";import{createHash as oa}from"node:crypto";import Rt from"node:fs";import ia from"node:os";import Co from"node:path";import{createHash as xo}from"node:crypto";import{existsSync as Nn,promises as To,readFileSync as ea}from"node:fs";import J from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="424b9eb3-6b34-5ab0-a3f5-db61fbca12cf")}catch{}})();var ta="session.json";function Dn(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Ao(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=Dn(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=>Dn(c,128)),a=t.focused_item_id===void 0||Dn(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function na(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Ao(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Mn(e){return J.join(co(e),ta)}async function Ct(e){try{let t=await To.readFile(Mn(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=na(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 Ln(e,t){let n=Mn(e);await To.mkdir(J.dirname(n),{recursive:!0}),await H(n,JSON.stringify(t))}function Pn(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${xo("sha256").update(e).digest("hex").slice(0,24)}`}function jn(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Fn(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)}+${xo("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function $n(e,t,n){let r=await Ct(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 Ln(e,s)}async function om(e){let t=Pn(e.principal);await $n(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??Fn(r),confidence:o?"high":"medium",rule_version:"v2",evidence:jn([...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 im(e){let t=Pn(e.principal);await $n(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??Fn(r),confidence:o?"high":"medium",evidence:jn([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function sm(e){let t=Pn(e.principal);await $n(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??Fn(r),confidence:o?"high":"medium",rule_version:"v2",evidence:jn([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function ra(e,t){let n=t.PM_PATH?.trim();if(n){let o=J.resolve(e,n);if(Nn(J.join(o,"settings.json")))return o;let i=J.join(o,".agents","pm");if(Nn(J.join(i,"settings.json")))return i}let r=J.resolve(e);for(let o=0;o<32;o+=1){let i=J.join(r,".agents","pm");if(Nn(J.join(i,"settings.json")))return i;let s=J.dirname(r);if(s===r)break;r=s}}function Oo(e){if(!e.key)return;let t=ra(e.cwd,e.env);if(t)try{let n=JSON.parse(ea(Mn(t),"utf8"));return Ao(n.semantic_attribution?.[e.key])}catch{return}}async function am(e){return(await Ct(e)).focused_item}async function cm(e,t){let n=await Ct(e);await Ln(e,{...n,focused_item:t})}async function dm(e){let n={...await Ct(e)};delete n.focused_item,await Ln(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 Wn=["model","effort","role","topic","version"],Dt=new Hn,Ro=new Hn,Mt=new Hn,sa=[{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:[]}],Me=new Map,zn=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function L(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function ke(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function Lt(e){let t=e.harness.trim().toLowerCase();if(!zn.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:ke(e.environment_keys),model_environment_keys:ke(e.model_environment_keys),session_environment_keys:ke(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),ke(r)]).filter(([n])=>zn.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"&&zn.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"))),provenance_unavailable_dimensions:ke(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:ke(e.argv_markers).map(n=>n.toLowerCase()),client_names:ke(e.client_names).map(n=>n.toLowerCase())}}var No=sa.map(Lt);function aa(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Nt(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function Bn(e=[]){let t=[...No,...[...Me.values()].map(r=>r.descriptor),...Mt.getStore()?.descriptors??[],...e.map(Lt)],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 Vn(e,t){for(let n of t??[]){let r=L(e[n]);if(r)return r.slice(0,256)}}function ca(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 Do(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 L(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return L(i.slice(s.length+1))?.slice(0,256)}}var da=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function ve(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return da.has(n)?n:void 0}function Un(e,t){return L(e?.[t])?.slice(0,256)}var ua=1048576;function la(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 L(i)?.slice(0,256)}function fa(e,t,n){let r=L(n.CLAUDE_CODE_SESSION_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let i=Co.resolve(t.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),s=Co.join(t.home_dir??ia.homedir(),".claude","projects",i,`${r}.jsonl`);try{let a=Rt.openSync(s,"r");try{let c=Rt.fstatSync(a).size,u=Math.min(c,ua),f=Buffer.alloc(u);Rt.readSync(a,f,0,u,Math.max(0,c-u));let l=f.toString("utf8").split(`
2
- `).reverse();for(let _ of l.slice(0,4096)){let p=la(_,e);if(p)return p}return}finally{Rt.closeSync(a)}}catch{return}}function ma(e,t,n,r){let o=Mt.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(L(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return fa(e,t,n);if(s==="ai_agent_version"){let a=L(n.AI_AGENT);return!a||!r||!Nt(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function _a(e,t,n){if(e==="ai_agent_version"){let r=L(n.AI_AGENT);return r!==void 0&&Nt(r,t.harness)}return L(n.CLAUDE_CODE_SESSION_ID)!==void 0}function qn(e){return e||(Ro.getStore()??{env:process.env,argv:process.argv})}function pa(e,t,n,r){let o=e.environment_keys.some(a=>L(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let u=c.replaceAll("\\","/");return Nt(u.slice(u.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||Nt(r,a));return o||i||s}function ya(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 ha(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function ga(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...Wn,...Object.keys(r?.provenance_environment_keys??{})]),c,u,f;a.has(e)&&(c=ve(e,L(n[s])?.slice(0,256)),f=ve(e,Do(t.argv??[],e)),u=ve(e,ca(t.argv??[],e)));let l={...r?.provenance_environment_keys,model:r?.model_environment_keys},_={...t.client_info?.provenance,model:t.client_info?.model},p=Un(o?.provenance,e),w=ve(e,Vn(n,l[e])),k=ve(e,Un(_,e)),E=ve(e,Un(t.provenance,e)),C=ma(e,t,n,r);return ha([[c,"override"],[p,"session"],[f,"argv"],[w,"environment"],[k,"mcp_client"],[E,"host"],[C,"probe"]])??ya(e,i)??(u?{value:u,source:"argv"}:void 0)}function ba(e,t){if(!(!e||!t))return oa("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function wa(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...Wn,...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 u=ga(c,e,t,n,r,o);u?a[c]=u:n&&(c!=="version"||n.provenance_unavailable_dimensions.includes(c))&&(a[c]=null)}return a}function gm(e){let t=e.map(Lt),n=new Map(No.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=Me.get(i.harness);if(s&&!aa(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=Me.get(i.harness);Me.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=Me.get(i.harness);!s||s.registrations<=1?Me.delete(i.harness):s.registrations-=1}}}}function bm(e,t){return Ro.run(e,t)}function wm(e,t,n={}){let r=e.map(Lt);return Bn(r),Mt.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function Gn(e){let t=qn(e),n=t.env??{},r=Bn(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=>pa(w,n,o,i)),a=Rn(t,n),c=[Vn(n,s?.session_environment_keys),L(t.client_info?.session)?.slice(0,256)].find(w=>w!==void 0),u=ba(s?.harness,c),f=Oo({cwd:t.cwd??process.cwd(),env:n,key:u}),l=wa(t,n,s,a,f),_=l.model,p=[["harness",s?.harness],["model",_?.value],["model_source",_?.source],["session",c],["instance",u],["provenance",Object.keys(l).length>0?l:void 0],["episode",a.episode]];return Object.fromEntries(p.filter(w=>w[1]!==void 0))}function Ea(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=_a(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 Mo(e){let t=qn(e),n=Gn(t),r=Bn(t.descriptors).find(u=>u.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&Mt.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(L(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=Rn(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,Vn(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,Do(t.argv??[],"role")].some(u=>{let f=L(u)?.slice(0,256);return f!==void 0&&ve("role",f)===void 0}),c=Object.fromEntries(Wn.map(u=>[u,Ea(u,n,r,o,i,u==="role"&&a)]));return{...n,provenance_outcomes:c}}function Em(){return process.env.PM_AUTHOR}function km(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function vm(e){return Gn(e).harness}function ka(e,t,n){let r=qn(n),o=Gn(r);if(e!==void 0){let s=L(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=L(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=L(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function Lo(e){let t=Dt.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function Po(e){let t=Dt.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 jo(e){let t=Dt.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function Fo(e,t){let n=ka(e,t);return Dt.enterWith(n),n.author}import va from"node:crypto";import{AsyncLocalStorage as Sa}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 zo=new Sa,$o=1024;function Uo(){let e=zo.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 Ho(e){let t=zo.getStore();if(t===void 0)return;if(!Number.isSafeInteger(e)||e<0||e>$o)throw new Error(`Reproducible token length must be an integer between 0 and ${$o}`);let n="";for(;n.length<e;){let r=va.createHash("sha256").update(`${t.seed}\0${t.tokenReads}`).digest();t.tokenReads+=1;for(let o of r)if(n+=(o%36).toString(36),n.length===e)break}return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7887e752-b1b8-5c5e-9dd8-93b41cb757af")}catch{}})();var Ia=/^([+-]?)(\d+)([hdwm])$/i,xa=/^[+-]?\d+[hdwm](?:[+-]\d+[hdwm])+$/i,Ta=/^(\d{4})(\d{2})(\d{2})$/,Aa=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Oa=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})-(\d{2})(?:-(\d{2}))?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Ca=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Ra=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-](\d{2}):(\d{2}))$/i;function Se(){return Uo()??new Date().toISOString()}function de(e){return Number.isFinite(Date.parse(e))}function Bo(e){let t=Ra.exec(e);if(!t||!Number.isFinite(Date.parse(e)))return!1;let[,n,r,o,i,s,a,c,u]=t,[f,l,_,p,w,k]=[n,r,o,i,s,a].map(Number);return l>=1&&l<=12&&_>=1&&_<=Kn(f,l-1)&&p<=23&&w<=59&&k<=59&&(c===void 0||Number(c)<=23)&&(u===void 0||Number(u)<=59)}var Na=1e4,Pt=new Map;function Wo(e){let t=Pt.get(e);if(t!==void 0)return t;let n=Date.parse(e);return Pt.size>=Na&&At(Pt),Pt.set(e,n),n}function z(e,t){let n=Wo(e),r=Wo(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t)}function Nm(e,t){return!(t.deadlineBefore&&(!e.deadline||z(e.deadline,t.deadlineBefore)>0)||t.deadlineAfter&&(!e.deadline||z(e.deadline,t.deadlineAfter)<0)||t.updatedAfter&&z(e.updated_at,t.updatedAfter)<0||t.updatedBefore&&z(e.updated_at,t.updatedBefore)>0||t.createdAfter&&z(e.created_at,t.createdAfter)<0||t.createdBefore&&z(e.created_at,t.createdBefore)>0)}function Xn(e){return e?`.${e.slice(1).padEnd(3,"0").slice(0,3)}`:""}function Jn(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 Da(e,t,n){n&&n!==t&&(e.includes(n)||e.push(n))}function Ma(e){let t=[],n=u=>Da(t,e,u),r=Ta.exec(e);if(r){let[,u,f,l]=r;n(`${u}-${f}-${l}`)}let o=Aa.exec(e);if(o){let[,u,f,l,_,p,w,k,E]=o,C=w?`:${w}`:"";n(`${u}-${f}-${l}T${_}:${p}${C}${Xn(k)}${Jn(E)}`)}let i=Oa.exec(e);if(i){let[,u,f,l,_,p,w]=i,k=_?`:${_}`:"";n(`${u}T${f}:${l}${k}${Xn(p)}${Jn(w)}`)}let s=Ca.exec(e);if(s){let[,u,f,l,_,p,w]=s,k=_?`:${_}`:"";n(`${u}T${f}:${l}${k}${Xn(p)}${Jn(w)}`)}let a=10,c=e.slice(0,a);if(Pa(c)){let u=a;for(;u<e.length&&ja(e[u]);)u+=1;u<e.length&&n(`${c}T${e.slice(u)}`)}return t}function La(e){let t=Date.parse(e);if(Number.isFinite(t))return t;for(let n of Ma(e)){let r=Date.parse(n);if(Number.isFinite(r))return r}return Number.NaN}function Pa(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 ja(e){return e?e===" "||e===" "||e===`
3
- `||e==="\r"||e==="\f"||e==="\v":!1}function Kn(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}var Fa=["January","February","March","April","May","June","July","August","September","October","November","December"],$a=/^(\d{4})-(\d{2})-(\d{2})/,za=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/;function Ua(e,t,n){let r=$a.exec(t)??za.exec(t);if(!r)return;let o=Number.parseInt(r[1],10),i=Number.parseInt(r[2],10),s=Number.parseInt(r[3],10),a=n?.trim()||"deadline";if(i<1||i>12)throw new x(`Invalid ${a} value "${e}". Month "${r[2]}" is out of range \u2014 use a month between 01 and 12.`,I.USAGE);let c=Kn(o,i-1);if(s<1||s>c)throw new x(`Invalid ${a} value "${e}". ${Fa[i-1]} ${o} has ${c} days, so day "${r[3]}" does not exist. Use a real YYYY-MM-DD calendar date.`,I.USAGE)}function Ha(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,Kn(i,s));return n.setUTCFullYear(i,s,a),n}function Dm(e,t=new Date,n="deadline"){let r=e.trim();if(r.toLowerCase()==="now")return t.toISOString();let o=Ia.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 Ha(t,a).toISOString();let u=c==="h"?3600*1e3:c==="d"?1440*60*1e3:10080*60*1e3;return new Date(t.getTime()+a*u).toISOString()}Ua(e,r,n);let i=La(r);if(!Number.isFinite(i)){let s=n.trim().length>0?n.trim():"deadline",a=xa.test(r)?"Compound relative expressions like +3d+1h are not supported; use a single relative token (for example +3d) or an ISO/date string.":'Use ISO/date string input, "now", or relative +6h/-6h/+1d/-1d/+2w/-2w/+6m/-6m.';throw new x(`Invalid ${s} value "${e}". ${a}`,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 Le=1,Vo=1;function Lm(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=Le?t:Le}function qo(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=Le))return e}function Wa(e,t=Vo){return e<t?"outdated":e>t?"ahead":"current"}function Pm(e,t=Vo){let n=[],r=[];for(let o of e){let i=Wa(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 Ba={"in-progress":"in_progress",cancelled:"canceled"};function jt(e,t){if(t){let o=ko(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=Ba[n]??n;if(wt.includes(r))return r}function Va(e,t){return jt(e,t)??e}function zm(e,t){return t.terminal_statuses.has(Va(e,t))}import{encode as rc}from"@toon-format/toon";import{isDeepStrictEqual as Yo}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="91a3969e-59b3-506e-9349-ca08e73a1228")}catch{}})();var qa=16;function Yn(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 Ga(e){return[...new Set([So(e),Yn(e.key),Yn(e.cli_flag),...e.cli_aliases.map(t=>Yn(t))])]}function Jo(e,t){for(let n of Ga(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function Ko(e){return Array.isArray(e)?e.flatMap(t=>Ko(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 Go(e,t){if(typeof e=="boolean")return e;if(typeof e=="number"){if(e===1)return!0;if(e===0)return!1}if(typeof e=="string"){let n=e.trim().toLowerCase();if(n==="true"||n==="1"||n==="yes")return!0;if(n==="false"||n==="0"||n==="no")return!1}throw new x(`${t} must be one of true|false|1|0|yes|no`,I.USAGE)}function Xo(e,t){if(typeof e=="number"&&Number.isFinite(e))return e;let n=typeof e=="string"?e.trim():String(e),r=Number(n);if(!Number.isFinite(r))throw new x(`${t} must be a number`,I.USAGE);return r}function Xa(e,t,n){let r=typeof e=="string"?(()=>{try{return JSON.parse(e)}catch{return}})():e;if(n==="array"&&Array.isArray(r)||n==="object"&&typeof r=="object"&&r!==null&&!Array.isArray(r))return r;throw new x(`${t} must be valid JSON ${n}`,I.USAGE)}function Ja(e,t){return t===void 0?!0:t==="array"?Array.isArray(e):t==="object"?typeof e=="object"&&e!==null&&!Array.isArray(e):typeof e===t}function Ka(e,t,n){if(t.const!==void 0&&M(e)!==M(t.const))return`${n} must equal ${M(t.const)}`;if(t.enum!==void 0&&!t.enum.some(r=>M(r)===M(e)))return`${n} must be one of ${t.enum.map(r=>M(r)).join("|")}`;if(!Ja(e,t.type))return`${n} must match configured type ${String(t.type)}`;if(typeof e=="string"){if(t.min_length!==void 0&&e.length<t.min_length)return`${n} must contain at least ${t.min_length} characters`;if(t.format==="date-time"&&!Bo(e))return`${n} must be an RFC 3339 date-time`}}function Ya(e,t,n,r){if(Array.isArray(e)){if(t.min_items!==void 0&&e.length<t.min_items)return`${n} must contain at least ${t.min_items} items`;if(t.items)for(let[o,i]of e.entries()){let s=Ft(i,t.items,`${n}[${o}]`,r+1);if(s)return s}}}function Qa(e,t,n,r){if(typeof e!="object"||e===null||Array.isArray(e))return;let o=e;for(let i of t.required??[])if(!Object.hasOwn(o,i))return`${n}.${i} is required`;for(let[i,s]of Object.entries(o)){let a=t.properties?.[i];if(!a){if(t.additional_properties===!1)return`${n}.${i} is not allowed`;continue}let c=Ft(s,a,`${n}.${i}`,r+1);if(c)return c}}function Ft(e,t,n,r=0){if(r>qa)return`${n} value schema exceeds maximum depth`;let o=Ka(e,t,n);if(o)return o;let i=Ya(e,t,n,r);if(i)return i;let s=Qa(e,t,n,r);if(s)return s;if(!t.one_of)return;let a=0;for(let c of t.one_of)if(Ft(e,c,n,r+1)===void 0&&(a+=1,a>1))break;return a===1?void 0:`${n} must match exactly one configured schema variant`}function Ie(e,t,n){if(!e.value_schema||t===void 0)return t;let r=Ft(t,e.value_schema,n);if(r)throw new x(r,I.USAGE);return t}function tt(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:Ie(e,Xa(i,r,e.type),r)}if(e.repeatable||e.type==="string_array"){let i=Ko(t);return e.type==="number"?Ie(e,i.map(s=>Xo(s,r)),r):e.type==="boolean"?Ie(e,i.map(s=>Go(s,r)),r):Ie(e,i,r)}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?Ie(e,Xo(o,r),r):e.type==="boolean"?Ie(e,Go(o,r),r):Ie(e,typeof o=="string"?o:String(o),r)}function Za(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 Gm(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=Jo(e,i);if(s===void 0){Za(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=tt(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function Xm(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=Jo(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=tt(s,a)))}return r}import{decode as ec}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 Qn(e){return{value:ec(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 tc=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function nc(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(tc);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function $t(e){return nc(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 oc=new Set(["schema","tracker","auto"]),ic=new Set(["passed","failed","stopped","canceled"]),sc=new Set(no);function Fe(e){return e.replaceAll("\\","/")}function ei(e){for(let t of e)if(t!==0)return t;return 0}function zt(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var ti=["id","title","description","created_at","updated_at"],ac=new Set(ae);function ni(e){if(e?.schema)return{statusRegistry:Eo(e.schema),fieldRegistry:vo(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function cc(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function ue(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new x(`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 ot(e,t){throw new x(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 ri(e){let t=new Set(ac);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function b(e,t){e||ue(t)}function it(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&ue(t),e}function Zn(e,t){let n=e[t];b(typeof n=="string",`${t} must be a string`),b(de(n),`${t} must be a valid ISO timestamp`)}function Qo(e,t,n){let r=e[t];r!==void 0&&b(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function nr(e,t,n){let r=e[t];r!==void 0&&(b(typeof r=="string",`${n} must be a string`),b(de(r),`${n} must be a valid ISO timestamp`))}function dc(e){if(e!==void 0){b(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){b(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();b(St.includes(n),`event.recurrence.by_weekday entries must be one of: ${St.join(", ")}`)}}}function uc(e){if(e!==void 0){b(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)b(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function lc(e){if(e!==void 0){b(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)b(typeof t=="string","event.recurrence.exdates entries must be strings"),b(de(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function fc(e){let t=it(e,"event.recurrence must be an object");b(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();b(vt.includes(n),`event.recurrence.freq must be one of: ${vt.join(", ")}`),Qo(t,"interval","event.recurrence.interval"),Qo(t,"count","event.recurrence.count"),nr(t,"until","event.recurrence.until"),dc(t.by_weekday),uc(t.by_month_day),lc(t.exdates)}function mc(e){for(let r of ti)b(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;b(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&b(typeof n=="number"&&Number.isInteger(n)&&n>=Le,`pm_format_version must be an integer >= ${Le}`),t}function _c(e,t){let n=e.status;b(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=jt(n,r),i=r?r.definitions.map(s=>s.id):[...wt];b(o!==void 0,`status must be one of: ${i.join(", ")}`)}function pc(e){let t=e.priority;b(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;b(Array.isArray(n),"tags must be an array");for(let r of n)b(typeof r=="string","tags entries must be strings")}function yc(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){b(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"||kt.includes(n);b(r,`confidence string value must be one of: ${[...kt,"med"].join(", ")}`);return}b(!1,"confidence must be a number or string")}}function hc(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&ue("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||Et.includes(n);b(r,`severity value must be one of: ${[...Et,"med"].join(", ")}`)}function gc(e){e.regression!==void 0&&typeof e.regression!="boolean"&&ue("regression must be a boolean")}function bc(e){let t=e.reminders;if(t!==void 0){b(Array.isArray(t),"reminders must be an array");for(let n of t){let r=it(n,"reminders entries must be objects");b(typeof r.at=="string","reminder.at must be a string"),b(de(r.at),"reminder.at must be a valid ISO timestamp"),b(typeof r.text=="string","reminder.text must be a string"),b(r.text.trim().length>0,"reminder.text must not be empty")}}}function wc(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(b(typeof e[t]=="string",`event.${t} must be a string`),b(e[t].trim().length>0,`event.${t} must not be empty`))}function Ec(e){e.recurrence!==void 0&&(fc(e.recurrence),e.recurrence.until!==void 0&&b(z(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function kc(e){let t=it(e,"events entries must be objects");b(typeof t.start_at=="string","event.start_at must be a string"),b(de(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(b(typeof t.end_at=="string","event.end_at must be a string"),b(de(t.end_at),"event.end_at must be a valid ISO timestamp"),b(z(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),wc(t),t.all_day!==void 0&&b(typeof t.all_day=="boolean","event.all_day must be a boolean"),Ec(t)}function vc(e){let t=e.events;if(t!==void 0){b(Array.isArray(t),"events must be an array");for(let n of t)kc(n)}}function Sc(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&b(typeof n=="string",`${t} must be a string`)}}function Ic(e){let t=e.type_options;if(t===void 0)return;let n=it(t,"type_options must be an object");for(let[r,o]of Object.entries(n))b(r.trim().length>0,"type_options keys must be non-empty"),b(typeof o=="string","type_options values must be strings"),b(o.trim().length>0,"type_options values must be non-empty strings")}function xc(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){cc(r,t)&&ue(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=tt(r,o,`metadata field "${r.metadata_key}"`)}catch(i){ue(String(i?.message).replace(/^Invalid\s+/u,""))}}}function Tc(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=ri(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?ue(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function rr(e,t){let n=it(e,"item metadata must be an object"),r=mc(n);_c(n,t),pc(n),yc(n),hc(n),gc(n),Zn(n,"created_at"),Zn(n,"updated_at"),n.deadline!==void 0&&Zn(n,"deadline"),bc(n),vc(n),nr(n,"closed_at","closed_at"),nr(n,"completed_at","completed_at"),Sc(n),Ic(n),xc(n,r,t),Tc(n,t)}function Ac(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=z(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 er(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=z(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 Oc(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=z(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function Cc(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!vt.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>St.includes(s)))).sort((s,a)=>xn(s)-xn(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=>de(s)))).sort((s,a)=>z(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 Rc(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(Nc).sort(Dc)}function Nc(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:Cc(e.recurrence)};return zt(t),t}function Dc(e,t){return ei([z(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 Mc(e){if(!(!e||e.length===0))return e.map(t=>({path:Fe(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function Lc(e){if(!e||e.length===0)return;let t=e.map(Fc).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)=>ei([z(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 Pe(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function Pc(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function tr(e){return typeof e=="string"?e:""}function jc(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 Fc(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=ic.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:tr(e.started_at),finished_at:tr(e.finished_at),recorded_at:tr(e.recorded_at),attempt:Pc(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:Pe(e.passed)??0,failed:Pe(e.failed)??0,skipped:Pe(e.skipped)??0,items:Pe(e.items),linked_tests:Pe(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:jc(e.measurements)};return zt(o),o}function $c(e){if(!(!Array.isArray(e)||e.length===0))return e.map(Hc)}function nt(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 oi(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function ir(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function Zo(e){if(!oi(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!ir(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function zc(e){if(!oi(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!ir(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Uc(e){let t=e?.trim().toLowerCase();if(!(!t||!oc.has(t)))return t}function Hc(e){let t={command:e.command?.trim()||void 0,path:e.path?Fe(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:Uc(e.pm_context_mode),env_set:Zo(e.env_set),env_clear:nt(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:nt(e.assert_stdout_contains),assert_stdout_regex:nt(e.assert_stdout_regex),assert_stderr_contains:nt(e.assert_stderr_contains),assert_stderr_regex:nt(e.assert_stderr_regex),assert_stdout_min_lines:Pe(e.assert_stdout_min_lines),assert_json_field_equals:Zo(e.assert_json_field_equals),assert_json_field_gte:zc(e.assert_json_field_gte),note:e.note?.trim()||void 0};return zt(t),t}function Wc(e){if(!(!e||e.length===0))return[...e].map(t=>({path:Fe(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 Bc(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 Vc(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:Fe(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 qc(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=Fe(i));let a=h(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function Gc(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:Fe(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 Xc(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&&sc.has(o)?o:void 0,s=lo(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 u={id:n,order:s,title:r,status:i,created_at:a,updated_at:c};return Jc(u,t),u}function Jc(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",Bc],["files","files",Vc],["tests","tests",qc],["docs","docs",Gc]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function Kc(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=Xc(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function Yc(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 u=h(r.evidence);u&&(a.evidence=u);let f=h(r.step_id);f&&(a.step_id=f),t.push(a)}return t.length>0?t:void 0}function Qc(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 Zc(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 ed(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 je(e){let t=0;for(;t<e.length&&e[t]===`
4
- `;)t+=1;return e.slice(t).trimEnd()}function td(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(kt.includes(t))return t}function nd(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(Et.includes(t))return t}function rt(e){return e||void 0}function rd(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))ir(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function od(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]=tt(r,o,`metadata field "${r.metadata_key}"`))}}function id(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=ri(t),o=Object.keys(e).filter(i=>!n.has(i)).sort((i,s)=>i.localeCompare(s));o.length>0&&t.unknownFieldPolicy==="reject"&&ue(`unknown schema fields are not allowed: ${o.join(", ")}`),o.length>0&&t.onWarning?.(`item_unknown_schema_fields:${o.join(",")}`)}function Ut(e,t={}){let n=ni(t),r=jt(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:qo(e.pm_format_version),source_type:h(e.source_type),type_options:ed(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:Ac(e.dependencies),comments:er(e.comments),notes:er(e.notes),learnings:er(e.learnings),files:Mc(e.files),tests:$c(e.tests),test_runs:Lc(e.test_runs),docs:Wc(e.docs),deadline:rt(e.deadline),reminders:Oc(e.reminders),events:Rc(e.events),closed_at:rt(e.closed_at),completed_at:rt(e.completed_at),assignee:h(e.assignee),claim_principal:h(e.claim_principal),source_owner:h(e.source_owner),author:rt(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:td(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:nd(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:rt(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:Kc(e.plan_steps),plan_decisions:Yc(e.plan_decisions),plan_discoveries:Qc(e.plan_discoveries),plan_validation:Zc(e.plan_validation)};return rd(i,e),od(i,n),id(i,n),zt(i),i}function ii(e){return v(e,ae)}function sd(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 ad(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=sd(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 cd(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 or(e,t){return Ut(e,{...t,onWarning:void 0})}function dd(e,t,n={}){let r=cd(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=ad(r.content);o||(e.trimStart().startsWith("{")&&ot("json_markdown","JSON front matter is not valid JSON"),ot("json_markdown","JSON Markdown item document is missing JSON front matter"));let s;try{s=JSON.parse(o)}catch{ot("json_markdown","JSON front matter is not valid JSON")}return rr(s,t),{metadata:or(s,n),body:je(i)}}function ud(e,t,n={}){let r;try{r=Qn(e).value}catch{ot("toon","TOON item document is not valid TOON")}b(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(!ti.some(a=>Object.prototype.hasOwnProperty.call(o,a))&&!Object.prototype.hasOwnProperty.call(o,"front_matter")&&ot("toon","TOON input does not have the shape of an item document"),Object.prototype.hasOwnProperty.call(o,"front_matter"))return rr(o.front_matter,t),b(o.body===void 0||typeof o.body=="string","TOON item document body must be a string"),{metadata:or(o.front_matter,n),body:je(typeof o.body=="string"?o.body:"")};let{body:i,...s}=o;return b(i===void 0||typeof i=="string","TOON item document body must be a string"),rr(s,t),{metadata:or(s,n),body:je(typeof i=="string"?i:"")}}function ld(e,t={}){let n=Ut(e.metadata,t),r=ii(n),o=JSON.stringify(r,null,2),i=je(e.body??"");return i?`${o}
6
-
7
- ${i}
8
- `:`${o}
9
- `}function fd(e,t={}){let n=Ut(e.metadata,t),r=ii(n),o=je(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=rc(s),c;try{c=Qn(a).value}catch(u){throw new x("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:u instanceof Error?u.message:String(u)})}if(!Yo(c,s)){let u=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:{},f=Object.keys(s).find(l=>!Yo(s[l],u[l]))??"document";throw new x(`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 Ht(e,t={}){let n=$t(e);if(n)throw new x(`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=ni(t);return r==="toon"?ud(e,o,t):dd(e,o,t)}function si(e,t={}){return(t.format??"toon")==="toon"?fd(e,t):ld(e,t)}function q(e,t={}){return{metadata:Ut(e.metadata,t),body:je(e.body??"")}}import{existsSync as _d}from"node:fs";import{AsyncLocalStorage as pd}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 h_(){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 md(){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 $e=null,ci=null,yd=null,hd=null,sr=null,gd=null,di=null,bd=null;var wd=[],ui=new pd;function P(){return ui.getStore()}function C_(e){return ui.run({hooks:null,commands:null,parsers:null,preflight:null,services:null,renderers:null,registrations:null,commandContext:null,commandResult:void 0,affectedItems:[]},e)}var Ed=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function ai(e){let t=Z.resolve(e);for(;;){if(_d(Z.join(t,".git")))return t;let n=Z.dirname(t);if(n===t)return;t=n}}function kd(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT?.trim()||process.cwd(),n=ai(t)??Z.resolve(t),r=ai(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 R_(e){let t=P();if(t){t.hooks=e;return}$e=e}function N_(e){let t=P();if(t){t.commands=e;return}ci=e}function D_(e){let t=P();if(t){t.parsers=e;return}yd=e}function M_(e){let t=P();if(t){t.preflight=e;return}hd=e}function L_(e){let t=P();if(t){t.services=e;return}sr=e}function P_(e){let t=P();if(t){t.renderers=e;return}gd=e}function j_(e){let t=P();if(t){t.registrations=e;return}di=e}function st(){let e=P();return e?e.registrations:di}function ar(e){if(!e)return;let t=P();t?t.affectedItems.push(e):wd.push(e)}function Wt(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"||Ed.has(i)||Object.hasOwn(r,i)&&r[i]!==void 0&&(n[i]=r[i])}return n}async function G(e){let t=P(),n=t?t.hooks:$e;return n?mo(n,e):[]}async function cr(e){let t=P(),n=t?t.hooks:$e;n&&await fo(n,e)}async function K(e){let t=P(),n=t?t.hooks:$e;return n?_o(n,e):[]}function dr(){let e=P();return((e?e.hooks:$e)?.onRead?.length??0)>0}async function F_(e){let t=P(),n=t?t.hooks:$e;return n?po(n,e):[]}async function $_(e){let t=P(),n=t?t.commands:ci;return n?yo(n,{...e,...kd(e.pm_root)}):{handled:!1,result:null,warnings:[]}}function li(e,t){let n=P(),r=n?n.commandContext:bd;return{service:e,command:r?.command,args:r?[...r.args]:[],options:r?.options?{...r.options}:{},global:r?.global?{...r.global}:void 0,pm_root:r?.pm_root,source_workspace_root:r?.source_workspace_root,repo_root:r?.repo_root,pm_root_rel:r?.pm_root_rel,payload:t}}async function ee(e,t){let n=P(),r=n?n.services:sr;return r?go(r,li(e,t)):{handled:!1,result:t,warnings:[]}}function fi(e,t){let n=P(),r=n?n.services:sr;return r?ho(r,li(e,t)):{handled:!1,result:t,warnings:[]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="aa65b74d-ef5d-57ed-b613-3034da52a8ba")}catch{}})();async function ze(e,t){let n=await ce(e);if(n===null)return[];if(await K({path:e,scope:"project"}),n.trim()==="")return[];let r=$t(n);if(r)throw new x(`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 x(`History for ${t} contains invalid JSON at line ${i+1}. Repair or restore the history stream and retry.`,I.GENERIC_FAILURE)}}return o}import Er 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 Ci from"fast-json-patch";import te from"node:fs/promises";import ne from"node:path";import{randomUUID as vd}from"node:crypto";import{createRequire as Sd}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a84b308f-7eef-535c-9531-b33b0775c651")}catch{}})();var Id="history-event-index.sqlite",ur="2",xd=8,xe=new Map;function Gt(e){return ne.join(e,"runtime",Id)}async function mi(e){let t=ne.join(e,"history"),n=await te.readdir(t,{withFileTypes:!0}).catch(s=>{if(typeof s=="object"&&s!==null&&"code"in s&&s.code==="ENOENT")return[];throw s}),r=xe.get(e)??{streams:new Map,ordered_events:[]},o=new Set,i=!xe.has(e);for(let s of n.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")).sort((a,c)=>a.name.localeCompare(c.name))){let a=s.name.slice(0,-6);o.add(a);let c=ne.join(t,s.name),u=await te.stat(c,{bigint:!0}),f=[u.dev,u.ino,u.size,u.mtimeNs,u.ctimeNs].join(":");if(r.streams.get(a)?.signature===f)continue;let l=await ze(c,a);r.streams.set(a,{signature:f,events:l.map((_,p)=>({stream_id:a,stream_offset:p,entry:_}))}),i=!0}for(let s of r.streams.keys())o.has(s)||(r.streams.delete(s),i=!0);if(i&&(r.ordered_events=[...r.streams.values()].flatMap(s=>s.events).sort(pi)),xe.delete(e),xe.set(e,r),xe.size>xd){let s=xe.keys().next().value;xe.delete(s)}return r.ordered_events}function Td(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}function Ad(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?Td(t):null}var Bt;function lr(){return Bt!==void 0||(Bt=Ad(process.versions.node,Sd(import.meta.url))),Bt}function Od(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(ur)}function _i(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 rp(e){let t=lr();if(!t)return!1;let n=Gt(e);await te.mkdir(ne.dirname(n),{recursive:!0});let r=`${n}.${vd()}.tmp`,o;try{o=new t(r),Od(o),o.exec("BEGIN IMMEDIATE");for(let i of await mi(e))_i(o,i);return o.exec("COMMIT"),o.close(),o=void 0,await te.rm(n,{force:!0}),await te.rename(r,n),!0}catch(i){throw o?.close(),await te.rm(r,{force:!0}),i}}function Vt(e,t){return!t||t.length===0||t.includes(e)}function pi(e,t){return e.entry.ts.localeCompare(t.entry.ts)||e.stream_id.localeCompare(t.stream_id)||e.stream_offset-t.stream_offset}function Cd(e,t){if(t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0){if(pi(e,{stream_id:t.after_stream_id,stream_offset:t.after_stream_offset,entry:{...e.entry,ts:t.after_ts}})<=0)return!1}else if(t.since_ts!==void 0&&e.entry.ts<t.since_ts)return!1;return!0}function Rd(e,t){return!t.harnesses||t.harnesses.length===0||t.harnesses.includes(e.entry.agent_harness??"")?!0:e.entry.agent_harness===void 0&&(t.harness_alias_authors??[]).includes(e.entry.author)}function Nd(e,t){return!Cd(e,t)||!Vt(e.entry.op,t.ops)||!Vt(e.entry.author,t.authors)||!Vt(e.entry.agent_instance??"",t.agent_instances)||!Vt(e.stream_id,t.stream_ids)||!Rd(e,t)?!1:(t.provenance??[]).every(n=>{let r=e.entry.agent_provenance?.[n.dimension]?.value;return r!==void 0&&n.values.includes(r)})}async function op(e,t){let n=Math.max(0,Math.floor(t.limit)),r=(await mi(e)).filter(o=>Nd(o,t)).slice(0,n+1);return{events:r.slice(0,t.limit),has_more:r.length>t.limit}}async function yi(e,t){let n=ne.dirname(ne.dirname(e)),r=Gt(n);try{await te.access(r)}catch{return}let o=lr();if(!o)return;let i;try{if(i=new o(r),i.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==ur)throw new TypeError("Unsupported history event index version");let a=ne.basename(e,".jsonl"),c=i.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(a);_i(i,{stream_id:a,stream_offset:Number(c.value),entry:t}),i.close()}catch{i?.close(),await te.rm(r,{force:!0})}}async function Xt(e){await te.rm(Gt(ne.dirname(ne.dirname(e))),{force:!0})}function qt(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function Dd(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 ip(e,t){let n=lr();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)),qt(r,o,"op",t.ops),qt(r,o,"author",t.authors),Dd(r,o,t.harnesses,t.harness_alias_authors),qt(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);qt(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s;try{if(s=new n(Gt(e),{readOnly:!0}),s.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==ur)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),u=c.length>t.limit,f=c.slice(0,t.limit).map(l=>({stream_id:String(l.stream_id),stream_offset:Number(l.stream_offset),entry:JSON.parse(String(l.entry_json))}));return s.close(),{events:f,has_more:u}}catch{return s?.close(),null}}import gr 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]="c873f95b-c435-5b0d-a631-565fb195b5cd")}catch{}})();var Jt="changed_fields",Md="changed_field_count",fr="rows",Ld=new Set(["apply","rollback"]),hi=new Set(["deleted","would_delete"]);function Te(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function gi(e){let t=e[Jt];if(!Array.isArray(t))return null;let n=Object.getPrototypeOf(e)===null?Object.create(null):{};for(let[r,o]of Object.entries(e))r!==Jt&&(n[r]=o);return n[Md]=t.length,n}function Pd(e){return"item"in e&&Array.isArray(e[Jt])}function jd(e){return typeof e.mode=="string"&&Ld.has(e.mode)&&Array.isArray(e[fr])}function Fd(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};return Object.assign(n,e),n[fr]=t,n}function $d(e){if(!Te(e))return null;let t=Te(e.item)?e.item:Te(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"&&hi.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 zd(e){if(!Te(e)||!Te(e.item)||typeof e.item.id!="string")return null;let t=e[Jt];if(!Array.isArray(t))return null;let n={id:e.item.id,...typeof e.outcome=="string"&&hi.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 Ud(e){let t=jd(e)?e[fr]:void 0;if(!Array.isArray(t))return{projected:e,changed:!1};let n=!1,r=t.map(o=>{if(!Te(o))return o;let i=gi(o);return i?(n=!0,i):o});return n?{projected:Fd(e,r),changed:!0}:{projected:e,changed:!1}}function Hd(e,t={}){if(t.idOnly===!0){let a=$d(e);if(a!==null)return a}if(t.compactEnvelope===!0){let a=zd(e);if(a!==null)return a}if((t.changedFields??"full")==="full"||!Te(e))return e;let r=!1,o=e,i=Pd(e)?gi(e):null;i!==null&&(o=i,r=!0);let s=Ud(o);return s.changed&&(o=s.projected,r=!0),r?o:e}import{encode as Ei}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="202cbb3e-71fe-5701-a1f5-eb515bf56561")}catch{}})();var Ip=new Set(Object.values(I));var bi=!1;function Ue(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function mr(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function Wd(){(process.exitCode===void 0||process.exitCode===I.SUCCESS)&&(process.exitCode=I.SUCCESS)}function Bd(){(process.exitCode===void 0||process.exitCode===I.SUCCESS)&&(process.exitCode=I.GENERIC_FAILURE)}function _r(e){if(e==="stdout"){Wd();return}Bd()}function wi(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function Vd(){bi||(bi=!0,process.stdout.on("error",e=>{if(mr(e)){_r("stdout");return}wi(e)}),process.stderr.on("error",e=>{if(mr(e)){_r("stderr");return}wi(e)}))}function qd(e,t){Vd();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(n){if(mr(n))return _r(e),!1;throw n}}function Kt(e){return qd("stderr",e)}function pr(e){return typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"?String(e):e===null?"null":JSON.stringify(e)}function Gd(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function ki(e){if(e.length===0||!e.every(Ue))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)&&Gd(n[r])))}function vi(e,t){let n=" ".repeat(t);return e.split(`
45
- `).map(r=>`${n}${r}`).join(`
46
- `)}function Xd(e,t,n){let r=" ".repeat(n);return!Ue(t)&&!Array.isArray(t)?`${r}${e}: ${pr(t)}`:Array.isArray(t)&&t.length===0?`${r}${e}: []`:Array.isArray(t)&&ki(t)?vi(Ei({[e]:t}),n):Ue(t)&&Object.keys(t).length===0?`${r}${e}: {}`:`${r}${e}:
47
- ${hr(t,n+1)}`}function yr(e){if(e!=null){if(Array.isArray(e)){let t=e.map(n=>yr(n)).filter(n=>n!==void 0);return t.length>0?t:void 0}if(Ue(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=yr(r);o!==void 0&&(t[n]=o)}return Object.keys(t).length>0?t:void 0}return e}}function hr(e,t){let n=" ".repeat(t);if(Array.isArray(e))return e.length===0?"[]":ki(e)?vi(Ei(e),t):e.map(r=>{if(!Ue(r)&&!Array.isArray(r))return`${n}- ${pr(r)}`;let i=hr(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(Ue(e)){let r=Object.entries(e);return r.length===0?"{}":r.map(([o,i])=>Xd(o,i,t)).join(`
52
- `)}return`${n}${pr(e)}`}function xp(e,t){if(t==="json")return`${JSON.stringify(e,null,2)}
53
- `;let n=yr(e);return n===void 0?`{}
54
- `:`${hr(n,0)}
55
- `}function Tp(e){let t=fi("error_format",{message:e}),n=t.handled&&typeof t.result=="string"?t.result:e;Kt(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 Jd=He.join("runtime","history-drift-cache.json"),Si={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 Ii(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function Kd(e){let t=He.join(e,Jd),n=!1,r="invalid_cache_path";try{n=(await gr.stat(await gr.realpath(e))).isDirectory()}catch(o){let i=Ii(o);r=i===void 0?"unknown":Si[i]??"filesystem_error"}if(!n){Kt(`[pm] warning: history_drift_cache_invalidation_failed:${r}
58
- `);return}try{await gr.rm(t,{force:!0})}catch(o){let i=Ii(o);if(be(o))return;let s=i===void 0?"unknown":Si[i]??"filesystem_error";Kt(`[pm] warning: history_drift_cache_invalidation_failed:${s}
59
- `)}}async function at(e){let t=He.dirname(He.resolve(e));He.basename(t)==="history"&&await Kd(He.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 Qd={front_matter:{},body:""},fe=2,ct=[1,2];function Yt(e,t){return(e??"").localeCompare(t??"")}function xi(e,t){return(e??0)-(t??0)}function le(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function Zd(e,t){return[e.scope.localeCompare(t.scope),Yt(e.path,t.path),Yt(e.command,t.command),xi(e.timeout_seconds,t.timeout_seconds),Yt(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,[]),xi(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,{}),Yt(e.note,t.note)].find(r=>r!==0)??0}function eu(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function tu(e,t){let n=eu(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 nu(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!tu(r,o.path)?{...o,op:"add"}:o;n.push(i),r=Ci.applyPatch(r,[i],!0,!0).newDocument}return n}function br(e,t){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let r=q(e),o=t===1&&r.metadata.tests?{...r.metadata,tests:[...r.metadata.tests].sort(Zd)}:r.metadata;return{front_matter:v(o,ae),body:r.body}}function Ti(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let n=q(e);return{metadata:v(n.metadata,ae),body:n.body}}function Vp(e){return wr(e,fe)}function wr(e,t){if(!ct.some(n=>n===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return we(M(br(e,t)))}function qp(){return we(M(Qd))}function We(e){let t=br(e.before,fe),n=br(e.after,fe),r=Ti(e.before),o=Ti(e.after),i=Ci.compare(r,o),s=nu(r,i),a=Po(e.author),c=a.harness?Object.fromEntries(Object.entries(Mo().provenance_outcomes).filter(([,f])=>f.status==="failed")):void 0,u=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??Lo(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:we(M(t)),after_hash:we(M(n)),item_hash_version:fe,message:e.message===void 0?void 0:e.message,...u===void 0?{}:{context:u}}}function Ai(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ru(e){let t=e.ts.trim();return t.length>0?t:Se()}function Oi(e,t){let n=e.ts;return typeof n=="string"&&n.trim().length>0?e:{...e,ts:t}}function Qt(e,t){let n=ru(t);if(typeof e=="string"){try{let r=JSON.parse(e);if(Ai(r))return JSON.stringify(Oi(r,n))}catch{}return e}return Ai(e)?JSON.stringify(Oi(e,n)):JSON.stringify(e)}async function Be(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 Ke(e,Qt(n.result,t)),await at(e),await Xt(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 Ke(o,Qt(r.line,t)),await at(o),await Xt(o);return}await Ke(o,Qt(r.entry??t,t)),await at(o),await Xt(o);return}}await Ke(e,Qt(t,t)),await at(e),await yi(e,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bf8797ec-53d3-5d23-8a6e-8296a027ddf2")}catch{}})();var ou={metadata:{},body:""};function en(){return structuredClone(ou)}function Zt(e,t=fe){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return wr(tn(e),t)}catch{}return we(M({replay_fallback:!0,metadata:e.metadata,body:e.body}))}function tn(e){return{metadata:e.metadata,body:e.body}}function ey(e,t={}){return q(tn(e),t)}function ty(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=q(e);return{metadata:v(t.metadata,ae),body:t.body}}function Ri(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function iu(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function Di(e){return Array.isArray(e)?e.filter(iu).map(t=>({...t,path:Ri(t.path),from:typeof t.from=="string"?Ri(t.from):void 0})):[]}function su(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 nn(e,t){try{let n=Di(t),r=Er.applyPatch(structuredClone(e),n,!0,!1).newDocument;return su(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 au(e){return[...new Set(e.map(t=>t.item_hash_version).filter(t=>t!==void 0&&ct.includes(t)))]}function cu(e,t){return e!==void 0?[e]:t===void 0?[1,fe]:[t]}function Mi(e){let t=en(),n,r;for(let o=0;o<e.length;o+=1){let i=e[o],s=i.item_hash_version;if(s!==void 0&&!ct.includes(s))return{ok:!1,errors:[`verify_failed:unsupported_item_hash_version:${String(s)}:entry_${o+1}`]};let a=nn(t,i.patch);if(!a.ok)return{ok:!1,errors:[`verify_failed:patch_apply_failed:entry_${o+1}`]};let u=cu(s,r).filter(l=>Zt(t,l)===i.before_hash);if(u.length===0)return{ok:!1,errors:[`verify_failed:before_hash_mismatch:entry_${o+1}`]};let f=u.find(l=>Zt(a.document,l)===i.after_hash);if(f===void 0)return{ok:!1,errors:[`verify_failed:after_hash_mismatch:entry_${o+1}`]};t=a.document,n=f,s!==void 0&&(r=f)}return{ok:!0,errors:[],...n===void 0?{}:{item_hash_version:n}}}function rn(e){let t=Mi(e);return{ok:t.ok,errors:t.errors}}function Ni(e,t){try{return{ok:!0,document:Er.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function du(e,t){let n=structuredClone(e),r=0,o=0;for(let a of Di(t)){let c=Ni(n,a);if(c.ok){n=c.document;continue}if(a.op==="replace"){let u=Ni(n,{...a,op:"add"});if(u.ok){n=u.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 uu(e){let t=au(e);if(t.length===1)return t[0];let n=Mi(e);return n.ok&&n.item_hash_version!==void 0?n.item_hash_version:t.length===0?1:fe}function ny(e,t=uu(e)){let n=e.findIndex(l=>l.item_hash_version!==void 0&&!ct.includes(l.item_hash_version));if(n>=0)throw new TypeError(`unsupported_item_hash_version:${String(e[n]?.item_hash_version)}:entry_${n+1}`);let r=en(),o=[],i=[],s=0,a=0,c=0,u=0,f=t!==1||e.some(l=>l.item_hash_version!==void 0);for(let l=0;l<e.length;l+=1){let _=e[l],p=Zt(r,t),w=nn(r,_.patch),k,E,C=!1,N=0,Q=0;if(w.ok)k=w.document,E=_.patch;else{let U=du(r,_.patch);k=U.document,E=Er.compare(r,k),C=!0,N=U.convertedReplaceToAdd,Q=U.skippedOps,c+=N,u+=Q,a+=1}let j=Zt(k,t),Ce=p!==_.before_hash||j!==_.after_hash;Ce&&(s+=1);let se={..._,patch:E,before_hash:p,after_hash:j};f?se.item_hash_version=t:delete se.item_hash_version,o.push(se),i.push({index:l+1,rehashed:Ce,patch_repaired:C,converted_replace_to_add:N,skipped_ops:Q}),r=k}return{entries:o,finalDocument:r,entriesRehashed:s,entriesPatchRepaired:a,convertedReplaceToAdd:c,skippedOps:u,details:i,itemHashVersion:t,explicitItemHashVersion:f}}function ry(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
60
- `)}
61
- `}import lu from"node:crypto";import Li 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 ji(e){let t=(e??"").trim().toLowerCase();return t?t.endsWith("-")?t:`${t}-`:"pm-"}function kr(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function vr(e,t){let n=ji(t),r=kr(e);return r.startsWith(n)?r:`${n}${r}`}function fu(e){let t=Ho(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=lu.randomInt(0,36).toString(36);return n}async function mu(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[Li.join(e,o,`${t}.md`),Li.join(e,o,`${t}.toon`)]);return(await Promise.all(r.map(o=>xt(o)))).some(Boolean)}var Pi=4,Fi=12;function _u(e){return typeof e!="number"||!Number.isFinite(e)?Pi:Math.min(Fi,Math.max(Pi,Math.trunc(e)))}async function uy(e,t,n={}){let r=_u(n.tokenLength),o=Math.min(r+6,Fi),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${ji(t)}${fu(r)}`;if(n.probeExisting===!1||!await mu(e,a,n.typeToFolder??ge))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}import Ae from"node:fs/promises";import zi from"node:path";import{randomUUID as pu}from"node:crypto";import{createRequire as yu}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 hu="metadata-query-index.sqlite",dt="4";function gu(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var on;function bu(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?gu(t):null}function ut(){return on!==void 0||(on=bu(process.versions.node,yu(import.meta.url))),on}function $i(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function Ve(e){return zi.join(e,"runtime",hu)}function wu(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 an(e,t,n){e.prepare("INSERT INTO metadata(key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,n)}function Ui(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 Hi(e){let t=Ve(e.pmRoot),n=ut();if(!n){await Ae.rm(t,{force:!0});return}await Ae.mkdir(zi.dirname(t),{recursive:!0});let r=`${t}.${pu()}.tmp`,o;try{o=new n(r),wu(o),o.exec("BEGIN IMMEDIATE"),an(o,"version",dt),an(o,"context_fingerprint",e.contextFingerprint),an(o,"source_cursor",e.sourceCursor);for(let i of e.rows)Ui(o,i);o.exec("COMMIT"),o.close(),o=void 0,await Ae.rm(t,{force:!0}),await Ae.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([Ae.rm(r,{force:!0})]),i}}function cn(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function Wi(e){let t=Ve(e.pmRoot),n;try{await Ae.access(t);let r=ut();if(!r)return!1;n=new r(t),n.exec("PRAGMA foreign_keys = ON");let o=cn(n);if(o.version!==dt||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 u=s.get(c);i.run(c),u&&a.run(u.id)}return e.row&&Ui(n,e.row),an(n,"source_cursor",e.sourceCursor),n.exec("COMMIT"),n.close(),!0}catch{try{n?.exec("ROLLBACK")}catch{}return n?.close(),!1}}function sn(e,t,n,r,o){!r||r.length===0||(e.push(`${n} ${o} (${r.map(()=>"?").join(", ")})`),t.push(...r))}function Eu(e){let t=[],n=[];sn(t,n,"status",e.statuses,"IN"),sn(t,n,"status",e.excludeStatuses,"NOT IN"),sn(t,n,"type",e.types,"IN"),sn(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 yy(e){let t=ut();if(!t)return null;let n=e.query??{},{where:r,parameters:o}=Eu(n),i;try{i=new t(Ve(e.pmRoot),{readOnly:!0});let s=cn(i);if(s.version!==dt||s.source_cursor!==e.expectedSourceCursor)return i.close(),null;let a=i.prepare(`SELECT COUNT(*) AS count FROM items${r}`).get(...o),c=[],u="";n.limit!==void 0?(u+=" LIMIT ?",c.push(Math.max(0,Math.floor(n.limit))),n.offset!==void 0&&(u+=" OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))))):n.offset!==void 0&&(u+=" LIMIT -1 OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))));let l=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${u}`).all(...o,...n.terminalStatuses??[],...c).map(_=>{let p=JSON.parse(String(_.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:l}}catch{return i?.close(),null}}async function hy(e){let t=ut();if(!t||e.paths.length===0)return null;let n;try{n=new t(Ve(e.pmRoot),{readOnly:!0});let r=cn(n);if(r.version!==dt||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),u=$i(e.limit,50),f=$i(e.offset,0),l=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,u,f),_=[];if(l.length>0){let p=l.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),k=new Map(p.map(E=>[E,[]]));for(let E of w){let C=String(E.item_id),N=k.get(C);N.push({path:String(E.path),scope:String(E.scope),...E.note===null?{}:{note:String(E.note)}}),k.set(C,N)}for(let E of l){let C=JSON.parse(String(E.metadata_json));_.push({item:C,files:k.get(String(E.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(c.count),matches:_}}catch{return n?.close(),null}}async function gy(e){let t=ut();if(!t)return null;let n;try{n=new t(Ve(e.pmRoot),{readOnly:!0});let r=cn(n);if(r.version!==dt||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 dn(e){await Ae.rm(Ve(e),{force:!0})}import $ from"node:fs/promises";import R from"node:path";import{createHash as Wu,randomUUID as os}from"node:crypto";import re from"node:fs/promises";import Sr from"node:path";import{randomUUID as ku}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 vu(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 Gi(e){try{let t=await re.readFile(e,"utf8");return await K({path:e,scope:"project"}),vu(t)}catch(t){return be(t)?{info:null,warnings:[]}:{info:null,warnings:["lock_info_read_failed"]}}}function Ir(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}async function Xi(e,t){await G({path:e,scope:"project",op:t})}function Su(e,t,n){return{id:e,pid:process.pid,owner:t,created_at:Se(),ttl_seconds:n}}async function Iu(e,t,n,r){await re.mkdir(Sr.dirname(e),{recursive:!0});let o=await re.open(e,"wx");try{await o.writeFile(`${JSON.stringify(Su(t,n,r),null,2)}
151
- `,"utf8")}finally{await o.close()}await Xi(e,"lock:create")}async function Ji(e,t){try{return await re.unlink(e),await Xi(e,t),!0}catch{return!1}}function Ki(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 xu(e){return e?.owner?` (owner ${e.owner})`:""}var Tu=25,Au=200,Ou=250,Cu=3,Ru=".stale-cleanup",Yi="owner.json",Nu=1e4,Du=5*6e4;function Bi(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 Mu(e){let t=process.env.PM_LOCK_WAIT_MS,n=Bi(t);if(n!==void 0)return n;let r=Bi(e);return r!==void 0?r:0}function Lu(e){let t=Math.max(1,Math.round(e*(.5+Math.random())));return new Promise(n=>setTimeout(n,t))}function Qi(e,t,n){let r=n>0?` after waiting ${n}ms`:"";return new x(`Item ${e} is locked${xu(t)}${r}`,I.CONFLICT,{code:"lock_conflict",recovery:{retry_after_ms:Ou}})}function Pu(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 ju(e,t,n,r){if(!n&&r){let o=t.warnings.length>0?` (${t.warnings.join(",")})`:"";throw new x(`Item ${e} lock is stale${o}; rerun with --force when supported for this command`,I.CONFLICT)}}function Fu(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 Zi(e){try{return Fu(await re.readFile(Sr.join(e,Yi),"utf8"))}catch{return null}}function $u(e){try{return process.kill(e,0),!0}catch(t){return!Ir(t,"ESRCH")}}async function xr(e){try{return await re.rm(e,{recursive:!0,force:!0}),!0}catch{return!1}}async function Vi(e,t){let n=await Zi(e);n===null||n.token!==t||await xr(e)}async function qi(e){try{await re.mkdir(e)}catch(n){return Ir(n,"EEXIST"),null}let t={pid:process.pid,token:ku()};try{await re.writeFile(Sr.join(e,Yi),`${JSON.stringify(t)}
152
- `,"utf8")}catch{return await xr(e),null}return t}async function zu(e){let t;try{let r=await re.stat(e);if(t=Date.now()-r.mtimeMs,t<=Nu)return!1}catch(r){return be(r)}let n=await Zi(e);return n!==null&&$u(n.pid)&&t<=Du?!1:xr(e)}async function Uu(e,t){let n=`${e}${Ru}`,r=await qi(n);if(r!==null)return async()=>Vi(n,r.token);if(!await zu(n))return null;let o=await qi(n);return o===null?null:async()=>Vi(n,o.token)}async function Hu(e){let t=await Uu(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await Gi(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!Ki(n.info,e.ttlSeconds))return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(ju(e.id,n,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=Cu)throw Qi(e.id,n.info,Date.now()-e.startedAtMs);return{lockInfo:n,shouldRetryCreate:await Ji(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function oe(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=Pu(a.result);if(p)return async()=>{await Promise.resolve(p()),await ee("lock_release",{pm_root:e,id:t,owner:r})}}let c=ao(e,t),u=Mu(s),f=Date.now(),l=0,_=Tu;for(;;)try{return await Iu(c,t,r,n),async()=>{await Ji(c,"lock:release"),await ee("lock_release",{pm_root:e,id:t,owner:r})}}catch(p){if(!Ir(p,"EEXIST"))throw new x(`Failed to acquire lock for ${t}: ${uo(p)}`,I.GENERIC_FAILURE);let w=await Gi(c);if(Ki(w.info,n)){let E=await Hu({lockPath:c,id:t,ttlSeconds:n,force:o,forceRequiredForStaleLock:i,staleRemovals:l,waitBudgetMs:u,startedAtMs:f,fallbackLockInfo:w});if(w=E.lockInfo,E.staleRemovalCounted&&(l+=1),E.shouldRetryCreate)continue}let k=Date.now()-f;if(u===0||k>=u)throw Qi(t,w.info,u===0?0:k);await Lu(Math.min(_,u-k)),_=Math.min(_*2,Au)}}(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,is=500,Bu="metadata-derived-index",Vu="metadata-cache.json",qu="metadata-cache-bodies.json",Gu="metadata-cache-collections.json",Xu="metadata-cache-delta.json",Ju="metadata-cache-manifest.json",es=4,Ku=["comments","notes","learnings","files","tests","test_runs","docs"];function ss(){return It(st())}function ln(e){let t={...e},n={};for(let r of Ku)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function as(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function cs(e,t,n,r){let o=Wu("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 fn(e){return R.join(e,"runtime",Vu)}function mn(e){return R.join(e,"runtime",qu)}function _n(e){return R.join(e,"runtime",Gu)}function Ar(e){return R.join(e,"runtime",Xu)}function Or(e){return R.join(e,"runtime",Ju)}function pn(e,t){let n=R.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Yu=24,V=new Map,yn=new WeakMap;function Cr(e){return yn.get(e)??e.source_cursor}function Qu(e,t){let n=Cr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){yn.set(e,n);for(let[r,o]of Object.entries(t.changes))o.entry?e.entries[r]=o.entry:delete e.entries[r];e.directory_signatures=t.directory_signatures,e.source_cursor=t.source_cursor}}function Zu(e,t){if(!e)return;let n=Cr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){yn.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 el(e,t){if(!e)return;let n=Cr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){yn.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 tl(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(Qu(e,r),Zu(t,r),el(n,r))}function Tr(e,t){V.size>=Yu&&!V.has(e)&&At(V),V.set(e,t)}async function me(e,t){let n;try{n=await $.stat(e)}catch{return V.delete(e),null}let r=V.get(e);if(r&&lt(r.signature,n.mtimeMs,n.ctimeMs,n.size))return V.delete(e),V.set(e,r),r.envelope;let o;try{o=t(await $.readFile(e,"utf8"))}catch{o=null}return Tr(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function nl(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=fn(e),i=await me(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await me(pn(o,t),r);return s===null&&_t(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function rl(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=mn(e),o=await me(r,n);return t&&o?.context_fingerprint!==t?await me(pn(r,t),n):o}async function ol(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=_n(e),o=await me(r,n);return t&&o?.context_fingerprint!==t?await me(pn(r,t),n):o}async function Rr(e){let t=Ar(e),n=await me(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 $.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function Nr(e){let t=Or(e),n=await me(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 $.stat(t),await qe(e)}catch{}return null}async function ft(e,t){await $.mkdir(R.dirname(e),{recursive:!0}),await H(e,JSON.stringify(t));try{let r=await $.stat(e);Tr(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{V.delete(e)}let n=R.dirname(R.dirname(e));if(e===fn(n)||e===mn(n)||e===_n(n)){let r=pn(e,t.context_fingerprint);await H(r,JSON.stringify(t));try{let c=await $.stat(r);Tr(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{V.delete(r)}let o=R.dirname(e),i=R.extname(e),s=R.basename(e,i),a=(await $.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>es){let c=(await Promise.all(a.map(async u=>{try{return{path:u,mtime:(await $.stat(u)).mtimeMs}}catch{return null}}))).filter(u=>u!==null);for(let u of c.sort((f,l)=>f.mtime-l.mtime).slice(0,Math.max(0,c.length-es)))await $.rm(u.path,{force:!0}),V.delete(u.path)}}}function il(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function ds(e,t,n){return e===void 0||il(e,t,n)}function _t(e,t){e&&!e.includes(t)&&e.push(t)}function lt(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function sl(e,t,n){let r=R.join(e,t);try{let o=await $.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!be(o)&&_t(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function al(e,t){try{let n=await $.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 un(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await al(e,n))))}function mt(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&&lt(o,r.mtime_ms,r.ctime_ms,r.size)})}function cl(e){return Tt.some(t=>e.toLowerCase().endsWith(t))}function dl(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function ul(e,t,n){if(n)for(let r of await K({path:e,scope:"project"}))_t(t,r)}function ts(e,t,n,r){if(e)return t&&n?n.collections:r}async function ll(e,t,n){let r=await $.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=On(e);await ul(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],u=!n.forceSourceRead&&c!==void 0&&lt(c,o,i,s),f=n.previousBodies[t],l=!n.forceSourceRead&&f!==void 0&&lt(f,o,i,s),_=n.previousCollections[t],p=!n.forceSourceRead&&_!==void 0&&lt(_,o,i,s);if(!(!u||n.includeBody&&!l||n.includeCollections&&!p))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:ts(n.includeCollections,p,_,void 0),bodyLength:c.body_length,body:n.includeBody?f.body:void 0};let k=await $.readFile(e,"utf8"),E=Ht(k,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:N=>_t(n.warnings,N)}),C=ln(E.metadata);return dl(n.state.misses,n.includeBody,n.includeCollections,u,l,p),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:u?c.metadata:C.light,heavyMetadata:ts(n.includeCollections,p,_,C.heavy),bodyLength:u?c.body_length:E.body.length,body:n.includeBody?E.body:void 0}}function fl(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?as(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};ds(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function ml(e,t,n,r){try{let o=await ll(t,n,r);fl(t,n,r,o)}catch{_t(r.warnings,`item_list_item_read_failed:${e}/${R.basename(t)}`)}}function _l(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function pl(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function yl(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function hl(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}function gl(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!cl(s))continue;let a=R.join(o,s),c=R.relative(t.pmRoot,a);n.push(ml(r,a,c,t))}return n}async function bl(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!mt(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await ft(fn(e.pmRoot),{version:Y,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await ft(Or(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:ln(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await Hi({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await dn(e.pmRoot)}catch{}}async function wl(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 ft(mn(e.pmRoot),{version:Y,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function El(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 ft(_n(e.pmRoot),{version:Y,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Dr(e,t,n={}){let r=await Nr(e);return n.required!==!0&&(r===null||r.entry_count<is)?async()=>{}:oe(e,Bu,30,t,!1,!1,3e3)}async function Hy(e,t){let n=await Nr(e);if(n===null)return null;let r=await Rr(e);if(r.invalid)return await qe(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&&!mt(i,await un(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function ns(e,t){let n=R.relative(e,t);return n===""||n===".."||n.startsWith(`..${R.sep}`)||R.isAbsolute(n)?null:n}async function qe(e){await Promise.all([fn(e),mn(e),_n(e),Ar(e),Or(e)].map(async t=>{await $.rm(t,{force:!0}),V.delete(t)})),await dn(e)}async function kl(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await $.stat(e.mutation.itemPath),n=ln(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 vl(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function Mr(e){let t=ns(e.pmRoot,e.itemPath),n=e.previousItemPath?ns(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await qe(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=cs(e.preferredFormat,e.typeToFolder,e.schema,ss()),o=await Nr(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Rr(e.pmRoot);if(s.invalid)return await qe(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=vl(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 kl({mutation:e});let u=os();return await ft(Ar(e.pmRoot),{version:Y,context_fingerprint:r,base_source_cursor:i,source_cursor:u,directory_signatures:await un(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await Wi({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:u,row:e.document===null?null:{relativePath:t,metadata:ln(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await dn(e.pmRoot),[]}catch{return await qe(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function Sl(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function rs(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function Il(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function xl(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=On(n);if(!o)continue;let i=e.includeCollections?as(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);ds(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 Tl(e){return e.forceSourceScan||dr()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!mt(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||rs(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||rs(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&Il(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function hn(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=ss(),u=cs(t,n,o,c),f=await Rr(e);f.invalid&&await qe(e);let l=await nl(e,u,i.cacheDiagnostics),_=s?await rl(e,u):null,p=a?await ol(e,u):null;tl(l,_,p,f.envelope);let w=_l(l,u),k=pl(_,u),E=yl(p,u),C=[...new Set(Object.values(n))],N=await un(e,C),Q=Object.keys(w),j=Math.max(1,Math.floor(i.derivedIndexMinimumItems??is));if(Tl({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:u,existingCache:l,existingBodyCache:_,existingCollectionsCache:p,directorySignatures:N,entryKeys:Q,minimumIndexedItems:j,includeBody:s,includeCollections:a,previousBodies:k,previousCollections:E}))return xl({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:w,previousBodies:k,previousCollections:E});let Ce=await Promise.all(C.map(Ys=>sl(e,Ys,r))),se=dr(),U=hl(),Sn={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:se,previousEntries:w,previousBodies:k,previousCollections:E,state:U};await Promise.all(gl(Ce,Sn));let gt=await un(e,C),Kr=mt(N,gt)?gt:{},In=U.misses.metadata||Object.keys(w).length!==Object.keys(U.newEntries).length||!mt(l?.directory_signatures,Kr)||l===null?os():l.source_cursor;return await bl({pmRoot:e,contextFingerprint:u,sourceCursor:In,existingCache:l,previousEntries:w,directorySignatures:Kr,state:U,minimumIndexedItems:j}),s&&await wl({pmRoot:e,contextFingerprint:u,sourceCursor:In,existingBodyCache:_,previousBodies:k,state:U}),a&&await El({pmRoot:e,contextFingerprint:u,sourceCursor:In,existingCollectionsCache:p,previousCollections:E,state:U}),Sl(U)}async function us(e,t,n,r,o){return(await hn(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function ls(e,t,n,r,o){return(await hn(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}import Al from"node:fs/promises";import Ge from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9027d972-ce29-5511-ba81-27e17d97446e")}catch{}})();var pt="_workspace";function Lr(e){return Ge.join(e,"history",`${pt}.jsonl`)}function Ol(e,t){return{metadata:{id:pt,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 Pr(e,t=e.length){let n=en();for(let r of e.slice(0,t))n=nn(n,r.patch).document;return tn(n)}function fs(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function jr(e){throw new x(`Workspace history verification failed: ${e.join(", ")}`,I.CONFLICT,{code:"workspace_history_chain_invalid",reason:"workspace_history_chain_verification_failed",verification_errors:[...e],required:"Repair the _workspace history chain before reading, reconciling, restoring, or appending audited singleton state.",why:"Continuing against an unverifiable append-only stream could hide or compound workspace state corruption.",examples:["pm history _workspace --verify --json","pm validate --check-history-drift --fix-hints --json"],nextSteps:["Inspect the exact verification_errors and preserve the corrupt stream as evidence.","Use the history-drift remediation returned by validate before retrying the refused operation."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify --json"}})}function Cl(e,t){let n=Ge.resolve(t),r=Ge.relative(e,n).replaceAll("\\","/");if(r.length===0||r===".."||r.startsWith("../")||Ge.isAbsolute(r))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:r,absolutePath:n}}async function eh(e){let t=await ze(Lr(e),pt),n=rn(t);n.ok||jr(n.errors);let r=fs(t.length===0?Re:Pr(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let u;try{let f=Cl(e,Ge.resolve(e,c));if(u=await ce(f.absolutePath),u===null){s.push(c);continue}let l=JSON.parse(u);(M(l)===M(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 ms(e){let t=Lr(e.pmRoot),n=await ze(t,pt),r=rn(n);r.ok||jr(r.errors);let o=e.idempotencyKey===void 0?void 0:n.find(l=>l.op===`${e.op}:${e.idempotencyKey}`);if(o)return{entry:o,historyPath:t};let i=new Date().toISOString(),s=n.length===0?Re:Pr(n),a=fs(s),c=a[e.documentPath];if(c!==void 0&&M(c)!==M(e.before))throw new x(`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 u=Ol({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),f=We({nowIso:i,author:e.author,op:e.idempotencyKey===void 0?e.op:`${e.op}:${e.idempotencyKey}`,before:s,after:u,message:e.message});return await Be(t,f),{entry:f,historyPath:t}}async function th(e){let t=await oe(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await ms(e)}finally{await t()}}async function nh(e){let t=await oe(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=Lr(e.pmRoot),r=await ze(n,pt),o=rn(r);o.ok||jr(o.errors);let i=r.length===0?Re:Pr(r),s=We({nowIso:new Date().toISOString(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await Be(n,s),{entry:s,historyPath:n}}finally{await t()}}async function _s(e,t){if(t===e.raw)return!1;let n=t===null?null:JSON.parse(t),r=JSON.parse(e.raw);await H(e.filePath,e.raw);try{(t!==null||e.recordCreation!==!1)&&await ms({pmRoot:e.pmRoot,documentPath:Ge.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 Al.rm(e.filePath,{force:!0}):await H(e.filePath,t),o}return!0}async function rh(e){let t=await oe(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=await ce(e.filePath),r=await e.mutate(n);return{changed:await _s({...e,raw:r.raw},n),result:r.result}}finally{await t()}}async function ps(e){let t=await oe(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await _s(e,await ce(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]="8883f930-193e-5133-835a-f15b1b62f6be")}catch{}})();var F={ok:!1},m=e=>typeof e=="string"?{ok:!0,value:e}:F,T=e=>typeof e=="boolean"?{ok:!0,value:e}:F;function O(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?F:{ok:!0,value:t}}function A(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:F}function y(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return F;let r=[];for(let o of n){let i=e(o);if(!i.ok)return F;r.push(i.value)}return{ok:!0,value:r}}}function $r(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}:F}function d(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function gn(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return F;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return F;n[r]=i.value}return{ok:!0,value:n}}}function S(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return F;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return F;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var Rl=S({key:m,values:y(m),required:d(T),aliases:d(y(m)),description:d(m)}),Nl=S({command:A("create","update"),option:m,required:d(T),visible:d(T),enabled:d(T)}),Dl=S({name:m,description:d(m),default_status:d(m),folder:d(m),aliases:d(y(m)),required_create_fields:d(y(m)),required_create_repeatables:d(y(m)),options:d(y(Rl)),command_option_policies:d(y(Nl))}),Ml=S({id:m,aliases:d(y(m)),roles:d(y(A(...Yr))),description:d(m),order:d(O())}),Ll=S({key:m,metadata_key:d(m),front_matter_key:d(m),cli_flag:d(m),cli_aliases:d(y(m)),description:d(m),type:d(A(...Qr)),commands:d(y(A(...Zr))),repeatable:d(T),required:d(T),required_on_create:d(T),required_types:d(y(m)),allow_unset:d(T)}),Pl=e=>{if(!Array.isArray(e)||e.length!==2)return F;let[t,n]=e;return typeof t!="string"||typeof n!="string"?F:{ok:!0,value:[t,n]}},jl=S({type:m,allowed_transitions:y(Pl)}),Fl=d(S({version:d(O({int:!0})),files:d(S({types:d(m),statuses:d(m),fields:d(m),workflows:d(m)})),statuses:d(y(Ml)),fields:d(y(Ll)),workflow:d(S({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(y(jl)),unknown_field_policy:d(A(...eo))})),$l=d(S({preset:d(A(...to)),ownership_enforcement:d(A("none","warn","strict")),create_mode_default:d(A("progressive","strict")),close_validation_default:d(A("off","warn","strict")),require_close_reason:d(T),parent_reference:d(A("warn","strict_error")),metadata_profile:d(A("core","strict","custom")),force_required_for_stale_lock:d(T),create_default_type:d(m),workflow_enforcement:d(A("off","warn","strict")),duplicate_detection_mode:d(A("off","advisory","strict")),duplicate_detection_threshold:d(O({min:0,max:1})),duplicate_detection_limit:d(O({int:!0,min:0,max:20}))})),zl=S({name:m,disabled:d(T),require_trusted:d(T),require_provenance:d(T),sandbox_profile:d(A("none","restricted","strict")),allowed_capabilities:d(y(m)),blocked_capabilities:d(y(m)),allowed_surfaces:d(y(m)),blocked_surfaces:d(y(m)),allowed_commands:d(y(m)),blocked_commands:d(y(m)),allowed_actions:d(y(m)),blocked_actions:d(y(m)),allowed_services:d(y(m)),blocked_services:d(y(m))}),Fr=A("block","warn"),Ul=e=>typeof e=="string"?Fr(e):S({global:d(Fr),project:d(Fr)})(e),Hl=d(S({mode:d(A("off","warn","enforce")),trust_mode:d(A("off","warn","enforce")),pm_max_version_exceeded_mode:d(Ul),require_provenance:d(T),trusted_extensions:d(y(m)),default_sandbox_profile:d(A("none","restricted","strict")),allowed_extensions:d(y(m)),blocked_extensions:d(y(m)),allowed_capabilities:d(y(m)),blocked_capabilities:d(y(m)),allowed_surfaces:d(y(m)),blocked_surfaces:d(y(m)),allowed_commands:d(y(m)),blocked_commands:d(y(m)),allowed_actions:d(y(m)),blocked_actions:d(y(m)),allowed_services:d(y(m)),blocked_services:d(y(m)),extension_overrides:d(y(zl))})),Oe=$r(128),Wl=S({harness:$r(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:d(y(Oe,64)),model_environment_keys:d(y(Oe,64)),session_environment_keys:d(y(Oe,64)),provenance_environment_keys:d(gn(y(Oe,64))),provenance_resolvers:d(gn(A("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:d(y(Oe,64)),argv_markers:d(y(Oe,64)),client_names:d(y(Oe,64))}),Bl=S({version:O({int:!0}),id_prefix:m,ids:d(S({token_length:d(O({int:!0,min:4,max:12}))})),author_default:m,agent_identity:d(S({probes_enabled:d(T),identity_vocabulary:d(S({version:O({int:!0,positive:!0}),aliases:gn($r(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:y(Wl)})),mutation_guard:d(S({require_attributed_author:d(T),secret_guard:d(A("off","advise","block")),stale_in_progress_hours:d(O({int:!0,positive:!0}))})),item_format:d(A("toon","json_markdown")),locks:S({ttl_seconds:O({int:!0}),wait_ms:d(O({int:!0,min:0}))}),checkpoints:d(S({retention_days:d(O({int:!0,positive:!0}))})),output:S({default_format:A("toon","json")}),ux:d(S({deprecation_hints:d(T)})),history:d(S({missing_stream:A("auto_create","strict_error"),compact_policy:d(S({enabled:d(T),max_entries:d(O({int:!0,positive:!0})),trigger:d(A("health_warn","auto"))}))})),validation:d(S({sprint_release_format:A("warn","strict_error"),parent_reference:d(A("warn","strict_error")),metadata_profile:d(A("core","strict","custom")),metadata_required_fields:d(y(m)),lifecycle_stale_blocker_reason_patterns:d(y(m)),lifecycle_closure_like_blocked_reason_patterns:d(y(m)),lifecycle_closure_like_resolution_patterns:d(y(m)),lifecycle_closure_like_actual_result_patterns:d(y(m)),estimate_defaults_by_type:d(gn(O({int:!0,positive:!0})))})),governance:$l,workflow:d(S({definition_of_done:y(m)})),testing:d(S({record_results_to_items:T})),telemetry:d(S({enabled:T,first_run_prompt_completed:d(T),capture_level:d(A("minimal","redacted","max")),endpoint:d(m),installation_id:d(m),retention_days:d(O({int:!0,positive:!0}))})),agent_guidance:d(S({prompt_completed:d(T),declined:d(T),declined_at:d(m),template_version:d(O({int:!0,positive:!0})),last_checked_files:d(y(m))})),item_types:d(S({definitions:y(Dl)})),schema:Fl,context:d(S({default_depth:d(A("brief","standard","deep")),activity_limit:d(O({int:!0,positive:!0})),stale_threshold_days:d(O({int:!0,positive:!0})),sections:d(S({hierarchy:d(T),activity:d(T),progress:d(T),recently_created:d(T),unparented:d(T),blockers:d(T),files:d(T),workload:d(T),staleness:d(T),tests:d(T)}))})),extensions:S({enabled:y(m),disabled:y(m),policy:Hl}),search:S({score_threshold:O(),hybrid_semantic_weight:d(O()),max_results:O({int:!0}),embedding_model:m,embedding_corpus_max_characters:d(O()),embedding_batch_size:O({int:!0}),embedding_timeout_ms:d(O({int:!0})),scanner_max_batch_retries:O({int:!0}),provider:d(m),corpus_fields:d(y(m)),mutation_refresh_policy:d(A("cache_only","semantic_configured","semantic_auto")),query_expansion:d(S({enabled:d(T),provider:d(m)})),rerank:d(S({enabled:d(T),model:d(m),top_k:d(O({int:!0,positive:!0}))})),bm25:d(S({k1:d(O()),b:d(O())}))}),providers:S({openai:S({base_url:m,api_key:m,model:m}),ollama:S({base_url:m,model:m})}),vector_store:S({adapter:d(m),collection_name:d(m),qdrant:S({url:m,api_key:m}),lancedb:S({path:m})})});function ys(e){let t=Bl(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 Vl={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},hs=120;function zr(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function bs(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var ql=bs(Vl),gs=new WeakMap;function Gl(e){let t=gs.get(e);if(t)return t;let n=bs(e);return gs.set(e,n),n}function ah(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return hs;if(t){let o=Gl(t).get(n);if(zr(o))return Math.floor(o)}let r=ql.get(n);return zr(r)?Math.floor(r):hs}function Ur(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||!zr(r)||(t[o]=Math.floor(r))}return t}import{stat as Xl}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 bn=new Map;function ws(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function Jl(e){try{let t=await Xl(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function _e(e){let t=ws(e),n=await Promise.all(t.map(r=>Jl(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function yt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],o=t[n];if(r.path!==o.path||r.mtime_ms!==o.mtime_ms||r.size!==o.size)return!1}return!0}function Es(e){return bn.get(e)}function wn(e,t){let n=ws(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));bn.set(e,{tracked_paths:n,signatures:r,value:t.value})}function pe(e){if(e){bn.delete(e);return}bn.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]="67bf189e-e816-536d-9051-589a2e468423")}catch{}})();var Kl="settings:write",xs=Symbol("pm.settings.persist_source"),Yl=128,Ql=new Set(["off","advisory","strict"]);function ks(e){return structuredClone(ro[e])}function Zl(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:g.governance.preset}function vs(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 ef(e){return e.preset==="custom"?vs({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):vs({preset:e.preset},e)}function tf(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),Ql.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 kn(e){let t=e.governance??{},n=Zl(t.preset),r=tf(t);if(n==="custom"){let s=ks("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=ks(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function Ts(){return structuredClone(g)}function As(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:g.search.mutation_refresh_policy}function Os(e){return typeof e=="boolean"?e:g.search.query_expansion.enabled}function Cs(e){return typeof e!="string"?g.search.query_expansion.provider:e.trim()}function Rs(e){return typeof e=="boolean"?e:g.search.rerank.enabled}function Ns(e){return typeof e!="string"?g.search.rerank.model:e.trim()}function Ds(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:g.search.rerank.top_k}function Ms(e){if(typeof e!="string")return g.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,Yl);return n.length>0?n:g.vector_store.collection_name}function Hr(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function nf(e,t){let n=e.schema,r=Hr(n?.statuses),o=Hr(n?.fields),i=Hr(n?.type_workflows);return{source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:Xe(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:Xe(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 Ls(e,t){Object.defineProperty(e,xs,{value:t,writable:!0,configurable:!0,enumerable:!1})}function Ps(e){let t=e[xs];if(!(!t||typeof t!="object"))return t}function En(e){let t=structuredClone(e.settings),n=Ps(e.settings);return n&&Ls(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function rf(e,t,n){let r=Ze(t);return[n,et(e,r.files.types,Qe.types),et(e,r.files.statuses,Qe.statuses),et(e,r.files.fields,Qe.fields),et(e,r.files.workflows,Qe.workflows)]}async function of(e,t,n){let r=await _e(t);wn(e,{tracked_paths:t,signatures:r,value:En(n)})}async function sf(e,t,n){try{await of(e,t,n)}catch{pe(e)}}function Ss(e,t){return e.find(n=>n.path===t)}function af(e,t,n){for(let r of n){let o=Ss(e,r),i=Ss(t,r);if(!o||!i||!yt([o],[i]))return!1}return!0}async function Wr(e,t,n,r,o){try{let i=await _e(t);if(!af(r,i,o)){pe(e);return}wn(e,{tracked_paths:t,signatures:i,value:En(n)})}catch{pe(e)}}function cf(e,t){let n=Ze(e.schema),r=Xe(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=Ne(r,t.runtime_item_type_definitions),s=Ne(n.statuses,t.runtime_schema_statuses),a=Ne(n.fields,t.runtime_schema_fields),c=Ne(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?Xe(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 ht(e){return{settings:Ts(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function df(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function Vr(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function js(e){let t=g.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:Vr(e?.last_checked_files??t.last_checked_files)}}function X(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function uf(e){return e==="off"||e==="warn"||e==="enforce"?e:g.extensions.policy.mode}function lf(e){return e==="off"||e==="warn"||e==="enforce"?e:g.extensions.policy.trust_mode}function Fs(e){return e==="none"||e==="restricted"||e==="strict"?e:g.extensions.policy.default_sandbox_profile}function ff(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=Fs(e.sandbox_profile));let r=X(e.allowed_capabilities),o=X(e.blocked_capabilities),i=X(e.allowed_surfaces),s=X(e.blocked_surfaces),a=X(e.allowed_commands),c=X(e.blocked_commands),u=X(e.allowed_actions),f=X(e.blocked_actions),l=X(e.allowed_services),_=X(e.blocked_services);return r.length>0&&(n.allowed_capabilities=r),o.length>0&&(n.blocked_capabilities=o),i.length>0&&(n.allowed_surfaces=i),s.length>0&&(n.blocked_surfaces=s),a.length>0&&(n.allowed_commands=a),c.length>0&&(n.blocked_commands=c),u.length>0&&(n.allowed_actions=u),f.length>0&&(n.blocked_actions=f),l.length>0&&(n.allowed_services=l),_.length>0&&(n.blocked_services=_),n}function mf(e){let t=new Map;for(let n of e??[]){let r=ff(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function Br(e){return e==="block"||e==="warn"?e:void 0}function _f(e){if(typeof e=="string")return Br(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=Br(e.global),n=Br(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function W(e,t){return X(e?.[t]??g.extensions.policy[t])}function $s(e){let t=_f(e?.pm_max_version_exceeded_mode);return{mode:uf(e?.mode),trust_mode:lf(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:W(e,"trusted_extensions"),default_sandbox_profile:Fs(e?.default_sandbox_profile),allowed_extensions:W(e,"allowed_extensions"),blocked_extensions:W(e,"blocked_extensions"),allowed_capabilities:W(e,"allowed_capabilities"),blocked_capabilities:W(e,"blocked_capabilities"),allowed_surfaces:W(e,"allowed_surfaces"),blocked_surfaces:W(e,"blocked_surfaces"),allowed_commands:W(e,"allowed_commands"),blocked_commands:W(e,"blocked_commands"),allowed_actions:W(e,"allowed_actions"),blocked_actions:W(e,"blocked_actions"),allowed_services:W(e,"allowed_services"),blocked_services:W(e,"blocked_services"),extension_overrides:mf(e?.extension_overrides??g.extensions.policy.extension_overrides)}}function zs(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 ye(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 B(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function qr(e){return Array.isArray(e)?e:[]}function pf(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:zs(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:ye(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:ye(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:ye(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:ye(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Ur(e.validation?.estimate_defaults_by_type)}}function yf(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 hf(e,t){return{...t.search,...e.search,mutation_refresh_policy:As(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:Os(e.search?.query_expansion?.enabled),provider:Cs(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:Rs(e.search?.rerank?.enabled),model:Ns(e.search?.rerank?.model),top_k:Ds(e.search?.rerank?.top_k)}}}function gf(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:Ms(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function bf(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function wf(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 Ef(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function Xe(e){let t=(e??[]).map(r=>io(r)).filter(r=>r!==null),n=new Map;for(let r of t)n.set(r.name.toLowerCase(),r);return[...n.values()].sort((r,o)=>r.name.localeCompare(o.name))}function Us(e){let t=Ts(),n=kn({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:bf(e,t),locks:{...t.locks,...e.locks},ids:{...t.ids,...e.ids},agent_identity:structuredClone(e.agent_identity??t.agent_identity),mutation_guard:{...t.mutation_guard,...e.mutation_guard},checkpoints:{...t.checkpoints,...e.checkpoints},output:{...t.output,...e.output},ux:{...t.ux,...e.ux},history:{...t.history,...e.history,compact_policy:{...t.history.compact_policy,...e.history?.compact_policy}},validation:pf(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:yf(e,t),agent_guidance:js(e.agent_guidance??t.agent_guidance),item_types:{definitions:Xe(e.item_types?.definitions)},schema:Ze(e.schema??t.schema),context:wf(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:$s(e.extensions.policy??t.extensions.policy)},search:hf(e,t),providers:Ef(e,t),vector_store:gf(e,t)}}function kf(e){e.agent_identity=v(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=v(B(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=qr(e.agent_identity.harness_signals).map(n=>v(B(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=v(e.locks,["ttl_seconds","wait_ms"]),e.ids=v(e.ids,["token_length"]),e.mutation_guard=v(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=v(e.checkpoints,["retention_days"]),e.output=v(e.output,["default_format"]),e.ux=v(e.ux,["deprecation_hints"]),e.history=v(e.history,["missing_stream","compact_policy"]),e.validation=v(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=v(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=v(e.workflow,["definition_of_done"]),e.testing=v(e.testing,["record_results_to_items"]),e.telemetry=v(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=v(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=v(e.item_types,["definitions"]),e.schema=v(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=v(B(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=v(B(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=v(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=v(B(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=v(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=v(B(e.extensions.policy),["mode","trust_mode","pm_max_version_exceeded_mode","require_provenance","trusted_extensions","default_sandbox_profile","allowed_extensions","blocked_extensions","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services","extension_overrides"]),e.extensions.policy.extension_overrides=qr(e.extensions.policy.extension_overrides).map(n=>v(B(n),["name","disabled","require_trusted","require_provenance","sandbox_profile","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services"])),e.search=v(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=v(B(e.search.query_expansion),["enabled","provider"]),e.search.rerank=v(B(e.search.rerank),["enabled","model","top_k"]),e.providers=v(e.providers,["openai","ollama"]),e.providers.openai=v(B(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=v(B(e.providers.ollama),["base_url","model"]),e.vector_store=v(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=v(B(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=v(B(e.vector_store.lancedb),["path"])}function vf(e){return{...e,locks:D(e.locks,g.locks),ids:D(e.ids,g.ids),agent_identity:D(e.agent_identity,g.agent_identity),mutation_guard:D(e.mutation_guard,g.mutation_guard),checkpoints:D(e.checkpoints,g.checkpoints),output:D(e.output,g.output),ux:D(e.ux,g.ux),history:D(e.history,g.history),validation:D(e.validation,g.validation),workflow:D(e.workflow,g.workflow),testing:D(e.testing,g.testing),telemetry:D(e.telemetry,g.telemetry),agent_guidance:D(e.agent_guidance,g.agent_guidance),item_types:D(e.item_types,g.item_types),schema:D(e.schema,g.schema),context:D(e.context,g.context),extensions:D(e.extensions,g.extensions),search:D(e.search,g.search),providers:D(e.providers,g.providers),vector_store:D(e.vector_store,g.vector_store)}}function Sf(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:zs(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:ye(e.validation?.lifecycle_stale_blocker_reason_patterns??g.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:ye(e.validation?.lifecycle_closure_like_blocked_reason_patterns??g.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:ye(e.validation?.lifecycle_closure_like_resolution_patterns??g.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:ye(e.validation?.lifecycle_closure_like_actual_result_patterns??g.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Ur(e.validation?.estimate_defaults_by_type)}}function If(e){return{...g.search,...e.search,mutation_refresh_policy:As(e.search?.mutation_refresh_policy),query_expansion:{...g.search.query_expansion,...e.search?.query_expansion,enabled:Os(e.search?.query_expansion?.enabled),provider:Cs(e.search?.query_expansion?.provider)},rerank:{...g.search.rerank,...e.search?.rerank,enabled:Rs(e.search?.rerank?.enabled),model:Ns(e.search?.rerank?.model),top_k:Ds(e.search?.rerank?.top_k)}}}function xf(e){return{default_depth:e.context?.default_depth??g.context.default_depth,activity_limit:e.context?.activity_limit??g.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??g.context.stale_threshold_days,sections:{...g.context.sections,...e.context?.sections}}}function Tf(e){return{...e.vector_store,adapter:e.vector_store?.adapter??g.vector_store.adapter,collection_name:Ms(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function Af(e,t,n,r){return{...e,item_format:"toon",validation:Sf(e,t),governance:t,agent_guidance:js(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:If(e),context:xf(e),extensions:{enabled:Vr(e.extensions?.enabled),disabled:Vr(e.extensions?.disabled),policy:$s(e.extensions?.policy)},vector_store:Tf(e)}}function Hs(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(!Ne(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:{};Hs(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var Ws=["version","id_prefix","ids","author_default","agent_identity","mutation_guard","item_format","locks","checkpoints","output","ux","history","validation","governance","workflow","testing","telemetry","agent_guidance","item_types","schema","context","extensions","search","providers","vector_store"];function Is(e,t){let n=vf(e),r=kn(n),o=Ze(n.schema),i=cf(n,t),s=Af(n,r,o,i),a=v({...s,governance:ef(r)},Ws);return kf(a),a}function Of(e,t={}){let n=Is(e,t.persist_source);if(t.persist_source){let r=Us(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=Is(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return Hs(i,o,n),`${JSON.stringify(v(i,Ws),null,2)}
153
- `}return`${JSON.stringify(n,null,2)}
154
- `}async function Bs(e){let t=Tn(e),n=[t];await K({path:t,scope:"project"});let r=Es(e);if(r){let u=await _e(r.tracked_paths);if(yt(u,r.signatures))return En(r.value)}let o=await _e([t]),i;try{i=await ce(t)}catch{return ht("settings_read_fs_error")}if(i===null){let u=ht();return await Wr(e,[t],u,o,[t]),u}let s=await _e([t]);if(!yt(o,s))return pe(e),Bs(e);let a;try{a=JSON.parse(i)}catch{let u=ht("settings_read_invalid_json");return await Wr(e,[t],u,s,[t]),u}let c=ys(a);if(!c.success){let u=ht("settings_read_invalid_schema");return await Wr(e,[t],u,s,[t]),u}try{let u=Us(c.data),f=rf(e,u.schema,t);n=f;let l=await _e(f),_=await bo(e,u.schema),p=await wo(e,u.schema),w=await _e(f),k={...u,item_types:{definitions:Xe([...u.item_types.definitions,...qr(p.type_definitions_from_file)])},schema:p.schema};Ls(k,nf(c.data,k));let E={settings:k,metadata:{has_explicit_item_format:df(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],..._.created_paths.map(C=>`runtime_schema_bootstrap_created:${C}`),...p.warnings]};return _.created_paths.length===0?yt(l,w)?wn(e,{tracked_paths:f,signatures:w,value:En(E)}):pe(e):pe(e),E}catch{let u=ht("settings_read_merge_failed");return await sf(e,n,u),u}}async function vh(e){return(await Bs(e)).settings}async function Sh(e,t,n=Kl){let r=Tn(e),o=Of(t,{persist_source:Ps(t)});try{await ps({pmRoot:e,filePath:r,raw:o,op:n,author:Fo(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await G({path:r,scope:"project",op:n})}finally{pe(e)}}import Cf from"node:fs/promises";import Rf 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 Nf(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function Df(e,t){return new x(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,I.NOT_FOUND)}async function Mf(e,t){return await oo(Rf.dirname(e)),await(await Cf.open(e,"a")).close(),G({path:e,scope:"project",op:`${t}:history:auto_create`})}async function Gr(e){return Lf({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function Lf(e){let t=Nf(e.itemIds),n=[],r=[];for(let o of t){let i=Ye(e.pmRoot,o);if(!await xt(i)){if(e.settings.history.missing_stream==="strict_error")throw Df(o,e.commandLabel);r.push(...await Mf(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import ie 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]="d24d61bf-7db8-5f35-8dbc-5ef93ec8220b")}catch{}})();async function Pf(e){try{return await ie.access(e),!0}catch{return!1}}function he(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function jf(e,t){e&&(e.includes(t)||e.push(t))}function Vs(e){return e??It(st())}function Ff(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}function vn(e){return new x(`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."]})}function Xr(e){return new x(`Tracker root is not readable at ${e}.`,I.GENERIC_FAILURE,{code:"tracker_root_unreadable",reason:"unreadable",nextSteps:["Grant read and directory-search permission to the tracker root, then retry the SDK read."]})}async function $f(e){let t=Je.parse(Je.resolve(e)).root,n=Je.dirname(Je.resolve(e));for(;n!==t;){let r;try{r=await ie.stat(n)}catch(o){if(he(o,"ENOTDIR"))throw vn(e);if(!he(o,"ENOENT"))throw o;n=Je.dirname(n);continue}if(!r.isDirectory())throw vn(e);break}}async function Jr(e){let t;try{t=await ie.stat(e)}catch(n){throw he(n,"ENOENT")?(await $f(e),new x(`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."]})):he(n,"ENOTDIR")?vn(e):he(n,"EACCES")||he(n,"EPERM")?Xr(e):n}if(!t.isDirectory())throw vn(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw Xr(e);try{await(await ie.opendir(e)).close()}catch(n){throw he(n,"EACCES")||he(n,"EPERM")?Xr(e):n}}async function qs(e,t,n="pm-",r,o=ge){let i=vr(t,n),s=kr(t),a=i===s?[i]:[i,s],c=Object.entries(o),u=Ff(r);for(let f of a)for(let[l]of c)for(let _ of u){let p=An(e,l,f,_,o);if(await Pf(p))return{id:f,type:l,itemPath:p,item_format:_}}return null}async function Gs(e,t={}){let n=await ie.readFile(e.itemPath,"utf8");await K({path:e.itemPath,scope:"project"});let r=Ht(n,{format:e.item_format,schema:t.schema,extensionFieldNames:Vs(t.extensionFieldNames),onWarning:o=>jf(t.warnings,o)});return{raw:n,document:r}}async function zf(e,t,n=ge,r,o){return await Jr(e),(await us(e,t,n,r,o)).map(s=>s.metadata)}async function Zh(e,t,n=ge,r,o){return await Jr(e),(await ls(e,t,n,r,o)).map(s=>s.metadata)}async function eg(e,t,n=ge,r,o,i={}){return await Jr(e),(await hn(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan})).map(a=>({...a.metadata,body:a.body}))}function Xs(e){return{async get(t){let n=await qs(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await Gs(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>zf(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function Uf(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await ie.readdir(Je.join(e,o));for(let s of i)for(let a of Tt)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function Hf(e,t,n,r){let o=vr(t,n),i=await Uf(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:bt(c,o,s)})).filter(c=>c.distance!==null).sort((c,u)=>c.distance-u.distance).slice(0,3).map(c=>c.id)}async function Wf(e,t,n,r){let o=await Hf(e,t,n,r),i=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return o.length>0&&i.unshift(`Did you mean one of: ${o.join(", ")}?`),new x(`Item ${t} not found`,I.NOT_FOUND,{nextSteps:i})}function Bf(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 Js(e){let t=e.typeToFolder??so(e.settings,st()).type_to_folder,n=await qs(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await Wf(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await oe(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 Gs(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,u=jo(e.author),f=kn(e.settings);if(a&&c!==u&&!e.force&&!Bf(e.op,e.bypassAssigneeConflict)){if(f.ownership_enforcement==="strict")throw new x(`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 qf(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await H(e.originalItemPath,e.originalRaw),await ie.rm(e.effectiveTargetItemPath,{force:!0});return}await H(e.originalItemPath,e.originalRaw)}}async function tg(e){let t=await Js({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:e.op,author:e.author,force:e.force,bypassAssigneeConflict:e.bypassAssigneeConflict,extensionFieldNames:e.extensionFieldNames,typeToFolder:e.typeToFolder}),{typeToFolder:n,located:r,originalRaw:o,document:i,warnings:s,releaseLock:a}=t;try{let c=q(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),u=q(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),f=await e.mutate(u);if(e.skipNoop===!0&&f.changedFields.length===0)return{item:c.metadata,body:c.body,changedFields:[],warnings:[...s,...f.warnings??[]]};u.metadata.updated_at=Se();let l=q(u,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames});await cr({pm_root:e.pmRoot,operation:e.op,before:c,after:l,changed_fields:f.changedFields,sdk:Xs({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let _=await Gr({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),p="toon",w=si(l,{format:p,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),k=An(e.pmRoot,l.metadata.type,r.id,p,n),E=Ye(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:k,history_path:E,item_format:p,before:c,after:l,contents:w}),{effectiveTargetItemPath:N,effectiveSerializedAfter:Q,skipItemWrite:j}=Vf(C,k,w),Ce=await Dr(e.pmRoot,e.author),se=[];try{j||await H(N,Q),!j&&N!==r.itemPath&&await ie.rm(r.itemPath);let Sn=We({nowIso:l.metadata.updated_at,author:e.author,op:e.op,before:c,after:l,message:e.message});try{await Be(E,Sn)}catch(gt){throw await qf({skipItemWrite:j,effectiveTargetItemPath:N,originalItemPath:r.itemPath,originalRaw:o}),gt}j||(se=await Mr({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:N,previousItemPath:r.itemPath,document:l}))}finally{await Ce()}let U=[...await G({path:N,scope:"project",op:e.op,item_id:l.metadata.id,item_type:l.metadata.type,before:c,after:l,changed_fields:f.changedFields}),...await G({path:E,scope:"project",op:`${e.op}:history`,item_id:l.metadata.id,item_type:l.metadata.type,before:c,after:l,changed_fields:f.changedFields})];return ar({id:l.metadata.id,op:e.op,item_type:l.metadata.type,previous_status:c.metadata.status,status:l.metadata.status,previous:Wt(c.metadata,f.changedFields),current:Wt(l.metadata,f.changedFields),changed_fields:f.changedFields}),{item:l.metadata,body:l.body,changedFields:f.changedFields,warnings:[...s,...f.warnings??[],..._.warnings,...C.warnings,...se,...U]}}finally{await a()}}async function ng(e){let t=await Js({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=Vs(void 0),c=q(o,{schema:e.settings.schema,extensionFieldNames:a});await cr({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Xs({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let u=await Gr({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),f=Se(),l=Re,_=We({nowIso:f,author:e.author,op:"delete",before:c,after:l,message:e.message}),p=Ye(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}),k=n.itemPath,E=!1;if(w.handled&&typeof w.result=="object"&&w.result!==null){let j=w.result;typeof j.item_path=="string"&&j.item_path.trim().length>0&&(k=j.item_path),j.skip_delete===!0&&(E=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:k,warnings:[...i,...u.warnings,...w.warnings]};let C=await Dr(e.pmRoot,e.author),N=[];try{E||await ie.rm(k);try{await Be(p,_)}catch(j){throw E||await H(k,r),j}E||(N=await Mr({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:k,document:null}))}finally{await C()}let Q=[...await G({path:k,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:l,changed_fields:["deleted"]}),...await G({path:p,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:l,changed_fields:["deleted"]})];return ar({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:Wt(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...u.warnings,...w.warnings,...N,...Q]}}finally{await s()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a9b23a46-0bba-5174-8793-dfc37016d1fb")}catch{}})();function Gf(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:bt(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 Ks(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function ag(e){let t=e.command_path.trim().replaceAll(/\s+/gu," "),n=e.token.trim(),r=n.length===0?"<empty>":n,o=[...new Set(e.allowed.map(_=>_.trim()))].filter(Boolean).sort((_,p)=>_.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",u=e.retry_command?void 0:Gf(r,o),f=Ks([...i,r,...s]),l=e.retry_command??(u?Ks([...i,u,...s]):void 0);return new x(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??I.USAGE,{code:"unknown_subcommand",reason:"unknown_positional_token",examples:[...l?[l]:[],...e.examples??[],`pm ${t} --help`],nextSteps:l?[`Retry with the suggested command: ${l}`]:["Choose one value from recovery.allowed_values."],recovery:{attempted_command:f,allowed_values:o,suggested_retry:l,fallback_candidates:e.fallback_candidates}})}export{h_ as a,md as b,C_ as c,kd as d,R_ as e,N_ as f,D_ as g,M_ as h,L_ as i,P_ as j,j_ as k,st as l,ar as m,Wt as n,G as o,cr as p,K as q,dr as r,F_ as s,$_ as t,ee as u,Hd as v,Ee as w,Rn as x,Kf as y,Yf as z,Ct as A,Pn as B,om as C,im as D,sm as E,am as F,cm as G,dm as H,Wn as I,sa as J,gm as K,bm as L,wm as M,Gn as N,Mo as O,Em as P,km as Q,vm as R,ka as S,jo as T,Fo as U,Se as V,Bo as W,z as X,Nm as Y,Dm as Z,oe as _,Jo as $,tt as aa,Gm as ba,Xm as ca,Le as da,Vo as ea,Lm as fa,qo as ga,Wa as ha,Pm as ia,jt as ja,Va as ka,zm as la,$t as ma,Ut as na,Ht as oa,si as pa,q as qa,ze as ra,rp as sa,op as ta,ip as ua,xp as va,Tp as wa,Kd as xa,at as ya,fe as za,Vp as Aa,wr as Ba,qp as Ca,We as Da,Be as Ea,ou as Fa,en as Ga,Zt as Ha,tn as Ia,ey as Ja,ty as Ka,Di as La,nn as Ma,Mi as Na,rn as Oa,uu as Pa,ny as Qa,ry as Ra,pt as Sa,Lr as Ta,eh as Ua,th as Va,nh as Wa,rh as Xa,ps as Ya,ah as Za,kn as _a,Bs as $a,vh as ab,Sh as bb,Gr as cb,Lf as db,ji as eb,kr as fb,vr as gb,uy as hb,yy as ib,hy as jb,gy as kb,is as lb,Ku as mb,Dr as nb,Hy as ob,Mr as pb,hn as qb,qs as rb,Gs as sb,zf as tb,Zh as ub,eg as vb,Xs as wb,Wf as xb,tg as yb,ng as zb,ag as Ab};
155
- //# sourceMappingURL=chunk-34QBIYZI.js.map