@unbrained/pm-cli 2026.8.23 → 2026.8.25

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 (172) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +27 -1
  3. package/dist/cli/description-stdin.js +5 -4
  4. package/dist/cli/extension-command-help.d.ts +5 -0
  5. package/dist/cli/extension-command-help.js +6 -2
  6. package/dist/cli/help-content.d.ts +5 -0
  7. package/dist/cli/help-content.js +56 -3
  8. package/dist/cli/help-json-payload.d.ts +5 -2
  9. package/dist/cli/help-json-payload.js +57 -17
  10. package/dist/cli/main.d.ts +3 -0
  11. package/dist/cli/main.js +28 -3
  12. package/dist/cli/register-annotations.js +5 -5
  13. package/dist/cli/register-mutation.js +73 -27
  14. package/dist/cli-bundle/bundle-manifest.json +152 -152
  15. package/dist/cli-bundle/chunks/{chunk-HWZ6CELB.js → chunk-244MI4GS.js} +3 -3
  16. package/dist/cli-bundle/chunks/{chunk-QDVHNHAQ.js → chunk-2F3LUFMW.js} +2 -2
  17. package/dist/cli-bundle/chunks/{chunk-EG6CLDZT.js → chunk-5I5RWIJC.js} +2 -2
  18. package/dist/cli-bundle/chunks/{chunk-KPH73XXJ.js → chunk-65MHLHAA.js} +2 -2
  19. package/dist/cli-bundle/chunks/chunk-6C7GIMIL.js +13 -0
  20. package/dist/cli-bundle/chunks/chunk-OWHNAR2B.js +2 -0
  21. package/dist/cli-bundle/chunks/chunk-QKGMHGEI.js +202 -0
  22. package/dist/cli-bundle/chunks/chunk-QLUORNIB.js +2092 -0
  23. package/dist/cli-bundle/chunks/{chunk-JB4KZWBF.js → chunk-T2ENPRXF.js} +2 -2
  24. package/dist/cli-bundle/chunks/{chunk-F3AI2JFL.js → chunk-TPQIBSL2.js} +2 -2
  25. package/dist/cli-bundle/chunks/chunk-YQMYF3YD.js +35 -0
  26. package/dist/cli-bundle/chunks/{register-list-query-UJB5FMV2.js → register-list-query-XVN2ZLI7.js} +2 -2
  27. package/dist/cli-bundle/chunks/register-mutation-QCKAEGIJ.js +20 -0
  28. package/dist/cli-bundle/chunks/{register-operations-RXIJIYXC.js → register-operations-SDEAXE7E.js} +2 -2
  29. package/dist/cli-bundle/chunks/{register-setup-GFUZEKRE.js → register-setup-LXVBRCJ3.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/{chunk-QGFNI65N.js → chunk-2UIWOP3O.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/chunk-42S3GGZ7.js +50 -0
  32. package/dist/cli-bundle/focused-chunks/{chunk-OGLQBL46.js → chunk-7I23XGWO.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/chunk-7YCDTCBC.js +2 -0
  34. package/dist/cli-bundle/focused-chunks/{chunk-OFVUGTLJ.js → chunk-A644DUFQ.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/{chunk-AUFH5H35.js → chunk-GQR3WH3F.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/{chunk-3UPTYG44.js → chunk-H5JZEIQV.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/chunk-IBZZZGK3.js +2 -0
  38. package/dist/cli-bundle/focused-chunks/chunk-LMKG3DFE.js +5 -0
  39. package/dist/cli-bundle/focused-chunks/{chunk-LYVSW5VM.js → chunk-N7W67YIG.js} +2 -2
  40. package/dist/cli-bundle/focused-chunks/{chunk-37Z4OEAP.js → chunk-NOOZGIXP.js} +2 -2
  41. package/dist/cli-bundle/focused-chunks/{chunk-FZS4H32O.js → chunk-OHIHZ7HS.js} +2 -2
  42. package/dist/cli-bundle/focused-chunks/chunk-ONYQCALA.js +19 -0
  43. package/dist/cli-bundle/focused-chunks/chunk-OVJL6NZE.js +4 -0
  44. package/dist/cli-bundle/focused-chunks/chunk-RAFKLNZX.js +16 -0
  45. package/dist/cli-bundle/focused-chunks/{chunk-IFLWKY2R.js → chunk-VXWATRFL.js} +2 -2
  46. package/dist/cli-bundle/focused-chunks/{chunk-R27IDGHD.js → chunk-XUQPEKRN.js} +2 -2
  47. package/dist/cli-bundle/focused-chunks/{chunk-JOWDB2MH.js → chunk-YO3ZF3FI.js} +2 -2
  48. package/dist/cli-bundle/main.js +18 -17
  49. package/dist/cli-bundle/sdk-authoring.js +1 -1
  50. package/dist/cli-bundle/sdk-contracts.js +2 -2
  51. package/dist/cli-bundle/sdk-core.js +32 -32
  52. package/dist/cli-bundle/sdk-governance.js +1 -1
  53. package/dist/cli-bundle/sdk-graph.js +1 -1
  54. package/dist/cli-bundle/sdk-merge.js +32 -33
  55. package/dist/cli-bundle/sdk-query.js +1 -1
  56. package/dist/cli-bundle/sdk-runtime.js +1 -1
  57. package/dist/cli-bundle/sdk-testing.js +1 -1
  58. package/dist/cli-bundle/sdk.js +6 -5
  59. package/dist/core/diagnostics/remediation.js +17 -2
  60. package/dist/core/extensions/command-metadata-contract.d.ts +10 -0
  61. package/dist/core/extensions/command-metadata-contract.js +23 -0
  62. package/dist/core/extensions/command-visibility-tier.js +12 -2
  63. package/dist/core/extensions/extension-types.d.ts +6 -0
  64. package/dist/core/extensions/extension-types.js +2 -2
  65. package/dist/core/extensions/loader.js +4 -3
  66. package/dist/core/io/body-file.js +7 -2
  67. package/dist/core/io/bulk-ids-input.d.ts +24 -0
  68. package/dist/core/io/bulk-ids-input.js +113 -0
  69. package/dist/core/item/parse.d.ts +22 -2
  70. package/dist/core/item/parse.js +97 -4
  71. package/dist/mcp/server.d.ts +3 -2
  72. package/dist/mcp/server.js +16 -9
  73. package/dist/sdk/agent/refusal-closure-census.d.ts +66 -0
  74. package/dist/sdk/agent/refusal-closure-census.js +144 -0
  75. package/dist/sdk/agent-capability-contracts.d.ts +34 -1
  76. package/dist/sdk/agent-capability-contracts.js +104 -6
  77. package/dist/sdk/annotations.d.ts +2 -0
  78. package/dist/sdk/annotations.js +25 -7
  79. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +10 -0
  80. package/dist/sdk/cli-contracts/runtime-contracts.js +20 -3
  81. package/dist/sdk/cli-contracts/tool-parameter-tables.js +38 -2
  82. package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +4 -1
  83. package/dist/sdk/cli-contracts/typed-action-inputs.js +2 -2
  84. package/dist/sdk/comments.js +15 -7
  85. package/dist/sdk/flag-invocation-contracts.d.ts +2 -0
  86. package/dist/sdk/flag-invocation-contracts.js +28 -3
  87. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +109 -52
  88. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +62 -2
  89. package/dist/sdk/governance/health.js +98 -11
  90. package/dist/sdk/governance/validate.js +15 -9
  91. package/dist/sdk/guide-topics.d.ts +0 -5
  92. package/dist/sdk/guide-topics.js +28 -2
  93. package/dist/sdk/history-compact.d.ts +2 -1
  94. package/dist/sdk/history-compact.js +24 -5
  95. package/dist/sdk/history-mcp.js +11 -10
  96. package/dist/sdk/history-repair.d.ts +24 -0
  97. package/dist/sdk/history-repair.js +145 -4
  98. package/dist/sdk/index.d.ts +1 -0
  99. package/dist/sdk/index.js +3 -2
  100. package/dist/sdk/item-transaction.js +19 -12
  101. package/dist/sdk/lifecycle/append.js +4 -4
  102. package/dist/sdk/lifecycle/close-many.js +16 -7
  103. package/dist/sdk/lifecycle/create.js +29 -21
  104. package/dist/sdk/lifecycle/plan.js +24 -6
  105. package/dist/sdk/lifecycle/update-many.js +15 -8
  106. package/dist/sdk/lifecycle/update.d.ts +2 -0
  107. package/dist/sdk/lifecycle/update.js +34 -24
  108. package/dist/sdk/merge/driver.js +25 -4
  109. package/dist/sdk/merge/receipt-file-boundary.d.ts +21 -0
  110. package/dist/sdk/merge/receipt-file-boundary.js +47 -0
  111. package/dist/sdk/merge/receipts.d.ts +24 -1
  112. package/dist/sdk/merge/receipts.js +342 -36
  113. package/dist/sdk/merge/reconcile.js +117 -47
  114. package/dist/sdk/read-output/continuation.d.ts +15 -2
  115. package/dist/sdk/read-output/continuation.js +86 -6
  116. package/dist/sdk/read-output-contracts.d.ts +4 -1
  117. package/dist/sdk/read-output-contracts.js +9 -6
  118. package/dist/sdk/runtime-extended-actions.js +5 -3
  119. package/dist/sdk/runtime-input.d.ts +4 -0
  120. package/dist/sdk/runtime-input.js +98 -23
  121. package/dist/sdk/runtime-primitives.d.ts +2 -1
  122. package/dist/sdk/runtime-primitives.js +4 -3
  123. package/dist/sdk/runtime.js +7 -20
  124. package/dist/sdk/scheduling-shortcuts.js +5 -3
  125. package/dist/sdk/structured-mutations.js +10 -3
  126. package/dist/sdk/workspace-contracts.d.ts +3 -0
  127. package/dist/sdk/workspace-contracts.js +3 -2
  128. package/docs/MERGE_SAFETY.md +34 -5
  129. package/docs/OUTPUT_PROJECTION_CONTRACTS.md +13 -1
  130. package/docs/README.md +2 -0
  131. package/docs/READ_OUTPUT_CONTRACTS.md +25 -2
  132. package/docs/RELEASING.md +40 -21
  133. package/docs/SCRIPTING.md +62 -3
  134. package/docs/SDK.md +8 -0
  135. package/docs/generated/AGENT_CAPABILITY_ROUTING.md +17 -0
  136. package/docs/generated/AGENT_COMMAND_SURFACE.md +1 -1
  137. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +359 -0
  138. package/marketplace.json +2 -2
  139. package/package.json +1 -1
  140. package/packages/pm-beads/package.json +1 -1
  141. package/packages/pm-calendar/package.json +1 -1
  142. package/packages/pm-command-kit/README.md +9 -11
  143. package/packages/pm-command-kit/extensions/command-kit/index.ts +3 -1
  144. package/packages/pm-command-kit/package.json +1 -1
  145. package/packages/pm-digital-twin/package.json +1 -1
  146. package/packages/pm-governance-audit/package.json +1 -1
  147. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +10 -0
  148. package/packages/pm-guide-shell/package.json +1 -1
  149. package/packages/pm-kanban/package.json +1 -1
  150. package/packages/pm-lifecycle-hooks/package.json +1 -1
  151. package/packages/pm-linked-test-adapters/package.json +1 -1
  152. package/packages/pm-search-advanced/package.json +1 -1
  153. package/packages/pm-templates/package.json +1 -1
  154. package/packages/pm-todos/package.json +1 -1
  155. package/packages/pm-vcs/package.json +1 -1
  156. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  157. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  158. package/scripts/generate-agent-capability-surfaces.mjs +27 -1
  159. package/sdk/public-surface.json +351 -26
  160. package/dist/cli-bundle/chunks/chunk-3ENVHX6C.js +0 -36
  161. package/dist/cli-bundle/chunks/chunk-DW2CGEMU.js +0 -2
  162. package/dist/cli-bundle/chunks/chunk-HZBMLSZI.js +0 -201
  163. package/dist/cli-bundle/chunks/chunk-KXPMB2YL.js +0 -2092
  164. package/dist/cli-bundle/chunks/chunk-TFI5V5N2.js +0 -13
  165. package/dist/cli-bundle/chunks/register-mutation-NX5XE4VX.js +0 -20
  166. package/dist/cli-bundle/focused-chunks/chunk-5S7E72FY.js +0 -16
  167. package/dist/cli-bundle/focused-chunks/chunk-E7X25GC3.js +0 -2
  168. package/dist/cli-bundle/focused-chunks/chunk-FQCSTBWE.js +0 -4
  169. package/dist/cli-bundle/focused-chunks/chunk-MRCNF3U6.js +0 -2
  170. package/dist/cli-bundle/focused-chunks/chunk-OY7QAV4Y.js +0 -51
  171. package/dist/cli-bundle/focused-chunks/chunk-UYRFYCDQ.js +0 -5
  172. package/dist/cli-bundle/focused-chunks/chunk-ZHVA42R5.js +0 -18
@@ -1,4 +1,4 @@
1
- import{A as Io,Aa as $o,G as xo,Ja as $t,L as Ft,La as ct,Na as dt,Oa as lt,P as st,Q as Un,Qa as zo,R as Wn,Ra as Ho,S as at,Sa as Uo,T as Co,Ta as Wo,U as To,Ua as Vo,Va as Bo,Z as Oo,_ as Ao,a as Rt,ea as Ro,h as jt,ja as No,p as So,q as Pe,s as Se,t as le,u as W,ua as Do,v as it,va as Mo,wa as Lo,xa as Po,ya as jo,za as Fo}from"./chunk-FQCSTBWE.js";import{C as Lt,D as Pt,E as Hn,G as vo,L as de,S as ke,T as ko,W as w,X as Le,Y as k,Z as x,aa as L,ba as je,ca as Ie,da as S,n as Nt,o as ho,p as go,q as bo,r as wo,v as Dt,w as Mt,x as Eo}from"./chunk-UYRFYCDQ.js";import{AsyncLocalStorage as Oa}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 Vn=new Oa,qo=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function zt(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function xe(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=zt(n.id,128),o=zt(n.parent_id,128);if(r===void 0||!qo.test(r)||o!==void 0&&!qo.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=zt(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Fe(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=zt(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Aa(e,t,n){let r=Vn.getStore(),o=Fe({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=xe(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={...Fe(r?.provenance),...o,...Fe(e?.provenance)},a=xe(e?.episode,!1)??xe(n,!1)??i??xe(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 Bn(e,t){return Aa(e.session_context,t,e.client_info?.episode)??{}}function r_(e,t){let n=Vn.getStore(),r=xe(e.episode,!0),o=xe(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Fe(n?.provenance),...Fe(e.provenance)};return Vn.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function o_(e){let t=Fe(e.provenance),n=xe(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 rr}from"node:async_hooks";import{createHash as La}from"node:crypto";import ee from"node:fs";import Qo from"node:os";import Wt from"node:path";import{createHash as Go}from"node:crypto";import{existsSync as qn,promises as Xo,readFileSync as Ra}from"node:fs";import Y from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="424b9eb3-6b34-5ab0-a3f5-db61fbca12cf")}catch{}})();var Na="session.json";function Gn(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Ko(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=Gn(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=>Gn(c,128)),a=t.focused_item_id===void 0||Gn(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function Da(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Ko(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Xn(e){return Y.join(To(e),Na)}async function Ht(e){try{let t=await Xo.readFile(Xn(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=Da(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 Kn(e,t){let n=Xn(e);await Xo.mkdir(Y.dirname(n),{recursive:!0}),await W(n,JSON.stringify(t))}function Jn(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${Go("sha256").update(e).digest("hex").slice(0,24)}`}function Yn(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Qn(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)}+${Go("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function Zn(e,t,n){let r=await Ht(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 Kn(e,s)}async function u_(e){let t=Jn(e.principal);await Zn(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??Qn(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Yn([...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 f_(e){let t=Jn(e.principal);await Zn(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??Qn(r),confidence:o?"high":"medium",evidence:Yn([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function m_(e){let t=Jn(e.principal);await Zn(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??Qn(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Yn([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function Ma(e,t){let n=t.PM_PATH?.trim();if(n){let o=Y.resolve(e,n);if(qn(Y.join(o,"settings.json")))return o;let i=Y.join(o,".agents","pm");if(qn(Y.join(i,"settings.json")))return i}let r=Y.resolve(e);for(let o=0;o<32;o+=1){let i=Y.join(r,".agents","pm");if(qn(Y.join(i,"settings.json")))return i;let s=Y.dirname(r);if(s===r)break;r=s}}function Jo(e){if(!e.key)return;let t=Ma(e.cwd,e.env);if(t)try{let n=JSON.parse(Ra(Xn(t),"utf8"));return Ko(n.semantic_attribution?.[e.key])}catch{return}}async function __(e){return(await Ht(e)).focused_item}async function p_(e,t){let n=await Ht(e);await Kn(e,{...n,focused_item:t})}async function y_(e){let n={...await Ht(e)};delete n.focused_item,await Kn(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]="8d89d381-5c6e-5f96-ba03-298fc6db9bba")}catch{}})();var or=["model","effort","role","topic","version"],Bt=new rr,Zo=new rr,qt=new rr,ir=[{harness:"claude-code",environment_keys:["CLAUDE_CODE","CLAUDECODE"],model_environment_keys:["ANTHROPIC_MODEL","CLAUDE_MODEL"],session_environment_keys:["CLAUDE_CODE_SESSION_ID"],provenance_environment_keys:{effort:["CLAUDE_EFFORT"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["role","topic"],argv_markers:["claude","claude-code"],client_names:["claude","claude-code","claude code"]},{harness:"codex",environment_keys:["CODEX_HOME","CODEX_CI","CODEX_THREAD_ID"],model_environment_keys:["CODEX_MODEL"],session_environment_keys:["CODEX_THREAD_ID"],provenance_environment_keys:{effort:["CODEX_REASONING_EFFORT","CODEX_EFFORT"],role:["CODEX_SESSION_ROLE"]},provenance_resolvers:{model:"codex_session_file",effort:"codex_session_file",version:"ai_agent_version"},provenance_unavailable_dimensions:["topic"],argv_markers:["codex"],client_names:["codex"]},{harness:"pi",environment_keys:["PI_AGENT","PI_CODING_AGENT"],model_environment_keys:["PI_MODEL"],session_environment_keys:["PI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["pi"],client_names:["pi"]},{harness:"opencode",environment_keys:["OPENCODE","OPENCODE_SESSION_ID"],model_environment_keys:["OPENCODE_MODEL"],session_environment_keys:["OPENCODE_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["opencode"],client_names:["opencode"]},{harness:"cursor",environment_keys:["CURSOR_AGENT","CURSOR_TRACE_ID"],model_environment_keys:["CURSOR_MODEL"],session_environment_keys:["CURSOR_TRACE_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["cursor"],client_names:["cursor"]},{harness:"aider",environment_keys:["AIDER","AIDER_MODEL"],model_environment_keys:["AIDER_MODEL"],session_environment_keys:["AIDER_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["aider"],client_names:["aider"]},{harness:"gemini-cli",environment_keys:["GEMINI_CLI","GEMINI_CLI_HOME"],model_environment_keys:["GEMINI_MODEL"],session_environment_keys:["GEMINI_CLI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["gemini","gemini-cli"],client_names:["gemini","gemini-cli","gemini cli"]},{harness:"ci",environment_keys:["CI","GITHUB_ACTIONS","BUILDKITE","GITLAB_CI"],provenance_unavailable_dimensions:["model","effort","role","topic"],argv_markers:[],client_names:[]}],ei=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),Pa=Object.freeze({...ei,max_bytes:4194304}),er=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function ja(e){let t=fe(e).provenance_unavailable_dimensions,n=new Set(["model","version",...Object.keys(e.provenance_environment_keys??{}),...Object.keys(e.provenance_resolvers??{})]);return Object.freeze({contract_version:1,adapter_version:"v1",priority:0,harness:e.harness,descriptor:e,supported_dimensions:Object.freeze([...n].sort()),native_sources:Object.freeze(["environment","argv","mcp_client",...Object.values(e.provenance_resolvers??{}).some(r=>r?.endsWith("session_file"))?["session_file"]:[]]),probe_policy:e.harness==="codex"?Pa:ei,normalization:Object.freeze({model_family:"v1",effort:"v1",preserve_raw:!0}),confidence:"high",waivers:Object.freeze(Object.fromEntries(t.map(r=>[r,"Harness does not expose this dimension."])))})}var ti=Object.freeze(ir.filter(e=>e.harness!=="ci").map(ja).sort((e,t)=>e.harness.localeCompare(t.harness))),Te=new Map,$e=new Map;function N(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function ue(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function fe(e){let t=e.harness.trim().toLowerCase();if(!er.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:ue(e.environment_keys),model_environment_keys:ue(e.model_environment_keys),session_environment_keys:ue(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),ue(r)]).filter(([n])=>er.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"&&er.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:ue(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:ue(e.argv_markers).map(n=>n.toLowerCase()),client_names:ue(e.client_names).map(n=>n.toLowerCase())}}var ni=ir.map(fe);function Fa(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Vt(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function sr(e=[]){let t=new Map(ir.filter(o=>o.harness!=="ci").map(o=>[o.harness,fe(o)]));for(let{adapter:o}of Te.values())t.set(o.harness,fe(o.descriptor));let n=[...t.values(),...ni.filter(o=>o.harness==="ci"),...[...$e.values()].map(o=>o.descriptor),...qt.getStore()?.descriptors??[],...e.map(fe)],r=new Set;for(let o of n){if(r.has(o.harness))throw new Error(`Harness signal descriptor collision for "${o.harness}"`);r.add(o.harness)}return n}function ar(e,t){for(let n of t??[]){let r=N(e[n]);if(r)return r.slice(0,256)}}function $a(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 ri(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 N(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return N(i.slice(s.length+1))?.slice(0,256)}}var za=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Ce(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return za.has(n)?n:void 0}function tr(e,t){return N(e?.[t])?.slice(0,256)}var Ha=1048576,nr=4194304,Ut=new Map,Yo=Object.freeze({});function Ua(e,t){let n;try{n=JSON.parse(e)}catch{return}let r=n,o=typeof r.message=="object"&&r.message!==null?r.message:void 0,i=t==="model"?o?.model:r.version;return N(i)?.slice(0,256)}function Wa(e,t,n){let r=N(n.CLAUDE_CODE_SESSION_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let i=Wt.resolve(t.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),s=Wt.join(t.home_dir??Qo.homedir(),".claude","projects",i,`${r}.jsonl`);try{let a=ee.openSync(s,"r");try{let c=ee.fstatSync(a).size,d=Math.min(c,Ha),u=Buffer.alloc(d);ee.readSync(a,u,0,d,Math.max(0,c-d));let f=u.toString("utf8").split(`
1
+ import{A as Io,Aa as $o,G as xo,Ja as $t,L as Ft,La as ct,Na as dt,Oa as lt,P as st,Q as Un,Qa as zo,R as Wn,Ra as Ho,S as at,Sa as Uo,T as Co,Ta as Wo,U as To,Ua as Vo,Va as Bo,Z as Oo,_ as Ao,a as Rt,ea as Ro,h as jt,ja as No,p as So,q as Pe,s as Se,t as le,u as W,ua as Do,v as it,va as Mo,wa as Lo,xa as Po,ya as jo,za as Fo}from"./chunk-OVJL6NZE.js";import{C as Lt,D as Pt,E as Hn,G as vo,L as de,S as ke,T as ko,W as w,X as Le,Y as k,Z as x,aa as L,ba as je,ca as Ie,da as S,n as Nt,o as ho,p as go,q as bo,r as wo,v as Dt,w as Mt,x as Eo}from"./chunk-LMKG3DFE.js";import{AsyncLocalStorage as Oa}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 Vn=new Oa,qo=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function zt(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function xe(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=zt(n.id,128),o=zt(n.parent_id,128);if(r===void 0||!qo.test(r)||o!==void 0&&!qo.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=zt(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Fe(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=zt(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Aa(e,t,n){let r=Vn.getStore(),o=Fe({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=xe(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={...Fe(r?.provenance),...o,...Fe(e?.provenance)},a=xe(e?.episode,!1)??xe(n,!1)??i??xe(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 Bn(e,t){return Aa(e.session_context,t,e.client_info?.episode)??{}}function r_(e,t){let n=Vn.getStore(),r=xe(e.episode,!0),o=xe(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Fe(n?.provenance),...Fe(e.provenance)};return Vn.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function o_(e){let t=Fe(e.provenance),n=xe(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 rr}from"node:async_hooks";import{createHash as La}from"node:crypto";import ee from"node:fs";import Qo from"node:os";import Wt from"node:path";import{createHash as Go}from"node:crypto";import{existsSync as qn,promises as Xo,readFileSync as Ra}from"node:fs";import Y from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="424b9eb3-6b34-5ab0-a3f5-db61fbca12cf")}catch{}})();var Na="session.json";function Gn(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Ko(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=Gn(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=>Gn(c,128)),a=t.focused_item_id===void 0||Gn(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function Da(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Ko(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Xn(e){return Y.join(To(e),Na)}async function Ht(e){try{let t=await Xo.readFile(Xn(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=Da(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 Kn(e,t){let n=Xn(e);await Xo.mkdir(Y.dirname(n),{recursive:!0}),await W(n,JSON.stringify(t))}function Jn(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${Go("sha256").update(e).digest("hex").slice(0,24)}`}function Yn(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Qn(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)}+${Go("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function Zn(e,t,n){let r=await Ht(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 Kn(e,s)}async function u_(e){let t=Jn(e.principal);await Zn(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??Qn(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Yn([...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 f_(e){let t=Jn(e.principal);await Zn(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??Qn(r),confidence:o?"high":"medium",evidence:Yn([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function m_(e){let t=Jn(e.principal);await Zn(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??Qn(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Yn([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function Ma(e,t){let n=t.PM_PATH?.trim();if(n){let o=Y.resolve(e,n);if(qn(Y.join(o,"settings.json")))return o;let i=Y.join(o,".agents","pm");if(qn(Y.join(i,"settings.json")))return i}let r=Y.resolve(e);for(let o=0;o<32;o+=1){let i=Y.join(r,".agents","pm");if(qn(Y.join(i,"settings.json")))return i;let s=Y.dirname(r);if(s===r)break;r=s}}function Jo(e){if(!e.key)return;let t=Ma(e.cwd,e.env);if(t)try{let n=JSON.parse(Ra(Xn(t),"utf8"));return Ko(n.semantic_attribution?.[e.key])}catch{return}}async function __(e){return(await Ht(e)).focused_item}async function p_(e,t){let n=await Ht(e);await Kn(e,{...n,focused_item:t})}async function y_(e){let n={...await Ht(e)};delete n.focused_item,await Kn(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]="8d89d381-5c6e-5f96-ba03-298fc6db9bba")}catch{}})();var or=["model","effort","role","topic","version"],Bt=new rr,Zo=new rr,qt=new rr,ir=[{harness:"claude-code",environment_keys:["CLAUDE_CODE","CLAUDECODE"],model_environment_keys:["ANTHROPIC_MODEL","CLAUDE_MODEL"],session_environment_keys:["CLAUDE_CODE_SESSION_ID"],provenance_environment_keys:{effort:["CLAUDE_EFFORT"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["role","topic"],argv_markers:["claude","claude-code"],client_names:["claude","claude-code","claude code"]},{harness:"codex",environment_keys:["CODEX_HOME","CODEX_CI","CODEX_THREAD_ID"],model_environment_keys:["CODEX_MODEL"],session_environment_keys:["CODEX_THREAD_ID"],provenance_environment_keys:{effort:["CODEX_REASONING_EFFORT","CODEX_EFFORT"],role:["CODEX_SESSION_ROLE"]},provenance_resolvers:{model:"codex_session_file",effort:"codex_session_file",version:"ai_agent_version"},provenance_unavailable_dimensions:["topic"],argv_markers:["codex"],client_names:["codex"]},{harness:"pi",environment_keys:["PI_AGENT","PI_CODING_AGENT"],model_environment_keys:["PI_MODEL"],session_environment_keys:["PI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["pi"],client_names:["pi"]},{harness:"opencode",environment_keys:["OPENCODE","OPENCODE_SESSION_ID"],model_environment_keys:["OPENCODE_MODEL"],session_environment_keys:["OPENCODE_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["opencode"],client_names:["opencode"]},{harness:"cursor",environment_keys:["CURSOR_AGENT","CURSOR_TRACE_ID"],model_environment_keys:["CURSOR_MODEL"],session_environment_keys:["CURSOR_TRACE_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["cursor"],client_names:["cursor"]},{harness:"aider",environment_keys:["AIDER","AIDER_MODEL"],model_environment_keys:["AIDER_MODEL"],session_environment_keys:["AIDER_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["aider"],client_names:["aider"]},{harness:"gemini-cli",environment_keys:["GEMINI_CLI","GEMINI_CLI_HOME"],model_environment_keys:["GEMINI_MODEL"],session_environment_keys:["GEMINI_CLI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["gemini","gemini-cli"],client_names:["gemini","gemini-cli","gemini cli"]},{harness:"ci",environment_keys:["CI","GITHUB_ACTIONS","BUILDKITE","GITLAB_CI"],provenance_unavailable_dimensions:["model","effort","role","topic"],argv_markers:[],client_names:[]}],ei=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),Pa=Object.freeze({...ei,max_bytes:4194304}),er=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function ja(e){let t=fe(e).provenance_unavailable_dimensions,n=new Set(["model","version",...Object.keys(e.provenance_environment_keys??{}),...Object.keys(e.provenance_resolvers??{})]);return Object.freeze({contract_version:1,adapter_version:"v1",priority:0,harness:e.harness,descriptor:e,supported_dimensions:Object.freeze([...n].sort()),native_sources:Object.freeze(["environment","argv","mcp_client",...Object.values(e.provenance_resolvers??{}).some(r=>r?.endsWith("session_file"))?["session_file"]:[]]),probe_policy:e.harness==="codex"?Pa:ei,normalization:Object.freeze({model_family:"v1",effort:"v1",preserve_raw:!0}),confidence:"high",waivers:Object.freeze(Object.fromEntries(t.map(r=>[r,"Harness does not expose this dimension."])))})}var ti=Object.freeze(ir.filter(e=>e.harness!=="ci").map(ja).sort((e,t)=>e.harness.localeCompare(t.harness))),Te=new Map,$e=new Map;function N(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function ue(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function fe(e){let t=e.harness.trim().toLowerCase();if(!er.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:ue(e.environment_keys),model_environment_keys:ue(e.model_environment_keys),session_environment_keys:ue(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),ue(r)]).filter(([n])=>er.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"&&er.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:ue(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:ue(e.argv_markers).map(n=>n.toLowerCase()),client_names:ue(e.client_names).map(n=>n.toLowerCase())}}var ni=ir.map(fe);function Fa(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Vt(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function sr(e=[]){let t=new Map(ir.filter(o=>o.harness!=="ci").map(o=>[o.harness,fe(o)]));for(let{adapter:o}of Te.values())t.set(o.harness,fe(o.descriptor));let n=[...t.values(),...ni.filter(o=>o.harness==="ci"),...[...$e.values()].map(o=>o.descriptor),...qt.getStore()?.descriptors??[],...e.map(fe)],r=new Set;for(let o of n){if(r.has(o.harness))throw new Error(`Harness signal descriptor collision for "${o.harness}"`);r.add(o.harness)}return n}function ar(e,t){for(let n of t??[]){let r=N(e[n]);if(r)return r.slice(0,256)}}function $a(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 ri(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 N(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return N(i.slice(s.length+1))?.slice(0,256)}}var za=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Ce(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return za.has(n)?n:void 0}function tr(e,t){return N(e?.[t])?.slice(0,256)}var Ha=1048576,nr=4194304,Ut=new Map,Yo=Object.freeze({});function Ua(e,t){let n;try{n=JSON.parse(e)}catch{return}let r=n,o=typeof r.message=="object"&&r.message!==null?r.message:void 0,i=t==="model"?o?.model:r.version;return N(i)?.slice(0,256)}function Wa(e,t,n){let r=N(n.CLAUDE_CODE_SESSION_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let i=Wt.resolve(t.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),s=Wt.join(t.home_dir??Qo.homedir(),".claude","projects",i,`${r}.jsonl`);try{let a=ee.openSync(s,"r");try{let c=ee.fstatSync(a).size,d=Math.min(c,Ha),u=Buffer.alloc(d);ee.readSync(a,u,0,d,Math.max(0,c-d));let f=u.toString("utf8").split(`
2
2
  `).reverse().slice(0,4096);for(let m of f){if(m.length===0||m.length>262144)continue;let y=Ua(m,e);if(y)return y}}finally{ee.closeSync(a)}}catch{return}}function Va(e,t){let n=0,r=(o,i)=>{if(i>4||n>=512)return;let s;try{s=ee.readdirSync(o,{withFileTypes:!0}).sort((a,c)=>c.name.localeCompare(a.name))}catch{return}for(let a of s){if(n+=1,n>512)return;let c=Wt.join(o,a.name);if(a.isFile()&&a.name.endsWith(`-${t}.jsonl`))return c;if(a.isDirectory()){let d=r(c,i+1);if(d)return d}}};return r(e,0)}function Ba(e){if(e<=nr)return[{offset:0,length:e}];let t=Math.floor(nr/2);return[{offset:e-t,length:t},{offset:0,length:t}]}function qa(e,t){if(t.length===0||t.length>262144)return;let n;try{n=JSON.parse(t)}catch{return}if(typeof n!="object"||n===null||Array.isArray(n))return;let r=n;if(r.type!=="turn_context")return;let o=typeof r.payload=="object"&&r.payload!==null?r.payload:void 0;e.model??=N(o?.model)?.slice(0,256),e.effort??=N(o?.effort)?.slice(0,256)}function Ga(e,t){let n={},r=4096;for(let o of Ba(t)){let i=Buffer.alloc(o.length);ee.readSync(e,i,0,o.length,o.offset);let s=i.toString("utf8").split(`
3
3
  `).reverse().slice(0,r);r-=s.length;for(let a of s)if(qa(n,a),n.model&&n.effort)break;if(n.model&&n.effort||r<=0)break}return n}function Xa(e,t,n){let r=N(n.CODEX_THREAD_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let o=Wt.join(t.home_dir??Qo.homedir(),".codex","sessions"),i=`${o}\0${r}`,s=Ut.get(i);if(s)return s[e];let a=Va(o,r);if(!a){Ut.set(i,Yo);return}try{let c=ee.openSync(a,"r");try{let d=ee.fstatSync(c).size,u=Ga(c,d);return Ut.set(i,u),u[e]}finally{ee.closeSync(c)}}catch{Ut.set(i,Yo);return}}function Ka(e,t,n,r){let o=qt.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(N(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return Wa(e,t,n);if(s==="codex_session_file")return Xa(e,t,n);if(s==="ai_agent_version"){let a=N(n.AI_AGENT);return!a||!r||!Vt(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function Ja(e,t,n){if(e==="ai_agent_version"){let r=N(n.AI_AGENT);return r!==void 0&&Vt(r,t.harness)}return e==="codex_session_file"?N(n.CODEX_THREAD_ID)!==void 0:N(n.CLAUDE_CODE_SESSION_ID)!==void 0}function cr(e){return e||(Zo.getStore()??{env:process.env,argv:process.argv})}function Ya(e,t,n,r){let o=e.environment_keys.some(a=>N(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let d=c.replaceAll("\\","/");return Vt(d.slice(d.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||Vt(r,a));return o||i||s}function Qa(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 Za(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function ec(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...or,...Object.keys(r?.provenance_environment_keys??{})]),c,d,u;a.has(e)&&(c=Ce(e,N(n[s])?.slice(0,256)),u=Ce(e,ri(t.argv??[],e)),d=Ce(e,$a(t.argv??[],e)));let f={...r?.provenance_environment_keys,model:r?.model_environment_keys},m={...t.client_info?.provenance,model:t.client_info?.model},y=tr(o?.provenance,e),p=Ce(e,ar(n,f[e])),b=Ce(e,tr(m,e)),v=Ce(e,tr(t.provenance,e)),O=Ka(e,t,n,r);return Za([[c,"override"],[y,"session"],[u,"argv"],[p,"environment"],[b,"mcp_client"],[v,"host"],[O,"probe"]])??Qa(e,i)??(d?{value:d,source:"argv"}:void 0)}function tc(e,t){if(!(!e||!t))return La("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function nc(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...or,...i,...Object.keys(n?.provenance_resolvers??{}),...Object.keys(e.provenance??{}),...Object.keys(e.client_info?.provenance??{}),...Object.keys(r?.provenance??{})]),a={};for(let c of s){let d=ec(c,e,t,n,r,o);d?a[c]=d:n&&(c!=="version"||n.provenance_unavailable_dimensions.includes(c))&&(a[c]=null)}return a}function I_(e){let t=e.map(fe),n=new Map(ni.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=$e.get(i.harness);if(s&&!Fa(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=$e.get(i.harness);$e.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=$e.get(i.harness);!s||s.registrations<=1?$e.delete(i.harness):s.registrations-=1}}}}function rc(e){let t=fe(e.descriptor),n=e.harness.trim().toLowerCase();if(e.contract_version!==1)throw new Error(`Unsupported provenance adapter contract for "${n}": ${e.contract_version}`);if(t.harness!==n)throw new Error(`Provenance adapter harness "${n}" does not match descriptor "${t.harness}".`);let r=N(e.adapter_version)?.slice(0,64);if(!r)throw new Error(`Provenance adapter "${n}" requires a version.`);if(!Number.isSafeInteger(e.priority))throw new Error(`Provenance adapter "${n}" requires an integer priority.`);if(e.probe_policy.network_access!==!1||e.probe_policy.subprocess_access!==!1||e.probe_policy.max_bytes>nr||e.probe_policy.max_lines>4096)throw new Error(`Provenance adapter "${n}" exceeds the bounded local probe policy.`);return Object.freeze({...e,adapter_version:r,harness:n,descriptor:t,supported_dimensions:Object.freeze(ue(e.supported_dimensions).map(o=>o.toLowerCase()).sort()),native_sources:Object.freeze([...new Set(e.native_sources)]),probe_policy:Object.freeze({...e.probe_policy}),normalization:Object.freeze({...e.normalization}),...e.waivers?{waivers:Object.freeze(Object.fromEntries(Object.entries(e.waivers).slice(0,32).map(([o,i])=>[o.slice(0,64),i.slice(0,256)])))}:{}})}function x_(){let e=new Map(ti.map(t=>[t.harness,t]));for(let{adapter:t}of Te.values())e.set(t.harness,t);return Object.freeze([...e.values()].sort((t,n)=>t.harness.localeCompare(n.harness)))}function C_(e){let t=e.map(rc),n=new Map(ti.map(i=>[i.harness,i])),r=new Set;for(let i of t){if(r.has(i.harness))throw new Error(`Provenance adapter collision for "${i.harness}".`);let s=n.get(i.harness);if(s&&i.priority<=s.priority)throw new Error(`Provenance adapter override for "${i.harness}" requires priority greater than ${s.priority}.`);let a=Te.get(i.harness);if(a&&JSON.stringify(a.adapter)!==JSON.stringify(i))throw new Error(`Provenance adapter collision for "${i.harness}".`);r.add(i.harness)}for(let i of t){let s=Te.get(i.harness);Te.set(i.harness,{adapter:i,registrations:(s?.registrations??0)+1})}let o=!0;return()=>{if(o){o=!1;for(let i of t){let s=Te.get(i.harness);!s||s.registrations<=1?Te.delete(i.harness):s.registrations-=1}}}}function T_(e,t){let n=t.trim().slice(0,256),r=n.toLowerCase();if(e==="model"){let o=/^(gpt-\d+(?:\.\d+)?)/u.exec(r)?.[1];o&&(r=o)}else r=r.replaceAll(/[_\s-]+/gu,""),r={minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max",ultra:"ultra"}[r]??r;return{raw:n,normalized:r,vocabulary:"v1"}}function O_(e,t){return Zo.run(e,t)}function A_(e,t,n={}){let r=e.map(fe);return sr(r),qt.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function dr(e){let t=cr(e),n=t.env??{},r=sr(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(p=>p.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(p=>Ya(p,n,o,i)),a=Bn(t,n),c=[ar(n,s?.session_environment_keys),N(t.client_info?.session)?.slice(0,256)].find(p=>p!==void 0),d=tc(s?.harness,c),u=Jo({cwd:t.cwd??process.cwd(),env:n,key:d}),f=nc(t,n,s,a,u),m=f.model,y=[["harness",s?.harness],["model",m?.value],["model_source",m?.source],["session",c],["instance",d],["provenance",Object.keys(f).length>0?f:void 0],["episode",a.episode]];return Object.fromEntries(y.filter(p=>p[1]!==void 0))}function oc(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=Ja(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 oi(e){let t=cr(e),n=dr(t),r=sr(t.descriptors).find(d=>d.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&qt.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(N(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=Bn(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,ar(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,ri(t.argv??[],"role")].some(d=>{let u=N(d)?.slice(0,256);return u!==void 0&&Ce("role",u)===void 0}),c=Object.fromEntries(or.map(d=>[d,oc(d,n,r,o,i,d==="role"&&a)]));return{...n,provenance_outcomes:c}}function R_(){return process.env.PM_AUTHOR}function N_(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function D_(e){return dr(e).harness}function ic(e,t,n){let r=cr(n),o=dr(r);if(e!==void 0){let s=N(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=N(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=N(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function ii(e){let t=Bt.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function si(e){let t=Bt.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 ai(e){let t=Bt.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function ci(e,t){let n=ic(e,t);return Bt.enterWith(n),n.author}import sc from"node:crypto";import{AsyncLocalStorage as ac}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="aacc48ae-e9b2-5c8e-945f-89d05aff48e8")}catch{}})();var li=new ac,di=1024;function ui(){let e=li.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 fi(e){let t=li.getStore();if(t===void 0)return;if(!Number.isSafeInteger(e)||e<0||e>di)throw new Error(`Reproducible token length must be an integer between 0 and ${di}`);let n="";for(;n.length<e;){let r=sc.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 cc=/^([+-]?)(\d+)([hdwm])$/i,dc=/^[+-]?\d+[hdwm](?:[+-]\d+[hdwm])+$/i,lc=/^(\d{4})(\d{2})(\d{2})$/,uc=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,fc=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})-(\d{2})(?:-(\d{2}))?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,mc=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,_c=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-](\d{2}):(\d{2}))$/i;function Oe(){return ui()??new Date().toISOString()}function te(e){return Number.isFinite(Date.parse(e))}function _i(e){let t=_c.exec(e);if(!t||!Number.isFinite(Date.parse(e)))return!1;let[,n,r,o,i,s,a,c,d]=t,[u,f,m,y,p,b]=[n,r,o,i,s,a].map(Number);return f>=1&&f<=12&&m>=1&&m<=fr(u,f-1)&&y<=23&&p<=59&&b<=59&&(c===void 0||Number(c)<=23)&&(d===void 0||Number(d)<=59)}var pc=1e4,Gt=new Map;function mi(e){let t=Gt.get(e);if(t!==void 0)return t;let n=Date.parse(e);return Gt.size>=pc&&$t(Gt),Gt.set(e,n),n}function H(e,t){let n=mi(e),r=mi(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t)}function U_(e,t){return!(t.deadlineBefore&&(!e.deadline||H(e.deadline,t.deadlineBefore)>0)||t.deadlineAfter&&(!e.deadline||H(e.deadline,t.deadlineAfter)<0)||t.updatedAfter&&H(e.updated_at,t.updatedAfter)<0||t.updatedBefore&&H(e.updated_at,t.updatedBefore)>0||t.createdAfter&&H(e.created_at,t.createdAfter)<0||t.createdBefore&&H(e.created_at,t.createdBefore)>0)}function lr(e){return e?`.${e.slice(1).padEnd(3,"0").slice(0,3)}`:""}function ur(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 yc(e,t,n){n&&n!==t&&(e.includes(n)||e.push(n))}function hc(e){let t=[],n=d=>yc(t,e,d),r=lc.exec(e);if(r){let[,d,u,f]=r;n(`${d}-${u}-${f}`)}let o=uc.exec(e);if(o){let[,d,u,f,m,y,p,b,v]=o,O=p?`:${p}`:"";n(`${d}-${u}-${f}T${m}:${y}${O}${lr(b)}${ur(v)}`)}let i=fc.exec(e);if(i){let[,d,u,f,m,y,p]=i,b=m?`:${m}`:"";n(`${d}T${u}:${f}${b}${lr(y)}${ur(p)}`)}let s=mc.exec(e);if(s){let[,d,u,f,m,y,p]=s,b=m?`:${m}`:"";n(`${d}T${u}:${f}${b}${lr(y)}${ur(p)}`)}let a=10,c=e.slice(0,a);if(bc(c)){let d=a;for(;d<e.length&&wc(e[d]);)d+=1;d<e.length&&n(`${c}T${e.slice(d)}`)}return t}function gc(e){let t=Date.parse(e);if(Number.isFinite(t))return t;for(let n of hc(e)){let r=Date.parse(n);if(Number.isFinite(r))return r}return Number.NaN}function bc(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 wc(e){return e?e===" "||e===" "||e===`
4
4
  `||e==="\r"||e==="\f"||e==="\v":!1}function fr(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}var Ec=["January","February","March","April","May","June","July","August","September","October","November","December"],vc=/^(\d{4})-(\d{2})-(\d{2})/,kc=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/;function Sc(e,t,n){let r=vc.exec(t)??kc.exec(t);if(!r)return;let o=Number.parseInt(r[1],10),i=Number.parseInt(r[2],10),s=Number.parseInt(r[3],10),a=n?.trim()||"deadline";if(i<1||i>12)throw new x(`Invalid ${a} value "${e}". Month "${r[2]}" is out of range \u2014 use a month between 01 and 12.`,k.USAGE);let c=fr(o,i-1);if(s<1||s>c)throw new x(`Invalid ${a} value "${e}". ${Ec[i-1]} ${o} has ${c} days, so day "${r[3]}" does not exist. Use a real YYYY-MM-DD calendar date.`,k.USAGE)}function Ic(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,fr(i,s));return n.setUTCFullYear(i,s,a),n}function W_(e,t=new Date,n="deadline"){let r=e.trim();if(r.toLowerCase()==="now")return t.toISOString();let o=cc.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 Ic(t,a).toISOString();let d=c==="h"?3600*1e3:c==="d"?1440*60*1e3:10080*60*1e3;return new Date(t.getTime()+a*d).toISOString()}Sc(e,r,n);let i=gc(r);if(!Number.isFinite(i)){let s=n.trim().length>0?n.trim():"deadline",a=dc.test(r)?"Compound relative expressions like +3d+1h are not supported; use a single relative token (for example +3d) or an ISO/date string.":'Use ISO/date string input, "now", or relative +6h/-6h/+1d/-1d/+2w/-2w/+6m/-6m.';throw new x(`Invalid ${s} value "${e}". ${a}`,k.USAGE)}return new Date(i).toISOString()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77d3ebfa-789a-54cf-9d49-dbebab8d32ea")}catch{}})();var ze=1,pi=1;function B_(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=ze?t:ze}function yi(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=ze))return e}function xc(e,t=pi){return e<t?"outdated":e>t?"ahead":"current"}function q_(e,t=pi){let n=[],r=[];for(let o of e){let i=xc(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 Cc={"in-progress":"in_progress",cancelled:"canceled"};function Xt(e,t){if(t){let o=Wo(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=Cc[n]??n;if(Nt.includes(r))return r}function Tc(e,t){return Xt(e,t)??e}function J_(e,t){return t.terminal_statuses.has(Tc(e,t))}import{encode as zc}from"@toon-format/toon";import{isDeepStrictEqual as Ei}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 Oc=16;function mr(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 Ac(e){return[...new Set([Bo(e),mr(e.key),mr(e.cli_flag),...e.cli_aliases.map(t=>mr(t))])]}function bi(e,t){for(let n of Ac(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function wi(e){return Array.isArray(e)?e.flatMap(t=>wi(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 hi(e,t){if(typeof e=="boolean")return e;if(typeof e=="number"){if(e===1)return!0;if(e===0)return!1}if(typeof e=="string"){let n=e.trim().toLowerCase();if(n==="true"||n==="1"||n==="yes")return!0;if(n==="false"||n==="0"||n==="no")return!1}throw new x(`${t} must be one of true|false|1|0|yes|no`,k.USAGE)}function gi(e,t){if(typeof e=="number"&&Number.isFinite(e))return e;let n=typeof e=="string"?e.trim():String(e),r=Number(n);if(!Number.isFinite(r))throw new x(`${t} must be a number`,k.USAGE);return r}function Rc(e,t,n){let r=typeof e=="string"?(()=>{try{return JSON.parse(e)}catch{return}})():e;if(n==="array"&&Array.isArray(r)||n==="object"&&typeof r=="object"&&r!==null&&!Array.isArray(r))return r;throw new x(`${t} must be valid JSON ${n}`,k.USAGE)}function Nc(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 Dc(e,t,n){if(t.const!==void 0&&L(e)!==L(t.const))return`${n} must equal ${L(t.const)}`;if(t.enum!==void 0&&!t.enum.some(r=>L(r)===L(e)))return`${n} must be one of ${t.enum.map(r=>L(r)).join("|")}`;if(!Nc(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"&&!_i(e))return`${n} must be an RFC 3339 date-time`}}function Mc(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=Kt(i,t.items,`${n}[${o}]`,r+1);if(s)return s}}}function Lc(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=Kt(s,a,`${n}.${i}`,r+1);if(c)return c}}function Kt(e,t,n,r=0){if(r>Oc)return`${n} value schema exceeds maximum depth`;let o=Dc(e,t,n);if(o)return o;let i=Mc(e,t,n,r);if(i)return i;let s=Lc(e,t,n,r);if(s)return s;if(!t.one_of)return;let a=0;for(let c of t.one_of)if(Kt(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 Ae(e,t,n){if(!e.value_schema||t===void 0)return t;let r=Kt(t,e.value_schema,n);if(r)throw new x(r,k.USAGE);return t}function ut(e,t,n){let r=n??`--${e.cli_flag}`;if(e.type==="array"||e.type==="object"){let i=Array.isArray(t)?t[t.length-1]:t;return i===void 0?void 0:Ae(e,Rc(i,r,e.type),r)}if(e.repeatable||e.type==="string_array"){let i=wi(t);return e.type==="number"?Ae(e,i.map(s=>gi(s,r)),r):e.type==="boolean"?Ae(e,i.map(s=>hi(s,r)),r):Ae(e,i,r)}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?Ae(e,gi(o,r),r):e.type==="boolean"?Ae(e,hi(o,r),r):Ae(e,typeof o=="string"?o:String(o),r)}function Pc(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 rp(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=bi(e,i);if(s===void 0){Pc(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=ut(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function op(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=bi(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=ut(s,a)))}return r}import{decode as jc}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 _r(e){return{value:jc(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 Fc=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function $c(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(Fc);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function Jt(e){return $c(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]="65a90a42-eecb-57d3-9f78-3a5f1bc3abd3")}catch{}})();var gr=new Set(["schema","tracker","auto"]),Si=new Set(["source","isolated","snapshot"]),Hc=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),Uc=new Set(["passed","failed","stopped","canceled"]),Wc=new Set(vo);function We(e){return e.replaceAll("\\","/")}function Ii(e){for(let t of e)if(t!==0)return t;return 0}function Qt(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var xi=["id","title","description","created_at","updated_at"],Vc=new Set(de);function Ci(e){if(e?.schema)return{statusRegistry:Uo(e.schema),fieldRegistry:Vo(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function Bc(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function me(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new x(`Invalid item metadata: ${e}`,k.GENERIC_FAILURE,{code:"item_document_invalid",reason:e.includes("required")?"missing_required_field":"schema_validation_error",...t?{field:t}:{},required:"Provide an item document whose metadata satisfies the active runtime schema.",why:e})}function _t(e,t){throw new x(t,k.GENERIC_FAILURE,{code:"item_document_invalid",reason:"syntax_error",format:e,required:`Provide a syntactically valid ${e==="toon"?"TOON":"JSON Markdown"} item document.`,why:"The document could not be decoded far enough to validate item metadata."})}function Ti(e){let t=new Set(Vc);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function E(e,t){e||me(t)}function pt(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&me(t),e}function pr(e,t){let n=e[t];E(typeof n=="string",`${t} must be a string`),E(te(n),`${t} must be a valid ISO timestamp`)}function vi(e,t,n){let r=e[t];r!==void 0&&E(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function br(e,t,n){let r=e[t];r!==void 0&&(E(typeof r=="string",`${n} must be a string`),E(te(r),`${n} must be a valid ISO timestamp`))}function qc(e){if(e!==void 0){E(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){E(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();E(Pt.includes(n),`event.recurrence.by_weekday entries must be one of: ${Pt.join(", ")}`)}}}function Gc(e){if(e!==void 0){E(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)E(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function Xc(e){if(e!==void 0){E(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)E(typeof t=="string","event.recurrence.exdates entries must be strings"),E(te(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function Kc(e){let t=pt(e,"event.recurrence must be an object");E(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();E(Lt.includes(n),`event.recurrence.freq must be one of: ${Lt.join(", ")}`),vi(t,"interval","event.recurrence.interval"),vi(t,"count","event.recurrence.count"),br(t,"until","event.recurrence.until"),qc(t.by_weekday),Gc(t.by_month_day),Xc(t.exdates)}function Jc(e){for(let r of xi)E(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;E(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&E(typeof n=="number"&&Number.isInteger(n)&&n>=ze,`pm_format_version must be an integer >= ${ze}`),t}function Yc(e,t){let n=e.status;E(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=Xt(n,r),i=r?r.definitions.map(s=>s.id):[...Nt];E(o!==void 0,`status must be one of: ${i.join(", ")}`)}function Qc(e){let t=e.priority;E(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;E(Array.isArray(n),"tags must be an array");for(let r of n)E(typeof r=="string","tags entries must be strings")}function Zc(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){E(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"||Mt.includes(n);E(r,`confidence string value must be one of: ${[...Mt,"med"].join(", ")}`);return}E(!1,"confidence must be a number or string")}}function ed(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&me("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||Dt.includes(n);E(r,`severity value must be one of: ${[...Dt,"med"].join(", ")}`)}function td(e){e.regression!==void 0&&typeof e.regression!="boolean"&&me("regression must be a boolean")}function nd(e){let t=e.reminders;if(t!==void 0){E(Array.isArray(t),"reminders must be an array");for(let n of t){let r=pt(n,"reminders entries must be objects");E(typeof r.at=="string","reminder.at must be a string"),E(te(r.at),"reminder.at must be a valid ISO timestamp"),E(typeof r.text=="string","reminder.text must be a string"),E(r.text.trim().length>0,"reminder.text must not be empty")}}}function rd(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(E(typeof e[t]=="string",`event.${t} must be a string`),E(e[t].trim().length>0,`event.${t} must not be empty`))}function od(e){e.recurrence!==void 0&&(Kc(e.recurrence),e.recurrence.until!==void 0&&E(H(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function id(e){let t=pt(e,"events entries must be objects");E(typeof t.start_at=="string","event.start_at must be a string"),E(te(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(E(typeof t.end_at=="string","event.end_at must be a string"),E(te(t.end_at),"event.end_at must be a valid ISO timestamp"),E(H(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),rd(t),t.all_day!==void 0&&E(typeof t.all_day=="boolean","event.all_day must be a boolean"),od(t)}function sd(e){let t=e.events;if(t!==void 0){E(Array.isArray(t),"events must be an array");for(let n of t)id(n)}}function ad(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&E(typeof n=="string",`${t} must be a string`)}}function cd(e){let t=e.type_options;if(t===void 0)return;let n=pt(t,"type_options must be an object");for(let[r,o]of Object.entries(n))E(r.trim().length>0,"type_options keys must be non-empty"),E(typeof o=="string","type_options values must be strings"),E(o.trim().length>0,"type_options values must be non-empty strings")}function dd(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){Bc(r,t)&&me(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=ut(r,o,`metadata field "${r.metadata_key}"`)}catch(i){me(String(i?.message).replace(/^Invalid\s+/u,""))}}}function ld(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Ti(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?me(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function wr(e,t){let n=pt(e,"item metadata must be an object"),r=Jc(n);Yc(n,t),Qc(n),Zc(n),ed(n),td(n),pr(n,"created_at"),pr(n,"updated_at"),n.deadline!==void 0&&pr(n,"deadline"),nd(n),sd(n),br(n,"closed_at","closed_at"),br(n,"completed_at","completed_at"),ad(n),cd(n),dd(n,r,t),ld(n,t)}function ud(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=H(t.created_at,n.created_at);if(r!==0)return r;let o=t.id.localeCompare(n.id);if(o!==0)return o;let i=t.kind.localeCompare(n.kind);return i!==0?i:(t.source_kind??"").localeCompare(n.source_kind??"")})}function yr(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=H(t.created_at,n.created_at);if(r!==0)return r;let o=t.text.localeCompare(n.text);return o!==0?o:t.author.localeCompare(n.author)})}function fd(e){if(!e||e.length===0)return;let t=[...e].map(n=>({at:n.at,text:n.text.trim()})).filter(n=>n.text.length>0).sort((n,r)=>{let o=H(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function md(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!Lt.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>Pt.includes(s)))).sort((s,a)=>Hn(s)-Hn(a)),r=Array.from(new Set((e.by_month_day??[]).filter(s=>Number.isInteger(s)&&s>=1&&s<=31).map(s=>s))).sort((s,a)=>s-a),o=Array.from(new Set((e.exdates??[]).map(s=>s.trim()).filter(s=>te(s)))).sort((s,a)=>H(s,a)),i={freq:t,interval:e.interval!==void 0&&e.interval>1?e.interval:void 0,count:e.count,until:e.until?.trim()||void 0,by_weekday:n.length>0?n:void 0,by_month_day:r.length>0?r:void 0,exdates:o.length>0?o:void 0};for(let[s,a]of Object.entries(i))a===void 0&&delete i[s];return i}function _d(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(pd).sort(yd)}function pd(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:md(e.recurrence)};return Qt(t),t}function yd(e,t){return Ii([H(e.start_at,t.start_at),(e.end_at??"").localeCompare(t.end_at??""),(e.title??"").localeCompare(t.title??""),+!!e.all_day-+!!t.all_day,(e.timezone??"").localeCompare(t.timezone??""),(e.location??"").localeCompare(t.location??""),(e.description??"").localeCompare(t.description??""),JSON.stringify(e.recurrence??{}).localeCompare(JSON.stringify(t.recurrence??{}))])}function hd(e){if(!(!e||e.length===0))return e.map(t=>({path:We(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function gd(e){if(!e||e.length===0)return;let t=e.map(vd).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)=>Ii([H(n.recorded_at,r.recorded_at),n.run_id.localeCompare(r.run_id),n.kind.localeCompare(r.kind)]));return t.length>0?t:void 0}function He(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function bd(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function hr(e){return typeof e=="string"?e:""}function wd(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 Yt(e,t){return typeof e=="string"&&t.has(e)?e:void 0}function Ed(e){if(!Array.isArray(e))return;let t=e.filter(n=>n&&typeof n.command=="string"&&n.command.trim().length>0).slice(0,32).map(n=>({command:n.command.trim(),requested_pm_context_mode:Yt(n.requested_pm_context_mode,gr),pm_context_mode:Yt(n.pm_context_mode,gr),workspace_context_mode:Yt(n.workspace_context_mode,Si),trust_reason:Yt(n.trust_reason,Hc)}));return t.length>0?t:void 0}function vd(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=Uc.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:hr(e.started_at),finished_at:hr(e.finished_at),recorded_at:hr(e.recorded_at),attempt:bd(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:He(e.passed)??0,failed:He(e.failed)??0,skipped:He(e.skipped)??0,items:He(e.items),linked_tests:He(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:wd(e.measurements),executions:Ed(e.executions)};return Qt(o),o}function kd(e){if(!(!Array.isArray(e)||e.length===0))return e.map(Td)}function ft(e){if(!Array.isArray(e))return;let t=[...new Set(e.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length>0?t:void 0}function vr(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function kr(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function ki(e){if(!vr(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!kr(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Sd(e){if(!vr(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!kr(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Id(e){let t=e?.trim().toLowerCase();if(!(!t||!gr.has(t)))return t}function xd(e){let t=e?.trim().toLowerCase();if(!(!t||!Si.has(t)))return t}function Cd(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!vr(e))return{provenance_invalid:!0};let n=g(e.author),r=g(e.created_at),o=e.source_kind;return!n||!r||!te(r)||o!=="local_mutation"&&o!=="merge_union"?{provenance_invalid:!0}:{provenance:{author:n,created_at:r,source_kind:o,source_ref:g(e.source_ref)}}}function Td(e){let t={command:e.command?.trim()||void 0,path:e.path?We(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:Id(e.pm_context_mode),workspace_context_mode:xd(e.workspace_context_mode),...Cd(e.provenance,e.provenance_invalid),env_set:ki(e.env_set),env_clear:ft(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:ft(e.assert_stdout_contains),assert_stdout_regex:ft(e.assert_stdout_regex),assert_stderr_contains:ft(e.assert_stderr_contains),assert_stderr_regex:ft(e.assert_stderr_regex),assert_stdout_min_lines:He(e.assert_stdout_min_lines),assert_json_field_equals:ki(e.assert_json_field_equals),assert_json_field_gte:Sd(e.assert_json_field_gte),note:e.note?.trim()||void 0};return Qt(t),t}function Od(e){if(!(!e||e.length===0))return[...e].map(t=>({path:We(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 g(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Ad(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.id),i=g(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=g(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 Rd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.path);if(!o)continue;let i={path:We(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=g(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Nd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.command),i=g(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=We(i));let a=g(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function Dd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.path);if(!o)continue;let i={path:We(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=g(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Md(e){if(e===null||typeof e!="object")return;let t=e,n=g(t.id),r=g(t.title),o=g(t.status),i=o&&Wc.has(o)?o:void 0,s=Ao(t.order)??Number.NaN,a=typeof t.created_at=="string"?t.created_at:"",c=typeof t.updated_at=="string"?t.updated_at:"";if(!n||!r||!i||!Number.isFinite(s)||!a||!c)return;let d={id:n,order:s,title:r,status:i,created_at:a,updated_at:c};return Ld(d,t),d}function Ld(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=g(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",Ad],["files","files",Rd],["tests","tests",Nd],["docs","docs",Dd]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function Pd(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=Md(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function jd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=g(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=g(r.rationale);c&&(a.rationale=c);let d=g(r.evidence);d&&(a.evidence=d);let u=g(r.step_id);u&&(a.step_id=u),t.push(a)}return t.length>0?t:void 0}function Fd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=g(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=g(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function $d(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.text);if(!o)continue;let i={text:o},s=g(r.command);s&&(i.command=s);let a=g(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function zd(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 Ue(e){let t=0;for(;t<e.length&&e[t]===`
@@ -153,4 +153,4 @@ ${a.join(`
153
153
  `,"utf8")}catch{return await Wr(e),null}return t}async function Cu(e){let t;try{let r=await ae.stat(e);if(t=Date.now()-r.mtimeMs,t<=bu)return!1}catch(r){return Se(r)}let n=await Is(e);return n!==null&&xu(n.pid)&&t<=wu?!1:Wr(e)}async function Tu(e,t){let n=`${e}${gu}`,r=await gs(n);if(r!==null)return async()=>hs(n,r.token);if(!await Cu(n))return null;let o=await gs(n);return o===null?null:async()=>hs(n,o.token)}async function Ou(e){let t=await Tu(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await bs(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!vs(n.info,e.ttlSeconds))return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(Su(e.id,n,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=hu)throw Ss(e.id,n.info,Date.now()-e.startedAtMs);return{lockInfo:n,shouldRetryCreate:await Es(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function ce(e,t,n,r,o=!1,i=!0,s){let a=await re("lock_acquire",{pm_root:e,id:t,ttl_seconds:n,owner:r,force:o,force_required_for_stale_lock:i});if(a.handled){let y=ku(a.result);if(y)return async()=>{await Promise.resolve(y()),await re("lock_release",{pm_root:e,id:t,owner:r})}}let c=Co(e,t),d=Eu(s),u=Date.now(),f=0,m=_u;for(;;)try{return await fu(c,t,r,n),async()=>{await Es(c,"lock:release"),await re("lock_release",{pm_root:e,id:t,owner:r})}}catch(y){if(!Ur(y,"EEXIST"))throw new x(`Failed to acquire lock for ${t}: ${Oo(y)}`,k.GENERIC_FAILURE);let p=await bs(c);if(vs(p.info,n)){let v=await Ou({lockPath:c,id:t,ttlSeconds:n,force:o,forceRequiredForStaleLock:i,staleRemovals:f,waitBudgetMs:d,startedAtMs:u,fallbackLockInfo:p});if(p=v.lockInfo,v.staleRemovalCounted&&(f+=1),v.shouldRetryCreate)continue}let b=Date.now()-u;if(d===0||b>=d)throw Ss(t,p.info,d===0?0:b);await vu(Math.min(m,d-b)),m=Math.min(m*2,pu)}}(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 Z=8,Rs=500,Ru="metadata-derived-index",Nu="metadata-cache.json",Du="metadata-cache-bodies.json",Mu="metadata-cache-collections.json",Lu="metadata-cache-delta.json",Pu="metadata-cache-manifest.json",xs=4,ju=["comments","notes","learnings","files","tests","test_runs","docs"];function Ns(){return jt(Re())}function kn(e){let t={...e},n={};for(let r of ju)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Ds(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Ms(e,t,n,r){let o=Au("sha256");o.update(`format:${e??"default"}`);let i=Object.entries(t).sort(([s],[a])=>s.localeCompare(a)).map(([s,a])=>`${s}=${a}`).join(",");return o.update(`|types:${i}`),n&&o.update(`|schema:${JSON.stringify(n)}`),r.length>0&&o.update(`|extension_fields:${r.join(",")}`),o.digest("hex").slice(0,16)}function Sn(e){return R.join(e,"runtime",Nu)}function In(e){return R.join(e,"runtime",Du)}function xn(e){return R.join(e,"runtime",Mu)}function Br(e){return R.join(e,"runtime",Lu)}function qr(e){return R.join(e,"runtime",Pu)}function Cn(e,t){let n=R.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Fu=24,q=new Map,Tn=new WeakMap;function Gr(e){return Tn.get(e)??e.source_cursor}function $u(e,t){let n=Gr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Tn.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=Gr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Tn.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 Hu(e,t){if(!e)return;let n=Gr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Tn.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 Uu(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||($u(e,r),zu(t,r),Hu(n,r))}function Vr(e,t){q.size>=Fu&&!q.has(e)&&$t(q),q.set(e,t)}async function ye(e,t){let n;try{n=await z.stat(e)}catch{return q.delete(e),null}let r=q.get(e);if(r&&Et(r.signature,n.mtimeMs,n.ctimeMs,n.size))return q.delete(e),q.set(e,r),r.envelope;let o;try{o=t(await z.readFile(e,"utf8"))}catch{o=null}return Vr(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Wu(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==Z||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=Sn(e),i=await ye(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await ye(Cn(o,t),r);return s===null&&St(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Vu(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==Z||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=In(e),o=await ye(r,n);return t&&o?.context_fingerprint!==t?await ye(Cn(r,t),n):o}async function Bu(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==Z||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=xn(e),o=await ye(r,n);return t&&o?.context_fingerprint!==t?await ye(Cn(r,t),n):o}async function Xr(e){let t=Br(e),n=await ye(t,r=>{let o=JSON.parse(r);return o.version!==Z||typeof o.base_source_cursor!="string"||typeof o.source_cursor!="string"||typeof o.changes!="object"||o.changes===null?null:o});if(n)return{envelope:n,invalid:!1};try{return await z.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function Kr(e){let t=qr(e),n=await ye(t,r=>{let o=JSON.parse(r);return o.version!==Z||typeof o.context_fingerprint!="string"||typeof o.source_cursor!="string"||!Number.isInteger(o.entry_count)||o.entry_count<0||typeof o.directory_signatures!="object"||o.directory_signatures===null?null:o});if(n)return n;try{await z.stat(t),await Ye(e)}catch{}return null}async function vt(e,t){await z.mkdir(R.dirname(e),{recursive:!0}),await W(e,JSON.stringify(t));try{let r=await z.stat(e);Vr(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{q.delete(e)}let n=R.dirname(R.dirname(e));if(e===Sn(n)||e===In(n)||e===xn(n)){let r=Cn(e,t.context_fingerprint);await W(r,JSON.stringify(t));try{let c=await z.stat(r);Vr(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{q.delete(r)}let o=R.dirname(e),i=R.extname(e),s=R.basename(e,i),a=(await z.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>xs){let c=(await Promise.all(a.map(async d=>{try{return{path:d,mtime:(await z.stat(d)).mtimeMs}}catch{return null}}))).filter(d=>d!==null);for(let d of c.sort((u,f)=>u.mtime-f.mtime).slice(0,Math.max(0,c.length-xs)))await z.rm(d.path,{force:!0}),q.delete(d.path)}}}function qu(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function Ls(e,t,n){return e===void 0||qu(e,t,n)}function St(e,t){e&&!e.includes(t)&&e.push(t)}function Et(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Gu(e,t,n){let r=R.join(e,t);try{let o=await z.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!Se(o)&&St(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function Xu(e,t){try{let n=await z.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 vn(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await Xu(e,n))))}function kt(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&&Et(o,r.mtime_ms,r.ctime_ms,r.size)})}function Ku(e){return Ft.some(t=>e.toLowerCase().endsWith(t))}function Ju(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function Yu(e,t,n){if(n)for(let r of await Q({path:e,scope:"project"}))St(t,r)}function Cs(e,t,n,r){if(e)return t&&n?n.collections:r}async function Qu(e,t,n){let r=await z.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=Wn(e);await Yu(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],d=!n.forceSourceRead&&c!==void 0&&Et(c,o,i,s),u=n.previousBodies[t],f=!n.forceSourceRead&&u!==void 0&&Et(u,o,i,s),m=n.previousCollections[t],y=!n.forceSourceRead&&m!==void 0&&Et(m,o,i,s);if(!(!d||n.includeBody&&!f||n.includeCollections&&!y))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:Cs(n.includeCollections,y,m,void 0),bodyLength:c.body_length,body:n.includeBody?u.body:void 0};let b=await z.readFile(e,"utf8"),v=en(b,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:D=>St(n.warnings,D)}),O=kn(v.metadata);return Ju(n.state.misses,n.includeBody,n.includeCollections,d,f,y),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d?c.metadata:O.light,heavyMetadata:Cs(n.includeCollections,y,m,O.heavy),bodyLength:d?c.body_length:v.body.length,body:n.includeBody?v.body:void 0}}function Zu(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?Ds(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};Ls(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function ef(e,t,n,r){try{let o=await Qu(t,n,r);Zu(t,n,r,o)}catch{St(r.warnings,`item_list_item_read_failed:${e}/${R.basename(t)}`)}}function tf(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function nf(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function rf(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function of(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}function sf(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!Ku(s))continue;let a=R.join(o,s),c=R.relative(t.pmRoot,a);n.push(ef(r,a,c,t))}return n}async function af(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!kt(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await vt(Sn(e.pmRoot),{version:Z,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await vt(qr(e.pmRoot),{version:Z,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:kn(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await _s({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await En(e.pmRoot)}catch{}}async function cf(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 vt(In(e.pmRoot),{version:Z,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function df(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 vt(xn(e.pmRoot),{version:Z,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Jr(e,t,n={}){let r=await Kr(e);return n.required!==!0&&(r===null||r.entry_count<Rs)?async()=>{}:ce(e,Ru,30,t,!1,!1,3e3)}async function Qh(e,t){let n=await Kr(e);if(n===null)return null;let r=await Xr(e);if(r.invalid)return await Ye(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&&!kt(i,await vn(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function Ts(e,t){let n=R.relative(e,t);return n===""||n===".."||n.startsWith(`..${R.sep}`)||R.isAbsolute(n)?null:n}async function Ye(e){await Promise.all([Sn(e),In(e),xn(e),Br(e),qr(e)].map(async t=>{await z.rm(t,{force:!0}),q.delete(t)})),await En(e)}async function lf(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await z.stat(e.mutation.itemPath),n=kn(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 uf(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function Yr(e){let t=Ts(e.pmRoot,e.itemPath),n=e.previousItemPath?Ts(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await Ye(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Ms(e.preferredFormat,e.typeToFolder,e.schema,Ns()),o=await Kr(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Xr(e.pmRoot);if(s.invalid)return await Ye(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=uf(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 lf({mutation:e});let d=As();return await vt(Br(e.pmRoot),{version:Z,context_fingerprint:r,base_source_cursor:i,source_cursor:d,directory_signatures:await vn(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await ps({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:d,row:e.document===null?null:{relativePath:t,metadata:kn(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await En(e.pmRoot),[]}catch{return await Ye(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function ff(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Os(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function mf(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function _f(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=Wn(n);if(!o)continue;let i=e.includeCollections?Ds(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Ls(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 pf(e){return e.forceSourceScan||Cr()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!kt(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Os(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Os(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&mf(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function On(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=Ns(),d=Ms(t,n,o,c),u=await Xr(e);u.invalid&&await Ye(e);let f=await Wu(e,d,i.cacheDiagnostics),m=s?await Vu(e,d):null,y=a?await Bu(e,d):null;Uu(f,m,y,u.envelope);let p=tf(f,d),b=nf(m,d),v=rf(y,d),O=[...new Set(Object.values(n))],D=await vn(e,O),P=Object.keys(p),j=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Rs));if(pf({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:d,existingCache:f,existingBodyCache:m,existingCollectionsCache:y,directorySignatures:D,entryKeys:P,minimumIndexedItems:j,includeBody:s,includeCollections:a,previousBodies:b,previousCollections:v}))return _f({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:p,previousBodies:b,previousCollections:v});let J=await Promise.all(O.map(Ta=>Gu(e,Ta,r))),ve=Cr(),U=of(),$n={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:ve,previousEntries:p,previousBodies:b,previousCollections:v,state:U};await Promise.all(sf(J,$n));let Ot=await vn(e,O),At=kt(D,Ot)?Ot:{},zn=U.misses.metadata||Object.keys(p).length!==Object.keys(U.newEntries).length||!kt(f?.directory_signatures,At)||f===null?As():f.source_cursor;return await af({pmRoot:e,contextFingerprint:d,sourceCursor:zn,existingCache:f,previousEntries:p,directorySignatures:At,state:U,minimumIndexedItems:j}),s&&await cf({pmRoot:e,contextFingerprint:d,sourceCursor:zn,existingBodyCache:m,previousBodies:b,state:U}),a&&await df({pmRoot:e,contextFingerprint:d,sourceCursor:zn,existingCollectionsCache:y,previousCollections:v,state:U}),ff(U)}async function Ps(e,t,n,r,o){return(await On(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function js(e,t,n,r,o){return(await On(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d49d73c9-f988-5c3c-a22d-0580ee5526f6")}catch{}})();function he(){let e=Ro();for(let t of Re()?.relationship_kinds??[])for(let n of t.definitions)e.register(n);return e}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="924f7718-0527-5967-8ab0-53e8228bd665")}catch{}})();function It(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function An(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function yf(e,t){let n=new Set,r=[];for(let o of[...e].sort()){if(n.has(o))continue;n.add(o);let i=[{nodeId:o,children:[...t.get(o)??[]].sort(),nextChild:0}];for(;i.length>0;){let s=i.at(-1),a=s.children[s.nextChild];a===void 0?(r.push(s.nodeId),i.pop()):(s.nextChild+=1,n.has(a)||(n.add(a),i.push({nodeId:a,children:[...t.get(a)??[]].sort(),nextChild:0})))}}return r}function hf(e,t){let n=[...e].sort(),r=yf(n,t),o=new Set,i=gf(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=bf(a,i,o);(c.length>1||t.get(c[0])?.has(c[0]))&&s.push(c)}return s.sort((a,c)=>a.join("\0").localeCompare(c.join("\0")))}function gf(e,t){let n=new Map(e.map(r=>[r,new Set]));for(let[r,o]of t)for(let i of o)n.get(i)?.add(r);return n}function bf(e,t,n){let r=[],o=[e];for(n.add(e);o.length>0;){let i=o.pop();r.push(i);for(let s of[...t.get(i)].sort())n.has(s)||(n.add(s),o.push(s))}return r.sort()}function Fs(e){let t=new Map;for(let n of e){let r=It(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function wf(e,t,n){let r=It(t.parent);if(!(!r||!n.has(r)))return{parent_id:r,child_id:e,source:"scalar_parent",kind:"parent",holder_id:e,child_cardinality:"one"}}function Ef(e,t,n,r){let o=It(t?.id),i=r.resolve(t?.kind);if(!o||!n.has(o)||!i?.hierarchy)return;let s=i.hierarchyDirection==="source_parent";return{parent_id:s?e:o,child_id:s?o:e,source:"dependency",kind:i.kind,holder_id:e,target_id:o,child_cardinality:s?i.incoming:i.outgoing}}function $s(e,t){let n=new Map;for(let[r,o]of e){let i=wf(r,o,e);i&&n.set(An(i),i);for(let s of o.dependencies??[]){let a=Ef(r,s,e,t);a&&n.set(An(a),a)}}return[...n.values()].sort((r,o)=>An(r).localeCompare(An(o)))}function sg(e,t=he()){return $s(Fs(e),t)}function vf(e,t,n){let r=new Set(e.filter(o=>o.child_cardinality==="one").map(o=>o.child_id));return[...t].filter(([o,i])=>i.length>1&&r.has(o)).map(([o,i])=>({child_id:o,parent_ids:[...i],legacy_terminal:n.has(o)&&i.every(s=>n.has(s))})).sort((o,i)=>o.child_id.localeCompare(i.child_id))}function kf(e,t,n){let r=new Map;for(let i of t){if(i.source!=="dependency")continue;let s=r.get(i.child_id)??new Set;s.add(i.parent_id),r.set(i.child_id,s)}let o=[];for(let[i,s]of e){let a=It(s.parent);if(!a||!e.has(a))continue;let c=[...r.get(i)??[]].filter(d=>d!==a).sort();c.length!==0&&o.push({child_id:i,scalar_parent_id:a,dependency_parent_ids:c,legacy_terminal:n.has(i)&&n.has(a)&&c.every(d=>n.has(d))})}return o.sort((i,s)=>i.child_id.localeCompare(s.child_id))}function Rn(e,t=r=>r==="closed"||r==="canceled",n=he()){let r=Fs(e),o=$s(r,n),i=Sf(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=hf([...r.keys()],new Map([...i.children_by_parent].map(([c,d])=>[c,new Set(d)]))).map(c=>({item_ids:c,legacy_terminal:c.every(d=>s.has(d))}));return{relations:o,cycles:a,cardinality_violations:vf(o,i.parents_by_child,s),divergences:kf(r,o,s)}}function ag(e){return e.source==="scalar_parent"?`${e.parent_id} -> ${e.child_id} (scalar parent on ${e.holder_id})`:`${e.parent_id} -> ${e.child_id} (${e.kind} dependency on ${e.holder_id})`}function Sf(e){let t=new Map,n=new Map;for(let r of e){let o=t.get(r.child_id)??new Set;o.add(r.parent_id),t.set(r.child_id,o);let i=n.get(r.parent_id)??new Set;i.add(r.child_id),n.set(r.parent_id,i)}return{parents_by_child:new Map([...t].map(([r,o])=>[r,[...o].sort()])),children_by_parent:new Map([...n].map(([r,o])=>[r,[...o].sort()]))}}function Qr(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function cg(e,t,n,r,o){let i=It(n);if(!i)return;let s=Rn(e,r,o),a=Rn(t,r,o),c=a.divergences.find(f=>!s.divergences.some(m=>m.child_id===f.child_id&&m.scalar_parent_id===f.scalar_parent_id&&Qr(f.dependency_parent_ids,m.dependency_parent_ids)));if(c){let f=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new x(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${f.join(", ")}.`,k.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:i,target_id:c.child_id,verification_errors:f})}let d=a.cardinality_violations.find(f=>(f.child_id===i||f.parent_ids.includes(i))&&!s.cardinality_violations.some(m=>m.child_id===f.child_id&&Qr(f.parent_ids,m.parent_ids)));if(d)throw new x(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,k.CONFLICT,{code:"hierarchy_cardinality_created",source_id:i,target_id:d.child_id,verification_errors:d.parent_ids});let u=a.cycles.find(f=>f.item_ids.includes(i)&&!s.cycles.some(m=>Qr(f.item_ids,m.item_ids)));if(u)throw new x(`Hierarchy mutation would create a cycle: ${u.item_ids.join(" -> ")}.`,k.CONFLICT,{code:"hierarchy_cycle_created",source_id:i,verification_errors:u.item_ids})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1b2f1ac3-82b3-58a2-9f40-2dd95ab1b2bc")}catch{}})();var zs="global",If="external";function Qe(e){let t=e?.trim().toLowerCase();return t===zs||t===If}function ug(e){let t=e?.trim();if(t)return Qe(t)?zs:t}function fg(e,t,n){let r=e.trim();return Qe(n)?r:gt(r,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9a6974b3-63d7-5dc7-8329-0f15f0dc83ec")}catch{}})();function et(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function Zr(e){let t=et(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function Ze(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function xf(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,o=et(r.id);if(!o)continue;let i=typeof r.kind=="string"?r.kind:"related",s=`${i}\0${o.toLowerCase()}`,a=t.get(s);a?a.count+=1:t.set(s,{target_id:o,kind:i,count:1})}return t}function Cf(e,t=n=>n==="closed"||n==="canceled"){let n=[];for(let r of e)if(!(typeof r?.id!="string"||r.id.trim().length===0))for(let o of xf(r).values())o.count<2||n.push({holder_id:r.id.trim(),target_id:o.target_id,kind:o.kind,occurrences:o.count,holder_status:r.status,legacy_terminal:t(r.status)});return n.sort((r,o)=>{let i=Ze(r.holder_id,o.holder_id);if(i!==0)return i;let s=Ze(r.target_id,o.target_id);return s!==0?s:Ze(r.kind,o.kind)})}function Tf(e,t,n,r,o){if(typeof n!="object"||n===null)return;let i=et(n.id);if(!i||i.toLowerCase()!==t.toLowerCase())return;let s=o.resolve(typeof n.kind=="string"?n.kind:"related");if(!(s?.ordering!==!0||(s.precedence??"source_before_target")!=="source_before_target"))return{holder_id:e.id.trim(),target_id:i,dependency_kind:s.kind,holder_status:e.status,legacy_terminal:r(e.status)}}function Of(e,t=r=>r==="closed"||r==="canceled",n=he()){let r=new Map;for(let o of e){if(typeof o?.id!="string"||o.id.trim().length===0)continue;let i=et(o.blocked_by);if(i)for(let s of o.dependencies??[]){let a=Tf(o,i,s,t,n);a&&r.set(`${a.holder_id.toLowerCase()}\0${a.target_id.toLowerCase()}\0${a.dependency_kind}`,a)}}return[...r.values()].sort((o,i)=>{let s=Ze(o.holder_id,i.holder_id);if(s!==0)return s;let a=Ze(o.target_id,i.target_id);return a!==0?a:Ze(o.dependency_kind,i.dependency_kind)})}function Af(e,t=n=>n==="closed"||n==="canceled"){let n=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),r=new Set(n.map(c=>c.id.trim().toLowerCase())),o=new Map,i=(c,d,u,f)=>{let m=et(d);if(!m||r.has(m.toLowerCase()))return;let y={holder_id:c.id.trim(),target_id:m,kind:u,source:f,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:m.toLowerCase()==="no-active-blocker"};o.set(`${y.holder_id}::${y.target_id}::${y.kind}::${y.source}`,y)};for(let c of n){i(c,c.parent,"parent","parent"),i(c,c.blocked_by,"blocked_by","blocked_by");for(let d of c.dependencies??[]){if(typeof d!="object"||d===null)continue;let u=d;Qe(u.source_kind)||i(c,u.id,typeof u.kind=="string"?u.kind:"related","dependency")}}let s=[...o.values()].sort((c,d)=>c.holder_id.localeCompare(d.holder_id)||c.target_id.localeCompare(d.target_id)||c.kind.localeCompare(d.kind)||c.source.localeCompare(d.source)),a=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:a,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}function Rf(e){let t=new Map;for(let n of[...e.active,...e.legacy_terminal]){if(n.no_active_blocker_sentinel)continue;let r=n.target_id.trim(),o=r.toLowerCase();t.has(o)||t.set(o,r)}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function Nf(e){let t=new Map;for(let n of e)for(let r of n.dependencies??[]){if(typeof r!="object"||r===null||!Qe(r.source_kind))continue;let o=et(r.id);o&&!t.has(o.toLowerCase())&&t.set(o.toLowerCase(),o)}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var Hs=new WeakMap;function gg(e){return e.hierarchyIntegrity??Hs.get(e)}function Df(e,t=he()){let n={};for(let r of e)for(let o of r.dependencies??[]){if(typeof o!="object"||o===null)continue;let i=o.kind;if(typeof i!="string")continue;let s=i.trim().toLowerCase().replaceAll("-","_"),a=t.resolve(i);a&&s!==a.kind&&(n[s]=(n[s]??0)+1)}return Object.fromEntries(Object.entries(n).sort(([r],[o])=>r.localeCompare(o)))}function bg(e,t,n){let r=n??he(),o=e.filter(p=>typeof p?.id=="string"&&p.id.trim().length>0),i=new Map(o.map(p=>[p.id.trim().toLowerCase(),p.id.trim()])),s=Af(o,t),a=Rf(s);for(let p of a)i.set(p.toLowerCase(),p);let c=Nf(o),d=new Set(i.keys()),u=new Map;for(let p of c){let b=p;for(;d.has(b.toLowerCase());)b=`external:${b}`;u.set(p.toLowerCase(),b),d.add(b.toLowerCase())}let f=o.map(p=>{let b=Zr(p.parent),v=Zr(p.blocked_by),O=(p.dependencies??[]).flatMap(D=>{if(typeof D!="object"||D===null)return[];let P=D,j=Zr(P.id);return j?[{id:Qe(P.source_kind)?u.get(j.toLowerCase()):i.get(j.toLowerCase()),kind:typeof P.kind=="string"?P.kind:"related"}]:[]});return{id:p.id.trim(),...b?{parent:i.get(b.toLowerCase())}:{},...v?{blocked_by:i.get(v.toLowerCase())}:{},dependencies:O}}),m=Rn(o,t,r),y={graph:No.fromItems([...f,...a.map(p=>({id:p})),...c.map(p=>({id:u.get(p.toLowerCase())}))],r),details:[...o.map(p=>({id:p.id.trim(),title:p.title,status:p.status,...typeof p.type=="string"&&p.type.trim().length>0?{type:p.type.trim()}:{}})),...a.map(p=>({id:p,title:`[missing] ${p}`,status:"missing"})),...c.map(p=>({id:u.get(p.toLowerCase()),title:`[external] ${p}`,status:"external"}))],missingIdSet:new Set(a.map(p=>p.toLowerCase())),dangling:s,duplicateRows:Cf(o,t),orderingContradictions:Of(o,t,r),legacyAliasCounts:Df(o,r),hierarchyIntegrity:m};return Hs.set(y,m),y}import Mf from"node:fs/promises";import tt from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9027d972-ce29-5511-ba81-27e17d97446e")}catch{}})();var xt="_workspace";function eo(e){return tt.join(e,"history",`${xt}.jsonl`)}function Lf(e,t){return{metadata:{id:xt,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 to(e,t=e.length){let n=mn();for(let r of e.slice(0,t))n=pn(n,r.patch).document;return _n(n)}function Us(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function no(e){throw new x(`Workspace history verification failed: ${e.join(", ")}`,k.CONFLICT,{code:"workspace_history_chain_invalid",reason:"workspace_history_chain_verification_failed",verification_errors:[...e],required:"Repair the _workspace history chain before reading, reconciling, restoring, or appending audited singleton state.",why:"Continuing against an unverifiable append-only stream could hide or compound workspace state corruption.",examples:["pm history _workspace --verify --json","pm validate --check-history-drift --fix-hints --json"],nextSteps:["Inspect the exact verification_errors and preserve the corrupt stream as evidence.","Use the history-drift remediation returned by validate before retrying the refused operation."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify --json"}})}function Pf(e,t){let n=tt.resolve(t),r=tt.relative(e,n).replaceAll("\\","/");if(r.length===0||r===".."||r.startsWith("../")||tt.isAbsolute(r))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:r,absolutePath:n}}async function Ng(e){let t=await Be(eo(e),xt),n=yn(t);n.ok||no(n.errors);let r=Us(t.length===0?Le:to(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let d;try{let u=Pf(e,tt.resolve(e,c));if(d=await le(u.absolutePath),d===null){s.push(c);continue}let f=JSON.parse(d);(L(f)===L(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 Ws(e){let t=eo(e.pmRoot),n=await Be(t,xt),r=yn(n);r.ok||no(r.errors);let o=e.idempotencyKey===void 0?void 0:n.find(f=>f.op===`${e.op}:${e.idempotencyKey}`);if(o)return{entry:o,historyPath:t};let i=new Date().toISOString(),s=n.length===0?Le:to(n),a=Us(s),c=a[e.documentPath];if(c!==void 0&&L(c)!==L(e.before))throw new x(`Workspace history state for "${e.documentPath}" changed outside the audited mutation path.`,k.CONFLICT,{code:"workspace_history_state_conflict",reason:"out_of_band_workspace_state",required:"Reconcile the singleton document with its matching _workspace history state before retrying the mutation.",why:"Accepting the write would make the append-only audit stream describe a state that was not actually observed.",examples:["pm history _workspace --verify","pm validate --check-history-drift --fix-hints"],nextSteps:["Review the version-control change that altered the singleton and preserve the intended document plus its matching workspace history.","Rerun the original mutation only after the on-disk singleton agrees with the latest audited workspace state."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify"}});let d=Lf({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),u=Xe({nowIso:i,author:e.author,op:e.idempotencyKey===void 0?e.op:`${e.op}:${e.idempotencyKey}`,before:s,after:d,message:e.message});return await Ke(t,u),{entry:u,historyPath:t}}async function Dg(e){let t=await ce(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Ws(e)}finally{await t()}}async function Mg(e){let t=await ce(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=eo(e.pmRoot),r=await Be(n,xt),o=yn(r);o.ok||no(o.errors);let i=r.length===0?Le:to(r),s=Xe({nowIso:new Date().toISOString(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await Ke(n,s),{entry:s,historyPath:n}}finally{await t()}}async function Vs(e,t){if(t===e.raw)return!1;let n=t===null?null:JSON.parse(t),r=JSON.parse(e.raw);await W(e.filePath,e.raw);try{(t!==null||e.recordCreation!==!1)&&await Ws({pmRoot:e.pmRoot,documentPath:tt.relative(e.pmRoot,e.filePath).replaceAll("\\","/"),before:n,after:r,op:e.op,author:e.author,lockTtlSeconds:e.lockTtlSeconds,lockWaitMs:e.lockWaitMs,message:e.message})}catch(o){throw t===null?await Mf.rm(e.filePath,{force:!0}):await W(e.filePath,t),o}return!0}async function Lg(e){let t=await ce(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=await le(e.filePath),r=await e.mutate(n);return{changed:await Vs({...e,raw:r.raw},n),result:r.result}}finally{await t()}}async function Bs(e){let t=await ce(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Vs(e,await le(e.filePath))}finally{await t()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0e135793-d2ed-505b-b73e-6db55218d8af")}catch{}})();var $={ok:!1},_=e=>typeof e=="string"?{ok:!0,value:e}:$,C=e=>typeof e=="boolean"?{ok:!0,value:e}:$;function A(e={}){return t=>typeof t!="number"||!Number.isFinite(t)||e.int&&(!Number.isInteger(t)||!Number.isSafeInteger(t))||e.positive&&t<=0||typeof e.min=="number"&&t<e.min||typeof e.max=="number"&&t>e.max?$:{ok:!0,value:t}}function T(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:$}function h(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return $;let r=[];for(let o of n){let i=e(o);if(!i.ok)return $;r.push(i.value)}return{ok:!0,value:r}}}function oo(e,t){return n=>typeof n=="string"&&n.length>0&&n.length<=e&&n===n.trim()&&(t===void 0||t.test(n))?{ok:!0,value:n}:$}function l(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function Nn(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return $;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return $;n[r]=i.value}return{ok:!0,value:n}}}function I(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return $;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return $;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var jf=I({key:_,values:h(_),required:l(C),aliases:l(h(_)),description:l(_)}),Ff=I({command:T("create","update"),option:_,required:l(C),visible:l(C),enabled:l(C)}),$f=I({name:_,description:l(_),default_status:l(_),folder:l(_),aliases:l(h(_)),required_create_fields:l(h(_)),required_create_repeatables:l(h(_)),options:l(h(jf)),command_option_policies:l(h(Ff))}),zf=I({id:_,aliases:l(h(_)),roles:l(h(T(...ho))),description:l(_),order:l(A())}),Hf=I({key:_,metadata_key:l(_),front_matter_key:l(_),cli_flag:l(_),cli_aliases:l(h(_)),description:l(_),type:l(T(...go)),commands:l(h(T(...bo))),repeatable:l(C),required:l(C),required_on_create:l(C),required_types:l(h(_)),allow_unset:l(C)}),Uf=e=>{if(!Array.isArray(e)||e.length!==2)return $;let[t,n]=e;return typeof t!="string"||typeof n!="string"?$:{ok:!0,value:[t,n]}},Wf=I({type:_,allowed_transitions:h(Uf)}),Vf=l(I({version:l(A({int:!0})),files:l(I({types:l(_),statuses:l(_),fields:l(_),workflows:l(_)})),statuses:l(h(zf)),fields:l(h(Hf)),workflow:l(I({draft_status:l(_),open_status:l(_),in_progress_status:l(_),blocked_status:l(_),close_status:l(_),canceled_status:l(_)})),type_workflows:l(h(Wf)),unknown_field_policy:l(T(...wo))})),Bf=l(I({preset:l(T(...Eo)),ownership_enforcement:l(T("none","warn","strict")),create_mode_default:l(T("progressive","strict")),close_validation_default:l(T("off","warn","strict")),require_close_reason:l(C),parent_reference:l(T("warn","strict_error")),metadata_profile:l(T("core","strict","custom")),force_required_for_stale_lock:l(C),create_default_type:l(_),workflow_enforcement:l(T("off","warn","strict")),duplicate_detection_mode:l(T("off","advisory","strict")),duplicate_detection_threshold:l(A({min:0,max:1})),duplicate_detection_limit:l(A({int:!0,min:0,max:20}))})),qf=I({name:_,disabled:l(C),require_trusted:l(C),require_provenance:l(C),sandbox_profile:l(T("none","restricted","strict")),allowed_capabilities:l(h(_)),blocked_capabilities:l(h(_)),allowed_surfaces:l(h(_)),blocked_surfaces:l(h(_)),allowed_commands:l(h(_)),blocked_commands:l(h(_)),allowed_actions:l(h(_)),blocked_actions:l(h(_)),allowed_services:l(h(_)),blocked_services:l(h(_))}),ro=T("block","warn"),Gf=e=>typeof e=="string"?ro(e):I({global:l(ro),project:l(ro)})(e),Xf=l(I({mode:l(T("off","warn","enforce")),trust_mode:l(T("off","warn","enforce")),pm_max_version_exceeded_mode:l(Gf),require_provenance:l(C),trusted_extensions:l(h(_)),default_sandbox_profile:l(T("none","restricted","strict")),allowed_extensions:l(h(_)),blocked_extensions:l(h(_)),allowed_capabilities:l(h(_)),blocked_capabilities:l(h(_)),allowed_surfaces:l(h(_)),blocked_surfaces:l(h(_)),allowed_commands:l(h(_)),blocked_commands:l(h(_)),allowed_actions:l(h(_)),blocked_actions:l(h(_)),allowed_services:l(h(_)),blocked_services:l(h(_)),extension_overrides:l(h(qf))})),Me=oo(128),Kf=I({harness:oo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:l(h(Me,64)),model_environment_keys:l(h(Me,64)),session_environment_keys:l(h(Me,64)),provenance_environment_keys:l(Nn(h(Me,64))),provenance_resolvers:l(Nn(T("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:l(h(Me,64)),argv_markers:l(h(Me,64)),client_names:l(h(Me,64))}),Jf=I({version:A({int:!0}),id_prefix:_,ids:l(I({token_length:l(A({int:!0,min:4,max:12}))})),author_default:_,agent_identity:l(I({probes_enabled:l(C),identity_vocabulary:l(I({version:A({int:!0,positive:!0}),aliases:Nn(oo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:h(Kf)})),mutation_guard:l(I({require_attributed_author:l(C),secret_guard:l(T("off","advise","block")),stale_in_progress_hours:l(A({int:!0,positive:!0}))})),item_format:l(T("toon","json_markdown")),locks:I({ttl_seconds:A({int:!0}),wait_ms:l(A({int:!0,min:0}))}),checkpoints:l(I({retention_days:l(A({int:!0,positive:!0}))})),output:I({default_format:T("toon","json")}),ux:l(I({deprecation_hints:l(C)})),history:l(I({missing_stream:T("auto_create","strict_error"),compact_policy:l(I({enabled:l(C),max_entries:l(A({int:!0,positive:!0})),trigger:l(T("health_warn","auto"))}))})),validation:l(I({sprint_release_format:T("warn","strict_error"),parent_reference:l(T("warn","strict_error")),metadata_profile:l(T("core","strict","custom")),metadata_required_fields:l(h(_)),lifecycle_stale_blocker_reason_patterns:l(h(_)),lifecycle_closure_like_blocked_reason_patterns:l(h(_)),lifecycle_closure_like_resolution_patterns:l(h(_)),lifecycle_closure_like_actual_result_patterns:l(h(_)),estimate_defaults_by_type:l(Nn(A({int:!0,positive:!0})))})),governance:Bf,workflow:l(I({definition_of_done:h(_)})),testing:l(I({record_results_to_items:C,allow_untrusted_linked_tests:l(C)})),telemetry:l(I({enabled:C,first_run_prompt_completed:l(C),capture_level:l(T("minimal","redacted","max")),endpoint:l(_),installation_id:l(_),retention_days:l(A({int:!0,positive:!0}))})),agent_guidance:l(I({prompt_completed:l(C),declined:l(C),declined_at:l(_),template_version:l(A({int:!0,positive:!0})),last_checked_files:l(h(_))})),item_types:l(I({definitions:h($f)})),schema:Vf,context:l(I({default_depth:l(T("brief","standard","deep")),activity_limit:l(A({int:!0,positive:!0})),stale_threshold_days:l(A({int:!0,positive:!0})),sections:l(I({hierarchy:l(C),activity:l(C),progress:l(C),recently_created:l(C),unparented:l(C),blockers:l(C),files:l(C),workload:l(C),staleness:l(C),tests:l(C)}))})),extensions:I({enabled:h(_),disabled:h(_),policy:Xf}),search:I({score_threshold:A(),hybrid_semantic_weight:l(A()),max_results:A({int:!0}),embedding_model:_,embedding_corpus_max_characters:l(A()),embedding_batch_size:A({int:!0}),embedding_timeout_ms:l(A({int:!0})),scanner_max_batch_retries:A({int:!0}),provider:l(_),corpus_fields:l(h(_)),mutation_refresh_policy:l(T("cache_only","semantic_configured","semantic_auto")),query_expansion:l(I({enabled:l(C),provider:l(_)})),rerank:l(I({enabled:l(C),model:l(_),top_k:l(A({int:!0,positive:!0}))})),bm25:l(I({k1:l(A()),b:l(A())}))}),providers:I({openai:I({base_url:_,api_key:_,model:_}),ollama:I({base_url:_,model:_})}),vector_store:I({adapter:l(_),collection_name:l(_),qdrant:I({url:_,api_key:_}),lancedb:I({path:_})})});function qs(e){let t=Jf(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 Yf={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},Gs=120;function io(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Ks(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var Qf=Ks(Yf),Xs=new WeakMap;function Zf(e){let t=Xs.get(e);if(t)return t;let n=Ks(e);return Xs.set(e,n),n}function $g(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return Gs;if(t){let o=Zf(t).get(n);if(io(o))return Math.floor(o)}let r=Qf.get(n);return io(r)?Math.floor(r):Gs}function so(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||!io(r)||(t[o]=Math.floor(r))}return t}import{stat as em}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 Dn=new Map;function Js(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function tm(e){try{let t=await em(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function ge(e){let t=Js(e),n=await Promise.all(t.map(r=>tm(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function Ct(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 Ys(e){return Dn.get(e)}function Mn(e,t){let n=Js(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));Dn.set(e,{tracked_paths:n,signatures:r,value:t.value})}function be(e){if(e){Dn.delete(e);return}Dn.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5b95183e-9fd3-55cf-9059-8736f692e96e")}catch{}})();var nm="settings:write",na=Symbol("pm.settings.persist_source"),rm=128,om=new Set(["off","advisory","strict"]);function Qs(e){return structuredClone(ko[e])}function im(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:w.governance.preset}function Zs(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 sm(e){return e.preset==="custom"?Zs({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):Zs({preset:e.preset},e)}function am(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),om.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 Pn(e){let t=e.governance??{},n=im(t.preset),r=am(t);if(n==="custom"){let s=Qs("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=Qs(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function ra(){return structuredClone(w)}function oa(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:w.search.mutation_refresh_policy}function ia(e){return typeof e=="boolean"?e:w.search.query_expansion.enabled}function sa(e){return typeof e!="string"?w.search.query_expansion.provider:e.trim()}function aa(e){return typeof e=="boolean"?e:w.search.rerank.enabled}function ca(e){return typeof e!="string"?w.search.rerank.model:e.trim()}function da(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:w.search.rerank.top_k}function la(e){if(typeof e!="string")return w.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,rm);return n.length>0?n:w.vector_store.collection_name}function ao(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function cm(e,t){let n=e.schema,r=ao(n?.statuses),o=ao(n?.fields),i=ao(n?.type_workflows);return{source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:nt(e.item_types?.definitions),has_source_schema_statuses:r.present,source_schema_statuses:r.values,has_source_schema_fields:o.present,source_schema_fields:o.values,has_source_schema_type_workflows:i.present,source_schema_type_workflows:i.values,runtime_item_type_definitions:nt(t.item_types?.definitions),runtime_schema_statuses:structuredClone(t.schema.statuses),runtime_schema_fields:structuredClone(t.schema.fields),runtime_schema_type_workflows:structuredClone(t.schema.type_workflows??[])}}function ua(e,t){Object.defineProperty(e,na,{value:t,writable:!0,configurable:!0,enumerable:!1})}function fa(e){let t=e[na];if(!(!t||typeof t!="object"))return t}function Ln(e){let t=structuredClone(e.settings),n=fa(e.settings);return n&&ua(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function dm(e,t,n){let r=dt(t);return[n,lt(e,r.files.types,ct.types),lt(e,r.files.statuses,ct.statuses),lt(e,r.files.fields,ct.fields),lt(e,r.files.workflows,ct.workflows)]}async function lm(e,t,n){let r=await ge(t);Mn(e,{tracked_paths:t,signatures:r,value:Ln(n)})}async function um(e,t,n){try{await lm(e,t,n)}catch{be(e)}}function ea(e,t){return e.find(n=>n.path===t)}function fm(e,t,n){for(let r of n){let o=ea(e,r),i=ea(t,r);if(!o||!i||!Ct([o],[i]))return!1}return!0}async function co(e,t,n,r,o){try{let i=await ge(t);if(!fm(r,i,o)){be(e);return}Mn(e,{tracked_paths:t,signatures:i,value:Ln(n)})}catch{be(e)}}function mm(e,t){let n=dt(e.schema),r=nt(e.item_types?.definitions);if(!t)return{item_type_definitions:r,schema_statuses:n.statuses,schema_fields:n.fields,schema_type_workflows:n.type_workflows};let o=n.type_workflows??[],i=je(r,t.runtime_item_type_definitions),s=je(n.statuses,t.runtime_schema_statuses),a=je(n.fields,t.runtime_schema_fields),c=je(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?nt(t.source_item_type_definitions):[]:r,schema_statuses:s?t.has_source_schema_statuses?structuredClone(t.source_schema_statuses):[]:n.statuses,schema_fields:a?t.has_source_schema_fields?structuredClone(t.source_schema_fields):[]:n.fields,schema_type_workflows:c?t.has_source_schema_type_workflows?structuredClone(t.source_schema_type_workflows):void 0:n.type_workflows}}function Tt(e){return{settings:ra(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function _m(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function uo(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function ma(e){let t=w.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:uo(e?.last_checked_files??t.last_checked_files)}}function K(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function pm(e){return e==="off"||e==="warn"||e==="enforce"?e:w.extensions.policy.mode}function ym(e){return e==="off"||e==="warn"||e==="enforce"?e:w.extensions.policy.trust_mode}function _a(e){return e==="none"||e==="restricted"||e==="strict"?e:w.extensions.policy.default_sandbox_profile}function hm(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=_a(e.sandbox_profile));let r=K(e.allowed_capabilities),o=K(e.blocked_capabilities),i=K(e.allowed_surfaces),s=K(e.blocked_surfaces),a=K(e.allowed_commands),c=K(e.blocked_commands),d=K(e.allowed_actions),u=K(e.blocked_actions),f=K(e.allowed_services),m=K(e.blocked_services);return r.length>0&&(n.allowed_capabilities=r),o.length>0&&(n.blocked_capabilities=o),i.length>0&&(n.allowed_surfaces=i),s.length>0&&(n.blocked_surfaces=s),a.length>0&&(n.allowed_commands=a),c.length>0&&(n.blocked_commands=c),d.length>0&&(n.allowed_actions=d),u.length>0&&(n.blocked_actions=u),f.length>0&&(n.allowed_services=f),m.length>0&&(n.blocked_services=m),n}function gm(e){let t=new Map;for(let n of e??[]){let r=hm(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function lo(e){return e==="block"||e==="warn"?e:void 0}function bm(e){if(typeof e=="string")return lo(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=lo(e.global),n=lo(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function V(e,t){return K(e?.[t]??w.extensions.policy[t])}function pa(e){let t=bm(e?.pm_max_version_exceeded_mode);return{mode:pm(e?.mode),trust_mode:ym(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:V(e,"trusted_extensions"),default_sandbox_profile:_a(e?.default_sandbox_profile),allowed_extensions:V(e,"allowed_extensions"),blocked_extensions:V(e,"blocked_extensions"),allowed_capabilities:V(e,"allowed_capabilities"),blocked_capabilities:V(e,"blocked_capabilities"),allowed_surfaces:V(e,"allowed_surfaces"),blocked_surfaces:V(e,"blocked_surfaces"),allowed_commands:V(e,"allowed_commands"),blocked_commands:V(e,"blocked_commands"),allowed_actions:V(e,"allowed_actions"),blocked_actions:V(e,"blocked_actions"),allowed_services:V(e,"allowed_services"),blocked_services:V(e,"blocked_services"),extension_overrides:gm(e?.extension_overrides??w.extensions.policy.extension_overrides)}}function ya(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 we(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function M(e,t){return e===void 0?t:e}function B(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function fo(e){return Array.isArray(e)?e:[]}function wm(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:ya(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:we(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:we(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:we(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:we(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:so(e.validation?.estimate_defaults_by_type)}}function Em(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 vm(e,t){return{...t.search,...e.search,mutation_refresh_policy:oa(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:ia(e.search?.query_expansion?.enabled),provider:sa(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:aa(e.search?.rerank?.enabled),model:ca(e.search?.rerank?.model),top_k:da(e.search?.rerank?.top_k)}}}function km(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:la(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function Sm(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function Im(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 xm(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function nt(e){let t=(e??[]).map(r=>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 ha(e){let t=ra(),n=Pn({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:Sm(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:wm(e,t,n),governance:n,workflow:{definition_of_done:[...e.workflow?.definition_of_done??t.workflow.definition_of_done]},testing:{record_results_to_items:e.testing?.record_results_to_items??t.testing.record_results_to_items,allow_untrusted_linked_tests:e.testing?.allow_untrusted_linked_tests??t.testing.allow_untrusted_linked_tests},telemetry:Em(e,t),agent_guidance:ma(e.agent_guidance??t.agent_guidance),item_types:{definitions:nt(e.item_types?.definitions)},schema:dt(e.schema??t.schema),context:Im(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:pa(e.extensions.policy??t.extensions.policy)},search:vm(e,t),providers:xm(e,t),vector_store:km(e,t)}}function Cm(e){e.agent_identity=S(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=S(B(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=fo(e.agent_identity.harness_signals).map(n=>S(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=S(e.locks,["ttl_seconds","wait_ms"]),e.ids=S(e.ids,["token_length"]),e.mutation_guard=S(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=S(e.checkpoints,["retention_days"]),e.output=S(e.output,["default_format"]),e.ux=S(e.ux,["deprecation_hints"]),e.history=S(e.history,["missing_stream","compact_policy"]),e.validation=S(e.validation,["sprint_release_format","parent_reference","metadata_profile","metadata_required_fields","lifecycle_stale_blocker_reason_patterns","lifecycle_closure_like_blocked_reason_patterns","lifecycle_closure_like_resolution_patterns","lifecycle_closure_like_actual_result_patterns","estimate_defaults_by_type"]),e.governance=S(e.governance,["preset","ownership_enforcement","create_mode_default","close_validation_default","require_close_reason","parent_reference","metadata_profile","force_required_for_stale_lock","create_default_type","workflow_enforcement","duplicate_detection_mode","duplicate_detection_threshold","duplicate_detection_limit"]),e.workflow=S(e.workflow,["definition_of_done"]),e.testing=S(e.testing,["record_results_to_items","allow_untrusted_linked_tests"]),e.telemetry=S(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=S(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=S(e.item_types,["definitions"]),e.schema=S(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=S(B(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=S(B(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=S(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=S(B(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=S(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=S(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=fo(e.extensions.policy.extension_overrides).map(n=>S(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=S(e.search,["score_threshold","hybrid_semantic_weight","max_results","embedding_model","embedding_corpus_max_characters","embedding_batch_size","embedding_timeout_ms","scanner_max_batch_retries","provider","mutation_refresh_policy","query_expansion","rerank"]),e.search.query_expansion=S(B(e.search.query_expansion),["enabled","provider"]),e.search.rerank=S(B(e.search.rerank),["enabled","model","top_k"]),e.providers=S(e.providers,["openai","ollama"]),e.providers.openai=S(B(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=S(B(e.providers.ollama),["base_url","model"]),e.vector_store=S(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=S(B(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=S(B(e.vector_store.lancedb),["path"])}function Tm(e){return{...e,locks:M(e.locks,w.locks),ids:M(e.ids,w.ids),agent_identity:M(e.agent_identity,w.agent_identity),mutation_guard:M(e.mutation_guard,w.mutation_guard),checkpoints:M(e.checkpoints,w.checkpoints),output:M(e.output,w.output),ux:M(e.ux,w.ux),history:M(e.history,w.history),validation:M(e.validation,w.validation),workflow:M(e.workflow,w.workflow),testing:M(e.testing,w.testing),telemetry:M(e.telemetry,w.telemetry),agent_guidance:M(e.agent_guidance,w.agent_guidance),item_types:M(e.item_types,w.item_types),schema:M(e.schema,w.schema),context:M(e.context,w.context),extensions:M(e.extensions,w.extensions),search:M(e.search,w.search),providers:M(e.providers,w.providers),vector_store:M(e.vector_store,w.vector_store)}}function Om(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:ya(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:we(e.validation?.lifecycle_stale_blocker_reason_patterns??w.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:we(e.validation?.lifecycle_closure_like_blocked_reason_patterns??w.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:we(e.validation?.lifecycle_closure_like_resolution_patterns??w.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:we(e.validation?.lifecycle_closure_like_actual_result_patterns??w.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:so(e.validation?.estimate_defaults_by_type)}}function Am(e){return{...w.search,...e.search,mutation_refresh_policy:oa(e.search?.mutation_refresh_policy),query_expansion:{...w.search.query_expansion,...e.search?.query_expansion,enabled:ia(e.search?.query_expansion?.enabled),provider:sa(e.search?.query_expansion?.provider)},rerank:{...w.search.rerank,...e.search?.rerank,enabled:aa(e.search?.rerank?.enabled),model:ca(e.search?.rerank?.model),top_k:da(e.search?.rerank?.top_k)}}}function Rm(e){return{default_depth:e.context?.default_depth??w.context.default_depth,activity_limit:e.context?.activity_limit??w.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??w.context.stale_threshold_days,sections:{...w.context.sections,...e.context?.sections}}}function Nm(e){return{...e.vector_store,adapter:e.vector_store?.adapter??w.vector_store.adapter,collection_name:la(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function Dm(e,t,n,r){return{...e,item_format:"toon",validation:Om(e,t),governance:t,agent_guidance:ma(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:Am(e),context:Rm(e),extensions:{enabled:uo(e.extensions?.enabled),disabled:uo(e.extensions?.disabled),policy:pa(e.extensions?.policy)},vector_store:Nm(e)}}function ga(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(!je(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:{};ga(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var ba=["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 ta(e,t){let n=Tm(e),r=Pn(n),o=dt(n.schema),i=mm(n,t),s=Dm(n,r,o,i),a=S({...s,governance:sm(r)},ba);return Cm(a),a}function Mm(e,t={}){let n=ta(e,t.persist_source);if(t.persist_source){let r=ha(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=ta(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return ga(i,o,n),`${JSON.stringify(S(i,ba),null,2)}
154
154
  `}return`${JSON.stringify(n,null,2)}
155
155
  `}async function wa(e){let t=st(e),n=[t];await Q({path:t,scope:"project"});let r=Ys(e);if(r){let d=await ge(r.tracked_paths);if(Ct(d,r.signatures))return Ln(r.value)}let o=await ge([t]),i;try{i=await le(t)}catch{return Tt("settings_read_fs_error")}if(i===null){let d=Tt();return await co(e,[t],d,o,[t]),d}let s=await ge([t]);if(!Ct(o,s))return be(e),wa(e);let a;try{a=JSON.parse(i)}catch{let d=Tt("settings_read_invalid_json");return await co(e,[t],d,s,[t]),d}let c=qs(a);if(!c.success){let d=Tt("settings_read_invalid_schema");return await co(e,[t],d,s,[t]),d}try{let d=ha(c.data),u=dm(e,d.schema,t);n=u;let f=await ge(u),m=await zo(e,d.schema),y=await Ho(e,d.schema),p=await ge(u),b={...d,item_types:{definitions:nt([...d.item_types.definitions,...fo(y.type_definitions_from_file)])},schema:y.schema};ua(b,cm(c.data,b));let v={settings:b,metadata:{has_explicit_item_format:_m(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...m.created_paths.map(O=>`runtime_schema_bootstrap_created:${O}`),...y.warnings]};return m.created_paths.length===0?Ct(f,p)?Mn(e,{tracked_paths:u,signatures:p,value:Ln(v)}):be(e):be(e),v}catch{let d=Tt("settings_read_merge_failed");return await um(e,n,d),d}}async function tb(e){return(await wa(e)).settings}async function nb(e,t,n=nm){let r=st(e),o=Mm(t,{persist_source:fa(t)});try{await Bs({pmRoot:e,filePath:r,raw:o,op:n,author:ci(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await X({path:r,scope:"project",op:n})}finally{be(e)}}import Lm from"node:fs/promises";import Pm 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 jm(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function Fm(e,t){return new x(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,k.NOT_FOUND)}async function $m(e,t){return await So(Pm.dirname(e)),await(await Lm.open(e,"a")).close(),X({path:e,scope:"project",op:`${t}:history:auto_create`})}async function mo(e){return zm({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function zm(e){let t=jm(e.itemIds),n=[],r=[];for(let o of t){let i=at(e.pmRoot,o);if(!await Pe(i)){if(e.settings.history.missing_stream==="strict_error")throw Fm(o,e.commandLabel);r.push(...await $m(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import po from"node:fs/promises";import jn from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8b0efe32-43f5-51ed-b1d5-5c26a3ae5bf0")}catch{}})();function Ee(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function yo(e){let t=["--pm-path",e,"init","--defaults","--agent-guidance","skip"];return{suggested_retry:`pm ${t.map(n=>`'${n.replaceAll("'",`'"'"'`)}'`).join(" ")}`,suggested_retry_args:t}}function Fn(e){return new x(`Tracker root is not a directory at ${e}.`,k.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",resolved_path:e,nextSteps:["Pass a tracker directory, usually <workspace>/.agents/pm, rather than a file path."]})}function _o(e){return new x(`Tracker root is not readable at ${e}.`,k.GENERIC_FAILURE,{code:"tracker_root_unreadable",reason:"unreadable",resolved_path:e,nextSteps:["Grant read and directory-search permission to the tracker root, then retry."]})}async function Hm(e){let t=jn.resolve(e),n=jn.parse(t).root,r=jn.dirname(t);for(;r!==n;){let o;try{o=await po.stat(r)}catch(i){if(Ee(i,"ENOTDIR"))throw Fn(e);if(!Ee(i,"ENOENT"))throw i;r=jn.dirname(r);continue}if(!o.isDirectory())throw Fn(e);return}}async function rt(e){let t;try{t=await po.stat(e)}catch(n){throw Ee(n,"ENOENT")?(await Hm(e),new x(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,k.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",resolved_path:e,nextSteps:["Confirm the tracker root path or initialize it with the emitted retry."],recovery:yo(e)})):Ee(n,"ENOTDIR")?Fn(e):Ee(n,"EACCES")||Ee(n,"EPERM")?_o(e):n}if(!t.isDirectory())throw Fn(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw _o(e);try{await(await po.opendir(e)).close()}catch(n){throw Ee(n,"EACCES")||Ee(n,"EPERM")?_o(e):n}}async function Um(e){if(await rt(e),!await Pe(st(e)))throw new x(`Tracker is not initialized at ${e}. Run pm init first.`,k.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:yo(e)})}import ot from"node:fs/promises";import Wm from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f49b5141-f348-5954-a87e-8fd957593113")}catch{}})();async function Vm(e){try{return await ot.access(e),!0}catch{return!1}}function Bm(e,t){e&&(e.includes(t)||e.push(t))}function Ea(e){return e??jt(Re())}function qm(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function va(e,t,n="pm-",r,o=ke){let i=gt(t,n),s=zr(t),a=i===s?[i]:[i,s],c=Object.entries(o),d=qm(r);for(let u of a)for(let[f]of c)for(let m of d){let y=Un(e,f,u,m,o);if(await Vm(y))return{id:u,type:f,itemPath:y,item_format:m}}return null}async function ka(e,t={}){let n=await ot.readFile(e.itemPath,"utf8");await Q({path:e.itemPath,scope:"project"});let r=en(n,{format:e.item_format,schema:t.schema,extensionFieldNames:Ea(t.extensionFieldNames),onWarning:o=>Bm(t.warnings,o)});return{raw:n,document:r}}async function Gm(e,t,n=ke,r,o){return await rt(e),(await Ps(e,t,n,r,o)).map(s=>s.metadata)}async function $b(e,t,n=ke,r,o){return await rt(e),(await js(e,t,n,r,o)).map(s=>s.metadata)}async function zb(e,t,n=ke,r,o,i={}){return await rt(e),(await On(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan})).map(a=>({...a.metadata,body:a.body}))}function Sa(e){return{async get(t){let n=await va(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await ka(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>Gm(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function Xm(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await ot.readdir(Wm.join(e,o));for(let s of i)for(let a of Ft)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function Km(e,t,n,r){let o=gt(t,n),i=await Xm(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:Rt(c,o,s)})).filter(c=>c.distance!==null).sort((c,d)=>c.distance-d.distance).slice(0,3).map(c=>c.id)}async function Jm(e,t,n,r){let o=await Km(e,t,n,r),i=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return o.length>0&&i.unshift(`Did you mean one of: ${o.join(", ")}?`),new x(`Item ${t} not found`,k.NOT_FOUND,{nextSteps:i})}function Ym(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 Ia(e){let t=e.typeToFolder??xo(e.settings,Re()).type_to_folder,n=await va(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await Jm(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await ce(e.pmRoot,n.id,e.settings.locks.ttl_seconds,e.author,!!e.force,e.settings.governance.force_required_for_stale_lock,e.settings.locks.wait_ms);try{let o=[],{raw:i,document:s}=await ka(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,d=ai(e.author),u=Pn(e.settings);if(a&&c!==d&&!e.force&&!Ym(e.op,e.bypassAssigneeConflict)){if(u.ownership_enforcement==="strict")throw new x(`Item ${n.id} is assigned to ${a}. Use --force to override.`,k.CONFLICT);u.ownership_enforcement==="warn"&&o.push(`ownership_warning:assignee_conflict:${n.id}:${a}`)}return{typeToFolder:t,located:n,originalRaw:i,document:s,warnings:o,releaseLock:r}}catch(o){throw await r(),o}}function Qm(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 Zm(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await W(e.originalItemPath,e.originalRaw),await ot.rm(e.effectiveTargetItemPath,{force:!0});return}await W(e.originalItemPath,e.originalRaw)}}async function xa(e){let t=await Ia({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:e.op,author:e.author,force:e.force,bypassAssigneeConflict:e.bypassAssigneeConflict,extensionFieldNames:e.extensionFieldNames,typeToFolder:e.typeToFolder}),{typeToFolder:n,located:r,originalRaw:o,document:i,warnings:s,releaseLock:a}=t;try{let c=G(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),d=G(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),u=await e.mutate(d);if(e.skipNoop===!0&&u.changedFields.length===0)return{item:c.metadata,body:c.body,changedFields:[],warnings:[...s,...u.warnings??[]]};let f=e.resolveHistoryContext?.();d.metadata.updated_at=Oe();let m=G(d,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames});await xr({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:u.changedFields,sdk:Sa({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let y=await mo({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),p="toon",b=Ai(m,{format:p,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),v=Un(e.pmRoot,m.metadata.type,r.id,p,n),O=at(e.pmRoot,r.id),D=await re("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:v,history_path:O,item_format:p,before:c,after:m,contents:b}),{effectiveTargetItemPath:P,effectiveSerializedAfter:j,skipItemWrite:J}=Qm(D,v,b),ve=await Jr(e.pmRoot,e.author),U=[];try{J||await W(P,j),!J&&P!==r.itemPath&&await ot.rm(r.itemPath);let Ot=Xe({nowIso:m.metadata.updated_at,author:e.author,op:e.op,before:c,after:m,message:e.message,context:f});try{await Ke(O,Ot)}catch(At){throw await Zm({skipItemWrite:J,effectiveTargetItemPath:P,originalItemPath:r.itemPath,originalRaw:o}),At}J||(U=await Yr({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:P,previousItemPath:r.itemPath,document:m}))}finally{await ve()}let $n=[...await X({path:P,scope:"project",op:e.op,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:u.changedFields}),...await X({path:O,scope:"project",op:`${e.op}:history`,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:u.changedFields})];return Ir({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:tn(c.metadata,u.changedFields),current:tn(m.metadata,u.changedFields),changed_fields:u.changedFields}),{item:m.metadata,body:m.body,changedFields:u.changedFields,warnings:[...s,...u.warnings??[],...y.warnings,...D.warnings,...U,...$n]}}finally{await a()}}async function Hb(e){return xa(e)}async function Ub(e){return xa(e)}async function Wb(e){let t=await Ia({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=Ea(void 0),c=G(o,{schema:e.settings.schema,extensionFieldNames:a});await xr({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Sa({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let d=await mo({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),u=Oe(),f=Le,m=Xe({nowIso:u,author:e.author,op:"delete",before:c,after:f,message:e.message}),y=at(e.pmRoot,n.id),p=await re("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:y,before:c}),b=n.itemPath,v=!1;if(p.handled&&typeof p.result=="object"&&p.result!==null){let j=p.result;typeof j.item_path=="string"&&j.item_path.trim().length>0&&(b=j.item_path),j.skip_delete===!0&&(v=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:b,warnings:[...i,...d.warnings,...p.warnings]};let O=await Jr(e.pmRoot,e.author),D=[];try{v||await ot.rm(b);try{await Ke(y,m)}catch(j){throw v||await W(b,r),j}v||(D=await Yr({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:b,document:null}))}finally{await O()}let P=[...await X({path:b,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:f,changed_fields:["deleted"]}),...await X({path:y,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:f,changed_fields:["deleted"]})];return Ir({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:tn(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...d.warnings,...p.warnings,...D,...P]}}finally{await s()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="745b9c3b-538c-558f-b018-b406ca4318f0")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a9b23a46-0bba-5174-8793-dfc37016d1fb")}catch{}})();function e_(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:Rt(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 Ca(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function Jb(e){let t=e.command_path.trim().replaceAll(/\s+/gu," "),n=e.token.trim(),r=n.length===0?"<empty>":n,o=[...new Set(e.allowed.map(m=>m.trim()))].filter(Boolean).sort((m,y)=>m.localeCompare(y));if(t.length===0||r.length===0||o.length===0)throw new TypeError("Unknown-subcommand contracts require a path, token, and allowed set");let i=t.split(" "),s=e.trailing_args??[],a=e.display_name??`pm ${t}`,c=e.token_kind??"subcommand",d=e.retry_command?void 0:e_(r,o),u=Ca([...i,r,...s]),f=e.retry_command??(d?Ca([...i,d,...s]):void 0);return new x(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??k.USAGE,{code:"unknown_subcommand",reason:"unknown_positional_token",examples:[...f?[f]:[],...e.examples??[],`pm ${t} --help`],nextSteps:f?[`Retry with the suggested command: ${f}`]:["Choose one value from recovery.allowed_values."],recovery:{attempted_command:u,allowed_values:o,suggested_retry:f,fallback_candidates:e.fallback_candidates}})}export{Cp as a,Zd as b,zp as c,cl as d,Hp as e,Up as f,Wp as g,Vp as h,Bp as i,qp as j,Gp as k,Re as l,Ir as m,tn as n,X as o,xr as p,Q as q,Cr as r,Xp as s,Kp as t,re as u,Ol as v,xe as w,Bn as x,r_ as y,o_ as z,Ht as A,Jn as B,u_ as C,f_ as D,m_ as E,__ as F,p_ as G,y_ as H,or as I,ir as J,ti as K,I_ as L,x_ as M,C_ as N,T_ as O,O_ as P,A_ as Q,dr as R,oi as S,R_ as T,N_ as U,D_ as V,ic as W,ai as X,ci as Y,Oe as Z,te as _,_i as $,H as aa,U_ as ba,W_ as ca,ce as da,bi as ea,ut as fa,rp as ga,op as ha,ze as ia,pi as ja,B_ as ka,yi as la,xc as ma,q_ as na,Xt as oa,Tc as pa,J_ as qa,Jt as ra,Zt as sa,en as ta,Ai as ua,G as va,Be as wa,my as xa,_y as ya,py as za,Py as Aa,jy as Ba,jl as Ca,yt as Da,pe as Ea,th as Fa,Fr as Ga,nh as Ha,Xe as Ia,Ke as Ja,Bl as Ka,mn as La,fn as Ma,_n as Na,lh as Oa,uh as Pa,is as Qa,pn as Ra,ss as Sa,yn as Ta,Yl as Ua,fh as Va,mh as Wa,xt as Xa,eo as Ya,Ng as Za,Dg as _a,Mg as $a,Lg as ab,Bs as bb,$g as cb,Pn as db,wa as eb,tb as fb,nb as gb,mo as hb,zm as ib,ds as jb,zr as kb,gt as lb,wh as mb,xh as nb,Ch as ob,Th as pb,Rs as qb,ju as rb,Jr as sb,Qh as tb,Yr as ub,On as vb,rt as wb,Um as xb,va as yb,ka as zb,Gm as Ab,$b as Bb,zb as Cb,Sa as Db,Jm as Eb,Hb as Fb,Ub as Gb,Wb as Hb,Jb as Ib,Qe as Jb,ug as Kb,fg as Lb,he as Mb,sg as Nb,Rn as Ob,ag as Pb,Sf as Qb,cg as Rb,Zr as Sb,Cf as Tb,Of as Ub,Af as Vb,Rf as Wb,gg as Xb,bg as Yb};
156
- //# sourceMappingURL=chunk-IFLWKY2R.js.map
156
+ //# sourceMappingURL=chunk-VXWATRFL.js.map
@@ -1,6 +1,6 @@
1
- import{c as x}from"./chunk-37Z4OEAP.js";import{Ka as a,Ma as w,q as m,x as T}from"./chunk-FQCSTBWE.js";import{L as v,Y as f,Z as u,o as _,p as b,q as E}from"./chunk-UYRFYCDQ.js";import C from"node:fs/promises";import p 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]="6fc24a7c-a359-51fd-a432-4c8037d10e9e")}catch{}})();var z=["extensions","docs","examples","assets","prompts"],R=Object.freeze({extensions:Object.freeze([".agents/pm/extensions","extensions",".custom/pm-extensions",".custom/pm-extension"]),docs:Object.freeze(["docs","documentation"]),examples:Object.freeze(["examples","docs/examples"]),assets:Object.freeze(["assets",".agents/pm/assets"]),prompts:Object.freeze(["prompts",".agents/pm/prompts"])});function q(e){return z.includes(e)}function G(e,t){if(t==null)return[];let r=Array.isArray(t)?t:[t],n=[];for(let i of r){if(typeof i!="string"||i.trim().length===0)throw new u(`Package manifest field pm.${e} must contain string paths.`,f.USAGE);n.push(i.trim())}return[...new Set(n)].sort((i,o)=>i.localeCompare(o))}function J(e){if(e==null)return{};if(typeof e!="object"||Array.isArray(e))throw new u("Package manifest field pm must be an object.",f.USAGE);let t={},r=e;for(let[n,i]of Object.entries(r)){if(!q(n))continue;let o=G(n,i);o.length>0&&(t[n]=o)}return t}function c(e,t){let r=e[t];return typeof r=="string"&&r.trim().length>0?r.trim():void 0}function S(e){if(!Array.isArray(e))return;let t=e.map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0);return t.length>0?[...new Set(t)].sort((r,n)=>r.localeCompare(n)):void 0}function I(e){if(typeof e=="string"&&e.trim().length>0)return e.trim();if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=e.url;return typeof t=="string"&&t.trim().length>0?t.trim():void 0}}function K(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,r={docs:c(t,"docs"),npm:c(t,"npm"),repository:c(t,"repository"),report:c(t,"report")};return Object.values(r).some(n=>typeof n=="string")?r:void 0}function V(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,r={image:c(t,"image"),video:c(t,"video")};return Object.values(r).some(n=>typeof n=="string")?r:void 0}function Y(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,r={display_name:c(t,"display_name")??c(t,"displayName"),category:c(t,"category"),summary:c(t,"summary"),links:K(t.links),media:V(t.media),tags:S(t.tags)};return Object.values(r).some(n=>n!==void 0)?r:void 0}async function B(e){let t=p.join(e,"package.json");if(!await m(t))return{source:"convention",resources:{}};let r;try{r=JSON.parse(await C.readFile(t,"utf8"))}catch(d){throw new u(`Failed to parse package manifest at "${t}": ${String(d)}`,f.USAGE)}if(typeof r!="object"||r===null||Array.isArray(r))throw new u(`Package manifest at "${t}" must be a JSON object.`,f.USAGE);let n=r,i=n.pm,o=i!=null,s=typeof i=="object"&&i!==null&&!Array.isArray(i)?i:{};return{source:o?"pm":"convention",package_json_path:t,package_name:typeof n.name=="string"?n.name:void 0,package_version:typeof n.version=="string"?n.version:void 0,package_private:n.private===!0,package_description:typeof n.description=="string"?n.description:void 0,package_keywords:S(n.keywords),package_homepage:typeof n.homepage=="string"?n.homepage:void 0,package_repository_url:I(n.repository),package_bugs_url:I(n.bugs),aliases:S(s.aliases),resources:J(i),catalog:Y(s.catalog)}}async function j(e){if(!await m(e))return[];let t=await C.readdir(e,{withFileTypes:!0}),r=[];for(let n of t){if(!n.isDirectory())continue;let i=p.join(e,n.name);await m(p.join(i,"manifest.json"))&&r.push(i)}return r.sort((n,i)=>n.localeCompare(i))}async function _e(e){if(await m(p.join(e,"manifest.json")))return[e];let r=(await B(e)).resources.extensions??[],n=new Set;for(let i of r){if(i.includes("*")||i.startsWith("!"))throw new u(`Package extension entry "${i}" uses a glob/exclusion pattern. pm package installs currently require concrete extension paths or directories.`,f.USAGE);let o=p.resolve(e,i);if(!T(e,o))throw new u(`Package extension entry "${i}" resolves outside package root.`,f.USAGE);if(await m(p.join(o,"manifest.json"))){n.add(o);continue}for(let s of await j(o))n.add(s)}if(r.length===0)for(let i of R.extensions)for(let o of await j(p.join(e,i)))n.add(o);return[...n].sort((i,o)=>i.localeCompare(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]="48c3e62a-8085-5215-a692-4c03792022ce")}catch{}})();var D=1,A=6,$=[["commands","Commands"],["command_overrides","Command overrides"],["flag_commands","Flag commands"],["item_types","Item types"],["item_fields","Item fields"],["migrations","Migrations"],["profiles","Profiles"],["importers","Importers"],["exporters","Exporters"],["search_providers","Search providers"],["vector_store_adapters","Vector store adapters"],["assurance_providers","Assurance measurement providers"],["hooks","Lifecycle hooks"],["parser_overrides","Parser overrides"],["service_overrides","Service overrides"],["renderer_overrides","Renderer overrides"]];function k(e){return"#".repeat(e)}function F(e){if(!e.includes("`"))return`\`${e}\``;let t=0,r=0;for(let o of e)r=o==="`"?r+1:0,t=Math.max(t,r);let n="`".repeat(t+1),i=e.startsWith("`")||e.endsWith("`")?" ":"";return`${n}${i}${e}${i}${n}`}function W(e){return e.length===0?"Capabilities: _none registered_":`Capabilities: ${e.map(F).join(", ")}`}function H(e,t,r){let n=[`${k(t)} ${e}`,""];return r.length===0?(n.push("_None._",""),n):(n.push(...r.map(i=>`- ${F(i)}`),""),n)}function X(e,t,r){return e===0&&!r?[]:[`${k(t)} Preflight overrides`,"",e>0?`- ${e} registered (this surface carries no per-entry identifier)`:"_None._",""]}function Ee(e,t={}){let r=t.headingLevel??2;if(!Number.isInteger(r)||r<D||r>A)throw new RangeError(`headingLevel must be an integer in [${D}, ${A}], received ${String(t.headingLevel)}`);let n=Math.min(r+1,A),i=t.includeEmpty===!0,o=t.title??"Extension surfaces",s=[`${k(r)} ${o}`,""];(i||e.capabilities.length>0)&&s.push(W(e.capabilities),"");for(let[l,y]of $){let g=e[l]??[];g.length===0&&!i||s.push(...H(y,n,g))}return s.push(...X(e.preflight_overrides,n,i)),!(e.preflight_overrides>0||$.some(([l])=>(e[l]?.length??0)>0))&&!i&&s.push("_This extension registers no surfaces._",""),`${s.join(`
1
+ import{c as x}from"./chunk-NOOZGIXP.js";import{Ka as a,Ma as w,q as m,x as T}from"./chunk-OVJL6NZE.js";import{L as v,Y as f,Z as u,o as _,p as b,q as E}from"./chunk-LMKG3DFE.js";import C from"node:fs/promises";import p 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]="6fc24a7c-a359-51fd-a432-4c8037d10e9e")}catch{}})();var z=["extensions","docs","examples","assets","prompts"],R=Object.freeze({extensions:Object.freeze([".agents/pm/extensions","extensions",".custom/pm-extensions",".custom/pm-extension"]),docs:Object.freeze(["docs","documentation"]),examples:Object.freeze(["examples","docs/examples"]),assets:Object.freeze(["assets",".agents/pm/assets"]),prompts:Object.freeze(["prompts",".agents/pm/prompts"])});function q(e){return z.includes(e)}function G(e,t){if(t==null)return[];let r=Array.isArray(t)?t:[t],n=[];for(let i of r){if(typeof i!="string"||i.trim().length===0)throw new u(`Package manifest field pm.${e} must contain string paths.`,f.USAGE);n.push(i.trim())}return[...new Set(n)].sort((i,o)=>i.localeCompare(o))}function J(e){if(e==null)return{};if(typeof e!="object"||Array.isArray(e))throw new u("Package manifest field pm must be an object.",f.USAGE);let t={},r=e;for(let[n,i]of Object.entries(r)){if(!q(n))continue;let o=G(n,i);o.length>0&&(t[n]=o)}return t}function c(e,t){let r=e[t];return typeof r=="string"&&r.trim().length>0?r.trim():void 0}function S(e){if(!Array.isArray(e))return;let t=e.map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0);return t.length>0?[...new Set(t)].sort((r,n)=>r.localeCompare(n)):void 0}function I(e){if(typeof e=="string"&&e.trim().length>0)return e.trim();if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=e.url;return typeof t=="string"&&t.trim().length>0?t.trim():void 0}}function K(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,r={docs:c(t,"docs"),npm:c(t,"npm"),repository:c(t,"repository"),report:c(t,"report")};return Object.values(r).some(n=>typeof n=="string")?r:void 0}function V(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,r={image:c(t,"image"),video:c(t,"video")};return Object.values(r).some(n=>typeof n=="string")?r:void 0}function Y(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,r={display_name:c(t,"display_name")??c(t,"displayName"),category:c(t,"category"),summary:c(t,"summary"),links:K(t.links),media:V(t.media),tags:S(t.tags)};return Object.values(r).some(n=>n!==void 0)?r:void 0}async function B(e){let t=p.join(e,"package.json");if(!await m(t))return{source:"convention",resources:{}};let r;try{r=JSON.parse(await C.readFile(t,"utf8"))}catch(d){throw new u(`Failed to parse package manifest at "${t}": ${String(d)}`,f.USAGE)}if(typeof r!="object"||r===null||Array.isArray(r))throw new u(`Package manifest at "${t}" must be a JSON object.`,f.USAGE);let n=r,i=n.pm,o=i!=null,s=typeof i=="object"&&i!==null&&!Array.isArray(i)?i:{};return{source:o?"pm":"convention",package_json_path:t,package_name:typeof n.name=="string"?n.name:void 0,package_version:typeof n.version=="string"?n.version:void 0,package_private:n.private===!0,package_description:typeof n.description=="string"?n.description:void 0,package_keywords:S(n.keywords),package_homepage:typeof n.homepage=="string"?n.homepage:void 0,package_repository_url:I(n.repository),package_bugs_url:I(n.bugs),aliases:S(s.aliases),resources:J(i),catalog:Y(s.catalog)}}async function j(e){if(!await m(e))return[];let t=await C.readdir(e,{withFileTypes:!0}),r=[];for(let n of t){if(!n.isDirectory())continue;let i=p.join(e,n.name);await m(p.join(i,"manifest.json"))&&r.push(i)}return r.sort((n,i)=>n.localeCompare(i))}async function _e(e){if(await m(p.join(e,"manifest.json")))return[e];let r=(await B(e)).resources.extensions??[],n=new Set;for(let i of r){if(i.includes("*")||i.startsWith("!"))throw new u(`Package extension entry "${i}" uses a glob/exclusion pattern. pm package installs currently require concrete extension paths or directories.`,f.USAGE);let o=p.resolve(e,i);if(!T(e,o))throw new u(`Package extension entry "${i}" resolves outside package root.`,f.USAGE);if(await m(p.join(o,"manifest.json"))){n.add(o);continue}for(let s of await j(o))n.add(s)}if(r.length===0)for(let i of R.extensions)for(let o of await j(p.join(e,i)))n.add(o);return[...n].sort((i,o)=>i.localeCompare(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]="48c3e62a-8085-5215-a692-4c03792022ce")}catch{}})();var D=1,A=6,$=[["commands","Commands"],["command_overrides","Command overrides"],["flag_commands","Flag commands"],["item_types","Item types"],["item_fields","Item fields"],["migrations","Migrations"],["profiles","Profiles"],["importers","Importers"],["exporters","Exporters"],["search_providers","Search providers"],["vector_store_adapters","Vector store adapters"],["assurance_providers","Assurance measurement providers"],["hooks","Lifecycle hooks"],["parser_overrides","Parser overrides"],["service_overrides","Service overrides"],["renderer_overrides","Renderer overrides"]];function k(e){return"#".repeat(e)}function F(e){if(!e.includes("`"))return`\`${e}\``;let t=0,r=0;for(let o of e)r=o==="`"?r+1:0,t=Math.max(t,r);let n="`".repeat(t+1),i=e.startsWith("`")||e.endsWith("`")?" ":"";return`${n}${i}${e}${i}${n}`}function W(e){return e.length===0?"Capabilities: _none registered_":`Capabilities: ${e.map(F).join(", ")}`}function H(e,t,r){let n=[`${k(t)} ${e}`,""];return r.length===0?(n.push("_None._",""),n):(n.push(...r.map(i=>`- ${F(i)}`),""),n)}function X(e,t,r){return e===0&&!r?[]:[`${k(t)} Preflight overrides`,"",e>0?`- ${e} registered (this surface carries no per-entry identifier)`:"_None._",""]}function Ee(e,t={}){let r=t.headingLevel??2;if(!Number.isInteger(r)||r<D||r>A)throw new RangeError(`headingLevel must be an integer in [${D}, ${A}], received ${String(t.headingLevel)}`);let n=Math.min(r+1,A),i=t.includeEmpty===!0,o=t.title??"Extension surfaces",s=[`${k(r)} ${o}`,""];(i||e.capabilities.length>0)&&s.push(W(e.capabilities),"");for(let[l,y]of $){let g=e[l]??[];g.length===0&&!i||s.push(...H(y,n,g))}return s.push(...X(e.preflight_overrides,n,i)),!(e.preflight_overrides>0||$.some(([l])=>(e[l]?.length??0)>0))&&!i&&s.push("_This extension registers no surfaces._",""),`${s.join(`
2
2
  `).trimEnd()}
3
3
  `}(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]="e3f016bb-8add-5765-bb1a-a7b22423f8d1")}catch{}})();var Q=["agile","ops","research"],Z={agile:[{name:"Story",description:"User-facing outcome or capability slice expressed from a stakeholder perspective.",defaultStatus:"open",folder:"stories",aliases:["user-story"]},{name:"Spike",description:"Time-boxed investigation used to reduce uncertainty before implementation.",defaultStatus:"open",folder:"spikes",aliases:["research-spike"]}],ops:[{name:"Incident",description:"Operational disruption, degradation, or support escalation with recovery tracking.",defaultStatus:"open",folder:"incidents",aliases:["outage"]},{name:"Runbook",description:"Repeatable operational procedure, diagnostic path, or response playbook.",defaultStatus:"open",folder:"runbooks",aliases:["playbook"]}],research:[{name:"Experiment",description:"Validated-learning activity with hypothesis, method, and outcome tracking.",defaultStatus:"open",folder:"experiments",aliases:["study"]},{name:"Hypothesis",description:"Testable claim or assumption that should be supported, rejected, or refined.",defaultStatus:"open",folder:"hypotheses",aliases:["assumption"]}]};function ke(e){if(e===void 0)return;let t=e.trim().toLowerCase().replaceAll("-","_");if(t.length===0)throw new Error("Type preset name must not be empty.");if(t==="agile"||t==="ops"||t==="research")return t;throw new Error(`Invalid type preset "${e}". Allowed: ${Q.join(", ")}.`)}function ve(e){return Z[e].map(t=>x(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]="2b5a573e-1e36-58b9-b93b-4a4088f71e9a")}catch{}})();var ee=new Set(b),te=new Set(E),N=new Set([...v.filter(e=>e!=="severity"),"id","title","type","status","priority","tags","assignee","parent","description","body","created_at","updated_at","closed_at","completed_at","author","deadline","estimate","sprint","release","risk","confidence","reviewer","resolution","expected","actual"]),ne=["create","update"];function P(e){if(typeof e!="string")return"";let t=e.trim().toLowerCase().replaceAll(/[\s_]+/g,"-");return t.startsWith("--")?t.slice(2):t}function O(e){return e.replaceAll("_","-")}function re(e,t){let r=new Set;for(let n of e){let i=P(n);i.length>0&&i!==t&&r.add(i)}return[...r].sort((n,i)=>n.localeCompare(i))}function ie(e){let t=new Set;for(let r of e??[]){let n=r.trim();n.length>0&&t.add(n)}return[...t].sort((r,n)=>r.localeCompare(n))}function oe(e){let t=new Set,r=[];for(let n of e??[]){let i=n.trim().toLowerCase();if(i.length!==0){if(!te.has(i))throw new Error(`Invalid field command "${n}". Allowed: ${E.join(", ")}.`);t.has(i)||(t.add(i),r.push(i))}}return e===void 0||r.length===0?[...ne]:r}function je(e){let t=a(e.key);if(t.length===0)throw new Error("Field key must not be empty.");if(N.has(t))throw new Error(`Cannot define custom field "${t}": custom schema field "${t}" collides with built-in item metadata "${t}". Rename the custom field with a project-specific prefix. Reserved fields: ${[...N].sort((g,U)=>g.localeCompare(U)).join(", ")}.`);let r=typeof e.type=="string"&&e.type.trim().length>0?e.type.trim().toLowerCase():"string";if(!ee.has(r))throw new Error(`Invalid field type "${e.type}". Allowed: ${b.join(", ")}.`);let n=r,i=oe(e.commands),o=P(e.cliFlag),s=o.length>0&&o!==O(t)?o:void 0,d=s??O(t),l=re(e.aliases??[],d),y=e.description?.trim();return{key:t,type:n,commands:i,description:y&&y.length>0?y:void 0,cliFlag:s,cliAliases:l,required:e.required===!0,requiredOnCreate:e.requiredOnCreate===!0,allowUnset:e.allowUnset!==!1,requiredTypes:ie(e.requiredTypes)}}function se(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.fields))return t.fields;if(Array.isArray(t.definitions))return t.definitions}function ae(e){let t=se(e);if(!t)return[];let r=[];for(let n of t){if(typeof n!="object"||n===null||Array.isArray(n))continue;let i=n;typeof i.key!="string"||i.key.trim().length===0||r.push(i)}return r}function Ce(e){if(e==null||e.trim().length===0)return{fields:[]};let t;try{t=JSON.parse(e)}catch{throw new Error("schema/fields.json contains invalid JSON.")}return{fields:ae(t)}}function De(e){return`${JSON.stringify({fields:e.fields},null,2)}
4
4
  `}function $e(e,t){let r=e.fields.find(s=>a(s.key)===t.key),n=r!==void 0,i=e.fields.filter(s=>a(s.key)!==t.key),o={...r,key:t.key,type:t.type,commands:[...t.commands]};return L(o,"description",t.description),L(o,"cli_flag",t.cliFlag),t.cliAliases.length>0?o.cli_aliases=[...t.cliAliases]:delete o.cli_aliases,M(o,"required",t.required),M(o,"required_on_create",t.requiredOnCreate),t.allowUnset===!1?o.allow_unset=!1:delete o.allow_unset,t.requiredTypes.length>0?o.required_types=[...t.requiredTypes]:delete o.required_types,i.push(o),i.sort((s,d)=>a(s.key).localeCompare(a(d.key))),{file:{fields:i},definition:o,replaced:n}}function Fe(e,t){let r=a(t);if(r.length===0)throw new Error("Field key must not be empty.");let n=[],i=e.fields.filter(o=>a(o.key)===r?(n.push(o),!1):!0);return n.length===0?{file:{fields:i},removed:!1}:{file:{fields:i},removed:!0,definition:n[0]}}function L(e,t,r){let n=e;r!==void 0&&r.length>0?n[t]=r:delete n[t]}function M(e,t,r){let n=e;r?n[t]=!0:delete n[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]="3eac0218-43c9-5bd2-8eaf-589d02d2c8ad")}catch{}})();var de=new Set(_),h=new Set(w.map(e=>a(e.id)).filter(e=>e.length>0));function le(e){let t=new Set;for(let r of e){let n=a(r);n.length>0&&t.add(n)}return[...t].sort((r,n)=>r.localeCompare(n))}function Ue(e){let t=a(e.id);if(t.length===0)throw new Error("Status id must not be empty.");if(h.has(t))throw new Error(`Cannot add-status the built-in status "${t}". Built-in statuses are reserved: ${[...h].join(", ")}.`);let r;if(e.roles!==void 0){r=[];let s=new Set;for(let d of e.roles){let l=typeof d=="string"?d.trim().toLowerCase():"";if(l.length!==0){if(!de.has(l))throw new Error(`Invalid status role "${d}". Allowed roles: ${_.join(", ")}.`);s.has(l)||(s.add(l),r.push(l))}}}let n=e.aliases===void 0?void 0:le(e.aliases).filter(s=>s!==t),i=e.description?.trim(),o=typeof e.order=="number"&&Number.isFinite(e.order)?Math.trunc(e.order):void 0;return{id:t,roles:r,aliases:n,description:i&&i.length>0?i:void 0,order:o}}function ce(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.statuses))return t.statuses;if(Array.isArray(t.definitions))return t.definitions}function fe(e){let t=ce(e);if(!t)return[];let r=[];for(let n of t){if(typeof n!="object"||n===null||Array.isArray(n))continue;let i=n;typeof i.id!="string"||i.id.trim().length===0||r.push(i)}return r}function ze(e){if(e==null||e.trim().length===0)return{statuses:[]};let t;try{t=JSON.parse(e)}catch{throw new Error("schema/statuses.json contains invalid JSON.")}return{statuses:fe(t)}}function Re(e){return`${JSON.stringify({statuses:e.statuses},null,2)}
5
5
  `}function qe(e,t,r){let n=e.statuses.slice(),i=n.findIndex(d=>a(d.id)===t.id),o=i>=0?n[i]:r,s={...o,id:t.id};return t.roles!==void 0&&(t.roles.length>0?s.roles=[...t.roles]:s.roles!==void 0&&delete s.roles),t.aliases!==void 0&&(t.aliases.length>0?s.aliases=[...t.aliases]:s.aliases!==void 0&&delete s.aliases),t.description!==void 0&&(s.description=t.description),t.order!==void 0&&(s.order=t.order),i>=0?n[i]=s:n.push(s),{file:{statuses:n},definition:s,replaced:o!==void 0}}function Ge(e,t){let r=a(t);if(r.length===0)throw new Error("Status id must not be empty.");if(h.has(r))throw new Error(`Cannot remove built-in status "${r}". Built-in statuses are reserved: ${[...h].join(", ")}.`);let n=e.statuses.slice(),i=n.findIndex(s=>a(s.id)===r);if(i<0)return{file:{statuses:n},removed:!1};let[o]=n.splice(i,1);return{file:{statuses:n},removed:!0,definition:o}}function Je(e,t){let r=[e.id,...e.aliases??[]];for(let n of r){let i=a(n);if(i.length===0)continue;let o=t.get(i);if(o!==void 0&&o!==e.id)throw new Error(`Status token "${i}" already belongs to status "${o}". Choose a different id/alias to avoid shadowing it.`)}}export{z as a,R as b,B as c,_e as d,Q as e,Z as f,ke as g,ve as h,je as i,Ce as j,De as k,$e as l,Fe as m,h as n,Ue as o,ze as p,Re as q,qe as r,Ge as s,Je as t,Ee as u};
6
- //# sourceMappingURL=chunk-R27IDGHD.js.map
6
+ //# sourceMappingURL=chunk-XUQPEKRN.js.map