@unbrained/pm-cli 2026.9.11 → 2026.9.13

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 (165) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +42 -0
  3. package/dist/cli/command-namespaces.js +1 -1
  4. package/dist/cli/commander-usage.js +2 -2
  5. package/dist/cli/error-guidance.d.ts +10 -0
  6. package/dist/cli/error-guidance.js +1 -1
  7. package/dist/cli/main.js +2 -2
  8. package/dist/cli/option-values.d.ts +3 -0
  9. package/dist/cli/option-values.js +2 -0
  10. package/dist/cli/register-mutation.d.ts +5 -0
  11. package/dist/cli/register-mutation.js +2 -16
  12. package/dist/cli/schema/registration.d.ts +4 -0
  13. package/dist/cli/schema/registration.js +16 -0
  14. package/dist/cli-bundle/bundle-manifest.json +160 -152
  15. package/dist/cli-bundle/chunks/{chunk-TDKWJQD7.js → chunk-3DWX3CKN.js} +2 -2
  16. package/dist/cli-bundle/chunks/chunk-6KHYW3FH.js +235 -0
  17. package/dist/cli-bundle/chunks/chunk-AKTBOX6U.js +2 -0
  18. package/dist/cli-bundle/chunks/chunk-GBK5MV6N.js +29 -0
  19. package/dist/cli-bundle/chunks/{chunk-JMQKJ7CJ.js → chunk-GQQR6JAL.js} +2 -2
  20. package/dist/cli-bundle/chunks/{chunk-QER6OSOP.js → chunk-KM4XVZR7.js} +53 -53
  21. package/dist/cli-bundle/chunks/{chunk-VFKBNGF6.js → chunk-LA44JECQ.js} +2 -2
  22. package/dist/cli-bundle/chunks/{chunk-DAWH7TGV.js → chunk-XEZOGC3P.js} +2 -2
  23. package/dist/cli-bundle/chunks/{chunk-TFVKBJJ4.js → chunk-XM7RWQLM.js} +103 -103
  24. package/dist/cli-bundle/chunks/{chunk-RJQSCK74.js → chunk-YDSV4QIQ.js} +6 -6
  25. package/dist/cli-bundle/chunks/chunk-YQTJACN5.js +20 -0
  26. package/dist/cli-bundle/chunks/{chunk-BN5QVWNY.js → chunk-ZZI7IHMM.js} +2 -2
  27. package/dist/cli-bundle/chunks/{register-list-query-U6MY437C.js → register-list-query-WMJTBWNW.js} +2 -2
  28. package/dist/cli-bundle/chunks/register-mutation-EXGOXP3D.js +20 -0
  29. package/dist/cli-bundle/chunks/{register-operations-EHWIZW3X.js → register-operations-2H4CDRGU.js} +2 -2
  30. package/dist/cli-bundle/chunks/{register-setup-BZYL3HBL.js → register-setup-NYBWGPOS.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/{chunk-TWE3GPQM.js → chunk-7JR6M2JR.js} +17 -17
  32. package/dist/cli-bundle/focused-chunks/{chunk-GKUF7TM5.js → chunk-B6JAANOH.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/{chunk-UJCQXUD2.js → chunk-DSJYL4VP.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/{chunk-VS6MR2HT.js → chunk-F66QJWI4.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/{chunk-MOT32PR2.js → chunk-FBCLVOBE.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/{chunk-HM6JS6Q3.js → chunk-FPNI4U2B.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/chunk-HFAW3FJQ.js +2 -0
  38. package/dist/cli-bundle/focused-chunks/chunk-KP3N6PVZ.js +164 -0
  39. package/dist/cli-bundle/focused-chunks/chunk-LQ67C7ZO.js +2 -0
  40. package/dist/cli-bundle/focused-chunks/{chunk-TGMSSI3Z.js → chunk-OENAWWP4.js} +2 -2
  41. package/dist/cli-bundle/focused-chunks/{chunk-7WISPJRZ.js → chunk-SDQCJF4H.js} +53 -53
  42. package/dist/cli-bundle/focused-chunks/chunk-TUHRUFID.js +2 -0
  43. package/dist/cli-bundle/focused-chunks/{chunk-6JF66HAG.js → chunk-V7PSTKHD.js} +2 -2
  44. package/dist/cli-bundle/focused-chunks/{chunk-FJDEFA64.js → chunk-XCCM7P7V.js} +2 -2
  45. package/dist/cli-bundle/focused-chunks/chunk-YUXBHIUV.js +20 -0
  46. package/dist/cli-bundle/focused-chunks/{chunk-BEQAW7OT.js → chunk-ZAMG7HBB.js} +4 -4
  47. package/dist/cli-bundle/focused-chunks/chunk-ZF5PXK6A.js +2 -0
  48. package/dist/cli-bundle/main.js +20 -20
  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 +34 -34
  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 +42 -42
  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 +8 -8
  59. package/dist/core/history/history.js +1 -1
  60. package/dist/core/history/operation-contract.d.ts +30 -0
  61. package/dist/core/history/operation-contract.js +2 -0
  62. package/dist/core/history/tombstone.d.ts +3 -0
  63. package/dist/core/history/tombstone.js +2 -0
  64. package/dist/core/item/id.d.ts +8 -7
  65. package/dist/core/item/id.js +1 -1
  66. package/dist/core/output/mutation-projection.d.ts +1 -0
  67. package/dist/core/output/mutation-projection.js +1 -1
  68. package/dist/core/sentry/instrument.js +1 -1
  69. package/dist/core/shared/command-line.d.ts +10 -0
  70. package/dist/core/shared/command-line.js +2 -0
  71. package/dist/core/shared/errors.d.ts +13 -0
  72. package/dist/core/shared/errors.js +1 -1
  73. package/dist/core/store/item-store.d.ts +5 -1
  74. package/dist/core/store/item-store.js +1 -1
  75. package/dist/core/telemetry/consent.d.ts +1 -1
  76. package/dist/core/telemetry/consent.js +2 -2
  77. package/dist/core/telemetry/policy.d.ts +10 -0
  78. package/dist/core/telemetry/policy.js +2 -0
  79. package/dist/core/telemetry/runtime.d.ts +11 -9
  80. package/dist/core/telemetry/runtime.js +3 -3
  81. package/dist/sdk/agent/command-suggestions.js +1 -1
  82. package/dist/sdk/agent/item-addressing.js +1 -1
  83. package/dist/sdk/agent-capability-contracts.js +1 -1
  84. package/dist/sdk/cli-bootstrap.js +1 -1
  85. package/dist/sdk/cli-contracts/command-aliases.js +1 -1
  86. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  87. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
  88. package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
  89. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +3 -0
  90. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
  91. package/dist/sdk/cli-contracts/tool-schema.d.ts +1 -1
  92. package/dist/sdk/cli-contracts/tool-schema.js +1 -1
  93. package/dist/sdk/command-line.d.ts +1 -6
  94. package/dist/sdk/command-line.js +1 -1
  95. package/dist/sdk/comments.js +1 -1
  96. package/dist/sdk/completion.js +1 -1
  97. package/dist/sdk/contracts.d.ts +1 -0
  98. package/dist/sdk/contracts.js +1 -1
  99. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  100. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  101. package/dist/sdk/governance/health.js +1 -1
  102. package/dist/sdk/governance/storage-integrity.js +1 -1
  103. package/dist/sdk/governance/workflow-completeness.js +1 -1
  104. package/dist/sdk/governance/workflow-policy.js +2 -2
  105. package/dist/sdk/index.d.ts +1 -0
  106. package/dist/sdk/index.js +1 -1
  107. package/dist/sdk/learnings.js +1 -1
  108. package/dist/sdk/lifecycle/claim.d.ts +2 -0
  109. package/dist/sdk/lifecycle/claim.js +1 -1
  110. package/dist/sdk/lifecycle/mcp-actions.d.ts +4 -0
  111. package/dist/sdk/lifecycle/mcp-actions.js +1 -1
  112. package/dist/sdk/lifecycle/task-composition.d.ts +2 -0
  113. package/dist/sdk/lifecycle/task-composition.js +1 -1
  114. package/dist/sdk/merge/reconcile.js +1 -1
  115. package/dist/sdk/merge/three-way.js +2 -2
  116. package/dist/sdk/notes.js +1 -1
  117. package/dist/sdk/public-surface.json +1 -1
  118. package/dist/sdk/query/projection-contracts.d.ts +1 -1
  119. package/dist/sdk/query/projection-contracts.js +1 -1
  120. package/dist/sdk/runtime.js +1 -1
  121. package/dist/sdk/telemetry.d.ts +5 -0
  122. package/dist/sdk/telemetry.js +1 -1
  123. package/docs/AGENT_UX_CONTRACTS.md +8 -0
  124. package/docs/ARCHITECTURE.md +7 -0
  125. package/docs/CLI_GRAMMAR.md +31 -0
  126. package/docs/COMMAND_NAMESPACES.md +7 -4
  127. package/docs/CONFIGURATION.md +13 -2
  128. package/docs/HISTORY_OPERATIONS.md +46 -0
  129. package/docs/HISTORY_RECOVERY.md +27 -2
  130. package/docs/LIFECYCLE_COMMANDS.md +19 -2
  131. package/docs/MERGE_SAFETY.md +64 -3
  132. package/docs/WORKFLOW_POLICIES.md +47 -3
  133. package/docs/generated/AGENT_CAPABILITY_ROUTING.md +4 -4
  134. package/docs/generated/AGENT_COMMAND_SURFACE.md +10 -0
  135. package/docs/generated/FLAG_LEXICON_BUDGETS.md +11 -1
  136. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +8 -5
  137. package/marketplace.json +2 -2
  138. package/package.json +1 -1
  139. package/packages/pm-beads/package.json +1 -1
  140. package/packages/pm-calendar/package.json +1 -1
  141. package/packages/pm-command-kit/package.json +1 -1
  142. package/packages/pm-digital-twin/package.json +1 -1
  143. package/packages/pm-governance-audit/README.md +22 -0
  144. package/packages/pm-governance-audit/package.json +1 -1
  145. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +13 -26
  146. package/packages/pm-guide-shell/package.json +1 -1
  147. package/packages/pm-kanban/package.json +1 -1
  148. package/packages/pm-lifecycle-hooks/package.json +1 -1
  149. package/packages/pm-linked-test-adapters/package.json +1 -1
  150. package/packages/pm-search-advanced/package.json +1 -1
  151. package/packages/pm-templates/package.json +1 -1
  152. package/packages/pm-todos/package.json +1 -1
  153. package/packages/pm-vcs/package.json +1 -1
  154. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  155. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  156. package/dist/cli-bundle/chunks/chunk-FBY6PEIR.js +0 -20
  157. package/dist/cli-bundle/chunks/chunk-IRUNFLLG.js +0 -2
  158. package/dist/cli-bundle/chunks/chunk-RJZFAXBW.js +0 -235
  159. package/dist/cli-bundle/chunks/chunk-SGAKQIGQ.js +0 -29
  160. package/dist/cli-bundle/chunks/register-mutation-HAPHD4S7.js +0 -20
  161. package/dist/cli-bundle/focused-chunks/chunk-3JVTLBCW.js +0 -20
  162. package/dist/cli-bundle/focused-chunks/chunk-DZ3ATEFS.js +0 -2
  163. package/dist/cli-bundle/focused-chunks/chunk-M74YW332.js +0 -164
  164. package/dist/cli-bundle/focused-chunks/chunk-ONDKO4EL.js +0 -2
  165. package/dist/cli-bundle/focused-chunks/chunk-YOPNRWSX.js +0 -2
@@ -0,0 +1,164 @@
1
+ import{b as rn,f as It,h as St,i as Tt,k as Si,l as Ti,m as cn,n as Ci,o as Oi,p as xi}from"./chunk-OENAWWP4.js";import{h as un}from"./chunk-HFAW3FJQ.js";import{$ as b,$a as de,$c as Sr,A as fi,Aa as on,Ca as vi,Ee as _e,F as tn,Fa as sn,Fe as oe,G as nn,Ga as bi,H as yr,Ic as le,J as mi,Ja as kt,Jc as wr,Ka as vr,Kc as dn,La as br,Lc as ue,Ma as ce,Mc as Er,Nb as Ii,Nc as ve,Oa as wi,Oc as kr,P as ye,Qd as ji,Rc as Ct,Rd as be,Sb as Ri,Sd as fe,Td as Fi,Ua as Ei,Ud as Qe,V as Ne,Vd as me,W as _i,Wb as Ai,Xb as Di,Xc as Ir,Yd as $i,Z as k,Zc as Ni,Zd as Hi,_ as Ye,_d as Q,aa as v,bd as Li,cd as Pi,eb as ki,gd as Mi,i as Jt,ia as pi,ja as Le,ka as gr,la as te,ma as ge,na as K,oa as hi,pb as L,q as Qt,qb as Je,r as ci,rb as an,s as di,sb as T,t as li,ta as yi,td as ln,u as ui,ua as gi,ve as Tr,we as Cr,y as Zt,z as en}from"./chunk-7JR6M2JR.js";import{AsyncLocalStorage as Pc}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="27a9b88e-ee47-55c8-b511-07ce9754346c")}catch{}})();var Or=new Pc,zi=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function fn(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function Pe(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=fn(n.id,128),o=fn(n.parent_id,128);if(r===void 0||!zi.test(r)||o!==void 0&&!zi.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=fn(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Ze(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=fn(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Mc(e,t,n){let r=Or.getStore(),o=Ze({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=Pe(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={...Ze(r?.provenance),...o,...Ze(e?.provenance)},a=Pe(e?.episode,!1)??Pe(n,!1)??i??Pe(r?.episode,!1);return Object.keys(s).length===0&&a===void 0?void 0:{...Object.keys(s).length===0?{}:{provenance:s},...a===void 0?{}:{episode:a}}}function xr(e,t){return Mc(e.session_context,t,e.client_info?.episode)??{}}function Lp(e,t){let n=Or.getStore(),r=Pe(e.episode,!0),o=Pe(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Ze(n?.provenance),...Ze(e.provenance)};return Or.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function Pp(e){let t=Ze(e.provenance),n=Pe(e.episode,!0);return{...n===void 0?{}:{PM_AGENT_EPISODE_ID:n.id,...n.label===void 0?{}:{PM_AGENT_EPISODE_LABEL:n.label},...n.parent_id===void 0?{}:{PM_AGENT_EPISODE_PARENT_ID:n.parent_id}},...t.role===void 0?{}:{PM_AGENT_SESSION_ROLE:t.role},...t.topic===void 0?{}:{PM_AGENT_SESSION_TOPIC:t.topic}}}import{AsyncLocalStorage as Ur}from"node:async_hooks";import{createHash as zc}from"node:crypto";import V from"node:fs";import Xi from"node:os";import Fe from"node:path";import{createHash as Ui}from"node:crypto";import{existsSync as Rr,promises as Bi,readFileSync as jc}from"node:fs";import ie 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]="9cefffc1-c3d6-5c4a-980f-d9d3eaef0f58")}catch{}})();var Fc="session.json";function Ar(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Wi(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=e,n=["implementer","planner","release-operator"].includes(String(t.role)),r=["high","medium"].includes(String(t.confidence)),o=Ar(t.topic,256),i=Array.isArray(t.evidence)&&t.evidence.length<=32&&t.evidence.every(c=>typeof c=="string"&&c.length<=128),s=Array.isArray(t.active_item_ids)&&t.active_item_ids.length<=64&&t.active_item_ids.every(c=>Ar(c,128)),a=t.focused_item_id===void 0||Ar(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function $c(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Wi(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Dr(e){return ie.join(wi(e),Fc)}async function mn(e){try{let t=await Bi.readFile(Dr(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=$c(r.semantic_attribution);return typeof o=="string"&&o.trim().length>0?{focused_item:o,...i?{semantic_attribution:i}:{}}:i?{semantic_attribution:i}:{}}catch{return{}}}async function Nr(e,t){let n=Dr(e);await Bi.mkdir(ie.dirname(n),{recursive:!0}),await K(n,JSON.stringify(t))}function Lr(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${Ui("sha256").update(e).digest("hex").slice(0,24)}`}function Pr(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Mr(e){let t=[...new Set(e)].sort((o,i)=>o.localeCompare(i));if(t.length===1)return t[0];let n=`workset:${t.join("+")}`;return n.length<=256?n:`workset:${t.join("+").slice(0,230)}+${Ui("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function jr(e,t,n){let r=await mn(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 Nr(e,s)}async function Up(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{let r=[...new Set([...n?.active_item_ids??[],e.itemId])].slice(-64).sort((i,s)=>i.localeCompare(s)),o=n?.focused_item_id;return{role:"implementer",topic:o??Mr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}async function Bp(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{if(!n)return;let r=n.active_item_ids.filter(i=>i!==e.itemId);if(r.length===0&&!n.focused_item_id)return;let o=n.focused_item_id;return{...n,role:"release-operator",topic:o??Mr(r),confidence:o?"high":"medium",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function Wp(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{let r=n?.active_item_ids??[];if(!e.itemId&&r.length===0)return;let o=e.itemId;return{role:o?"planner":n.role,topic:o??Mr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function Hc(e,t){let n=t.PM_PATH?.trim();if(n){let o=ie.resolve(e,n);if(Rr(ie.join(o,"settings.json")))return o;let i=ie.join(o,".agents","pm");if(Rr(ie.join(i,"settings.json")))return i}let r=ie.resolve(e);for(let o=0;o<32;o+=1){let i=ie.join(r,".agents","pm");if(Rr(ie.join(i,"settings.json")))return i;let s=ie.dirname(r);if(s===r)break;r=s}}function Vi(e){if(!e.key)return;let t=Hc(e.cwd,e.env);if(t)try{let n=JSON.parse(jc(Dr(t),"utf8"));return Wi(n.semantic_attribution?.[e.key])}catch{return}}async function Vp(e){return(await mn(e)).focused_item}async function qp(e,t){let n=await mn(e);await Nr(e,{...n,focused_item:t})}async function Gp(e){let n={...await mn(e)};delete n.focused_item,await Nr(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]="c39d3d14-b0b5-5309-b89a-9da08e1a939a")}catch{}})();var Br=["model","effort","role","topic","version"],hn=new Ur,Yi=new Ur,yn=new Ur,Wr=[{harness:"claude-code",environment_keys:["CLAUDE_CODE","CLAUDECODE"],model_environment_keys:["ANTHROPIC_MODEL","CLAUDE_MODEL"],session_environment_keys:["CLAUDE_CODE_SESSION_ID"],provenance_environment_keys:{effort:["CLAUDE_EFFORT"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["role","topic"],argv_markers:["claude","claude-code"],client_names:["claude","claude-code","claude code"]},{harness:"codex",environment_keys:["CODEX_HOME","CODEX_CI","CODEX_THREAD_ID"],model_environment_keys:["CODEX_MODEL"],session_environment_keys:["CODEX_THREAD_ID"],provenance_environment_keys:{effort:["CODEX_REASONING_EFFORT","CODEX_EFFORT"],role:["CODEX_SESSION_ROLE"]},provenance_resolvers:{model:"codex_session_file",effort:"codex_session_file",version:"ai_agent_version"},provenance_unavailable_dimensions:["topic"],argv_markers:["codex"],client_names:["codex"]},{harness:"pi",environment_keys:["PI_AGENT","PI_CODING_AGENT"],model_environment_keys:["PI_MODEL"],session_environment_keys:["PI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["pi"],client_names:["pi"]},{harness:"opencode",environment_keys:["OPENCODE","OPENCODE_SESSION_ID"],model_environment_keys:["OPENCODE_MODEL"],session_environment_keys:["OPENCODE_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["opencode"],client_names:["opencode"]},{harness:"cursor",environment_keys:["CURSOR_AGENT","CURSOR_TRACE_ID"],model_environment_keys:["CURSOR_MODEL"],session_environment_keys:["CURSOR_TRACE_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["cursor"],client_names:["cursor"]},{harness:"aider",environment_keys:["AIDER","AIDER_MODEL"],model_environment_keys:["AIDER_MODEL"],session_environment_keys:["AIDER_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["aider"],client_names:["aider"]},{harness:"gemini-cli",environment_keys:["GEMINI_CLI","GEMINI_CLI_HOME"],model_environment_keys:["GEMINI_MODEL"],session_environment_keys:["GEMINI_CLI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["gemini","gemini-cli"],client_names:["gemini","gemini-cli","gemini cli"]},{harness:"ci",environment_keys:["CI","GITHUB_ACTIONS","BUILDKITE","GITLAB_CI"],provenance_unavailable_dimensions:["model","effort","role","topic"],argv_markers:[],client_names:[]}],Ji=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),Uc=Object.freeze({...Ji,max_bytes:4194304}),Fr=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function Bc(e){let t=Ee(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"?Uc:Ji,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 Qi=Object.freeze(Wr.filter(e=>e.harness!=="ci").map(Bc).sort((e,t)=>e.harness.localeCompare(t.harness))),je=new Map,et=new Map;function P(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function we(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function Ee(e){let t=e.harness.trim().toLowerCase();if(!Fr.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:we(e.environment_keys),model_environment_keys:we(e.model_environment_keys),session_environment_keys:we(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),we(r)]).filter(([n])=>Fr.test(n))),provenance_resolvers:Object.fromEntries(Object.entries(e.provenance_resolvers??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),r]).filter(n=>typeof n[0]=="string"&&Fr.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:we(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:we(e.argv_markers).map(n=>n.toLowerCase()),client_names:we(e.client_names).map(n=>n.toLowerCase())}}var Zi=Wr.map(Ee);function Wc(e,t){return JSON.stringify(e)===JSON.stringify(t)}function pn(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function Vr(e=[]){let t=new Map(Wr.filter(o=>o.harness!=="ci").map(o=>[o.harness,Ee(o)]));for(let{adapter:o}of je.values())t.set(o.harness,Ee(o.descriptor));let n=[...t.values(),...Zi.filter(o=>o.harness==="ci"),...[...et.values()].map(o=>o.descriptor),...yn.getStore()?.descriptors??[],...e.map(Ee)],r=new Set;for(let o of n){if(r.has(o.harness))throw new Error(`Harness signal descriptor collision for "${o.harness}"`);r.add(o.harness)}return n}function qr(e,t){for(let n of t??[]){let r=P(e[n]);if(r)return r.slice(0,256)}}function Vc(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 es(e,t){let n=t==="model"?["--model","--agent-model"]:[`--agent-${t}`],r=e.slice(0,8);for(let o=0;o<r.length;o+=1){let i=r[o].slice(0,512);if(n.includes(i))return P(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return P(i.slice(s.length+1))?.slice(0,256)}}var qc=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Me(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return qc.has(n)?n:void 0}function $r(e,t){return P(e?.[t])?.slice(0,256)}var Gc=1048576,zr=4194304,_n=new Map,qi=Object.freeze({}),Hr=new Map,Gi=Object.freeze({});function Ki(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function Kc(e){let t;try{t=JSON.parse(e)}catch{return Gi}let n=Ki(t);if(!n)return Gi;let r=[{value:n,depth:0}],o=0,i,s;for(;r.length>0&&o<64;){let a=r.shift();if(o+=1,i??=P(a.value.model)?.slice(0,256),s??=P(a.value.version)?.slice(0,256),i&&s)break;if(!(a.depth>=4))for(let c of Object.values(a.value)){let d=Ki(c);d&&r.push({value:d,depth:a.depth+1})}}return Object.freeze({model:i,version:s})}function ts(e){try{return V.lstatSync(e).isFile()?"available":"missing"}catch(t){return gr(t)?"missing":"failed"}}function Xc(e,t){let n;try{n=V.readdirSync(e,{withFileTypes:!0}).filter(o=>o.isDirectory()).sort((o,i)=>o.name.localeCompare(i.name)).slice(0,512).map(o=>{let i=Fe.join(e,o.name,`${t}.jsonl`);return{candidate:i,status:ts(i)}})}catch(o){return{status:gr(o)?"missing":"failed"}}let r=n.filter(({status:o})=>o==="available").map(({candidate:o})=>o);return r.length===0?{status:n.some(({status:o})=>o==="failed")?"failed":"missing"}:r.length>1?{status:"ambiguous"}:{status:"available",path:r[0]}}function ns(e,t){let n=P(t.CLAUDE_CODE_SESSION_ID);if(!n||!/^[A-Za-z0-9_-]{1,128}$/u.test(n))return{status:"unavailable"};let o=Fe.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),i=Fe.join(e.home_dir??Xi.homedir(),".claude","projects"),s=Fe.join(i,o,`${n}.jsonl`),a=P(e.session_file),c=a&&Fe.basename(a)===`${n}.jsonl`?a:void 0;for(let d of[c,s]){if(!d)continue;let u=ts(d);if(u==="available")return{status:u,path:d};if(u==="failed")return{status:u}}return Xc(i,n)}function Yc(e,t,n){let r=ns(t,n);if(r.status==="available")try{let o=V.openSync(r.path,V.constants.O_RDONLY|V.constants.O_NOFOLLOW);try{let i=V.fstatSync(o),s=`${r.path}\0${i.size}\0${i.mtimeMs}`,a=Hr.get(s);if(a)return a[e];let c=Math.min(i.size,Gc),d=Math.min(c,Math.ceil(c/2)),u=Math.min(c-d,i.size-d),f=Buffer.alloc(d);V.readSync(o,f,0,d,0);let m=Buffer.alloc(u);u>0&&V.readSync(o,m,0,u,i.size-u);let p={},_=i.size<=c?Buffer.concat([f,m]).toString("utf8").split(`
2
+ `):[...f.toString("utf8").split(`
3
+ `).slice(0,4096),...m.toString("utf8").split(`
4
+ `).slice(-4096)];for(let g of _){if(g.length===0||g.length>262144)continue;let S=Kc(g);if(p.model??=S.model,p.version??=S.version,p.model&&p.version)break}let y=Object.freeze(p);return Hr.clear(),Hr.set(s,y),y[e]}finally{V.closeSync(o)}}catch{return}}function Jc(e,t){let n=0,r=(o,i)=>{if(i>4||n>=512)return;let s;try{s=V.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=Fe.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 Qc(e){if(e<=zr)return[{offset:0,length:e}];let t=Math.floor(zr/2);return[{offset:e-t,length:t},{offset:0,length:t}]}function Zc(e,t){if(t.length===0||t.length>262144)return;let n;try{n=JSON.parse(t)}catch{return}if(typeof n!="object"||n===null||Array.isArray(n))return;let r=n;if(r.type!=="turn_context")return;let o=typeof r.payload=="object"&&r.payload!==null?r.payload:void 0;e.model??=P(o?.model)?.slice(0,256),e.effort??=P(o?.effort)?.slice(0,256)}function ed(e,t){let n={},r=4096;for(let o of Qc(t)){let i=Buffer.alloc(o.length);V.readSync(e,i,0,o.length,o.offset);let s=i.toString("utf8").split(`
5
+ `).reverse().slice(0,r);r-=s.length;for(let a of s)if(Zc(n,a),n.model&&n.effort)break;if(n.model&&n.effort||r<=0)break}return n}function td(e,t,n){let r=P(n.CODEX_THREAD_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let o=Fe.join(t.home_dir??Xi.homedir(),".codex","sessions"),i=`${o}\0${r}`,s=_n.get(i);if(s)return s[e];let a=Jc(o,r);if(!a){_n.set(i,qi);return}try{let c=V.openSync(a,"r");try{let d=V.fstatSync(c).size,u=ed(c,d);return _n.set(i,u),u[e]}finally{V.closeSync(c)}}catch{_n.set(i,qi);return}}function nd(e,t,n,r){let o=yn.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(P(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return Yc(e,t,n);if(s==="codex_session_file")return td(e,t,n);if(s==="ai_agent_version"){let a=P(n.AI_AGENT);return!a||!r||!pn(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function rd(e,t,n,r){if(e==="ai_agent_version"){let o=P(r.AI_AGENT);return o!==void 0&&pn(o,t.harness)?"available":"unavailable"}return e==="codex_session_file"?P(r.CODEX_THREAD_ID)!==void 0?"available":"unavailable":ns(n,r).status}function Gr(e){return e||(Yi.getStore()??{env:process.env,argv:process.argv})}function od(e,t,n,r){let o=e.environment_keys.some(a=>P(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let d=c.replaceAll("\\","/");return pn(d.slice(d.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||pn(r,a));return o||i||s}function id(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 sd(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function ad(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...Br,...Object.keys(r?.provenance_environment_keys??{})]),c,d,u;a.has(e)&&(c=Me(e,P(n[s])?.slice(0,256)),u=Me(e,es(t.argv??[],e)),d=Me(e,Vc(t.argv??[],e)));let f={...r?.provenance_environment_keys,model:r?.model_environment_keys},m={...t.client_info?.provenance,model:t.client_info?.model},p=$r(o?.provenance,e),_=Me(e,qr(n,f[e])),y=Me(e,$r(m,e)),g=Me(e,$r(t.provenance,e)),S=nd(e,t,n,r);return sd([[c,"override"],[p,"session"],[u,"argv"],[_,"environment"],[y,"mcp_client"],[g,"host"],[S,"probe"]])??id(e,i)??(d?{value:d,source:"argv"}:void 0)}function cd(e,t){if(!(!e||!t))return zc("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function dd(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...Br,...i,...Object.keys(n?.provenance_resolvers??{}),...Object.keys(e.provenance??{}),...Object.keys(e.client_info?.provenance??{}),...Object.keys(r?.provenance??{})]),a={};for(let c of s){let d=ad(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 rh(e){let t=e.map(Ee),n=new Map(Zi.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=et.get(i.harness);if(s&&!Wc(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=et.get(i.harness);et.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=et.get(i.harness);!s||s.registrations<=1?et.delete(i.harness):s.registrations-=1}}}}function ld(e){let t=Ee(e.descriptor),n=e.harness.trim().toLowerCase();if(e.contract_version!==1)throw new Error(`Unsupported provenance adapter contract for "${n}": ${e.contract_version}`);if(t.harness!==n)throw new Error(`Provenance adapter harness "${n}" does not match descriptor "${t.harness}".`);let r=P(e.adapter_version)?.slice(0,64);if(!r)throw new Error(`Provenance adapter "${n}" requires a version.`);if(!Number.isSafeInteger(e.priority))throw new Error(`Provenance adapter "${n}" requires an integer priority.`);if(e.probe_policy.network_access!==!1||e.probe_policy.subprocess_access!==!1||e.probe_policy.max_bytes>zr||e.probe_policy.max_lines>4096)throw new Error(`Provenance adapter "${n}" exceeds the bounded local probe policy.`);return Object.freeze({...e,adapter_version:r,harness:n,descriptor:t,supported_dimensions:Object.freeze(we(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 oh(){let e=new Map(Qi.map(t=>[t.harness,t]));for(let{adapter:t}of je.values())e.set(t.harness,t);return Object.freeze([...e.values()].sort((t,n)=>t.harness.localeCompare(n.harness)))}function ih(e){let t=e.map(ld),n=new Map(Qi.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=je.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=je.get(i.harness);je.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=je.get(i.harness);!s||s.registrations<=1?je.delete(i.harness):s.registrations-=1}}}}function sh(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 ah(e,t){return Yi.run(e,t)}function ch(e,t,n={}){let r=e.map(Ee);return Vr(r),yn.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function Kr(e){let t=Gr(e),n=t.env??{},r=Vr(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(_=>_.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(_=>od(_,n,o,i)),a=xr(t,n),c=[qr(n,s?.session_environment_keys),P(t.client_info?.session)?.slice(0,256)].find(_=>_!==void 0),d=cd(s?.harness,c),u=Vi({cwd:t.cwd??process.cwd(),env:n,key:d}),f=dd(t,n,s,a,u),m=f.model,p=[["harness",s?.harness],["model",m?.value],["model_source",m?.source],["session",c],["instance",d],["provenance",Object.keys(f).length>0?f:void 0],["episode",a.episode]];return Object.fromEntries(p.filter(_=>_[1]!==void 0))}function ud(e){return e==="unavailable"?{status:"unavailable",reason:"harness_unavailable"}:e==="missing"?{status:"unavailable",reason:"resolver_input_missing"}:{status:"failed",reason:"resolver_failed"}}function fd(e,t,n,r,o,i,s){let a=n?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...a?{resolver:a}:{},rule_version:"v1"};if(s)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(a){if(!i)return{status:"unavailable",reason:"probes_disabled",resolver:a,rule_version:"v1"};let c=rd(a,n,r,o);return{...ud(c),resolver:a,rule_version:"v1"}}return{status:n?.provenance_unavailable_dimensions.includes(e)?"unavailable":"not_configured",reason:n?.provenance_unavailable_dimensions.includes(e)?"harness_unavailable":"resolver_not_configured",rule_version:"v1"}}function rs(e){let t=Gr(e),n=Kr(t),r=Vr(t.descriptors).find(d=>d.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&yn.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(P(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=xr(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,qr(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,es(t.argv??[],"role")].some(d=>{let u=P(d)?.slice(0,256);return u!==void 0&&Me("role",u)===void 0}),c=Object.fromEntries(Br.map(d=>[d,fd(d,n,r,t,o,i,d==="role"&&a)]));return{...n,provenance_outcomes:c}}function dh(){return process.env.PM_AUTHOR}function lh(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function uh(e){return Kr(e).harness}function md(e,t,n){let r=Gr(n),o=Kr(r);if(e!==void 0){let s=P(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=P(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=P(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function os(e){let t=hn.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function is(e){let t=hn.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 ss(e){let t=hn.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function as(e,t){let n=md(e,t);return hn.enterWith(n),n.author}import{createHash as _d}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1e3cba21-c5a4-541a-9841-484cfbb70f4e")}catch{}})();var _h=["sha256","sha512"],pd="sha256",cs="sha256";function $e(e){if(e===void 0)return pd;if(e==="sha256"||e==="sha512")return e;throw new TypeError(`unsupported_history_hash_algorithm:${String(e)}`)}function ke(e,t){return _d($e(t)).update(e,"utf8").digest("hex")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8ee74259-29b1-5795-9253-9fa0869e4585")}catch{}})();var tt=1,ds=1;function hh(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=tt?t:tt}function ls(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=tt))return e}function hd(e,t=ds){return e<t?"outdated":e>t?"ahead":"current"}function yh(e,t=ds){let n=[],r=[];for(let o of e){let i=hd(o.version,t);i==="outdated"?n.push(o.ref):i==="ahead"&&r.push(o.ref)}return{outdated:n.sort((o,i)=>o.localeCompare(i)),ahead:r.sort((o,i)=>o.localeCompare(i))}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6bb283b8-5c81-562a-926e-e48b83e6ebc8")}catch{}})();var yd={"in-progress":"in_progress",cancelled:"canceled"};function gn(e,t){if(t){let o=Ci(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=yd[n]??n;if(Qt.includes(r))return r}function nt(e,t){return gn(e,t)??e}function pe(e,t){return t.terminal_statuses.has(nt(e,t))}import{encode as xd}from"@toon-format/toon";import{isDeepStrictEqual as ps}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="42eb2987-269d-5b18-b0fe-5b4334fdb6a0")}catch{}})();var gd=16;function Xr(e){let t=e.trim().replaceAll(/[^A-Za-z0-9]+/g," ").split(/\s+/).filter(o=>o.length>0).map(o=>o.toLowerCase());if(t.length===0)return e;let[n,...r]=t;return`${n}${r.map(o=>`${o.slice(0,1).toUpperCase()}${o.slice(1)}`).join("")}`}function vd(e){return[...new Set([xi(e),Xr(e.key),Xr(e.cli_flag),...e.cli_aliases.map(t=>Xr(t))])]}function ms(e,t){for(let n of vd(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function _s(e){return Array.isArray(e)?e.flatMap(t=>_s(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 us(e,t){if(typeof e=="boolean")return e;if(typeof e=="number"){if(e===1)return!0;if(e===0)return!1}if(typeof e=="string"){let n=e.trim().toLowerCase();if(n==="true"||n==="1"||n==="yes")return!0;if(n==="false"||n==="0"||n==="no")return!1}throw new v(`${t} must be one of true|false|1|0|yes|no`,b.USAGE)}function fs(e,t){if(typeof e=="number"&&Number.isFinite(e))return e;let n=typeof e=="string"?e.trim():String(e),r=Number(n);if(!Number.isFinite(r))throw new v(`${t} must be a number`,b.USAGE);return r}function bd(e,t,n){let r=typeof e=="string"?(()=>{try{return JSON.parse(e)}catch{return}})():e;if(n==="array"&&Array.isArray(r)||n==="object"&&typeof r=="object"&&r!==null&&!Array.isArray(r))return r;throw new v(`${t} must be valid JSON ${n}`,b.USAGE)}function wd(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 Ed(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(!wd(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"&&!Fi(e))return`${n} must be an RFC 3339 date-time`}}function kd(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=vn(i,t.items,`${n}[${o}]`,r+1);if(s)return s}}}function Id(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=vn(s,a,`${n}.${i}`,r+1);if(c)return c}}function vn(e,t,n,r=0){if(r>gd)return`${n} value schema exceeds maximum depth`;let o=Ed(e,t,n);if(o)return o;let i=kd(e,t,n,r);if(i)return i;let s=Id(e,t,n,r);if(s)return s;if(!t.one_of)return;let a=0;for(let c of t.one_of)if(vn(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 He(e,t,n){if(!e.value_schema||t===void 0)return t;let r=vn(t,e.value_schema,n);if(r)throw new v(r,b.USAGE);return t}function Ot(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:He(e,bd(i,r,e.type),r)}if(e.repeatable||e.type==="string_array"){let i=_s(t);return e.type==="number"?He(e,i.map(s=>fs(s,r)),r):e.type==="boolean"?He(e,i.map(s=>us(s,r)),r):He(e,i,r)}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?He(e,fs(o,r),r):e.type==="boolean"?He(e,us(o,r),r):He(e,typeof o=="string"?o:String(o),r)}function Sd(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 Ch(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=ms(e,i);if(s===void 0){Sd(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=Ot(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function Oh(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=ms(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=Ot(s,a)))}return r}import{decode as Td}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e48e0cc7-7577-5702-ac17-a4529697444e")}catch{}})();function Yr(e){return{value:Td(e),usedScalarBracketEscape:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="45fa31ba-dea9-56db-b971-84c11e8a1c88")}catch{}})();var Cd=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function Od(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(Cd);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function bn(e){return Od(e)[0]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="48df511d-df81-56f7-bb1d-f10230b43cfa")}catch{}})();var eo=new Set(["schema","tracker","auto"]),gs=new Set(["source","isolated","snapshot"]),Rd=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),Ad=new Set(["passed","failed","stopped","canceled"]),Dd=new Set(mi);function it(e){return e.replaceAll("\\","/")}function vs(e){for(let t of e)if(t!==0)return t;return 0}function En(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var bs=["id","title","description","created_at","updated_at"],Nd=new Set(ye);function ws(e){if(e?.schema)return{statusRegistry:cn(e.schema),fieldRegistry:Oi(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function Ld(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function Ie(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new v(`Invalid item metadata: ${e}`,b.GENERIC_FAILURE,{code:"item_document_invalid",reason:e.includes("required")?"missing_required_field":"schema_validation_error",...t?{field:t}:{},required:"Provide an item document whose metadata satisfies the active runtime schema.",why:e})}function At(e,t){throw new v(t,b.GENERIC_FAILURE,{code:"item_document_invalid",reason:"syntax_error",format:e,required:`Provide a syntactically valid ${e==="toon"?"TOON":"JSON Markdown"} item document.`,why:"The document could not be decoded far enough to validate item metadata."})}function Es(e){let t=new Set(Nd);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function I(e,t){e||Ie(t)}function Dt(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&Ie(t),e}function Jr(e,t){let n=e[t];I(typeof n=="string",`${t} must be a string`),I(fe(n),`${t} must be a valid ISO timestamp`)}function hs(e,t,n){let r=e[t];r!==void 0&&I(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function to(e,t,n){let r=e[t];r!==void 0&&(I(typeof r=="string",`${n} must be a string`),I(fe(r),`${n} must be a valid ISO timestamp`))}function Pd(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){I(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();I(nn.includes(n),`event.recurrence.by_weekday entries must be one of: ${nn.join(", ")}`)}}}function Md(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)I(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function jd(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)I(typeof t=="string","event.recurrence.exdates entries must be strings"),I(fe(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function Fd(e){let t=Dt(e,"event.recurrence must be an object");I(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();I(tn.includes(n),`event.recurrence.freq must be one of: ${tn.join(", ")}`),hs(t,"interval","event.recurrence.interval"),hs(t,"count","event.recurrence.count"),to(t,"until","event.recurrence.until"),Pd(t.by_weekday),Md(t.by_month_day),jd(t.exdates)}function $d(e){for(let r of bs)I(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;I(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&I(typeof n=="number"&&Number.isInteger(n)&&n>=tt,`pm_format_version must be an integer >= ${tt}`),t}function Hd(e,t){let n=e.status;I(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=gn(n,r),i=r?r.definitions.map(s=>s.id):[...Qt];I(o!==void 0,`status must be one of: ${i.join(", ")}`)}function zd(e){let t=e.priority;I(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;I(Array.isArray(n),"tags must be an array");for(let r of n)I(typeof r=="string","tags entries must be strings")}function Ud(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){I(Number.isInteger(t)&&t>=0&&t<=100,"confidence number value must be an integer 0..100");return}if(typeof t=="string"){let n=t.trim().toLowerCase(),r=n==="med"||en.includes(n);I(r,`confidence string value must be one of: ${[...en,"med"].join(", ")}`);return}I(!1,"confidence must be a number or string")}}function Bd(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&Ie("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||Zt.includes(n);I(r,`severity value must be one of: ${[...Zt,"med"].join(", ")}`)}function Wd(e){e.regression!==void 0&&typeof e.regression!="boolean"&&Ie("regression must be a boolean")}function Vd(e){let t=e.reminders;if(t!==void 0){I(Array.isArray(t),"reminders must be an array");for(let n of t){let r=Dt(n,"reminders entries must be objects");I(typeof r.at=="string","reminder.at must be a string"),I(fe(r.at),"reminder.at must be a valid ISO timestamp"),I(typeof r.text=="string","reminder.text must be a string"),I(r.text.trim().length>0,"reminder.text must not be empty")}}}function qd(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(I(typeof e[t]=="string",`event.${t} must be a string`),I(e[t].trim().length>0,`event.${t} must not be empty`))}function Gd(e){e.recurrence!==void 0&&(Fd(e.recurrence),e.recurrence.until!==void 0&&I(me(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function Kd(e){let t=Dt(e,"events entries must be objects");I(typeof t.start_at=="string","event.start_at must be a string"),I(fe(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(I(typeof t.end_at=="string","event.end_at must be a string"),I(fe(t.end_at),"event.end_at must be a valid ISO timestamp"),I(me(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),qd(t),t.all_day!==void 0&&I(typeof t.all_day=="boolean","event.all_day must be a boolean"),Gd(t)}function Xd(e){let t=e.events;if(t!==void 0){I(Array.isArray(t),"events must be an array");for(let n of t)Kd(n)}}function Yd(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&I(typeof n=="string",`${t} must be a string`)}}function Jd(e){let t=e.type_options;if(t===void 0)return;let n=Dt(t,"type_options must be an object");for(let[r,o]of Object.entries(n))I(r.trim().length>0,"type_options keys must be non-empty"),I(typeof o=="string","type_options values must be strings"),I(o.trim().length>0,"type_options values must be non-empty strings")}function Qd(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){Ld(r,t)&&Ie(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=Ot(r,o,`metadata field "${r.metadata_key}"`)}catch(i){Ie(String(i?.message).replace(/^Invalid\s+/u,""))}}}function Zd(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Es(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?Ie(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function no(e,t){let n=Dt(e,"item metadata must be an object"),r=$d(n);Hd(n,t),zd(n),Ud(n),Bd(n),Wd(n),Jr(n,"created_at"),Jr(n,"updated_at"),n.deadline!==void 0&&Jr(n,"deadline"),Vd(n),Xd(n),to(n,"closed_at","closed_at"),to(n,"completed_at","completed_at"),Yd(n),Jd(n),Qd(n,r,t),Zd(n,t)}function el(e){if(!(!e||e.length===0))return[...e].map(t=>({id:t.id.trim(),kind:t.kind,created_at:t.created_at,author:t.author?.trim()||void 0,source_kind:t.source_kind?.trim()||void 0,author_source:t.author_source})).sort((t,n)=>{let r=me(t.created_at,n.created_at);if(r!==0)return r;let o=t.id.localeCompare(n.id);if(o!==0)return o;let i=t.kind.localeCompare(n.kind);return i!==0?i:(t.source_kind??"").localeCompare(n.source_kind??"")})}function Qr(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=me(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 tl(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=me(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function nl(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!tn.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>nn.includes(s)))).sort((s,a)=>yr(s)-yr(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=>fe(s)))).sort((s,a)=>me(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 rl(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(ol).sort(il)}function ol(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:nl(e.recurrence)};return En(t),t}function il(e,t){return vs([me(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 sl(e){if(!(!e||e.length===0))return e.map(t=>({path:it(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function al(e){if(!e||e.length===0)return;let t=e.map(ul).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)=>vs([me(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 rt(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function cl(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Zr(e){return typeof e=="string"?e:""}function dl(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 wn(e,t){return typeof e=="string"&&t.has(e)?e:void 0}function ll(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:wn(n.requested_pm_context_mode,eo),pm_context_mode:wn(n.pm_context_mode,eo),workspace_context_mode:wn(n.workspace_context_mode,gs),trust_reason:wn(n.trust_reason,Rd)}));return t.length>0?t:void 0}function ul(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=Ad.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:Zr(e.started_at),finished_at:Zr(e.finished_at),recorded_at:Zr(e.recorded_at),attempt:cl(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:rt(e.passed)??0,failed:rt(e.failed)??0,skipped:rt(e.skipped)??0,items:rt(e.items),linked_tests:rt(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:dl(e.measurements),executions:ll(e.executions)};return En(o),o}function fl(e){if(!(!Array.isArray(e)||e.length===0))return e.map(yl)}function xt(e){if(!Array.isArray(e))return;let t=[...new Set(e.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length>0?t:void 0}function oo(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function io(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function ys(e){if(!oo(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!io(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function ml(e){if(!oo(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!io(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function _l(e){let t=e?.trim().toLowerCase();if(!(!t||!eo.has(t)))return t}function pl(e){let t=e?.trim().toLowerCase();if(!(!t||!gs.has(t)))return t}function hl(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!oo(e))return{provenance_invalid:!0};let n=E(e.author),r=E(e.created_at),o=e.source_kind;return!n||!r||!fe(r)||o!=="local_mutation"&&o!=="merge_union"?{provenance_invalid:!0}:{provenance:{author:n,created_at:r,source_kind:o,source_ref:E(e.source_ref)}}}function yl(e){let t={command:e.command?.trim()||void 0,path:e.path?it(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:_l(e.pm_context_mode),workspace_context_mode:pl(e.workspace_context_mode),...hl(e.provenance,e.provenance_invalid),env_set:ys(e.env_set),env_clear:xt(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:xt(e.assert_stdout_contains),assert_stdout_regex:xt(e.assert_stdout_regex),assert_stderr_contains:xt(e.assert_stderr_contains),assert_stderr_regex:xt(e.assert_stderr_regex),assert_stdout_min_lines:rt(e.assert_stdout_min_lines),assert_json_field_equals:ys(e.assert_json_field_equals),assert_json_field_gte:ml(e.assert_json_field_gte),note:e.note?.trim()||void 0};return En(t),t}function gl(e){if(!(!e||e.length===0))return[...e].map(t=>({path:it(t.path),scope:t.scope,note:t.note?.trim()||void 0})).sort((t,n)=>{let r=t.scope.localeCompare(n.scope);if(r!==0)return r;let o=t.path.localeCompare(n.path);return o!==0?o:(t.note??"").localeCompare(n.note??"")})}function E(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function vl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.id),i=E(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=E(r.note);a&&(s.note=a),r.required_before_step===!0&&(s.required_before_step=!0),t.push(s)}return t.length>0?t:void 0}function bl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.path);if(!o)continue;let i={path:it(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=E(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function wl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.command),i=E(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=it(i));let a=E(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function El(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.path);if(!o)continue;let i={path:it(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=E(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function kl(e){if(e===null||typeof e!="object")return;let t=e,n=E(t.id),r=E(t.title),o=E(t.status),i=o&&Dd.has(o)?o:void 0,s=Ei(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 Il(d,t),d}function Il(e,t){let n=[["body","body"],["owner","owner"],["evidence","evidence"],["blocked_reason","blocked_reason"],["superseded_by","superseded_by"]];for(let[i,s]of n){let a=E(t[s]);a&&(e[i]=a)}let r=typeof t.completed_at=="string"?t.completed_at:void 0;r&&r.length>0&&(e.completed_at=r);let o=[["linked_items","linked_items",vl],["files","files",bl],["tests","tests",wl],["docs","docs",El]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function Sl(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=kl(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function Tl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=E(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=E(r.rationale);c&&(a.rationale=c);let d=E(r.evidence);d&&(a.evidence=d);let u=E(r.step_id);u&&(a.step_id=u),t.push(a)}return t.length>0?t:void 0}function Cl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=E(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=E(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function Ol(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.text);if(!o)continue;let i={text:o},s=E(r.command);s&&(i.command=s);let a=E(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function xl(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 ot(e){let t=0;for(;t<e.length&&e[t]===`
6
+ `;)t+=1;return e.slice(t).trimEnd()}function Rl(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(en.includes(t))return t}function Al(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(Zt.includes(t))return t}function Rt(e){return e||void 0}function Dl(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))io(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function Nl(e,t){if(!t?.fieldRegistry)return;let n=e;for(let r of t.fieldRegistry.definitions){let o=n[r.metadata_key];o!==void 0&&(n[r.metadata_key]=Ot(r,o,`metadata field "${r.metadata_key}"`))}}function Ll(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Es(t),o=Object.keys(e).filter(i=>!n.has(i)).sort((i,s)=>i.localeCompare(s));o.length>0&&t.unknownFieldPolicy==="reject"&&Ie(`unknown schema fields are not allowed: ${o.join(", ")}`),o.length>0&&t.onWarning?.(`item_unknown_schema_fields:${o.join(",")}`)}function kn(e,t={}){let n=ws(t),r=gn(e.status,n?.statusRegistry)??e.status,o=Array.from(new Set((Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string").map(s=>s.trim().toLowerCase()).filter(Boolean))).sort((s,a)=>s.localeCompare(a)),i={id:e.id,title:e.title,description:e.description,type:e.type,pm_format_version:ls(e.pm_format_version),source_type:E(e.source_type),type_options:xl(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:el(e.dependencies),comments:Qr(e.comments),notes:Qr(e.notes),learnings:Qr(e.learnings),files:sl(e.files),tests:fl(e.tests),test_runs:al(e.test_runs),docs:gl(e.docs),deadline:Rt(e.deadline),reminders:tl(e.reminders),events:rl(e.events),closed_at:Rt(e.closed_at),completed_at:Rt(e.completed_at),assignee:E(e.assignee),claim_principal:E(e.claim_principal),source_owner:E(e.source_owner),author:Rt(e.author),estimated_minutes:e.estimated_minutes,acceptance_criteria:e.acceptance_criteria??void 0,design:e.design??void 0,external_ref:e.external_ref??void 0,definition_of_ready:E(e.definition_of_ready),order:e.order,goal:E(e.goal),objective:E(e.objective),value:E(e.value),impact:E(e.impact),outcome:E(e.outcome),why_now:E(e.why_now),parent:E(e.parent),reviewer:E(e.reviewer),risk:e.risk??void 0,confidence:Rl(e.confidence),sprint:E(e.sprint),release:E(e.release),blocked_by:E(e.blocked_by),blocked_reason:E(e.blocked_reason),unblock_note:E(e.unblock_note),reporter:E(e.reporter),severity:Al(e.severity),environment:E(e.environment),repro_steps:E(e.repro_steps),resolution:E(e.resolution),expected_result:E(e.expected_result),actual_result:E(e.actual_result),affected_version:E(e.affected_version),fixed_version:E(e.fixed_version),component:E(e.component),regression:e.regression,customer_impact:E(e.customer_impact),close_reason:Rt(e.close_reason),plan_mode:E(e.plan_mode),plan_scope:E(e.plan_scope),plan_harness:E(e.plan_harness),plan_resume_context:E(e.plan_resume_context),plan_steps:Sl(e.plan_steps),plan_decisions:Tl(e.plan_decisions),plan_discoveries:Cl(e.plan_discoveries),plan_validation:Ol(e.plan_validation)};return Dl(i,e),Nl(i,n),Ll(i,n),En(i),i}function ks(e){return T(e,ye)}function Pl(e){let t=0,n=!1,r=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(n){if(r){r=!1;continue}if(i==="\\"){r=!0;continue}i==='"'&&(n=!1);continue}if(i==='"'){n=!0;continue}if(i==="{"){t+=1;continue}if(i==="}"&&(t-=1,t===0))return o}return-1}function Ml(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=Pl(e);if(t<0)return{frontMatter:"",body:e};let n=e.slice(0,t+1),r=e.slice(t+1).replace(/^\r?\n+/,"");return{frontMatter:n,body:r}}function jl(e){let t=e.charCodeAt(0)===65279?e.slice(1):e,n=t.match(/^[ \t]*---[ \t]*(?:\r?\n|$)/);if(!n)return{content:t,stripped:!1};let r=n[0].length;for(;r<t.length;){let o=t.indexOf(`
7
+ `,r),i=o===-1?t.length:o,s=t.slice(r,i).replace(/\r$/,""),a=o===-1?i:i+1;if(s.trim()==="---")return{content:t.slice(a).replace(/^\s+/,""),stripped:!0};r=a}return{content:t,stripped:!1}}function ro(e,t){return kn(e,{...t,onWarning:void 0})}function Fl(e,t,n={}){let r=jl(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=Ml(r.content);o||(e.trimStart().startsWith("{")&&At("json_markdown","JSON front matter is not valid JSON"),At("json_markdown","JSON Markdown item document is missing JSON front matter"));let s;try{s=JSON.parse(o)}catch{At("json_markdown","JSON front matter is not valid JSON")}return no(s,t),{metadata:ro(s,n),body:ot(i)}}function $l(e,t,n={}){let r;try{r=Yr(e).value}catch{At("toon","TOON item document is not valid TOON")}I(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(!bs.some(a=>Object.prototype.hasOwnProperty.call(o,a))&&!Object.prototype.hasOwnProperty.call(o,"front_matter")&&At("toon","TOON input does not have the shape of an item document"),Object.prototype.hasOwnProperty.call(o,"front_matter"))return no(o.front_matter,t),I(o.body===void 0||typeof o.body=="string","TOON item document body must be a string"),{metadata:ro(o.front_matter,n),body:ot(typeof o.body=="string"?o.body:"")};let{body:i,...s}=o;return I(i===void 0||typeof i=="string","TOON item document body must be a string"),no(s,t),{metadata:ro(s,n),body:ot(typeof i=="string"?i:"")}}function Hl(e,t={}){let n=kn(e.metadata,t),r=ks(n),o=JSON.stringify(r,null,2),i=ot(e.body??"");return i?`${o}
8
+
9
+ ${i}
10
+ `:`${o}
11
+ `}function zl(e,t={}){let n=kn(e.metadata,t),r=ks(n),o=ot(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=xd(s),c;try{c=Yr(a).value}catch(d){throw new v("Refusing to persist a TOON item document that the configured decoder cannot read back.",b.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_error",format:"toon",required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:d instanceof Error?d.message:String(d)})}if(!ps(c,s)){let d=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:{},u=Object.keys(s).find(f=>!ps(s[f],d[f]))??"document";throw new v(`Refusing to persist a lossy TOON item document; round-trip mismatch at field "${u}".`,b.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_mismatch",format:"toon",field:u,required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:"The encoded document decoded to a value different from the canonical item payload."})}return`${a}
12
+ `}function In(e,t={}){let n=bn(e);if(n)throw new v(`Merge conflict markers detected in item document at line ${n.line} (${n.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,b.GENERIC_FAILURE,{code:"merge_conflict_markers_detected",reason:"merge_conflict",required:"Resolve merge-conflict markers in the item file before parsing or mutation commands.",why:"Partially merged documents can corrupt item metadata and history integrity.",examples:["git status","git add <resolved-file> && git commit"],nextSteps:["Resolve conflicts, save the file, then rerun the pm command."]});let r=t.format??"toon",o=ws(t);return r==="toon"?$l(e,o,t):Fl(e,o,t)}function Is(e,t={}){return(t.format??"toon")==="toon"?zl(e,t):Hl(e,t)}function ne(e,t={}){return{metadata:kn(e.metadata,t),body:ot(e.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]="bfa74c9e-a366-5b09-a7bc-869226fb6140")}catch{}})();async function Ul(e,t){let n=await ge(e);if(n===null)return{raw:n,entries:[]};if(await ve({path:e,scope:"project"}),n.trim()==="")return{raw:n,entries:[]};let r=bn(n);if(r)throw new v(`History for ${t} contains merge conflict markers at line ${r.line} (${r.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,b.GENERIC_FAILURE,{code:"history_merge_conflict_markers_detected",required:"Repair the history stream by resolving merge-conflict markers.",why:"Conflict markers break JSONL parsing and invalidate deterministic audit history.",examples:[`pm history ${t}`,`pm restore ${t} <timestamp-or-version>`],nextSteps:["Resolve or restore the history file, then rerun the command."]});let o=[];for(let[i,s]of n.split(/\r?\n/).entries()){let a=s.trim();if(a)try{o.push(JSON.parse(a))}catch{throw new v(`History for ${t} contains invalid JSON at line ${i+1}. Repair or restore the history stream and retry.`,b.GENERIC_FAILURE,{code:"history_json_invalid",nextSteps:[`Run pm history-repair ${t} --salvage-tail --dry-run to check whether only an invalid suffix is damaged.`]})}}return{raw:n,entries:o}}async function Se(e,t){return(await Ul(e,t)).entries}import vo from"fast-json-patch";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="24b1fb96-5c1e-5669-be21-fdeef4d413a6")}catch{}})();function Ss(e){let t=[],n=e[0]?.op==="history_compact_baseline",r=n?1:void 0,o=!1;for(let[i,s]of e.entries())s.op==="delete"&&(o=!0),s.op==="create"&&(r!==void 0&&t.push({prior_genesis_index:r,repeated_create_index:i+1,sequence:o?"delete_then_create":n?"checkpoint_then_create":"multiple_creates"}),r??=i+1,o=!1);return 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]="82c79093-2a40-5b4c-8d41-637b0ae03c4f")}catch{}})();import Ws from"fast-json-patch";import Hs from"node:fs/promises";import vu from"node:path";import j from"node:fs/promises";import z from"node:path";import{randomUUID as Cs}from"node:crypto";import{createRequire as Xl}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9d5caf29-c1f2-5120-bc0b-c64a0bdd19ff")}catch{}})();var Bl=["docs_add","files_add","history:author-acknowledge","history_author_acknowledge","history_compact","history_compact_baseline","history_redact","history_repair","history_salvage","normalize","release","test_run_track","tests_add","tests_remove","update_audit","update_ownership_bypass"],Wl=["append","cancel","claim","close","comment_add","create","learning_add","note_add","reopen"],Vl=new Set(Bl),ql=new Set(Wl),Gl=new Set(["actual_result","affected_version","assignee","blocked_by","blocked_reason","close_reason","confidence","customer_impact","definition_of_ready","dependencies","docs","environment","expected_result","files","fixed_version","goal","impact","learnings","notes","objective","order","outcome","parent","release","reminders","reporter","repro_steps","resolution","reviewer","severity","sprint","tests","test_runs","unblock_note","updated_at","value","why_now"]);function Kl(e){let t=e.path.split("/").filter(Boolean);return t[0]==="metadata"||t[0]==="front_matter"?t[1]:t[0]==="body"?"body":void 0}function st(e){return e.event_class==="substantive"||e.event_class==="maintenance"?e.event_class:Vl.has(e.op)?"maintenance":ql.has(e.op)||e.op!=="update"?"substantive":Array.isArray(e.patch)&&e.patch.length>0&&e.patch.every(t=>{let n=Kl(t);return n!==void 0&&Gl.has(n)})?"maintenance":"substantive"}(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]="542d77d0-7bb8-5ed0-a1da-09de33d3767f")}catch{}})();var Yl="history-event-index.sqlite",ao="5",Jl=8,Ql="history-event-index",co=300,Os=3e4,Zl="history-event-index-invalidation",eu="history-event-index-invalidations",tu=co*2*1e3,xn=Symbol("history-index-lock-contended"),ze=new Map;function Lt(e){return z.join(e,"runtime",Yl)}function An(e){return z.join(e,"runtime",eu)}async function nu(e){let t=await j.readdir(An(e)).catch(n=>{if(te(n))return[];throw n});return{pending:t.filter(n=>n.endsWith(".pending")).sort(),committed:t.filter(n=>n.endsWith(".committed")).sort()}}async function so(e){let t=await nu(e);return{pending:(await Promise.all(t.pending.map(async r=>{let o=/^(\d+)-(unknown|\d+)-(\d+)-.+\.pending$/u.exec(r);if(o!==null){let i=o[2];if(await Hi({pid:Number(o[1]),...i==="unknown"?{}:{process_start_identity:i}},Math.max(0,Date.now()-Number(o[3])),tu))return r}return await j.rm(z.join(An(e),r),{force:!0}),null}))).filter(r=>r!==null),committed:t.committed}}async function Nt(e,t){let n=await Q(e,Zl,co,`history-event-index-invalidation:${process.pid}`,!1,!1,Os);try{return await t()}finally{await n()}}async function ru(e){let t=An(e);await j.mkdir(t,{recursive:!0});let n=Cs(),r=await $i(),o=z.join(t,`${r.pid}-${r.process_start_identity??"unknown"}-${Date.now()}-${n}.pending`);return await j.writeFile(o,`pending
13
+ `,{flag:"wx"}),{pendingPath:o,committedPath:z.join(t,`${n}.committed`)}}function ou(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}async function Sn(e){try{await j.rm(Lt(e),{force:!0})}catch{}}async function Dn(e,t){let n=await Q(e,Ql,co,`history-event-index:${process.pid}`,!1,!1,Os);try{return await t()}finally{await n()}}async function xs(e){let t=z.join(e,"history"),n=await j.readdir(t,{withFileTypes:!0}).catch(s=>{if(typeof s=="object"&&s!==null&&"code"in s&&s.code==="ENOENT")return[];throw s}),r=ze.get(e)??{streams:new Map,ordered_events:[]},o=new Set,i=!ze.has(e);for(let s of n.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")).sort((a,c)=>a.name.localeCompare(c.name))){let a=s.name.slice(0,-6);o.add(a);let c=z.join(t,s.name),d=await j.stat(c,{bigint:!0}),u=[d.dev,d.ino,d.size,d.mtimeNs,d.ctimeNs].join(":");if(r.streams.get(a)?.signature===u)continue;let f=await Rs(c,a);r.streams.set(a,{signature:u,byte_size:Number(d.size),events:f.map((m,p)=>({stream_id:a,stream_offset:p,entry:m}))}),i=!0}for(let s of r.streams.keys())o.has(s)||(r.streams.delete(s),i=!0);if(i&&(r.ordered_events=[...r.streams.values()].flatMap(s=>s.events).sort(lo)),ze.delete(e),ze.set(e,r),ze.size>Jl){let s=ze.keys().next().value;ze.delete(s)}return{events:r.ordered_events,stream_byte_sizes:new Map([...r.streams].map(([s,a])=>[s,a.byte_size]))}}async function Rs(e,t){let n=await Se(e,t);for(let[r,o]of n.entries())if(typeof o.ts!="string"||!Qe(o.ts.trim()))throw new v(`History for ${t} contains an invalid or sub-millisecond timestamp at line ${r+1}. Repair or restore the history stream and retry.`,b.GENERIC_FAILURE,{code:"history_timestamp_invalid"});return n.map(r=>({...r,ts:new Date(r.ts.trim()).toISOString()}))}async function iu(e){return(await xs(e)).events}function su(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}function au(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?su(t):null}var Tn;function Nn(){return Tn!==void 0||(Tn=au(process.versions.node,Xl(import.meta.url))),Tn}function cu(e){e.exec(`
14
+ PRAGMA journal_mode = OFF;
15
+ PRAGMA synchronous = OFF;
16
+ CREATE TABLE metadata (
17
+ key TEXT PRIMARY KEY,
18
+ value TEXT NOT NULL
19
+ ) STRICT;
20
+ CREATE TABLE events (
21
+ stream_id TEXT NOT NULL,
22
+ stream_offset INTEGER NOT NULL,
23
+ ts TEXT NOT NULL,
24
+ author TEXT NOT NULL,
25
+ agent_harness TEXT,
26
+ agent_instance TEXT,
27
+ op TEXT NOT NULL,
28
+ event_class TEXT NOT NULL CHECK(event_class IN ('substantive', 'maintenance')),
29
+ entry_json TEXT NOT NULL,
30
+ PRIMARY KEY(stream_id, stream_offset)
31
+ ) STRICT;
32
+ CREATE TABLE streams (
33
+ stream_id TEXT PRIMARY KEY,
34
+ byte_size INTEGER NOT NULL CHECK(byte_size >= 0)
35
+ ) STRICT;
36
+ CREATE INDEX events_order
37
+ ON events(ts, stream_id, stream_offset);
38
+ CREATE INDEX events_op_order
39
+ ON events(op, ts, stream_id, stream_offset);
40
+ CREATE INDEX events_class_stream_order
41
+ ON events(event_class, stream_id, ts, stream_offset);
42
+ CREATE INDEX events_author_order
43
+ ON events(author, ts, stream_id, stream_offset);
44
+ CREATE INDEX events_harness_order
45
+ ON events(agent_harness, ts, stream_id, stream_offset);
46
+ CREATE INDEX events_instance_order
47
+ ON events(agent_instance, ts, stream_id, stream_offset);
48
+ `),e.prepare("INSERT INTO metadata(key, value) VALUES ('version', ?)").run(ao)}function As(e,t){let n={...t.entry,ts:new Date(t.entry.ts.trim()).toISOString()};e.prepare(`INSERT INTO events(
49
+ stream_id, stream_offset, ts, author, agent_harness,
50
+ agent_instance, op, event_class, entry_json
51
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(t.stream_id,t.stream_offset,n.ts,n.author,n.agent_harness??null,n.agent_instance??null,n.op,st(n),JSON.stringify(n))}function Ds(e){let t=JSON.parse(String(e.entry_json));return typeof t.ts!="string"||!Qe(t.ts.trim())?null:{stream_id:String(e.stream_id),stream_offset:Number(e.stream_offset),entry:{...t,ts:new Date(t.ts.trim()).toISOString()}}}function Ns(e,t,n){e.prepare(`INSERT INTO streams(stream_id, byte_size) VALUES (?, ?)
52
+ ON CONFLICT(stream_id) DO UPDATE SET byte_size = excluded.byte_size`).run(t,n)}async function du(e){let t=Nn();return t?Dn(e,async()=>{let n;try{n=await Nt(e,()=>so(e))}catch(s){if(s instanceof v&&s.code==="lock_conflict")return!1;throw s}if(n.pending.length>0)return!1;let r=Lt(e);await j.mkdir(z.dirname(r),{recursive:!0});let o=`${r}.${Cs()}.tmp`,i;try{i=new t(o),cu(i),i.exec("BEGIN IMMEDIATE");let s=await xs(e);for(let c of s.events)As(i,c);for(let[c,d]of s.stream_byte_sizes)Ns(i,c,d);i.exec("COMMIT"),i.close(),i=void 0;let a=await Nt(e,async()=>{let c=await so(e);return c.pending.length>0||!ou(n.committed,c.committed)?!1:(await j.rm(r,{force:!0}),await j.rename(o,r),await Promise.all(n.committed.map(d=>j.rm(z.join(An(e),d),{force:!0}))),!0)});return a||await j.rm(o,{force:!0}),a}catch(s){throw i?.close(),await j.rm(o,{force:!0}),s}}):!1}function Cn(e,t){return!t||t.length===0||t.includes(e)}function lo(e,t){return e.entry.ts.localeCompare(t.entry.ts)||e.stream_id.localeCompare(t.stream_id)||e.stream_offset-t.stream_offset}function Rn(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():e}function lu(e,t){if(t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0){if(lo(e,{stream_id:t.after_stream_id,stream_offset:t.after_stream_offset,entry:{...e.entry,ts:Rn(t.after_ts)}})<=0)return!1}else if(t.since_ts!==void 0&&e.entry.ts<Rn(t.since_ts))return!1;return!0}function uu(e,t){return!t.harnesses||t.harnesses.length===0||t.harnesses.includes(e.entry.agent_harness??"")?!0:e.entry.agent_harness===void 0&&(t.harness_alias_authors??[]).includes(e.entry.author)}function fu(e,t){return!lu(e,t)||!Cn(e.entry.op,t.ops)||!Cn(e.entry.author,t.authors)||!Cn(e.entry.agent_instance??"",t.agent_instances)||!Cn(e.stream_id,t.stream_ids)||!uu(e,t)?!1:(t.provenance??[]).every(n=>{let r=e.entry.agent_provenance?.[n.dimension]?.value;return r!==void 0&&n.values.includes(r)})}async function _y(e,t){let n=Math.max(0,Math.floor(t.limit)),r=(await iu(e)).filter(o=>fu(o,t)).slice(0,n+1);return{events:r.slice(0,t.limit),has_more:r.length>t.limit}}async function Ls(e,t,n){let r=z.dirname(z.dirname(e)),o=Nn();if(!o){await n();return}let i=!1;try{await Dn(r,async()=>{let s=Lt(r);try{await j.access(s)}catch{await n();return}let a;try{if(a=new o(s),a.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==ao)throw new TypeError("Unsupported history event index version")}catch{a?.close(),await j.rm(s,{force:!0}),await n();return}try{a.exec("PRAGMA busy_timeout = 5000"),a.exec("BEGIN IMMEDIATE")}catch(d){throw a.close(),d}let c=!1;try{await n(),c=!0,i=!0;let d=z.basename(e,".jsonl"),u=a.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(d);As(a,{stream_id:d,stream_offset:Number(u.value),entry:t}),Ns(a,d,(await j.stat(e)).size),a.exec("COMMIT"),a.close()}catch(d){if(a?.close(),!c)throw d;await Sn(r)}})}catch(s){if(i){await Sn(r);return}if(!(s instanceof v)||s.code!=="lock_conflict")throw s;let a;try{await Nt(r,async()=>{let c=await ru(r);a=c.pendingPath;try{await n(),i=!0}catch(d){throw await j.rm(c.pendingPath,{force:!0}),d}await j.rename(c.pendingPath,c.committedPath),await Sn(r)})}catch(c){if(i){await Sn(r);try{await j.rm(a,{force:!0})}catch{}return}throw c}}}async function uo(e){await j.rm(Lt(z.dirname(z.dirname(e))),{force:!0})}function On(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function mu(e,t,n,r){if(!n||n.length===0)return;let o=n.map(()=>"?").join(", "),i=r??[];if(i.length>0){e.push(`(agent_harness IN (${o}) OR (agent_harness IS NULL AND author IN (${i.map(()=>"?").join(", ")})))`),t.push(...n,...i);return}e.push(`agent_harness IN (${o})`),t.push(...n)}async function Ps(e,t){let n=await so(e);if(n.pending.length>0||n.committed.length>0)return;let r=new t(Lt(e),{readOnly:!0});try{if(r.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value===ao)return r}catch(o){throw r.close(),o}r.close()}async function py(e,t){let n=Nn();if(!n)return null;let r=[],o=[];if(t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0){r.push("(ts > ? OR (ts = ? AND stream_id > ?) OR (ts = ? AND stream_id = ? AND stream_offset > ?))");let a=Rn(t.after_ts);o.push(a,a,t.after_stream_id,a,t.after_stream_id,t.after_stream_offset)}else t.since_ts!==void 0&&(r.push("ts >= ?"),o.push(Rn(t.since_ts)));On(r,o,"op",t.ops),On(r,o,"author",t.authors),mu(r,o,t.harnesses,t.harness_alias_authors),On(r,o,"agent_instance",t.agent_instances);for(let a of t.provenance??[])r.push(`json_extract(entry_json, '$.agent_provenance.${a.dimension}.value') IN (${a.values.map(()=>"?").join(", ")})`),o.push(...a.values);On(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s;try{return await Dn(e,async()=>Nt(e,async()=>{if(s=await Ps(e,n),!s)return null;let a=await pu(s,e,t.stream_ids);if(!await js(s,e,a))return s.close(),s=void 0,null;let c=s.prepare(`SELECT stream_id, stream_offset, entry_json
53
+ FROM events${i}
54
+ ORDER BY ts, stream_id, stream_offset
55
+ LIMIT ?`).all(...o,Math.max(0,Math.floor(t.limit))+1),d=c.slice(0,t.limit).map(Ds);return s.close(),s=void 0,d.includes(null)?null:{events:d,has_more:c.length>t.limit}}))}catch{return s?.close(),null}}function Ms(e,t){let n=Object.create(null);for(let r of e){if(!t.has(r.stream_id)||st(r.entry)!=="substantive")continue;let o=n[r.stream_id];(o===void 0||lo(o,r)<0)&&(n[r.stream_id]=r)}return n}async function _u(e,t){if(z.basename(t)!==t)return null;try{return(await j.stat(z.join(e,"history",`${t}.jsonl`))).size}catch(n){if(te(n))return 0;throw n}}async function js(e,t,n){for(let r=0;r<n.length;r+=500){let o=n.slice(r,r+500),i=new Map(e.prepare(`SELECT stream_id, byte_size FROM streams
56
+ WHERE stream_id IN (${o.map(()=>"?").join(", ")})`).all(...o).map(a=>[String(a.stream_id),Number(a.byte_size)])),s=await Promise.all(o.map(a=>_u(t,a)));for(let[a,c]of s.entries()){if(c===null)return!1;let d=o[a],u=i.get(d);if(!(c===0&&u===void 0)&&c!==u)return!1}}return!0}async function pu(e,t,n){if(n&&n.length>0)return[...new Set(n.filter(i=>i.trim().length>0))];let r=e.prepare("SELECT stream_id FROM streams").all().map(i=>String(i.stream_id)),o=await j.readdir(z.join(t,"history"),{withFileTypes:!0}).then(i=>i.filter(s=>s.isFile()&&s.name.endsWith(".jsonl")).map(s=>s.name.slice(0,-6))).catch(i=>{if(te(i))return[];throw i});return[...new Set([...r,...o])]}async function Ts(e,t,n,r){if(!e)return null;let o;try{return await Dn(t,async()=>Nt(t,async()=>{if(o=await Ps(t,e),!o)return null;if(!await js(o,t,n))return o.close(),o=void 0,null;let i=[];for(let s=0;s<n.length;s+=500){let a=n.slice(s,s+500),d=o.prepare(`SELECT stream_id, stream_offset, entry_json
57
+ FROM (
58
+ SELECT stream_id, stream_offset, entry_json,
59
+ ROW_NUMBER() OVER (
60
+ PARTITION BY stream_id
61
+ ORDER BY ts DESC, stream_offset DESC
62
+ ) AS recency_rank
63
+ FROM events
64
+ WHERE event_class = 'substantive'
65
+ AND stream_id IN (${a.map(()=>"?").join(", ")})
66
+ )
67
+ WHERE recency_rank = 1`).all(...a).map(Ds);if(d.includes(null))return o.close(),o=void 0,null;i.push(...d)}return o.close(),o=void 0,Ms(i,r)}))}catch(i){return o?.close(),i instanceof v&&i.code==="lock_conflict"?xn:null}}async function hy(e,t){let n=[...new Set(t.filter(a=>a.trim().length>0&&z.basename(a)===a))];if(n.length===0)return{};let r=new Set(n),o=Nn(),i=await Ts(o,e,n,r);if(i!==null&&i!==xn)return i;if(o&&i!==xn)try{if(await du(e)){let a=await Ts(o,e,n,r);if(a!==null&&a!==xn)return a}}catch{}let s=[];return await Promise.all(n.map(async a=>{let c=z.join(e,"history",`${a}.jsonl`);(await Rs(c,a).catch(u=>{if(u instanceof v&&u.code==="history_timestamp_invalid")return[];throw u})).forEach((u,f)=>{s.push({stream_id:a,stream_offset:f,entry:u})})})),Ms(s,r)}import fo from"node:fs/promises";import at 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]="979782f5-f4ee-5df5-a68a-0c51ab0548ae")}catch{}})();var hu=at.join("runtime","history-drift-cache.json"),Fs={EINVAL:"invalid_cache_path",EISDIR:"cache_path_is_directory",ENOENT:"invalid_cache_path",ENOTDIR:"invalid_cache_path",ERR_FS_EISDIR:"cache_path_is_directory"};function $s(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function yu(e){let t=at.join(e,hu),n=!1,r="invalid_cache_path";try{n=(await fo.stat(await fo.realpath(e))).isDirectory()}catch(o){let i=$s(o);r=i===void 0?"unknown":Fs[i]??"filesystem_error"}if(!n){Tr(`[pm] warning: history_drift_cache_invalidation_failed:${r}
68
+ `);return}try{await fo.rm(t,{force:!0})}catch(o){let i=$s(o);if(te(o))return;let s=i===void 0?"unknown":Fs[i]??"filesystem_error";Tr(`[pm] warning: history_drift_cache_invalidation_failed:${s}
69
+ `)}}async function Ln(e){let t=at.dirname(at.resolve(e));at.basename(t)==="history"&&await yu(at.dirname(t))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6583b1e2-5eae-5e97-af83-a78adac1d571")}catch{}})();var bu={front_matter:{},body:""},Ue=3,Pt=[1,2,3],wu=1,Eu=[1];function Vs(e){return ke(L(e),e.hash_algorithm)}function ct(e){return an(L(e))}function Hy(e){return an(L(e))}function ho(e){let t={...e,record_hash_version:wu},{record_hash:n,...r}=t;return{...t,record_hash:Vs(r)}}function jn(e){try{$e(e.hash_algorithm)}catch{return{ok:!1,error:"unsupported_history_hash_algorithm"}}if(e.record_hash_version===void 0&&e.record_hash===void 0)return{ok:!0,coverage:"item_state_only"};if(e.record_hash_version===void 0||e.record_hash===void 0)return{ok:!1,error:"incomplete_record_hash_envelope"};if(!Eu.includes(e.record_hash_version))return{ok:!1,error:"unsupported_record_hash_version"};let{record_hash:t,...n}=e;return Vs(n)===e.record_hash?{ok:!0,coverage:"record_and_item_state"}:{ok:!1,error:"record_hash_mismatch"}}function ku(e,t){let n={before_hash:e.before_hash,after_hash:e.after_hash,patch_hash:ct(e.patch)};return e.hash_algorithm!==void 0&&(n.hash_algorithm=e.hash_algorithm),e.item_hash_version!==void 0&&(n.item_hash_version=e.item_hash_version),t.retainOriginalPatch&&(n.patch=structuredClone(e.patch)),t.retainPriorRecordHash!==!1&&e.record_hash_version!==void 0&&e.record_hash!==void 0&&(n.record_hash_version=e.record_hash_version,n.record_hash=e.record_hash,n.record=structuredClone(e)),n}function qs(e,t,n={}){let r=jn(e);if(!r.ok)throw new TypeError(r.error);let o=ct(e.patch),i=n.retainPriorRecord===!0||e.before_hash!==t.before_hash||e.after_hash!==t.after_hash||e.item_hash_version!==t.item_hash_version||e.hash_algorithm!==t.hash_algorithm||o!==ct(t.patch),s=ho({...t,...i?{reanchor_evidence:[...t.reanchor_evidence??[],ku(e,n)]}:{}}),a=yo(s);if(!a.ok)throw new TypeError(a.error);return s}function Gs(e){return!Array.isArray(e)||Object.keys(e).length!==e.length?!1:e.every(t=>!Be(t)||typeof t.path!="string"?!1:t.op==="move"||t.op==="copy"?typeof t.from=="string":["add","replace","test"].includes(t.op)?Object.hasOwn(t,"value"):t.op==="remove")}function Iu(e){return Be(e)&&typeof e.ts=="string"&&typeof e.author=="string"&&typeof e.op=="string"&&typeof e.before_hash=="string"&&typeof e.after_hash=="string"&&Gs(e.patch)}function Su(e){let t=e.record_hash_version!==void 0,n=e.record_hash!==void 0;return t===n}function Tu(e){return!Be(e)||!Su(e)||typeof e.before_hash!="string"||typeof e.after_hash!="string"||typeof e.patch_hash!="string"||!/^[a-f0-9]{64}$/u.test(e.patch_hash)||e.patch!==void 0&&!Gs(e.patch)||e.record_hash_version!==void 0&&typeof e.record_hash_version!="number"||e.record_hash!==void 0&&(typeof e.record_hash!="string"||!/^(?:[a-f0-9]{64}|[a-f0-9]{128})$/u.test(e.record_hash))?!1:e.record===void 0||Iu(e.record)}function Cu(e){try{for(let t of e){if(!Tu(t))return!1;$e(t.hash_algorithm)}return!0}catch{return!1}}function Ou(e){let t=e.record;return t!==void 0&&t.before_hash===e.before_hash&&t.after_hash===e.after_hash&&t.item_hash_version===e.item_hash_version&&t.hash_algorithm===e.hash_algorithm&&t.record_hash_version===e.record_hash_version&&t.record_hash===e.record_hash&&ct(t.patch)===e.patch_hash}function xu(e,t,n){if(t.patch&&ct(t.patch)!==t.patch_hash)return{kind:"patch_hash_mismatch"};if(t.record)return Ou(t)?{kind:"record",entry:t.record}:{kind:"record_hash_mismatch"};let r=t.patch??e.patch;if(ct(r)!==t.patch_hash)return{kind:"digest_only"};let o={...e,before_hash:t.before_hash,after_hash:t.after_hash,patch:r,hash_algorithm:t.hash_algorithm,...t.item_hash_version===void 0?{}:{item_hash_version:t.item_hash_version},...t.record_hash_version===void 0?{}:{record_hash_version:t.record_hash_version},...t.record_hash===void 0?{}:{record_hash:t.record_hash},...n.length===0?{}:{reanchor_evidence:n}};return t.hash_algorithm===void 0&&delete o.hash_algorithm,n.length===0&&delete o.reanchor_evidence,t.item_hash_version===void 0&&delete o.item_hash_version,t.record_hash_version===void 0||t.record_hash===void 0?{kind:"legacy",entry:o}:{kind:"record",entry:o}}function yo(e){let t=e.reanchor_evidence;if(t===void 0)return{ok:!0,coverage:"none"};if(!Array.isArray(t)||!Cu(t))return{ok:!1,error:"rewrite_evidence_invalid"};if(t.length===0)return{ok:!0,coverage:"none"};let n=e;for(let r=t.length-1;r>=0;r-=1){let o=t[r],i=xu(n,o,t.slice(0,r));if(i.kind==="patch_hash_mismatch")return{ok:!1,error:"rewrite_evidence_patch_hash_mismatch"};if(i.kind==="record_hash_mismatch")return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};if(i.kind==="digest_only")return{ok:!0,coverage:"digest_only"};if(i.kind==="legacy")return{ok:!0,coverage:"legacy_anchor_only"};if(!jn(i.entry).ok)return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};n=i.entry}return{ok:!0,coverage:"complete"}}function Pn(e,t){return(e??"").localeCompare(t??"")}function zs(e,t){return(e??0)-(t??0)}function Te(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function Ru(e,t){return[e.scope.localeCompare(t.scope),Pn(e.path,t.path),Pn(e.command,t.command),zs(e.timeout_seconds,t.timeout_seconds),Pn(e.pm_context_mode,t.pm_context_mode),+!!e.shared_host_safe-+!!t.shared_host_safe,Te(e.env_clear,t.env_clear,[]),Te(e.env_set,t.env_set,{}),Te(e.assert_stdout_contains,t.assert_stdout_contains,[]),Te(e.assert_stdout_regex,t.assert_stdout_regex,[]),Te(e.assert_stderr_contains,t.assert_stderr_contains,[]),Te(e.assert_stderr_regex,t.assert_stderr_regex,[]),zs(e.assert_stdout_min_lines,t.assert_stdout_min_lines),Te(e.assert_json_field_equals,t.assert_json_field_equals,{}),Te(e.assert_json_field_gte,t.assert_json_field_gte,{}),Pn(e.note,t.note)].find(r=>r!==0)??0}function Au(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function Du(e,t){let n=Au(t);if(n.length===0)return!0;let r=e;for(let o of n){let i=/^(0|[1-9]\d*)$/.test(o)?Number(o):-1,s=Array.isArray(r)?i>=0&&i<r.length?r[i]:void 0:Be(r)&&Object.prototype.hasOwnProperty.call(r,o)?r[o]:void 0;if(s===void 0)return!1;r=s}return!0}function Nu(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!Du(r,o.path)?{...o,op:"add"}:o;n.push(i),r=Ws.applyPatch(r,[i],!0,!0).newDocument}return n}function Mn(e,t,n=!1){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let o=ne(e),s=t===1||t===2&&n?{...o.metadata,...o.metadata.dependencies===void 0?{}:{dependencies:o.metadata.dependencies.map(d=>({...d,id:d.id.toLowerCase()}))},...o.metadata.tests===void 0?{}:{tests:o.metadata.tests.map(({workspace_context_mode:d,provenance:u,provenance_invalid:f,...m})=>m)},...o.metadata.test_runs===void 0?{}:{test_runs:o.metadata.test_runs.map(({executions:d,...u})=>u)}}:o.metadata,a=t===1&&s.tests?{...s,tests:[...s.tests].sort(Ru)}:s;return{front_matter:T(a,ye),body:o.body}}function Us(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let n=ne(e);return{metadata:T(n.metadata,ye),body:n.body}}function zy(e){return Ks(e,Ue)}function Ks(e,t,n){if(!Pt.some(r=>r===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return ke(L(Mn(e,t)),n)}function Xs(e,t,n){let r=Ks(e,t,n);return t===2?[r,ke(L(Mn(e,t,!0)),n)]:[r]}function Uy(){return an(L(bu))}function dt(e){let t=un(e.op),n=Mn(e.before,Ue),r=Mn(e.after,Ue),o=Us(e.before),i=Us(e.after),s=Ws.compare(o,i),a=Nu(o,s),c=is(e.author),d=c.harness?Object.fromEntries(Object.entries(rs().provenance_outcomes).filter(([,p])=>p.resolver!==void 0&&p.status!=="resolved")):void 0,u=d===void 0||Object.keys(d).length===0?e.context:{...e.context,agent_provenance_outcomes:d},f=e.hashAlgorithm??cs,m={hash_algorithm:f,ts:e.nowIso,author:e.author,author_source:e.authorSource??os(e.author),...c.harness?{agent_harness:c.harness}:{},...c.model?{agent_model:c.model}:{},...c.model_source?{agent_model_source:c.model_source}:{},...c.instance?{agent_instance:c.instance}:{},...c.provenance?{agent_provenance:c.provenance}:{},...c.episode?{agent_episode:c.episode}:{},op:t,patch:a,before_hash:ke(L(n),f),after_hash:ke(L(r),f),item_hash_version:Ue,message:e.message===void 0?void 0:e.message,...u===void 0?{}:{context:u}};return ho({...m,event_class:st(m)})}function Be(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function mo(e){return new v(e,b.GENERIC_FAILURE,{code:"history_timestamp_invalid"})}function Ys(e){let t=e.ts.trim();if(t.length===0)return be();if(!Qe(t))throw mo("History timestamp must be a valid RFC 3339 date-time with millisecond precision");if(t!==e.ts)throw mo("History timestamp must not contain surrounding whitespace");return e.ts}function Bs(e,t){let n=e.ts;if(typeof n=="string"&&n.trim().length>0){if(!Qe(n))throw mo("History timestamp must be a valid RFC 3339 date-time with millisecond precision");return e}return{...e,ts:t}}function _o(e,t){let n=Ys(t);if(typeof e=="string"){let r;try{r=JSON.parse(e)}catch{return e}return Be(r)?JSON.stringify(Bs(r,n)):e}return Be(e)?JSON.stringify(Bs(e,n)):JSON.stringify(e)}async function Lu(e,t,n){if(n===!1)return!0;if(typeof n=="string"){let s=_o(n,t);return await po(e,s),await Ln(e),await uo(e),!0}if(typeof n!="object"||n===null)return!1;let r=n;if(r.skip===!0)return!0;let o=typeof r.history_path=="string"?r.history_path:e,i=_o(typeof r.line=="string"?r.line:r.entry??t,t);return await po(o,i),await Ln(o),await uo(o),!0}async function po(e,t){let n;try{n=JSON.parse(t)}catch{n=null}if(!Be(n)||n.op!=="create"){await hi(e,t);return}await Hs.mkdir(vu.dirname(e),{recursive:!0});try{await Hs.writeFile(e,`${t}
70
+ `,{encoding:"utf8",flag:"wx"})}catch(r){throw r.code!=="EEXIST"?r:new v("This item identity is reserved by an existing history stream.",b.CONFLICT,{code:"item_identity_reserved",required:"Choose a new item ID or restore the original item from its history.",nextSteps:["Run pm history <id> --full, then pm restore <id> <version> to recover the original item."]})}}async function lt(e,t){let n=await Ct("history_append",{history_path:e,entry:t});if(n.handled&&await Lu(e,t,n.result))return;let r=t.ts.trim().length>0?t:{...t,ts:Ys(t)},o=ho({...r,hash_algorithm:$e(r.hash_algorithm),event_class:st(r)});await Ls(e,o,async()=>{await po(e,_o(o,o))}),await Ln(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]="7a0fa585-7e3c-57fd-b29c-c26e9c522cb1")}catch{}})();var ut={metadata:{},body:""};function Fn(){return structuredClone(ut)}function Qy(e,t=Ue,n){return go(e,t,n)[0]}function go(e,t,n){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return Xs($n(e),t,n)}catch{}let r=ke(L({replay_fallback:!0,metadata:e.metadata,body:e.body}),n);return t===2?[r,r]:[r]}function Zs(e,t,n,r){let o=$e(r.hash_algorithm),i=go(e,n,o),s=go(t,n,o);return{beforeHashes:i,afterHashes:s,pairIndex:i.findIndex((a,c)=>a===r.before_hash&&s[c]===r.after_hash),beforeIndex:i.indexOf(r.before_hash),afterIndex:s.indexOf(r.after_hash)}}function $n(e){return{metadata:e.metadata,body:e.body}}function Zy(e,t={}){return ne($n(e),t)}function eg(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=ne(e);return{metadata:T(t.metadata,ye),body:t.body}}function Js(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function Pu(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function ea(e){return Array.isArray(e)?e.filter(Pu).map(t=>({...t,path:Js(t.path),from:typeof t.from=="string"?Js(t.from):void 0})):[]}function Mu(e){return typeof e=="object"&&e!==null&&"metadata"in e&&"body"in e&&typeof e.body=="string"&&typeof e.metadata=="object"&&e.metadata!==null}function We(e,t){try{let n=ea(t),r=vo.applyPatch(structuredClone(e),n,!0,!1).newDocument;return Mu(r)?{ok:!0,document:{metadata:r.metadata,body:r.body}}:{ok:!1,error:new Error("history_replay_invalid_document_shape")}}catch(n){return{ok:!1,error:n}}}function ju(e){return[...new Set(e.map(t=>t.item_hash_version).filter(t=>t!==void 0&&Pt.includes(t)))]}function ta(e){return e!==void 0&&!Pt.includes(e)}function Fu(e,t){return e!==void 0?[e]:t===void 0?[...Pt]:[t]}function na(e){let t=jn(e);if(!t.ok)return t.error;let n=yo(e);return n.ok?void 0:n.error}function $u(e,t){let n=na(e);if(n)return{ok:!1,error:n};let r=We(t,e.patch);return r.ok?{ok:!0,document:r.document}:{ok:!1,error:"patch_apply_failed"}}function Hu(e,t){let n=na(e);if(n)throw new TypeError(`${n}:entry_${t+1}`)}function ra(e){let t=Fn(),n,r,o=Ss(e).map(i=>`verify_failed:duplicate_create:entry_${i.repeated_create_index}:prior_${i.prior_genesis_index}`);for(let i=0;i<e.length;i+=1){let s=e[i],a=s.item_hash_version,c=ta(a);c&&o.push(`verify_failed:unsupported_item_hash_version:${String(a)}:entry_${i+1}`);let d=$u(s,t);if(!d.ok)return{ok:!1,errors:[...o,`verify_failed:${d.error}:entry_${i+1}`]};if(c){t=d.document,n=void 0,r=void 0;continue}let f=Fu(a,r).map(_=>({version:_,match:Zs(t,d.document,_,s)})),m=f.find(({match:_})=>_.pairIndex>=0);if(m===void 0){let _=f.some(({match:y})=>y.beforeIndex>=0);return{ok:!1,errors:[...o,`verify_failed:${_?"after":"before"}_hash_mismatch:entry_${i+1}`]}}let p=m.version;t=d.document,n=p,r=a??r}return o.length>0?{ok:!1,errors:o,...n===void 0?{}:{item_hash_version:n}}:{ok:!0,errors:[],...n===void 0?{}:{item_hash_version:n}}}function Ce(e){let t=ra(e);return{ok:t.ok,errors:t.errors}}function Qs(e,t){try{return{ok:!0,document:vo.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function zu(e,t){let n=structuredClone(e),r=0,o=0;for(let a of ea(t)){let c=Qs(n,a);if(c.ok){n=c.document;continue}if(a.op==="replace"){let d=Qs(n,{...a,op:"add"});if(d.ok){n=d.document,r+=1;continue}}o+=1}let i=n;return{document:{metadata:typeof i.metadata=="object"&&i.metadata!==null?i.metadata:{},body:typeof i.body=="string"?i.body:e.body},convertedReplaceToAdd:r,skippedOps:o}}function Uu(e){let t=ju(e);if(t.length===1)return t[0];let n=ra(e);return n.ok&&n.item_hash_version!==void 0?n.item_hash_version:t.length===0?1:Ue}function Bu(e,t){let n=We(e,t.patch);if(n.ok)return{next:n.document,patch:t.patch,repaired:!1,converted:0,skipped:0};let r=zu(e,t.patch);return{next:r.document,patch:vo.compare(e,r.document),repaired:!0,converted:r.convertedReplaceToAdd,skipped:r.skippedOps}}function tg(e,t=Uu(e),n={}){let r=e.findIndex(p=>ta(p.item_hash_version));if(r>=0)throw new TypeError(`unsupported_item_hash_version:${String(e[r]?.item_hash_version)}:entry_${r+1}`);let o=Fn(),i=[],s=[],a=0,c=0,d=0,u=0,f,m=t!==1||e.some(p=>p.item_hash_version!==void 0);for(let p=0;p<e.length;p+=1){let _=e[p];Hu(_,p);let y=Bu(o,_),{next:g,patch:S,repaired:R,converted:D,skipped:$}=y;d+=D,u+=$,c+=Number(R);let x=Zs(o,g,t,_);f===void 0||n.continuousHashSurface!==!0?f=[x.pairIndex,x.beforeIndex,x.afterIndex,Math.min(f??0,x.beforeHashes.length-1)].find(he=>he>=0):f=Math.min(f,x.beforeHashes.length-1);let q=x.beforeHashes[f],W=x.afterHashes[f],J=q!==_.before_hash||W!==_.after_hash;J&&(a+=1);let G={..._,patch:S,before_hash:q,after_hash:W};m?G.item_hash_version=t:delete G.item_hash_version;let ee=G.item_hash_version!==_.item_hash_version;(J||R||ee)&&(G=qs(_,G,{retainOriginalPatch:R})),i.push(G),s.push({index:p+1,rehashed:J,patch_repaired:R,converted_replace_to_add:D,skipped_ops:$}),o=g}return{entries:i,finalDocument:o,entriesRehashed:a,entriesPatchRepaired:c,convertedReplaceToAdd:d,skippedOps:u,details:s,itemHashVersion:t,explicitItemHashVersion:m}}function ng(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
71
+ `)}
72
+ `}import Wu from"node:crypto";import Hn 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]="1a689c0c-972a-5aff-a15e-ea48fcdf478b")}catch{}})();function ia(e){let t=[],n=!1;for(let r of(e??"").toLowerCase()){let o=r.charCodeAt(0),i=o>=48&&o<=57,s=o>=97&&o<=122;if(!i&&!s){n=t.length>0;continue}n&&(t.push("-"),n=!1),t.push(r)}return t.length===0?"pm-":`${t.join("")}-`}function Mt(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function Ve(e,t){let n=ia(t),r=Mt(e);return r.startsWith(n)?r:`${n}${r}`}function Vu(e){let t=ji(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=Wu.randomInt(0,36).toString(36);return n}async function qu(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[Hn.join(e,o,`${t}.md`),Hn.join(e,o,`${t}.toon`)]);return r.push(Hn.join(e,"history",`${t}.jsonl`)),(await Promise.all(r.map(o=>Le(o)))).some(Boolean)}var oa=4,sa=12;function Gu(e){return typeof e!="number"||!Number.isFinite(e)?oa:Math.min(sa,Math.max(oa,Math.trunc(e)))}async function dg(e,t,n={}){let r=Gu(n.tokenLength),o=Math.min(r+6,sa),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${ia(t)}${Vu(r)}`;if(!await(n.probeExisting===!1?Le(Hn.join(e,"history",`${a}.jsonl`)):qu(e,a,n.typeToFolder??Ne)))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}import fa from"node:fs/promises";import zn from"node:path";import{isUtf8 as Ju}from"node:buffer";import Ku from"node:fs/promises";import ft 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]="e2a2001e-b162-599e-b262-76d2223a343c")}catch{}})();var jt="_workspace";function bo(e){return ft.join(e,"history",`${jt}.jsonl`)}function Xu(e,t){return{metadata:{id:jt,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 wo(e,t=e.length){let n=Fn();for(let r of e.slice(0,t))n=We(n,r.patch).document;return $n(n)}function aa(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function Eo(e){throw new v(`Workspace history verification failed: ${e.join(", ")}`,b.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 Yu(e,t){let n=ft.resolve(t),r=ft.relative(e,n).replaceAll("\\","/");if(r.length===0||r===".."||r.startsWith("../")||ft.isAbsolute(r))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:r,absolutePath:n}}async function Eg(e){let t=await Se(bo(e),jt),n=Ce(t);n.ok||Eo(n.errors);let r=aa(t.length===0?Ye:wo(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let d;try{let u=Yu(e,ft.resolve(e,c));if(d=await ge(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 ca(e){let t=bo(e.pmRoot),n=await Se(t,jt),r=Ce(n);r.ok||Eo(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=be(),s=n.length===0?Ye:wo(n),a=aa(s),c=a[e.documentPath];if(c!==void 0&&L(c)!==L(e.before))throw new v(`Workspace history state for "${e.documentPath}" changed outside the audited mutation path.`,b.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=Xu({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),u=dt({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 lt(t,u),{entry:u,historyPath:t}}async function kg(e){let t=await Q(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await ca(e)}finally{await t()}}async function da(e){let t=await Q(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=bo(e.pmRoot),r=await Se(n,jt),o=Ce(r);o.ok||Eo(o.errors);let i=r.length===0?Ye:wo(r),s=dt({nowIso:be(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await lt(n,s),{entry:s,historyPath:n}}finally{await t()}}async function la(e,t){if(t===e.raw)return!1;let n=t===null?null:JSON.parse(t),r=JSON.parse(e.raw);await K(e.filePath,e.raw);try{(t!==null||e.recordCreation!==!1)&&await ca({pmRoot:e.pmRoot,documentPath:ft.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 Ku.rm(e.filePath,{force:!0}):await K(e.filePath,t),o}return!0}async function Ig(e){let t=await Q(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=await ge(e.filePath),r=await e.mutate(n);return{changed:await la({...e,raw:r.raw},n),result:r.result}}finally{await t()}}async function ua(e){let t=await Q(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await la(e,await ge(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]="3635d0ca-b4ee-5c99-9115-6eace5120147")}catch{}})();var Qu=1048576,Zu=4194304;async function ma(e,t){let n=zn.dirname(e);for(;n!==zn.parse(e).root;){let o=await fa.stat(n).catch(i=>{if(te(i))return null;throw i});if(o!==null){if(!o.isDirectory())throw new v("Workflow policy storage ancestor must be a directory.",b.CONFLICT,{code:"workflow_policy_input_unreadable",nextSteps:["Restore the policy or approval history directory before retrying."]});break}n=zn.dirname(n)}let r=await fa.open(e,"r").catch(o=>{if(te(o))return null;throw o});if(r===null)return null;try{let o=(await r.stat()).size,i=Buffer.alloc(Math.min(t,o)+1),s=0;for(;s<i.length;){let a=await r.read(i,s,i.length-s,s);if(a.bytesRead===0)break;s+=a.bytesRead}if(s===i.length||!Ju(i.subarray(0,s)))throw new v("Workflow policy input exceeds its byte bound or is not valid UTF-8.",b.CONFLICT,{code:"workflow_policy_input_unreadable",nextSteps:["Inspect the policy and approval history; reduce the declaration or use verified history compaction before retrying."]});return i.toString("utf8",0,s)}finally{await r.close()}}function ef(e){if(e===null)return{version:1,enforcement:"advise",policies:[]};let t;try{t=JSON.parse(e)}catch{throw new v("schema/policies.json must contain valid JSON.",b.CONFLICT,{code:"workflow_policy_registry_invalid",nextSteps:["Restore valid policy JSON before retrying the mutation."]})}return Ri(t)}async function tf(e){return ef(await ma(zn.join(e,"schema","policies.json"),Qu))}async function nf(e,t){let n=await ma(ce(e,t),Zu);if(n===null)return[];let r;try{if(r=n.split(/\r?\n/).filter(o=>o.trim()).map(o=>JSON.parse(o)),!Ce(r).ok)throw new Error("invalid chain")}catch{throw new v("Approval evidence requires a valid item history chain.",b.CONFLICT,{code:"workflow_policy_approval_history_invalid",nextSteps:[`Run pm history ${t} --verify before recording or using an approval.`]})}return r.flatMap(o=>{let i=o.context?.workflow_approval;if(o.op!=="policy_approve"||o.record_hash_version!==1||typeof o.record_hash!="string"||typeof i!="object"||i===null)return[];let s=i;return typeof s.policy_fingerprint!="string"||typeof s.content_fingerprint!="string"?[]:[{policy_fingerprint:s.policy_fingerprint,content_fingerprint:s.content_fingerprint,author:o.author}]})}async function rf(e,t,n){let r=n.before?.status!==n.after?.status&&t.policies.some(s=>s.rule.kind==="approval"&&Ai(s,n)),o=n.before?.id??n.after?.id,i=r&&typeof o=="string"?await nf(e,o):[];return Di(t,{...n,approvals:i})}async function ko(e){let t=await tf(e.pmRoot),n=await rf(e.pmRoot,t,{operation:e.operation,author:e.author,before:e.before?{...e.before.metadata,body:e.before.body}:null,after:e.after?{...e.after.metadata,body:e.after.body}:null});if(n.allowed)return n;let r=n.decisions.filter(s=>!s.satisfied&&s.effect==="refuse");if(!e.dryRun)try{await da({pmRoot:e.pmRoot,op:"policy_refused",author:e.author,context:{item_id:e.after?.metadata.id??e.before?.metadata.id,operation:e.operation,workflow_policies:n.decisions},message:"Workflow policy refused a proposed item mutation.",lockTtlSeconds:e.settings.locks.ttl_seconds,lockWaitMs:e.settings.locks.wait_ms})}catch(s){let a=new v("Workflow policy refusal could not be recorded in workspace history.",b.CONFLICT,{code:"workflow_policy_audit_failed",nextSteps:["Resolve workspace-history lock or storage failures, then retry the refused mutation; no item changes were written."]});throw a.cause=s,a}let o=r.slice(0,3).map(s=>`${s.policy_id} (${s.rule})`).join(", "),i=r.length>3?` and ${r.length-3} more`:"";throw new v(`Workflow policy refused ${e.operation}: ${o}${i}.`,b.CONFLICT,{code:"workflow_policy_refused",reason:r.slice(0,3).map(s=>s.policy_id).join(","),nextSteps:[...new Set(r.map(s=>s.remediation))].slice(0,3)})}import{AsyncLocalStorage as of}from"node:async_hooks";import{channel as sf}from"node:diagnostics_channel";(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]="118ec110-fa84-550b-a0a8-4def314270b6")}catch{}})();var Io=new of,So=sf("@unbrained/pm-cli/item-metadata-enumeration/v1");function Un(e){So.publish(e)}async function $g(e){let t={enumeration_calls:0,metadata_rows:0},n=r=>{Io.getStore()?.includes(t)&&(t.enumeration_calls+=1,t.metadata_rows+=r)};So.subscribe(n);try{return{result:await Io.run([...Io.getStore()??[],t],e),work:{...t}}}finally{So.unsubscribe(n)}}import qe from"node:fs/promises";import pa from"node:path";import{randomUUID as af}from"node:crypto";import{createRequire as cf}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e9e67ec7-10cb-57b0-a094-ae52b01a0f8a")}catch{}})();var df="metadata-query-index.sqlite",Ft="5";function lf(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var Bn;function uf(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?lf(t):null}function $t(){return Bn!==void 0||(Bn=uf(process.versions.node,cf(import.meta.url))),Bn}function _a(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function mt(e){return pa.join(e,"runtime",df)}function ff(e){e.exec(`
73
+ PRAGMA foreign_keys = ON;
74
+ PRAGMA journal_mode = OFF;
75
+ PRAGMA synchronous = OFF;
76
+ CREATE TABLE metadata (
77
+ key TEXT PRIMARY KEY,
78
+ value TEXT NOT NULL
79
+ ) STRICT;
80
+ CREATE TABLE items (
81
+ id TEXT PRIMARY KEY,
82
+ relative_path TEXT NOT NULL UNIQUE,
83
+ metadata_json TEXT NOT NULL,
84
+ status TEXT NOT NULL,
85
+ type TEXT NOT NULL,
86
+ priority INTEGER NOT NULL,
87
+ updated_at TEXT NOT NULL,
88
+ created_at TEXT NOT NULL,
89
+ parent TEXT,
90
+ assignee TEXT,
91
+ sprint TEXT,
92
+ release TEXT
93
+ ) STRICT;
94
+ CREATE INDEX items_default_order
95
+ ON items(priority, updated_at DESC, id);
96
+ CREATE INDEX items_status_default_order
97
+ ON items(status, priority, updated_at DESC, id);
98
+ CREATE INDEX items_type_default_order
99
+ ON items(type, priority, updated_at DESC, id);
100
+ CREATE INDEX items_parent_default_order
101
+ ON items(parent, priority, updated_at DESC, id);
102
+ CREATE TABLE item_metadata_keys (
103
+ item_id TEXT NOT NULL,
104
+ key TEXT NOT NULL,
105
+ PRIMARY KEY(item_id, key),
106
+ FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
107
+ ) STRICT;
108
+ CREATE INDEX item_metadata_keys_key_item
109
+ ON item_metadata_keys(key, item_id);
110
+ CREATE TABLE item_linked_files (
111
+ item_id TEXT NOT NULL,
112
+ path TEXT NOT NULL,
113
+ scope TEXT NOT NULL,
114
+ note TEXT,
115
+ PRIMARY KEY(item_id, path, scope),
116
+ FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
117
+ ) STRICT;
118
+ CREATE INDEX item_linked_files_path_scope_item
119
+ ON item_linked_files(path, scope, item_id);
120
+ CREATE VIRTUAL TABLE item_search USING fts5(
121
+ id UNINDEXED,
122
+ title,
123
+ description,
124
+ tags,
125
+ tokenize = 'unicode61'
126
+ );
127
+ `)}function Vn(e,t,n){e.prepare("INSERT INTO metadata(key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,n)}function ha(e,t){let n=t.metadata;e.prepare(`INSERT INTO items(
128
+ id, relative_path, metadata_json, status, type, priority,
129
+ updated_at, created_at, parent, assignee, sprint, release
130
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
131
+ ON CONFLICT(id) DO UPDATE SET
132
+ relative_path = excluded.relative_path,
133
+ metadata_json = excluded.metadata_json,
134
+ status = excluded.status,
135
+ type = excluded.type,
136
+ priority = excluded.priority,
137
+ updated_at = excluded.updated_at,
138
+ created_at = excluded.created_at,
139
+ parent = excluded.parent,
140
+ assignee = excluded.assignee,
141
+ sprint = excluded.sprint,
142
+ release = excluded.release`).run(n.id,t.relativePath,JSON.stringify(n),n.status,n.type,n.priority,n.updated_at,n.created_at,n.parent??null,n.assignee??null,n.sprint??null,n.release??null),e.prepare("DELETE FROM item_metadata_keys WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_linked_files WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_search WHERE rowid = (SELECT rowid FROM items WHERE id = ?)").run(n.id),e.prepare("INSERT INTO item_search(rowid, id, title, description, tags) SELECT rowid, ?, ?, ?, ? FROM items WHERE id = ?").run(n.id,n.title,n.description,n.tags.join(" "),n.id);let r=e.prepare("INSERT INTO item_metadata_keys(item_id, key) VALUES (?, ?)");for(let i of Object.keys(n))r.run(n.id,i);let o=e.prepare("INSERT INTO item_linked_files(item_id, path, scope, note) VALUES (?, ?, ?, ?)");for(let i of t.linkedFiles??[])o.run(n.id,i.path,i.scope,i.note??null)}async function ya(e){let t=mt(e.pmRoot),n=$t();if(!n){await qe.rm(t,{force:!0});return}await qe.mkdir(pa.dirname(t),{recursive:!0});let r=`${t}.${af()}.tmp`,o;try{o=new n(r),ff(o),o.exec("BEGIN IMMEDIATE"),Vn(o,"version",Ft),Vn(o,"context_fingerprint",e.contextFingerprint),Vn(o,"source_cursor",e.sourceCursor);for(let i of e.rows)ha(o,i);o.exec("COMMIT"),o.close(),o=void 0,await qe.rm(t,{force:!0}),await qe.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([qe.rm(r,{force:!0})]),i}}function qn(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function ga(e){let t=$t();if(!t)return!1;let n=mt(e.pmRoot),r;try{await qe.access(n),r=new t(n),r.exec("PRAGMA foreign_keys = ON");let o=qn(r);if(o.version!==Ft||o.context_fingerprint!==e.contextFingerprint||o.source_cursor!==e.expectedSourceCursor)return r.close(),!1;r.exec("BEGIN IMMEDIATE");let i=r.prepare("DELETE FROM items WHERE relative_path = ?"),s=r.prepare("SELECT rowid FROM items WHERE relative_path = ?"),a=r.prepare("DELETE FROM item_search WHERE rowid = ?");for(let c of e.deletedRelativePaths??[]){let d=s.get(c);i.run(c),d&&a.run(d.rowid)}return e.row&&ha(r,e.row),Vn(r,"source_cursor",e.sourceCursor),r.exec("COMMIT"),r.close(),!0}catch{try{r?.exec("ROLLBACK")}catch{}return r?.close(),!1}}function Wn(e,t,n,r,o){!r||r.length===0||(e.push(`${n} ${o} (${r.map(()=>"?").join(", ")})`),t.push(...r))}function mf(e){let t=[],n=[];Wn(t,n,"status",e.statuses,"IN"),Wn(t,n,"status",e.excludeStatuses,"NOT IN"),Wn(t,n,"type",e.types,"IN"),Wn(t,n,"id",e.ids,"IN");for(let r of e.metadataKeys??[])t.push("EXISTS (SELECT 1 FROM item_metadata_keys AS indexed_key WHERE indexed_key.item_id = items.id AND indexed_key.key = ?)"),n.push(r);for(let[r,o]of[["parent",e.parent],["assignee",e.assignee],["sprint",e.sprint],["release",e.release]])o!==void 0&&(t.push(`${r} = ?`),n.push(o));return e.priority!==void 0&&(t.push("priority = ?"),n.push(e.priority)),{where:t.length===0?"":` WHERE ${t.join(" AND ")}`,parameters:n}}async function Vg(e){let t=$t();if(!t)return null;let n=e.query??{},{where:r,parameters:o}=mf(n),i;try{i=new t(mt(e.pmRoot),{readOnly:!0});let s=qn(i);if(s.version!==Ft||s.source_cursor!==e.expectedSourceCursor)return i.close(),null;let a=i.prepare(`SELECT COUNT(*) AS count FROM items${r}`).get(...o),c=[],d="";n.limit!==void 0?(d+=" LIMIT ?",c.push(Math.max(0,Math.floor(n.limit))),n.offset!==void 0&&(d+=" OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))))):n.offset!==void 0&&(d+=" LIMIT -1 OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))));let f=i.prepare(`SELECT metadata_json FROM items${r}
143
+ ORDER BY ${n.terminalStatuses&&n.terminalStatuses.length>0?`CASE WHEN status IN (${n.terminalStatuses.map(()=>"?").join(", ")}) THEN 1 ELSE 0 END ASC, `:""}priority ASC, updated_at DESC, id ASC${d}`).all(...o,...n.terminalStatuses??[],...c).map(m=>{let p=JSON.parse(String(m.metadata_json));if(!p.id)throw new TypeError("Indexed metadata row has no id");return p});return i.close(),{source_cursor:s.source_cursor,total:Number(a.count),items:f}}catch{return i?.close(),null}}async function qg(e){let t=$t();if(!t||e.paths.length===0)return null;let n;try{n=new t(mt(e.pmRoot),{readOnly:!0});let r=qn(n);if(r.version!==Ft||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let o=e.paths.map(()=>"?").join(", "),i=e.scope===void 0?"":" AND scope = ?",s=[...e.paths,...e.scope===void 0?[]:[e.scope]],a=`path IN (${o})${i}`,c=n.prepare(`SELECT COUNT(DISTINCT item_id) AS count
144
+ FROM item_linked_files
145
+ WHERE ${a}`).get(...s),d=_a(e.limit,50),u=_a(e.offset,0),f=n.prepare(`SELECT items.id, items.metadata_json
146
+ FROM items
147
+ WHERE EXISTS (
148
+ SELECT 1 FROM item_linked_files
149
+ WHERE item_linked_files.item_id = items.id AND ${a}
150
+ )
151
+ ORDER BY items.priority ASC, items.updated_at DESC, items.id ASC
152
+ LIMIT ? OFFSET ?`).all(...s,d,u),m=[];if(f.length>0){let p=f.map(g=>String(g.id)),_=n.prepare(`SELECT item_id, path, scope, note
153
+ FROM item_linked_files
154
+ WHERE item_id IN (${p.map(()=>"?").join(", ")})
155
+ AND ${a}
156
+ ORDER BY path ASC, scope ASC`).all(...p,...s),y=new Map(p.map(g=>[g,[]]));for(let g of _){let S=String(g.item_id),R=y.get(S);R.push({path:String(g.path),scope:String(g.scope),...g.note===null?{}:{note:String(g.note)}}),y.set(S,R)}for(let g of f){let S=JSON.parse(String(g.metadata_json));m.push({item:S,files:y.get(String(g.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(c.count),matches:m}}catch{return n?.close(),null}}async function Gg(e){let t=$t();if(!t)return null;let n;try{n=new t(mt(e.pmRoot),{readOnly:!0});let r=qn(n);if(r.version!==Ft||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let i=n.prepare(`SELECT items.metadata_json
157
+ FROM item_search
158
+ JOIN items ON items.id = item_search.id
159
+ WHERE item_search MATCH ?
160
+ ORDER BY bm25(item_search), items.priority, items.updated_at DESC, items.id
161
+ LIMIT ?`).all(e.query,Math.max(0,Math.floor(e.limit))).map(s=>JSON.parse(String(s.metadata_json)));return n.close(),{source_cursor:r.source_cursor,items:i}}catch{return n?.close(),null}}async function Gn(e){await qe.rm(mt(e),{force:!0})}import B from"node:fs/promises";import M from"node:path";import{createHash as _f,randomUUID as ka}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1c60c095-9763-5372-9dc3-c0ea1a5caca6")}catch{}})();var se=8,Ia=500,pf="metadata-derived-index",hf="metadata-cache.json",yf="metadata-cache-bodies.json",gf="metadata-cache-collections.json",vf="metadata-cache-delta.json",bf="metadata-cache-manifest.json",va=4,wf=["comments","notes","learnings","files","tests","test_runs","docs"];function Sa(){return rn(le())}function Xn(e){let t={...e},n={};for(let r of wf)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Ta(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Ca(e,t,n,r){let o=_f("sha256");o.update(`format:${e??"default"}`);let i=Object.entries(t).sort(([s],[a])=>s.localeCompare(a)).map(([s,a])=>`${s}=${a}`).join(",");return o.update(`|types:${i}`),n&&o.update(`|schema:${JSON.stringify(n)}`),r.length>0&&o.update(`|extension_fields:${r.join(",")}`),o.digest("hex").slice(0,16)}function Yn(e){return M.join(e,"runtime",hf)}function Jn(e){return M.join(e,"runtime",yf)}function Qn(e){return M.join(e,"runtime",gf)}function Co(e){return M.join(e,"runtime",vf)}function Oo(e){return M.join(e,"runtime",bf)}function Zn(e,t){let n=M.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Ef=24,Z=new Map,er=new WeakMap;function xo(e){return er.get(e)??e.source_cursor}function kf(e,t){let n=xo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){er.set(e,n);for(let[r,o]of Object.entries(t.changes))o.entry?e.entries[r]=o.entry:delete e.entries[r];e.directory_signatures=t.directory_signatures,e.source_cursor=t.source_cursor}}function If(e,t){if(!e)return;let n=xo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){er.set(e,n);for(let[r,o]of Object.entries(t.changes))o.body?e.bodies[r]=o.body:delete e.bodies[r];e.source_cursor=t.source_cursor}}function Sf(e,t){if(!e)return;let n=xo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){er.set(e,n);for(let[r,o]of Object.entries(t.changes))o.collections?e.collections[r]=o.collections:delete e.collections[r];e.source_cursor=t.source_cursor}}function Tf(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(kf(e,r),If(t,r),Sf(n,r))}function To(e,t){Z.size>=Ef&&!Z.has(e)&&Ii(Z),Z.set(e,t)}async function Oe(e,t){let n;try{n=await B.stat(e)}catch{return Z.delete(e),null}let r=Z.get(e);if(r&&Ht(r.signature,n.mtimeMs,n.ctimeMs,n.size))return Z.delete(e),Z.set(e,r),r.envelope;let o;try{o=t(await B.readFile(e,"utf8"))}catch{o=null}return To(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Cf(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==se||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=Yn(e),i=await Oe(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await Oe(Zn(o,t),r);return s===null&&Bt(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Of(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==se||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Jn(e),o=await Oe(r,n);return t&&o?.context_fingerprint!==t?await Oe(Zn(r,t),n):o}async function xf(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==se||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Qn(e),o=await Oe(r,n);return t&&o?.context_fingerprint!==t?await Oe(Zn(r,t),n):o}async function Ro(e){let t=Co(e),n=await Oe(t,r=>{let o=JSON.parse(r);return o.version!==se||typeof o.base_source_cursor!="string"||typeof o.source_cursor!="string"||typeof o.changes!="object"||o.changes===null?null:o});if(n)return{envelope:n,invalid:!1};try{return await B.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function Ao(e){let t=Oo(e),n=await Oe(t,r=>{let o=JSON.parse(r);return o.version!==se||typeof o.context_fingerprint!="string"||typeof o.source_cursor!="string"||!Number.isInteger(o.entry_count)||o.entry_count<0||typeof o.directory_signatures!="object"||o.directory_signatures===null?null:o});if(n)return n;try{await B.stat(t),await _t(e)}catch{}return null}async function zt(e,t){await B.mkdir(M.dirname(e),{recursive:!0}),await K(e,JSON.stringify(t));try{let r=await B.stat(e);To(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{Z.delete(e)}let n=M.dirname(M.dirname(e));if(e===Yn(n)||e===Jn(n)||e===Qn(n)){let r=Zn(e,t.context_fingerprint);await K(r,JSON.stringify(t));try{let c=await B.stat(r);To(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{Z.delete(r)}let o=M.dirname(e),i=M.extname(e),s=M.basename(e,i),a=(await B.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==M.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>M.join(o,c.name));if(a.length>va){let c=(await Promise.all(a.map(async d=>{try{return{path:d,mtime:(await B.stat(d)).mtimeMs}}catch{return null}}))).filter(d=>d!==null);for(let d of c.sort((u,f)=>u.mtime-f.mtime).slice(0,Math.max(0,c.length-va)))await B.rm(d.path,{force:!0}),Z.delete(d.path)}}}function Rf(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function Oa(e,t,n){return e===void 0||Rf(e,t,n)}function Bt(e,t){e&&!e.includes(t)&&e.push(t)}function Ht(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Af(e,t,n){let r=M.join(e,t);try{let o=await B.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!te(o)&&Bt(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function Df(e,t){try{let n=await B.stat(M.join(e,t));return[t,{exists:!0,mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size}]}catch{return[t,{exists:!1,mtime_ms:0,ctime_ms:0,size:0}]}}async function Kn(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await Df(e,n))))}function Ut(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&&Ht(o,r.mtime_ms,r.ctime_ms,r.size)})}function Nf(e){return sn.some(t=>e.toLowerCase().endsWith(t))}function Lf(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function Pf(e,t,n){if(n)for(let r of await ve({path:e,scope:"project"}))Bt(t,r)}function ba(e,t,n,r){if(e)return t&&n?n.collections:r}async function Mf(e,t,n){let r=await B.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=br(e);await Pf(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],d=!n.forceSourceRead&&c!==void 0&&Ht(c,o,i,s),u=n.previousBodies[t],f=!n.forceSourceRead&&u!==void 0&&Ht(u,o,i,s),m=n.previousCollections[t],p=!n.forceSourceRead&&m!==void 0&&Ht(m,o,i,s);if(!(!d||n.includeBody&&!f||n.includeCollections&&!p))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:ba(n.includeCollections,p,m,void 0),bodyLength:c.body_length,body:n.includeBody?u.body:void 0};let y=await B.readFile(e,"utf8"),g=In(y,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:R=>Bt(n.warnings,R)}),S=Xn(g.metadata);return Lf(n.state.misses,n.includeBody,n.includeCollections,d,f,p),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d?c.metadata:S.light,heavyMetadata:ba(n.includeCollections,p,m,S.heavy),bodyLength:d?c.body_length:g.body.length,body:n.includeBody?g.body:void 0}}function jf(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?Ta(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};Oa(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function Ff(e,t,n,r){try{let o=await Mf(t,n,r);jf(t,n,r,o)}catch{Bt(r.warnings,`item_list_item_read_failed:${e}/${M.basename(t)}`)}}function $f(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function Hf(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function zf(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function Uf(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}async function Bf(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!Nf(s))continue;let a=M.join(o,s),c=M.relative(t.pmRoot,a);n.push(Ff(r,a,c,t)),n.length===32&&(await Promise.all(n),n.length=0)}await Promise.all(n)}async function Wf(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!Ut(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await zt(Yn(e.pmRoot),{version:se,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await zt(Oo(e.pmRoot),{version:se,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,entry_count:Object.keys(e.state.newEntries).length,directory_signatures:e.directorySignatures});let n=[...e.state.documentsById.values()].map(({candidate:r})=>({relativePath:M.relative(e.pmRoot,r.item_path),metadata:Xn(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await ya({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Gn(e.pmRoot)}catch{}}async function Vf(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 zt(Jn(e.pmRoot),{version:se,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function qf(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 zt(Qn(e.pmRoot),{version:se,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Do(e,t,n={}){let r=await Ao(e);return n.required!==!0&&(r===null||r.entry_count<Ia)?async()=>{}:Q(e,pf,30,t,!1,!1,3e3)}async function sv(e,t){let n=await Ao(e);if(n===null)return null;let r=await Ro(e);if(r.invalid)return await _t(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&&!Ut(i,await Kn(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function wa(e,t){let n=M.relative(e,t);return n===""||n===".."||n.startsWith(`..${M.sep}`)||M.isAbsolute(n)?null:n}async function _t(e){await Promise.all([Yn(e),Jn(e),Qn(e),Co(e),Oo(e)].map(async t=>{await B.rm(t,{force:!0}),Z.delete(t)})),await Gn(e)}async function Gf(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await B.stat(e.mutation.itemPath),n=Xn(e.mutation.document.metadata),r={mtime_ms:t.mtimeMs,ctime_ms:t.ctimeMs,size:t.size};return{entry:{...r,metadata:n.light,body_length:e.mutation.document.body.length},body:{...r,body:e.mutation.document.body},collections:{...r,collections:n.heavy}}}function Kf(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function No(e){let t=wa(e.pmRoot,e.itemPath),n=e.previousItemPath?wa(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await _t(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Ca(e.preferredFormat,e.typeToFolder,e.schema,Sa()),o=await Ao(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Ro(e.pmRoot);if(s.invalid)return await _t(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=Kf(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 Gf({mutation:e});let d=ka();return await zt(Co(e.pmRoot),{version:se,context_fingerprint:r,base_source_cursor:i,source_cursor:d,directory_signatures:await Kn(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await ga({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:d,row:e.document===null?null:{relativePath:t,metadata:Xn(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Gn(e.pmRoot),[]}catch{return await _t(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function Xf(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Ea(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function Yf(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function Jf(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=br(n);if(!o)continue;let i=e.includeCollections?Ta(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Oa(s?.itemFormat,o,e.preferredFormat)&&t.set(i.id,{itemFormat:o,candidate:{metadata:i,body:e.includeBody?e.previousBodies[n]?.body:void 0,item_format:o,item_path:M.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function Qf(e){return e.forceSourceScan||kr()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!Ut(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Ea(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Ea(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&Yf(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function tr(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=Sa(),d=Ca(t,n,o,c),u=await Ro(e);u.invalid&&await _t(e);let f=await Cf(e,d,i.cacheDiagnostics),m=s?await Of(e,d):null,p=a?await xf(e,d):null;Tf(f,m,p,u.envelope);let _=$f(f,d),y=Hf(m,d),g=zf(p,d),S=[...new Set(Object.values(n))],R=await Kn(e,S),D=Object.keys(_),$=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Ia));if(Qf({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:d,existingCache:f,existingBodyCache:m,existingCollectionsCache:p,directorySignatures:R,entryKeys:D,minimumIndexedItems:$,includeBody:s,includeCollections:a,previousBodies:y,previousCollections:g}))return Jf({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:_,previousBodies:y,previousCollections:g});let x=await Promise.all(S.map(Et=>Af(e,Et,r))),q=kr(),W=Uf(),J={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:q,previousEntries:_,previousBodies:y,previousCollections:g,state:W};await Bf(x,J);let G=await Kn(e,S),ee=Ut(R,G)?G:{},Ke=W.misses.metadata||Object.keys(_).length!==Object.keys(W.newEntries).length||!Ut(f?.directory_signatures,ee)||f===null?ka():f.source_cursor;return await Wf({pmRoot:e,contextFingerprint:d,sourceCursor:Ke,existingCache:f,previousEntries:_,directorySignatures:ee,state:W,minimumIndexedItems:$}),s&&await Vf({pmRoot:e,contextFingerprint:d,sourceCursor:Ke,existingBodyCache:m,previousBodies:y,state:W}),a&&await qf({pmRoot:e,contextFingerprint:d,sourceCursor:Ke,existingCollectionsCache:p,previousCollections:g,state:W}),Xf(W)}async function xa(e,t,n,r,o){return(await tr(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function Ra(e,t,n,r,o){return(await tr(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0a3dd0c1-2dea-5143-a2eb-65e758a0cc71")}catch{}})();function ae(){let e=de();for(let t of le()?.relationship_kinds??[])for(let n of t.definitions)e.register(n);return e}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="83d1acab-79a1-5e9f-b6a4-97dade07d74a")}catch{}})();function Wt(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function nr(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function Zf(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 em(e,t){let n=[...e].sort(),r=Zf(n,t),o=new Set,i=tm(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=nm(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 tm(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 nm(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 Aa(e){let t=new Map;for(let n of e){let r=Wt(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function rm(e,t,n){let r=Wt(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 om(e,t,n,r){let o=Wt(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 Da(e,t){let n=new Map;for(let[r,o]of e){let i=rm(r,o,e);i&&n.set(nr(i),i);for(let s of o.dependencies??[]){let a=om(r,s,e,t);a&&n.set(nr(a),a)}}return[...n.values()].sort((r,o)=>nr(r).localeCompare(nr(o)))}function _v(e,t=ae()){return Da(Aa(e),t)}function im(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 sm(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=Wt(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 rr(e,t=r=>r==="closed"||r==="canceled",n=ae()){let r=Aa(e),o=Da(r,n),i=am(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=em([...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:im(o,i.parents_by_child,s),divergences:sm(r,o,s)}}function pv(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 am(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 Lo(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function hv(e,t,n,r,o){let i=Wt(n);if(!i)return;let s=rr(e,r,o),a=rr(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&&Lo(f.dependency_parent_ids,m.dependency_parent_ids)));if(c){let f=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new v(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${f.join(", ")}.`,b.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:i,target_id:c.child_id,verification_errors:f})}let d=a.cardinality_violations.find(f=>(f.child_id===i||f.parent_ids.includes(i))&&!s.cardinality_violations.some(m=>m.child_id===f.child_id&&Lo(f.parent_ids,m.parent_ids)));if(d)throw new v(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,b.CONFLICT,{code:"hierarchy_cardinality_created",source_id:i,target_id:d.child_id,verification_errors:d.parent_ids});let u=a.cycles.find(f=>f.item_ids.includes(i)&&!s.cycles.some(m=>Lo(f.item_ids,m.item_ids)));if(u)throw new v(`Hierarchy mutation would create a cycle: ${u.item_ids.join(" -> ")}.`,b.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]="fdd874ad-e51d-5df2-9486-a0465ad65979")}catch{}})();var cm="global";function wv(e){let t=e?.trim();if(t)return oe(t)?cm:t}function Ev(e,t,n){return dm(e,t,n)}function dm(e,t,n){let r=e.trim();return oe(n)||_e(r)?r:Ve(r,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="06ecc7a4-c593-5d99-89f5-714a4590d0a5")}catch{}})();function ht(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function Vt(e){let t=ht(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function qt(e,t,n=!0){let r=ht(e);return n&&(oe(t)||r!==void 0&&_e(r))}function Po(e,t){return qt(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Na(e,t,n,r){return qt(e,t)?r.get(e):n.get(e.toLowerCase())}function pt(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function lm(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,o=ht(r.id);if(!o)continue;let i=typeof r.kind=="string"?r.kind:"related",s=`${i}\0${Po(o,r.source_kind)}`,a=t.get(s);a?a.count+=1:t.set(s,{target_id:o,kind:i,count:1})}return t}function um(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 lm(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=pt(r.holder_id,o.holder_id);if(i!==0)return i;let s=pt(r.target_id,o.target_id);return s!==0?s:pt(r.kind,o.kind)})}function fm(e,t,n,r,o){if(typeof n!="object"||n===null)return;let i=ht(n.id);if(!i||Po(i,n.source_kind)!==Po(t))return;let s=o.resolve(typeof n.kind=="string"?n.kind:"related");if(!(s?.ordering!==!0||(s.precedence??"source_before_target")!=="source_before_target"))return{holder_id:e.id.trim(),target_id:i,dependency_kind:s.kind,holder_status:e.status,legacy_terminal:r(e.status)}}function mm(e,t=r=>r==="closed"||r==="canceled",n=ae()){let r=new Map;for(let o of e){if(typeof o?.id!="string"||o.id.trim().length===0)continue;let i=ht(o.blocked_by);if(i)for(let s of o.dependencies??[]){let a=fm(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=pt(o.holder_id,i.holder_id);if(s!==0)return s;let a=pt(o.target_id,i.target_id);return a!==0?a:pt(o.dependency_kind,i.dependency_kind)})}function Mo(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,m)=>{let p=ht(d);if(!p||r.has(p.toLowerCase())||qt(p,void 0,m))return;let _={holder_id:c.id.trim(),target_id:p,kind:u,source:f,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:p.toLowerCase()==="no-active-blocker"};o.set(`${_.holder_id}::${_.target_id}::${_.kind}::${_.source}`,_)};for(let c of n){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let d of c.dependencies??[]){if(typeof d!="object"||d===null)continue;let u=d;oe(u.source_kind)||i(c,u.id,typeof u.kind=="string"?u.kind:"related","dependency",!0)}}let s=[...o.values()].sort((c,d)=>c.holder_id.localeCompare(d.holder_id)||c.target_id.localeCompare(d.target_id)||c.kind.localeCompare(d.kind)||c.source.localeCompare(d.source)),a=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:a,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}function _m(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 pm(e){let t=new Map;for(let n of e){let r=Vt(n.blocked_by);r&&qt(r)&&!t.has(r)&&t.set(r,r);for(let o of n.dependencies??[]){if(typeof o!="object"||o===null||!qt(o.id,o.source_kind))continue;let i=Vt(o.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var La=new WeakMap;function xv(e){return e.hierarchyIntegrity??La.get(e)}function hm(e,t=ae()){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 or(e,t,n){let r=n??ae(),o=e.filter(_=>typeof _?.id=="string"&&_.id.trim().length>0),i=new Map(o.map(_=>[_.id.trim().toLowerCase(),_.id.trim()])),s=Mo(o,t),a=_m(s);for(let _ of a)i.set(_.toLowerCase(),_);let c=pm(o),d=new Set(i.keys()),u=new Map;for(let _ of c){let y=_;for(;d.has(y.toLowerCase());)y=`external:${y}`;u.set(_,y),d.add(y.toLowerCase())}let f=o.map(_=>{let y=Vt(_.parent),g=Vt(_.blocked_by),S=(_.dependencies??[]).flatMap(R=>{if(typeof R!="object"||R===null)return[];let D=R,$=Vt(D.id);return $?[{id:Na($,D.source_kind,i,u),kind:typeof D.kind=="string"?D.kind:"related"}]:[]});return{id:_.id.trim(),...y?{parent:i.get(y.toLowerCase())}:{},...g?{blocked_by:Na(g,void 0,i,u)}:{},dependencies:S}}),m=rr(o,t,r),p={graph:ki.fromItems([...f,...a.map(_=>({id:_})),...c.map(_=>({id:u.get(_)}))],r),details:[...o.map(_=>({id:_.id.trim(),title:_.title,status:_.status,...typeof _.type=="string"&&_.type.trim().length>0?{type:_.type.trim()}:{}})),...a.map(_=>({id:_,title:`[missing] ${_}`,status:"missing"})),...c.map(_=>({id:u.get(_),title:`[external] ${_}`,status:"external"}))],missingIdSet:new Set(a.map(_=>_.toLowerCase())),dangling:s,duplicateRows:um(o,t),orderingContradictions:mm(o,t,r),legacyAliasCounts:hm(o,r),hierarchyIntegrity:m};return La.set(p,m),p}import{createHash as ym}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="10f534cf-ee82-54a2-9807-390eca5fb0b8")}catch{}})();var gm=64,vm=8;function bm(e,t){let n=(e.dependencies??[]).map(r=>{if(typeof r!="object"||r===null)return"";let o=r;return`${typeof o.kind=="string"?o.kind:"related"}:${typeof o.id=="string"?o.id:""}`}).sort().join(",");return[e.id,e.title,e.status,t(e.status)?"1":"0",typeof e.type=="string"?e.type.trim():"",e.parent??"",e.blocked_by??"",n].join("\0")}function Ma(e,t=r=>r==="closed"||r==="canceled",n=de()){let r=e.filter(i=>typeof i?.id=="string"&&i.id.trim().length>0).map(i=>bm(i,t)).sort(),o=n.list().map(i=>L(i)).sort();return ym("sha256").update(r.join("")).update("").update(o.join("")).digest("hex")}function Pa(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var jo=class{#e=new Map;#t;#n;constructor(t={}){this.#t=Pa("maxResultsPerWorkspace",t.maxResultsPerWorkspace,gm),this.#n=Pa("maxWorkspaces",t.maxWorkspaces,vm)}lookup(t,n,r){let o=this.#e.get(t),i=!0;(o===void 0||o.fingerprint!==n)&&(o={fingerprint:n,assembly:r(),results:new Map},i=!1,!this.#e.has(t)&&this.#e.size>=this.#n&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,o);let s=o,a=this.#t;return{assembly:s.assembly,assemblyReused:i,fingerprint:n,memoize(c,d){let u=s.results.get(c);if(u!==void 0||s.results.has(c))return s.results.delete(c),s.results.set(c,u),{value:structuredClone(u),reused:!0};let f=d();return s.results.size>=a&&s.results.delete(s.results.keys().next().value),s.results.set(c,structuredClone(f)),{value:f,reused:!1}}}}clear(){this.#e.clear()}},ja=new jo;function Fa(){return ja}function Lv(){ja.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="47b3091f-a1a8-503c-83e9-46b85adf4207")}catch{}})();var wm=["prerequisite","dependent","ancestor","descendant","provenance","related"],Em=new TextEncoder;function Fo(e,t,n){let r=e??t;if(!Number.isInteger(r)||r<1)throw new TypeError(`Relationship context ${n} must be positive`);return r}function ir(e){return Math.max(1,Math.ceil(Em.encode(JSON.stringify(e)).byteLength/4))}function $o(e,t,n){let r=n.resolve(e.kind);if(r?.ordering){let i=(r.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===i?"prerequisite":"dependent"}if(r?.hierarchy){let i=r.hierarchyDirection==="source_parent"?e.source:e.target;return t===i?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function km(e,t,n,r){let o=e.filter(i=>i.source===t&&i.target===n||i.target===t&&i.source===n).map(i=>$o(i,n,r));return[...new Set(o)].sort()}function Im(e){return wm.find(t=>e.includes(t))}function Sm(e,t,n,r){let o=r.direction??"both",i=r.maxDepth??3;if(!Number.isInteger(i)||i<0)throw new TypeError("Relationship context maxDepth must be non-negative");let s=new Set([t]),a=[{id:t,distance:0}],c=[],d=0,u=!1;for(let f=0;f<a.length;f+=1){r.signal?.throwIfAborted();let m=a[f];if(m.distance>=i&&u)continue;let p=e.neighborEdges(m.id,{direction:o,kinds:r.kinds,signal:r.signal});if(d+=p.meta.inspectedEdges,m.distance>=i){p.value.some(_=>!s.has(_.id))&&(u=!0);continue}for(let{id:_,edge:y}of p.value){if(s.has(_))continue;s.add(_);let g={id:_,distance:m.distance+1,via:m.id,role:$o(y,_,n)};c.push(g),a.push(g)}}return c.sort((f,m)=>f.distance-m.distance||f.id.localeCompare(m.id)),{rows:c,visitedNodes:a.length,inspectedEdges:d,depthTruncated:u}}function Tm(e,t,n,r){let o={prerequisite:0,dependent:0,ancestor:0,descendant:0,provenance:0,related:0},i=e.neighborEdges(t,{direction:r.direction??"both",kinds:r.kinds,signal:r.signal}).value;for(let{id:s,edge:a}of i)o[$o(a,s,n)]+=1;return{directEdges:o,directTotal:i.length,rootEdges:i.map(({edge:s})=>s)}}function Cm(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let o=r.distance===1?km(e.rootEdges,e.rootId,r.id,e.registry):[],i={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:o.length>0?Im(o):r.role,via:r.via,reasons:o.length>0?o:[`${r.role} via ${r.via} (depth ${r.distance})`]},s=ir(i);if(n+s>e.tokenBudget)break;t.push(i),n+=s}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:n}}function Om(e){let t=e.options.kinds?new Set(e.options.kinds.map(i=>e.registry.require(i).kind)):void 0,n=e.graph.edges().filter(i=>{if(!e.included.has(i.source)||!e.included.has(i.target))return!1;if(t===void 0||t.has(i.kind))return!0;let s=e.registry.resolve(i.kind)?.inverse;return s!==void 0&&t.has(s)}),r=[],o=e.initialTokens;for(let i of n){if(r.length>=e.edgeLimit)break;let s=ir(i);if(o+s>e.tokenBudget)break;r.push(i),o+=s}return{edges:r,usedTokens:o,candidateCount:n.length}}function $a(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let o=Fo(r.nodeLimit,20,"nodeLimit"),i=Fo(r.edgeLimit,40,"edgeLimit"),s=Fo(r.tokenBudget,1200,"tokenBudget"),a=r.registry??de(),c=new Map(n.map(Xe=>[Xe.id,Xe])),d=c.get(t)??{id:t},{evidence:u=[],...f}=d,m=[...u],p=Sm(e,t,a,r),{rootEdges:_,...y}=Tm(e,t,a,r),g=Li("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3}),S=Mi(p.rows,r.cursor,g,({id:Xe})=>Xe),R=p.rows.slice(S),D=ir(f)+ir(m);if(D>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let $=Cm({candidates:R,details:c,rootEdges:_,rootId:t,registry:a,nodeLimit:o,tokenBudget:s,initialTokens:D}),{nodes:x}=$,q=new Set([t,...x.map(({id:Xe})=>Xe)]),W=Om({graph:e,included:q,options:r,registry:a,edgeLimit:i,tokenBudget:s,initialTokens:$.usedTokens}),{edges:J,usedTokens:G}=W,ee=S+x.length,he=ee<p.rows.length,Ke=x.at(-1),Et=W.candidateCount-J.length,ai=p.depthTruncated||he||Et>0,Lc={rootId:t,...f.status===void 0?{}:{rootStatus:f.status},...y,discoveredNodes:p.rows.length,returnedNodes:x.length,returnedEdges:J.length,omittedNodes:p.rows.length-ee,omittedEdges:Et,evidenceCount:m.length,hasMore:he};return{root:f,summary:Lc,nodes:x,edges:J,evidence:m,meta:{exact:!0,truncated:ai,completeness:ai?"truncated":"complete",nodeLimit:o,edgeLimit:i,tokenBudget:s,usedTokens:G,visitedNodes:p.visitedNodes,inspectedEdges:p.inspectedEdges,omittedNodes:p.rows.length-ee,omittedEdges:Et,...he&&Ke?{nextCursor:Pi(g,Ke.id,ee-1)}:{}}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59b12366-2f29-5acb-8196-91e9ab183666")}catch{}})();function zo(e,t){return(t===void 0?void 0:vi(e,t))?.execution_role??gi[e.trim().toLowerCase()]??"agent"}var Uo="blocked_by",Ha="blocks",xm=Object.freeze([Uo,Ha]),Ho="no-active-blocker";function F(e){return e.trim().toLowerCase()}function sr(e,t){return t?`external:${e}`:`local:${F(e)}`}function Gt(e){let t=new Map,n=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(n.length>0&&F(n)!==Ho){let r=_e(n);t.set(sr(n,r),r?n:F(n))}for(let r of e.dependencies??[]){let o=typeof r.id=="string"?r.id.trim():"";if(r.kind===Uo&&o.length>0&&F(o)!==Ho){let i=_e(o)||oe(r.source_kind);t.set(sr(o,i),i?o:F(o))}}return[...t.values()].sort((r,o)=>r.localeCompare(o))}function ar(e){let t=new Map;for(let n of e){let r=F(n.id);r.length!==0&&t.set(r,new Set(Gt(n)))}for(let n of e){let r=F(n.id);if(r.length!==0)for(let o of n.dependencies??[]){let i=o.kind===Ha&&typeof o.id=="string"?F(o.id):"";if(i.length===0||i===Ho)continue;let s=t.get(i)??new Set;s.add(r),t.set(i,s)}}return new Map([...t].map(([n,r])=>[n,[...r].sort((o,i)=>o.localeCompare(i))]))}function za(e,t){let n=F(e.id);return n.length>0?ar(t).get(n)??Gt(e):Gt(e)}function Bo(e,t,n,r){let o=e,i=typeof o.id=="string"?r?.get(F(o.id))??za(o,[...t.values()]):Gt(e),s=new Set((e.dependencies??[]).filter(a=>a.kind===Uo&&oe(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>sr(a.id.trim(),!0)));return i.map(a=>{if(_e(a)||s.has(sr(a,!0)))return{id:a,title:null,status:null,resolved:!1,external:!0,...typeof e.updated_at=="string"?{blocked_since:e.updated_at}:{},resolver:null};let c=t.get(F(a));return c?{id:a,title:c.title,status:c.status,resolved:pe(c.status,n)}:{id:a,title:null,status:null,resolved:!1}})}function Rm(e,t,n){return Bo(e,t,n)}function Am(e,t){let n=new Map(e.map(s=>[F(s.id),s])),r=ar(e),o=new Set([...Ua(t),...t.blocked_statuses]),i=new Set;for(let s of e){let a=nt(s.status,t);if(!o.has(a))continue;(t.blocked_statuses.has(a)||Bo(s,n,t,r).some(d=>!d.resolved))&&i.add(F(s.id))}return i}function Dm(e,t,n={},r){let o=[...e.ready,...e.decisions,...e.gates];n.includeContainers===!0&&o.push(...e.containers.filter(s=>s.open_blockers.length===0&&!t.blocked_statuses.has(nt(s.item.status,t))));let i={ready:[],decisions:[],gates:[]};for(let s of o){let a=zo(s.item.type,r);a==="human"&&n.includeDecisions!==!0?i.decisions.push(s):a==="gate"&&n.includeGates!==!0?i.gates.push(s):i.ready.push(s)}return i}function Ua(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function Nm(e,t,n){let r=[F(e)],o=new Set;for(;r.length>0;){let i=r.pop();if(!o.has(i)){o.add(i);for(let s of t.get(i)??[]){if(!pe(s.status,n))return!0;r.push(F(s.id))}}}return!1}function Lm(e){let t=new Map,n=new Map,r=new Map,o=ar(e);for(let i of e){t.set(F(i.id),i);let s=typeof i.parent=="string"?i.parent.trim():"";if(s.length>0){let a=F(s),c=n.get(a)??[];c.push(i),n.set(a,c)}for(let a of o.get(F(i.id))){let c=F(a),d=r.get(c)??[];d.push(i.id),r.set(c,d)}}return{itemsById:t,childrenByParent:n,blockedByReverse:r,blockerIdsByItem:o}}function Pm(e,t,n,r){let{itemsById:o,childrenByParent:i,blockedByReverse:s,blockerIdsByItem:a}=Lm(t),c=new Set([...Ua(n),...n.blocked_statuses]),d=new Set(t.filter(g=>!pe(g.status,n)).map(g=>F(g.id))),u=[],f=[],m=[],p=[],_=[],y=0;for(let g of e){if(!c.has(nt(g.status,n)))continue;y+=1;let S=Bo(g,o,n,a).filter(x=>!x.resolved),R=(s.get(F(g.id))??[]).filter(x=>d.has(F(x))).sort((x,q)=>x.localeCompare(q)),D={item:g,open_blockers:S,unblocks:R};if(Nm(g.id,i,n)){m.push(D);continue}let $=n.blocked_statuses.has(nt(g.status,n));if(S.length===0&&!$){let x=zo(g.type,r);x==="human"?p.push(D):x==="gate"?_.push(D):u.push(D)}else f.push(D)}return{ready:u,blocked:f,containers:m,decisions:p,gates:_,active_count:y,container_count:m.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ae1c56b3-148d-502d-9450-e807fdfab4da")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="245ec731-790e-55ae-9bb6-3eeaaefe27ee")}catch{}})();var U={ok:!1},h=e=>typeof e=="string"?{ok:!0,value:e}:U,O=e=>typeof e=="boolean"?{ok:!0,value:e}:U;function N(e={}){return t=>typeof t!="number"||!Number.isFinite(t)||e.int&&(!Number.isInteger(t)||!Number.isSafeInteger(t))||e.positive&&t<=0||typeof e.min=="number"&&t<e.min||typeof e.max=="number"&&t>e.max?U:{ok:!0,value:t}}function A(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:U}function w(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return U;let r=[];for(let o of n){let i=e(o);if(!i.ok)return U;r.push(i.value)}return{ok:!0,value:r}}}function Vo(e,t){return n=>typeof n=="string"&&n.length>0&&n.length<=e&&n===n.trim()&&(t===void 0||t.test(n))?{ok:!0,value:n}:U}function l(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function cr(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return U;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return U;n[r]=i.value}return{ok:!0,value:n}}}function C(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return U;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return U;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var Mm=C({key:h,values:w(h),required:l(O),aliases:l(w(h)),description:l(h)}),jm=C({command:A("create","update"),option:h,required:l(O),visible:l(O),enabled:l(O)}),Fm=C({name:h,description:l(h),default_status:l(h),execution_role:l(A("agent","human","gate")),folder:l(h),aliases:l(w(h)),required_create_fields:l(w(h)),required_create_repeatables:l(w(h)),options:l(w(Mm)),command_option_policies:l(w(jm))}),$m=C({id:h,aliases:l(w(h)),roles:l(w(A(...ci))),description:l(h),order:l(N())}),Hm=C({key:h,metadata_key:l(h),front_matter_key:l(h),cli_flag:l(h),cli_aliases:l(w(h)),description:l(h),type:l(A(...di)),commands:l(w(A(...li))),repeatable:l(O),required:l(O),required_on_create:l(O),required_types:l(w(h)),allow_unset:l(O)}),zm=e=>{if(!Array.isArray(e)||e.length!==2)return U;let[t,n]=e;return typeof t!="string"||typeof n!="string"?U:{ok:!0,value:[t,n]}},Um=C({type:h,allowed_transitions:w(zm)}),Bm=l(C({version:l(N({int:!0})),files:l(C({types:l(h),statuses:l(h),fields:l(h),workflows:l(h)})),statuses:l(w($m)),fields:l(w(Hm)),workflow:l(C({draft_status:l(h),open_status:l(h),in_progress_status:l(h),blocked_status:l(h),close_status:l(h),canceled_status:l(h)})),type_workflows:l(w(Um)),unknown_field_policy:l(A(...ui))})),Wm=l(C({preset:l(A(...fi)),ownership_enforcement:l(A("none","warn","strict")),create_mode_default:l(A("progressive","strict")),close_validation_default:l(A("off","warn","strict")),require_close_reason:l(O),parent_reference:l(A("warn","strict_error")),metadata_profile:l(A("core","strict","custom")),force_required_for_stale_lock:l(O),create_default_type:l(h),workflow_enforcement:l(A("off","warn","strict")),duplicate_detection_mode:l(A("off","advisory","strict")),duplicate_detection_threshold:l(N({min:0,max:1})),duplicate_detection_limit:l(N({int:!0,min:0,max:20}))})),Vm=C({name:h,disabled:l(O),require_trusted:l(O),require_provenance:l(O),sandbox_profile:l(A("none","restricted","strict")),allowed_capabilities:l(w(h)),blocked_capabilities:l(w(h)),allowed_surfaces:l(w(h)),blocked_surfaces:l(w(h)),allowed_commands:l(w(h)),blocked_commands:l(w(h)),allowed_actions:l(w(h)),blocked_actions:l(w(h)),allowed_services:l(w(h)),blocked_services:l(w(h))}),Wo=A("block","warn"),qm=e=>typeof e=="string"?Wo(e):C({global:l(Wo),project:l(Wo)})(e),Gm=l(C({mode:l(A("off","warn","enforce")),trust_mode:l(A("off","warn","enforce")),pm_max_version_exceeded_mode:l(qm),require_provenance:l(O),trusted_extensions:l(w(h)),default_sandbox_profile:l(A("none","restricted","strict")),allowed_extensions:l(w(h)),blocked_extensions:l(w(h)),allowed_capabilities:l(w(h)),blocked_capabilities:l(w(h)),allowed_surfaces:l(w(h)),blocked_surfaces:l(w(h)),allowed_commands:l(w(h)),blocked_commands:l(w(h)),allowed_actions:l(w(h)),blocked_actions:l(w(h)),allowed_services:l(w(h)),blocked_services:l(w(h)),extension_overrides:l(w(Vm))})),Ge=Vo(128),Km=C({harness:Vo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:l(w(Ge,64)),model_environment_keys:l(w(Ge,64)),session_environment_keys:l(w(Ge,64)),provenance_environment_keys:l(cr(w(Ge,64))),provenance_resolvers:l(cr(A("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:l(w(Ge,64)),argv_markers:l(w(Ge,64)),client_names:l(w(Ge,64))}),Xm=C({version:N({int:!0}),id_prefix:h,ids:l(C({token_length:l(N({int:!0,min:4,max:12}))})),author_default:h,agent_identity:l(C({probes_enabled:l(O),identity_vocabulary:l(C({version:N({int:!0,positive:!0}),aliases:cr(Vo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:w(Km)})),mutation_guard:l(C({require_attributed_author:l(O),secret_guard:l(A("off","advise","block")),stale_in_progress_hours:l(N({int:!0,positive:!0}))})),item_format:l(A("toon","json_markdown")),locks:C({ttl_seconds:N({int:!0}),wait_ms:l(N({int:!0,min:0}))}),checkpoints:l(C({retention_days:l(N({int:!0,positive:!0}))})),output:C({default_format:A("toon","json")}),ux:l(C({deprecation_hints:l(O)})),history:l(C({missing_stream:A("auto_create","strict_error"),compact_policy:l(C({enabled:l(O),max_entries:l(N({int:!0,positive:!0})),trigger:l(A("health_warn","auto"))}))})),validation:l(C({sprint_release_format:A("warn","strict_error"),parent_reference:l(A("warn","strict_error")),metadata_profile:l(A("core","strict","custom")),metadata_required_fields:l(w(h)),lifecycle_stale_blocker_reason_patterns:l(w(h)),lifecycle_closure_like_blocked_reason_patterns:l(w(h)),lifecycle_closure_like_resolution_patterns:l(w(h)),lifecycle_closure_like_actual_result_patterns:l(w(h)),estimate_defaults_by_type:l(cr(N({int:!0,positive:!0})))})),governance:Wm,workflow:l(C({definition_of_done:w(h)})),testing:l(C({record_results_to_items:O,allow_untrusted_linked_tests:l(O)})),telemetry:l(C({enabled:O,first_run_prompt_completed:l(O),capture_level:l(A("minimal","redacted","max")),endpoint:l(h),installation_id:l(h),retention_days:l(N({int:!0,positive:!0}))})),agent_guidance:l(C({prompt_completed:l(O),declined:l(O),declined_at:l(h),template_version:l(N({int:!0,positive:!0})),last_checked_files:l(w(h))})),item_types:l(C({definitions:w(Fm)})),schema:Bm,context:l(C({default_depth:l(A("brief","standard","deep")),activity_limit:l(N({int:!0,positive:!0})),stale_threshold_days:l(N({int:!0,positive:!0})),sections:l(C({hierarchy:l(O),activity:l(O),progress:l(O),recently_created:l(O),unparented:l(O),blockers:l(O),files:l(O),workload:l(O),staleness:l(O),tests:l(O)}))})),extensions:C({enabled:w(h),disabled:w(h),policy:Gm}),search:C({score_threshold:N(),hybrid_semantic_weight:l(N()),max_results:N({int:!0}),embedding_model:h,embedding_corpus_max_characters:l(N()),embedding_batch_size:N({int:!0}),embedding_timeout_ms:l(N({int:!0})),scanner_max_batch_retries:N({int:!0}),provider:l(h),default_mode:l(A("auto","keyword","semantic","hybrid")),corpus_fields:l(w(h)),mutation_refresh_policy:l(A("cache_only","semantic_configured","semantic_auto")),query_expansion:l(C({enabled:l(O),provider:l(h)})),rerank:l(C({enabled:l(O),model:l(h),top_k:l(N({int:!0,positive:!0}))})),bm25:l(C({k1:l(N()),b:l(N())}))}),providers:C({openai:C({base_url:h,api_key:h,model:h}),ollama:C({base_url:h,model:h})}),vector_store:C({adapter:l(h),collection_name:l(h),qdrant:C({url:h,api_key:h}),lancedb:C({path:h})})});function Ba(e){let t=Xm(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]="833a4f8a-7e5d-5480-a526-4e1ebaadd0a8")}catch{}})();var Ym={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},Wa=120;function qo(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function qa(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var Jm=qa(Ym),Va=new WeakMap;function Qm(e){let t=Va.get(e);if(t)return t;let n=qa(e);return Va.set(e,n),n}function Gv(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return Wa;if(t){let o=Qm(t).get(n);if(qo(o))return Math.floor(o)}let r=Jm.get(n);return qo(r)?Math.floor(r):Wa}function Go(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||!qo(r)||(t[o]=Math.floor(r))}return t}import{stat as Zm}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7c23ef10-ea7a-5680-8850-822e7d0c07a6")}catch{}})();var dr=new Map;function Ga(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function e_(e){try{let t=await Zm(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function xe(e){let t=Ga(e),n=await Promise.all(t.map(r=>e_(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function Kt(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 Ka(e){return dr.get(e)}function lr(e,t){let n=Ga(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));dr.set(e,{tracked_paths:n,signatures:r,value:t.value})}function Re(e){if(e){dr.delete(e);return}dr.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]="665677ea-4d55-5858-8b21-6dee20bfd46b")}catch{}})();var t_="settings:write",Za=Symbol("pm.settings.persist_source"),n_=128,r_=new Set(["off","advisory","strict"]);function Xa(e){return structuredClone(_i[e])}function o_(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:k.governance.preset}function Ya(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 i_(e){return e.preset==="custom"?Ya({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):Ya({preset:e.preset},e)}function s_(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),r_.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 fr(e){let t=e.governance??{},n=o_(t.preset),r=s_(t);if(n==="custom"){let s=Xa("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=Xa(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function ec(){return structuredClone(k)}function tc(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:k.search.mutation_refresh_policy}function nc(e){return e==="auto"||e==="keyword"||e==="semantic"||e==="hybrid"?e:"auto"}function rc(e){return typeof e=="boolean"?e:k.search.query_expansion.enabled}function oc(e){return typeof e!="string"?k.search.query_expansion.provider:e.trim()}function ic(e){return typeof e=="boolean"?e:k.search.rerank.enabled}function sc(e){return typeof e!="string"?k.search.rerank.model:e.trim()}function ac(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:k.search.rerank.top_k}function cc(e){if(typeof e!="string")return k.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,n_);return n.length>0?n:k.vector_store.collection_name}function Ko(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function a_(e,t){let n=e.schema,r=Ko(n?.statuses),o=Ko(n?.fields),i=Ko(n?.type_workflows);return{source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:yt(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:yt(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 dc(e,t){Object.defineProperty(e,Za,{value:t,writable:!0,configurable:!0,enumerable:!1})}function lc(e){let t=e[Za];if(!(!t||typeof t!="object"))return t}function ur(e){let t=structuredClone(e.settings),n=lc(e.settings);return n&&dc(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function c_(e,t,n){let r=St(t);return[n,Tt(e,r.files.types,It.types),Tt(e,r.files.statuses,It.statuses),Tt(e,r.files.fields,It.fields),Tt(e,r.files.workflows,It.workflows)]}async function d_(e,t,n){let r=await xe(t);lr(e,{tracked_paths:t,signatures:r,value:ur(n)})}async function l_(e,t,n){try{await d_(e,t,n)}catch{Re(e)}}function Ja(e,t){return e.find(n=>n.path===t)}function u_(e,t,n){for(let r of n){let o=Ja(e,r),i=Ja(t,r);if(!o||!i||!Kt([o],[i]))return!1}return!0}async function Xo(e,t,n,r,o){try{let i=await xe(t);if(!u_(r,i,o)){Re(e);return}lr(e,{tracked_paths:t,signatures:i,value:ur(n)})}catch{Re(e)}}function f_(e,t){let n=St(e.schema),r=yt(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?yt(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 Xt(e){return{settings:ec(),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 Jo(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function uc(e){let t=k.agent_guidance,n=e?.template_version;return{prompt_completed:e?.prompt_completed===!0,declined:e?.declined===!0,declined_at:typeof e?.declined_at=="string"?e.declined_at:t.declined_at,template_version:typeof n=="number"&&Number.isInteger(n)&&n>0?n:t.template_version,last_checked_files:Jo(e?.last_checked_files??t.last_checked_files)}}function re(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function __(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.mode}function p_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.trust_mode}function fc(e){return e==="none"||e==="restricted"||e==="strict"?e:k.extensions.policy.default_sandbox_profile}function h_(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=fc(e.sandbox_profile));let r=re(e.allowed_capabilities),o=re(e.blocked_capabilities),i=re(e.allowed_surfaces),s=re(e.blocked_surfaces),a=re(e.allowed_commands),c=re(e.blocked_commands),d=re(e.allowed_actions),u=re(e.blocked_actions),f=re(e.allowed_services),m=re(e.blocked_services);return r.length>0&&(n.allowed_capabilities=r),o.length>0&&(n.blocked_capabilities=o),i.length>0&&(n.allowed_surfaces=i),s.length>0&&(n.blocked_surfaces=s),a.length>0&&(n.allowed_commands=a),c.length>0&&(n.blocked_commands=c),d.length>0&&(n.allowed_actions=d),u.length>0&&(n.blocked_actions=u),f.length>0&&(n.allowed_services=f),m.length>0&&(n.blocked_services=m),n}function y_(e){let t=new Map;for(let n of e??[]){let r=h_(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function Yo(e){return e==="block"||e==="warn"?e:void 0}function g_(e){if(typeof e=="string")return Yo(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=Yo(e.global),n=Yo(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function X(e,t){return re(e?.[t]??k.extensions.policy[t])}function mc(e){let t=g_(e?.pm_max_version_exceeded_mode);return{mode:__(e?.mode),trust_mode:p_(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:X(e,"trusted_extensions"),default_sandbox_profile:fc(e?.default_sandbox_profile),allowed_extensions:X(e,"allowed_extensions"),blocked_extensions:X(e,"blocked_extensions"),allowed_capabilities:X(e,"allowed_capabilities"),blocked_capabilities:X(e,"blocked_capabilities"),allowed_surfaces:X(e,"allowed_surfaces"),blocked_surfaces:X(e,"blocked_surfaces"),allowed_commands:X(e,"allowed_commands"),blocked_commands:X(e,"blocked_commands"),allowed_actions:X(e,"allowed_actions"),blocked_actions:X(e,"blocked_actions"),allowed_services:X(e,"allowed_services"),blocked_services:X(e,"blocked_services"),extension_overrides:y_(e?.extension_overrides??k.extensions.policy.extension_overrides)}}function _c(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 Ae(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function H(e,t){return e===void 0?t:e}function Y(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function Qo(e){return Array.isArray(e)?e:[]}function v_(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:_c(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:Ae(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:Ae(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:Ae(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:Ae(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Go(e.validation?.estimate_defaults_by_type)}}function b_(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 w_(e,t){return{...t.search,...e.search,default_mode:nc(e.search?.default_mode),mutation_refresh_policy:tc(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:rc(e.search?.query_expansion?.enabled),provider:oc(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:ic(e.search?.rerank?.enabled),model:sc(e.search?.rerank?.model),top_k:ac(e.search?.rerank?.top_k)}}}function E_(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:cc(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function k_(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function I_(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 S_(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function yt(e){let t=(e??[]).map(r=>yi(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 pc(e){let t=ec(),n=fr({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:k_(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:v_(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:b_(e,t),agent_guidance:uc(e.agent_guidance??t.agent_guidance),item_types:{definitions:yt(e.item_types?.definitions)},schema:St(e.schema??t.schema),context:I_(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:mc(e.extensions.policy??t.extensions.policy)},search:w_(e,t),providers:S_(e,t),vector_store:E_(e,t)}}function T_(e){e.agent_identity=T(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=T(Y(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=Qo(e.agent_identity.harness_signals).map(n=>T(Y(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=T(e.locks,["ttl_seconds","wait_ms"]),e.ids=T(e.ids,["token_length"]),e.mutation_guard=T(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=T(e.checkpoints,["retention_days"]),e.output=T(e.output,["default_format"]),e.ux=T(e.ux,["deprecation_hints"]),e.history=T(e.history,["missing_stream","compact_policy"]),e.validation=T(e.validation,["sprint_release_format","parent_reference","metadata_profile","metadata_required_fields","lifecycle_stale_blocker_reason_patterns","lifecycle_closure_like_blocked_reason_patterns","lifecycle_closure_like_resolution_patterns","lifecycle_closure_like_actual_result_patterns","estimate_defaults_by_type"]),e.governance=T(e.governance,["preset","ownership_enforcement","create_mode_default","close_validation_default","require_close_reason","parent_reference","metadata_profile","force_required_for_stale_lock","create_default_type","workflow_enforcement","duplicate_detection_mode","duplicate_detection_threshold","duplicate_detection_limit"]),e.workflow=T(e.workflow,["definition_of_done"]),e.testing=T(e.testing,["record_results_to_items","allow_untrusted_linked_tests"]),e.telemetry=T(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=T(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=T(e.item_types,["definitions"]),e.schema=T(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=T(Y(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=T(Y(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=T(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=T(Y(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=T(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=T(Y(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=Qo(e.extensions.policy.extension_overrides).map(n=>T(Y(n),["name","disabled","require_trusted","require_provenance","sandbox_profile","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services"])),e.search=T(e.search,["score_threshold","hybrid_semantic_weight","max_results","embedding_model","embedding_corpus_max_characters","embedding_batch_size","embedding_timeout_ms","scanner_max_batch_retries","provider","default_mode","mutation_refresh_policy","query_expansion","rerank"]),e.search.query_expansion=T(Y(e.search.query_expansion),["enabled","provider"]),e.search.rerank=T(Y(e.search.rerank),["enabled","model","top_k"]),e.providers=T(e.providers,["openai","ollama"]),e.providers.openai=T(Y(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=T(Y(e.providers.ollama),["base_url","model"]),e.vector_store=T(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=T(Y(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=T(Y(e.vector_store.lancedb),["path"])}function C_(e){return{...e,locks:H(e.locks,k.locks),ids:H(e.ids,k.ids),agent_identity:H(e.agent_identity,k.agent_identity),mutation_guard:H(e.mutation_guard,k.mutation_guard),checkpoints:H(e.checkpoints,k.checkpoints),output:H(e.output,k.output),ux:H(e.ux,k.ux),history:H(e.history,k.history),validation:H(e.validation,k.validation),workflow:H(e.workflow,k.workflow),testing:H(e.testing,k.testing),telemetry:H(e.telemetry,k.telemetry),agent_guidance:H(e.agent_guidance,k.agent_guidance),item_types:H(e.item_types,k.item_types),schema:H(e.schema,k.schema),context:H(e.context,k.context),extensions:H(e.extensions,k.extensions),search:H(e.search,k.search),providers:H(e.providers,k.providers),vector_store:H(e.vector_store,k.vector_store)}}function O_(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:_c(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:Ae(e.validation?.lifecycle_stale_blocker_reason_patterns??k.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:Ae(e.validation?.lifecycle_closure_like_blocked_reason_patterns??k.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:Ae(e.validation?.lifecycle_closure_like_resolution_patterns??k.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:Ae(e.validation?.lifecycle_closure_like_actual_result_patterns??k.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Go(e.validation?.estimate_defaults_by_type)}}function x_(e){return{...k.search,...e.search,default_mode:nc(e.search?.default_mode),mutation_refresh_policy:tc(e.search?.mutation_refresh_policy),query_expansion:{...k.search.query_expansion,...e.search?.query_expansion,enabled:rc(e.search?.query_expansion?.enabled),provider:oc(e.search?.query_expansion?.provider)},rerank:{...k.search.rerank,...e.search?.rerank,enabled:ic(e.search?.rerank?.enabled),model:sc(e.search?.rerank?.model),top_k:ac(e.search?.rerank?.top_k)}}}function R_(e){return{default_depth:e.context?.default_depth??k.context.default_depth,activity_limit:e.context?.activity_limit??k.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??k.context.stale_threshold_days,sections:{...k.context.sections,...e.context?.sections}}}function A_(e){return{...e.vector_store,adapter:e.vector_store?.adapter??k.vector_store.adapter,collection_name:cc(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function D_(e,t,n,r){return{...e,item_format:"toon",validation:O_(e,t),governance:t,agent_guidance:uc(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:x_(e),context:R_(e),extensions:{enabled:Jo(e.extensions?.enabled),disabled:Jo(e.extensions?.disabled),policy:mc(e.extensions?.policy)},vector_store:A_(e)}}function hc(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:{};hc(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var yc=["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 Qa(e,t){let n=C_(e),r=fr(n),o=St(n.schema),i=f_(n,t),s=D_(n,r,o,i),a=T({...s,governance:i_(r)},yc);return T_(a),a}function N_(e,t={}){let n=Qa(e,t.persist_source);if(t.persist_source){let r=pc(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=Qa(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return hc(i,o,n),`${JSON.stringify(T(i,yc),null,2)}
162
+ `}return`${JSON.stringify(n,null,2)}
163
+ `}async function gc(e){let t=kt(e),n=[t];await ve({path:t,scope:"project"});let r=Ka(e);if(r){let d=await xe(r.tracked_paths);if(Kt(d,r.signatures))return ur(r.value)}let o=await xe([t]),i;try{i=await ge(t)}catch{return Xt("settings_read_fs_error")}if(i===null){let d=Xt();return await Xo(e,[t],d,o,[t]),d}let s=await xe([t]);if(!Kt(o,s))return Re(e),gc(e);let a;try{a=JSON.parse(i)}catch{let d=Xt("settings_read_invalid_json");return await Xo(e,[t],d,s,[t]),d}let c=Ba(a);if(!c.success){let d=Xt("settings_read_invalid_schema");return await Xo(e,[t],d,s,[t]),d}try{let d=pc(c.data),u=c_(e,d.schema,t);n=u;let f=await xe(u),m=await Si(e,d.schema),p=await Ti(e,d.schema),_=await xe(u),y={...d,item_types:{definitions:yt([...d.item_types.definitions,...Qo(p.type_definitions_from_file)])},schema:p.schema};dc(y,a_(c.data,y));let g={settings:y,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(S=>`runtime_schema_bootstrap_created:${S}`),...p.warnings]};return m.created_paths.length===0?Kt(f,_)?lr(e,{tracked_paths:u,signatures:_,value:ur(g)}):Re(e):Re(e),g}catch{let d=Xt("settings_read_merge_failed");return await l_(e,n,d),d}}async function vc(e){return(await gc(e)).settings}async function db(e,t,n=t_){let r=kt(e),o=N_(t,{persist_source:lc(t)});try{await ua({pmRoot:e,filePath:r,raw:o,op:n,author:as(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await ue({path:r,scope:"project",op:n})}finally{Re(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]="cb9a55d6-9ba9-50af-a54f-2bba5d076fdb")}catch{}})();function Yt(e,t=!1){let n=e[0];if(n?.op!=="history_compact_baseline")return 0;let r=n.context?.history_compaction,o=typeof r=="object"&&r!==null&&"version_offset"in r?r.version_offset:void 0;if(typeof o=="number"&&Number.isSafeInteger(o)&&o>=0&&Number.isSafeInteger(o+e.length))return o;if(t)return null;throw new v("This compacted stream has no trustworthy version offset; numeric history addresses are unavailable.",b.USAGE,{code:"history_version_mapping_unavailable",required:"Use a retained timestamp or recover the pre-compaction stream from version control.",nextSteps:["Run pm history <id> --full to inspect the retained timestamps and checkpoint evidence."]})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8835b501-34c7-51ba-b02e-782f8a457e1b")}catch{}})();function L_(e,t){let n=-1;return e.forEach((r,o)=>{let i=Date.parse(r.ts);if(!Number.isFinite(i))throw new v(`History for this item contains invalid timestamp at entry ${o+1}.`,b.GENERIC_FAILURE);i<=t&&(n=o)}),n}function P_(e,t){let n=e[0]?.ts??null,r=e.at(-1)?.ts??null,o={code:"history_target_out_of_range",required:"Choose a target within the available item history.",why:"Point-in-time reads and restores can only reconstruct recorded versions.",examples:[],nextSteps:["Run pm history <id> to inspect available versions and timestamps."],valid_range:{first_version:null,last_version:null,first_timestamp:n,last_timestamp:r}};return r!==null&&(o.examples=[r],t!==null&&(o.examples.unshift(String(t+1),String(t+e.length)),o.valid_range.first_version=t+1,o.valid_range.last_version=t+e.length)),{guidance:o,lastTimestamp:r}}function M_(e,t){let n={};if(t instanceof Error&&t.message.trim().length>0&&(n.reason=t.message.trim()),typeof t!="object"||t===null)return n;let r=t;if(typeof r.index=="number"&&Number.isInteger(r.index)&&r.index>=0&&(n.patchIndex=r.index),typeof r.operation=="object"&&r.operation!==null){let o=r.operation;Object.assign(n,Object.fromEntries(["op","path","from"].flatMap(i=>{let s=o[i];return typeof s=="string"?[[i,s]]:[]})))}if(n.patchIndex!==void 0){let o=e[n.patchIndex];o&&(n.op??=o.op,n.path??=o.path,n.from??=o.from)}return n}function bc(e,t,n={}){let r=e.trim(),o=n.errorSubject??"history",i=o==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=P_(t,Yt(t,!0));if(!r)throw new v(`Missing ${o} target. Use a timestamp or version number.`,b.USAGE,s);if(/^\d+$/.test(r)){let u=Yt(t),f=Number(r);if(f>=1&&f<=u)throw new v(`History version ${f} was pruned by compaction.`,b.USAGE,{...s,code:"history_version_pruned"});if(!Number.isSafeInteger(f)||f<1||f>u+t.length)throw new v(`${i} version must be between ${u+1} and ${u+t.length} for this item.`,b.USAGE,s);return{kind:"version",raw:r,historyIndex:f-u-1}}let c=Date.parse(r);if(!Number.isFinite(c))throw new v(`Invalid ${o} target "${e}". Use a positive version number or ISO timestamp.`,b.USAGE,s);let d=L_(t,c);if(d<0||n.allowFutureTimestamp!==!0&&c>Date.parse(a))throw new v(o==="restore"?`No history entries exist at or before timestamp ${r}.`:`No history entry exists at timestamp ${r}.`,b.USAGE,s);return{kind:"timestamp",raw:r,historyIndex:d}}function Zo(e,t,n,r){let o=We(e,t);if(o.ok)return o.document;let i=M_(t,o.error),s=[`history_op=${r}`,i.patchIndex===void 0?null:`patch_index=${i.patchIndex}`,i.op?`op=${i.op}`:null,i.path?`path=${i.path}`:null,i.from?`from=${i.from}`:null].filter(a=>a!==null);throw new v(`Failed to apply history patch at entry ${n} (${s.join(", ")}). ${i.reason??String(o.error)}`,b.GENERIC_FAILURE)}function wc(e,t){let n=e[0];if(n&&n.op!=="create"&&n.op!=="history_compact_baseline"){let s=We(ut,n.patch);if(!s.ok||typeof s.document.metadata.id!="string")throw new v("History starts without a reconstructable item baseline.",b.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the missing baseline."]})}let r=e.slice(0,t+1),o=Ce([...r]),i=structuredClone(ut);for(let s=0;s<=t;s+=1){let a=e[s];if(!a)throw new v(`History target entry ${s+1} does not exist.`,b.USAGE);i=Zo(i,a.patch,s+1,a.op)}if(!o.ok)throw new v(`History cannot be replayed: ${o.errors.join(", ")}.`,b.GENERIC_FAILURE,{code:"history_replay_invalid",verification_errors:o.errors,required:"Inspect the history integrity findings before attempting recovery.",nextSteps:["Run pm history <id> --verify --full."]});return i}function gb(e,t){if(Object.keys(e.metadata).length>0){if(typeof e.metadata.id!="string"||!Array.isArray(e.metadata.tags))throw new v("History has no complete item baseline for this target.",b.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the first recorded state."]});return e}throw new v(`History target ${t.raw} resolves to a deleted state; choose a version or timestamp where the item exists.`,b.USAGE)}import j_ from"node:fs/promises";import F_ from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="99eadab1-5338-5d75-b600-fa0463053375")}catch{}})();function $_(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function H_(e,t){return new v(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,b.NOT_FOUND)}async function z_(e,t){return await pi(F_.dirname(e)),await(await j_.open(e,"a")).close(),ue({path:e,scope:"project",op:`${t}:history:auto_create`})}async function ei(e){return U_({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function U_(e){let t=$_(e.itemIds),n=[],r=[];for(let o of t){let i=ce(e.pmRoot,o);if(!await Le(i)){if(e.settings.history.missing_stream==="strict_error")throw H_(o,e.commandLabel);r.push(...await z_(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import ni from"node:fs/promises";import mr 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]="57662b37-0d33-5cde-ad84-0a90fb520439")}catch{}})();function De(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function ri(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 _r(e){return new v(`Tracker root is not a directory at ${e}.`,b.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",resolved_path:e,nextSteps:["Pass a tracker directory, usually <workspace>/.agents/pm, rather than a file path."]})}function ti(e){return new v(`Tracker root is not readable at ${e}.`,b.GENERIC_FAILURE,{code:"tracker_root_unreadable",reason:"unreadable",resolved_path:e,nextSteps:["Grant read and directory-search permission to the tracker root, then retry."]})}async function B_(e){let t=mr.resolve(e),n=mr.parse(t).root,r=mr.dirname(t);for(;r!==n;){let o;try{o=await ni.stat(r)}catch(i){if(De(i,"ENOTDIR"))throw _r(e);if(!De(i,"ENOENT"))throw i;r=mr.dirname(r);continue}if(!o.isDirectory())throw _r(e);return}}async function gt(e){let t;try{t=await ni.stat(e)}catch(n){throw De(n,"ENOENT")?(await B_(e),new v(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,b.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",resolved_path:e,nextSteps:["Confirm the tracker root path or initialize it with the emitted retry."],recovery:ri(e)})):De(n,"ENOTDIR")?_r(e):De(n,"EACCES")||De(n,"EPERM")?ti(e):n}if(!t.isDirectory())throw _r(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw ti(e);try{await(await ni.opendir(e)).close()}catch(n){throw De(n,"EACCES")||De(n,"EPERM")?ti(e):n}}async function oi(e){if(await gt(e),!await Le(kt(e)))throw new v(`Tracker is not initialized at ${e}. Run pm init first.`,b.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:ri(e)})}import vt from"node:fs/promises";import{statSync as W_}from"node:fs";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="401ead12-fb72-586b-8625-33ae44ed2eb9")}catch{}})();function V_(e,t){let n=-1,r=structuredClone(ut);for(let[a,c]of e.entries()){if(r=Zo(r,c.patch,a+1,c.op),r.metadata.id!==void 0&&r.metadata.id!==t)throw new v(`History belongs to item ${String(r.metadata.id)}, expected ${t}.`,b.GENERIC_FAILURE,{code:"history_replay_invalid",required:"Recover the correct history stream for this item before attempting restoration."});r.metadata.id===t&&Array.isArray(r.metadata.tags)&&(n=a)}let o=Yt(e,!0),i=n<0||o===null?null:o+n+1,s=i===null?void 0:String(i);if(n>=0&&s===void 0){let a=e[n].ts;bc(a,e).historyIndex===n&&(s=a)}return{version:i,target:s}}async function Ec(e,t,n){let r=new Set([Ve(t,n),Mt(t)]);for(let o of r){let i=ce(e,o);if(!W_(i,{throwIfNoEntry:!1})?.isFile())continue;let s=await Se(i,o),a=-1;if(s.forEach((p,_)=>{p.op==="delete"&&(a=_)}),a<0)continue;let c=wc(s,s.length-1);if(Object.keys(c.metadata).length!==0)continue;let{version:d,target:u}=V_(s,o),f=u===void 0?["history",o,"--verify"]:["get",o,"--at",u],m=Ir(f);return new v(`Item ${o} was deleted at ${s[a].ts}; its history is retained.`,b.NOT_FOUND,{code:"item_deleted",required:"Read a retained materialized version, then restore it if the item should exist again.",item_id:o,tombstone:{deleted:!0,deleted_at:s[a].ts,recoverable:u!==void 0,last_materialized_version:d},nextSteps:[m,...u===void 0?["Recover the pre-compaction history from version control."]:[Ir(["restore",o,u])]],recovery:{suggested_retry:m,suggested_retry_args:f}})}}import ii from"node:path";import{isUtf8 as q_}from"node:buffer";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="02383f73-64f0-5ffc-a802-f8ef2b3cc038")}catch{}})();async function G_(e){try{return await vt.access(e),!0}catch{return!1}}function K_(e,t){e&&(e.includes(t)||e.push(t))}function kc(e){return e??rn(le())}function X_(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function pr(e,t,n="pm-",r,o=Ne){let i=t.trim(),s=i.startsWith("#")?i.slice(1):i;if(s.length===0)return null;let a=Ve(t,n),c=Mt(t),d=[...new Set([s,a,c])].filter(m=>m.length>0),u=Object.entries(o),f=X_(r);for(let m of d){let p=new Map;for(let[_]of u)for(let y of f){let g=vr(e,_,m,y,o);await G_(g)&&p.set(g,p.get(g)??{id:m,type:_,itemPath:g,item_format:y})}if(p.size>1){let _=[...p.keys()].map(y=>ii.relative(e,y).split(ii.sep).join("/")).sort();throw new v(`Item ${m} has ambiguous identity across ${_.join(", ")}. Preserve both documents and inspect pm ops validate --check-storage-integrity before resolving the collision.`,b.CONFLICT,{code:"item_identity_ambiguous",item_id:m,paths:_})}for(let _ of p.values())return _}return null}async function hr(e,t={}){let n=await Y_(e,t);if(n.error!==null)throw n.error;return{raw:n.raw,document:n.document}}async function Y_(e,t={}){let n=await vt.readFile(e.itemPath);if(!q_(n))throw new v("Item contains invalid UTF-8; preserve a binary backup before recovering it.",b.CONFLICT,{code:"item_document_encoding_invalid",item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:!1});let r=n.toString("utf8");await ve({path:e.itemPath,scope:"project"});let o;try{o=In(r,{format:e.item_format,schema:t.schema,extensionFieldNames:kc(t.extensionFieldNames),onWarning:i=>K_(t.warnings,i)})}catch(i){if(i instanceof v&&i.code==="item_document_invalid")return{raw:r,document:null,error:new v(`Cannot read ${e.id} at ${e.itemPath}${n.length===0?" (zero-length file)":""}: ${i.message}`,i.exitCode,{...i.context,item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:n.length===0,nextSteps:[`Run pm history ${e.id} --full, then pm restore ${e.id} <version> to recover a recorded state.`]})};throw i}return{raw:r,document:o,error:null}}async function J_(e,t,n=Ne,r,o){await gt(e);let i=await xa(e,t,n,r,o);return Un(i.length),i.map(s=>s.metadata)}async function Ic(e,t,n=Ne,r,o){await gt(e);let i=await Ra(e,t,n,r,o);return Un(i.length),i.map(s=>s.metadata)}async function yw(e,t,n=Ne,r,o,i={}){await gt(e);let s=await tr(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan});return Un(s.length),s.map(a=>({...a.metadata,body:a.body}))}function Sc(e){return{async get(t){let n=await pr(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await hr(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>J_(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function Q_(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await vt.readdir(ii.join(e,o));for(let s of i)for(let a of sn)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function Z_(e,t,n,r){let o=Ve(t,n),i=await Q_(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:Jt(c,o,s)})).filter(c=>c.distance!==null).sort((c,d)=>c.distance-d.distance).slice(0,3).map(c=>c.id)}async function ep(e,t,n,r){let o=await Ec(e,t,n);if(o)return o;let i=await Z_(e,t,n,r),s=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return i.length>0&&s.unshift(`Did you mean one of: ${i.join(", ")}?`),new v(`Item ${t} not found`,b.NOT_FOUND,{nextSteps:s})}function tp(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 Tc(e){let t=e.typeToFolder??on(e.settings,le()).type_to_folder,n=await pr(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await ep(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await Q(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 hr(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,d=ss(e.author),u=fr(e.settings);if(a&&c!==d&&!e.force&&!tp(e.op,e.bypassAssigneeConflict)){if(u.ownership_enforcement==="strict")throw new v(`Item ${n.id} is assigned to ${a}. Use --force to override.`,b.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 np(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 rp(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await K(e.originalItemPath,e.originalRaw),await vt.rm(e.effectiveTargetItemPath,{force:!0});return}await K(e.originalItemPath,e.originalRaw)}}async function Cc(e){un(e.op);let t=await Tc({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:e.op,author:e.author,force:e.force,bypassAssigneeConflict:e.bypassAssigneeConflict,extensionFieldNames:e.extensionFieldNames,typeToFolder:e.typeToFolder}),{typeToFolder:n,located:r,originalRaw:o,document:i,warnings:s,releaseLock:a}=t;try{let c=ne(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),d=ne(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),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=be();let m=ne(d,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),p=await ko({pmRoot:e.pmRoot,settings:e.settings,operation:e.op,author:e.author,before:c,after:m});await Er({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:u.changedFields,sdk:Sc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let _=await ei({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),y="toon",g=Is(m,{format:y,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),S=vr(e.pmRoot,m.metadata.type,r.id,y,n),R=ce(e.pmRoot,r.id),D=await Ct("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:S,history_path:R,item_format:y,before:c,after:m,contents:g}),{effectiveTargetItemPath:$,effectiveSerializedAfter:x,skipItemWrite:q}=np(D,S,g),W=await Do(e.pmRoot,e.author),J=[];try{q||await K($,x),!q&&$!==r.itemPath&&await vt.rm(r.itemPath);let ee=dt({nowIso:m.metadata.updated_at,author:e.author,op:e.op,before:c,after:m,message:e.message,context:p.decisions.length===0?f:{...f,workflow_policies:p.decisions}});try{await lt(R,ee)}catch(he){throw await rp({skipItemWrite:q,effectiveTargetItemPath:$,originalItemPath:r.itemPath,originalRaw:o}),he}q||(J=await No({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:$,previousItemPath:r.itemPath,document:m}))}finally{await W()}let G=[...await ue({path:$,scope:"project",op:e.op,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:u.changedFields}),...await ue({path:R,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 wr({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:dn(c.metadata,u.changedFields),current:dn(m.metadata,u.changedFields),changed_fields:u.changedFields}),{item:m.metadata,body:m.body,changedFields:u.changedFields,warnings:[...s,...u.warnings??[],...p.warnings,..._.warnings,...D.warnings,...J,...G]}}finally{await a()}}async function gw(e){return Cc(e)}async function vw(e){return Cc(e)}async function bw(e){let t=await Tc({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=kc(void 0),c=ne(o,{schema:e.settings.schema,extensionFieldNames:a}),d=await ko({pmRoot:e.pmRoot,settings:e.settings,operation:"delete",author:e.author,before:c,after:null,dryRun:e.dryRun});await Er({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Sc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let u=await ei({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),f=be(),m=Ye,p=dt({nowIso:f,author:e.author,op:"delete",before:c,after:m,message:e.message,context:d.decisions.length===0?void 0:{workflow_policies:d.decisions}}),_=ce(e.pmRoot,n.id),y=await Ct("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:_,before:c}),g=n.itemPath,S=!1;if(y.handled&&typeof y.result=="object"&&y.result!==null){let x=y.result;typeof x.item_path=="string"&&x.item_path.trim().length>0&&(g=x.item_path),x.skip_delete===!0&&(S=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:g,warnings:[...i,...d.warnings,...u.warnings,...y.warnings]};let R=await Do(e.pmRoot,e.author),D=[];try{S||await vt.rm(g);try{await lt(_,p)}catch(x){throw S||await K(g,r),x}S||(D=await No({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:g,document:null}))}finally{await R()}let $=[...await ue({path:g,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]}),...await ue({path:_,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]})];return wr({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:dn(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...d.warnings,...u.warnings,...y.warnings,...D,...$]}}finally{await s()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5c8194ff-d877-51b8-bd54-d206f85a979c")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8ed4af4c-40cf-5902-930b-78a4758871b2")}catch{}})();function op(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:Jt(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 Oc(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function Cw(e){let t=e.command_path.trim().replaceAll(/\s+/gu," "),n=e.token.trim(),r=n.length===0?"<empty>":n,o=[...new Set(e.allowed.map(m=>m.trim()))].filter(Boolean).sort((m,p)=>m.localeCompare(p));if(t.length===0||r.length===0||o.length===0)throw new TypeError("Unknown-subcommand contracts require a path, token, and allowed set");let i=t.split(" "),s=e.trailing_args??[],a=e.display_name??`pm ${t}`,c=e.token_kind??"subcommand",d=e.retry_command?void 0:op(r,o),u=Oc([...i,r,...s]),f=e.retry_command??(d?Oc([...i,d,...s]):void 0);return new v(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??b.USAGE,{code:"unknown_subcommand",reason:"unknown_positional_token",examples:[...f?[f]:[],...e.examples??[],`pm ${t} --help`],nextSteps:f?[`Retry with the suggested command: ${f}`]:["Choose one value from recovery.allowed_values."],recovery:{attempted_command:u,allowed_values:o,suggested_retry:f,fallback_candidates:e.fallback_candidates}})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2f2a7df8-9c95-5ed1-bd43-33dde57dd7f0")}catch{}})();var ip=["tree","graph","context"],sp=["none","repeated"],ap=["outgoing","incoming","both"],cp=32,dp=200,lp=400,up=16e3;function fp(e){let t=e?.trim().toLowerCase()??"tree";if(ip.includes(t))return t;throw new v(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,b.USAGE)}function bt(e,t){if(e===void 0)return;let n=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(n)||n<1)throw new v(`Invalid --${t} value "${e}". Use a positive integer.`,b.USAGE);return n}function Rc(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new v(`Invalid --max-depth value "${e}". Use a non-negative integer.`,b.USAGE);return t}function mp(e){let t=e?.trim().toLowerCase()??"none";if(sp.includes(t))return t;throw new v(`Invalid --collapse value "${e}". Use "none" or "repeated".`,b.USAGE)}function _p(e){let t=e?.trim().toLowerCase()??"both";if(ap.includes(t))return t;throw new v(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,b.USAGE)}function pp(e,t=de()){if(e===void 0)return;let n=(Array.isArray(e)?e:[e]).flatMap(o=>o.split(",")).map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)return;let r=new Set;for(let o of n){let i=t.resolve(o);if(!i){let s=t.list().map(a=>a.kind).join(", ");throw new v(`Invalid --kind value "${o}". Registered kinds: ${s}.`,b.USAGE)}r.add(i.kind)}return[...r].sort()}function hp(e){if(!e||e.length===0)return[];let t=e.map(({id:r,kind:o})=>({id:r.trim(),kind:o.trim().toLowerCase()})).sort((r,o)=>{let i=r.kind.localeCompare(o.kind);return i!==0?i:r.id.localeCompare(o.id)}),n=new Map;for(let r of t){let o=`${r.kind.toLowerCase()}::${r.id.toLowerCase()}`;n.has(o)||n.set(o,{id:r.id,kind:r.kind})}return[...n.values()]}function yp(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:hp(e.dependencies)}}function gp(e){return ln(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function vp(e,t,n,r,o,i,s,a,c){for(let d of t.dependencies){let u=Math.max(1,Math.ceil(JSON.stringify({from:e.id,to:d.id,kind:d.kind}).length/3));if(a.nodes>=a.nodeLimit){e.truncated=!0,a.reasons.add("node_limit");break}if(a.edges>=a.edgeLimit){e.truncated=!0,a.reasons.add("edge_limit");break}if(a.estimatedTokens+u>=a.tokenBudget){e.truncated=!0,a.reasons.add("token_budget");break}a.edges+=1,a.estimatedTokens+=u,e.dependencies.push(Ac(d.id,n,r,o,i,s,a,c+1,d.kind))}}function bp(e,t,n,r,o,i,s,a){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:r!==void 0&&a>=r?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):o==="repeated"&&i.has(n)?(e.collapsed=!0,!0):!1}function Ac(e,t,n,r,o,i,s,a=0,c){let d=e.trim().toLowerCase(),u=t.get(d),f={id:u?.id??e,title:u?.title,type:u?.type,status:u?.status,via:c,missing:!u,cycle:n.has(d),dependencies:[]};if(s.nodes+=1,s.estimatedTokens+=gp(f),bp(f,u,d,r,o,i,s,a))return f;o==="repeated"&&i.add(d);let m=new Set(n);return m.add(d),vp(f,u,t,m,r,o,i,s,a),f}function xc(e,t){return!e||e.missing&&!t.missing?t:{...e,title:e.title??t.title,type:e.type??t.type,status:e.status??t.status}}function wp(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,xc(t.get(a.id),{id:a.id,title:a.title,type:a.type,status:a.status,missing:a.missing}));for(let c of a.dependencies){t.set(c.id,xc(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let d=c.via??"related",u=`${a.id}::${c.id}::${d}`;n.has(u)||n.set(u,{from:a.id,to:c.id,kind:d}),c.cycle||r.push(c)}}let o=[...t.values()].sort((a,c)=>a.id.localeCompare(c.id)),i=[...n.values()].sort((a,c)=>{let d=a.from.localeCompare(c.from);if(d!==0)return d;let u=a.to.localeCompare(c.to);return u!==0?u:a.kind.localeCompare(c.kind)}),s=o.filter(a=>a.missing).map(a=>a.id);return{root_id:e.id,nodes:o,edges:i,missing_ids:s}}function Dc(e,t,n){let r=new Set,o=new Set,i=new Set,s=new Set,a=[{id:e,depth:0}],c=0;for(;c<a.length;){let d=a[c++],u=d.id.trim().toLowerCase();r.add(u);let f=t.get(u);if(!f){i.add(u);continue}if(!(n!==void 0&&d.depth>=n)&&!s.has(u)){s.add(u);for(let m of f.dependencies)o.add(`${u}::${m.id.trim().toLowerCase()}::${m.kind}`),a.push({id:m.id,depth:d.depth+1})}}return{node_count:r.size,edge_count:o.size,edge_basis:"deduplicated_directed",missing_count:i.size}}function Ep(e,t=de()){let n=Rc(e.maxDepth),r=bt(e.nodeLimit,"node-limit"),o=bt(e.edgeLimit,"edge-limit"),i=bt(e.tokenBudget,"token-budget"),s=pp(e.kind,t);return{direction:_p(e.direction),...s===void 0?{}:{kinds:s},...n===void 0?{}:{maxDepth:n},...r===void 0?{}:{nodeLimit:r},...o===void 0?{}:{edgeLimit:o},...i===void 0?{}:{tokenBudget:i},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function kp(e,t,n,r){return $a(e.graph,t,e.details.map(o=>o.id===t&&r.length>0?{...o,evidence:r}:o),n)}function si(e,t,n,r){for(let o of n.slice(0,r)){let i=o?.trim();i&&e.push(`${t}:${i}`)}}async function Ip(e,t,n,r){let o=await pr(e,t,n.id_prefix,n.item_format,r);if(!o)return[];let{document:i}=await hr(o,{schema:n.schema}),s=i.metadata,a=s.files??[],c=s.tests??[],d=s.docs??[],u=[["files",a.length],["tests",c.length],["docs",d.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(u.every(([,m])=>m===0))return[];let f=[`linked:${u.map(([m,p])=>`${m}=${p}`).join(",")}`];return si(f,"file",a.map(m=>m.path),3),si(f,"test",c.map(m=>m.command??m.path),2),si(f,"doc",d.map(m=>m.path),2),f}function Sp(e){let{canonicalId:t,context:n,missingCount:r,missingReferences:o,referenceLimit:i,summaryOnly:s}=e;return{id:t,format:"context",node_count:n.nodes.length+1,edge_count:n.edges.length,edge_basis:"deduplicated_directed",missing_count:r,missing_scope:"traversal",missing_reference_count:o.length,...s?{}:{missing_references:o.slice(0,i),context:n}}}function Tp(e){let{row:t,missingReachableSet:n,packetIds:r,filteredKinds:o,registry:i}=e;if(t.no_active_blocker_sentinel||!n.has(t.target_id.trim().toLowerCase())||!r.has(t.holder_id))return!1;if(o===void 0)return!0;let s=i.resolve(t.kind);return s!==void 0&&(o.has(s.kind)||s.inverse!==void 0&&o.has(s.inverse))}function Nc(e,t,n){let r;for(;;){let o=ln(new TextEncoder().encode(Cr(Sr("deps",e),t)).byteLength);if(o===r)return o;n(o),r=o}}function Cp(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Op(e){try{return kp(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Cp(t))return e.smallestResult;throw t}}function xp(e){let{assembly:t,canonicalId:n,contextOptions:r,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:a,missingReferences:c}=e,u=r.edgeLimit??40,f=r.tokenBudget,m,p;for(;;){let _=Op({assembly:t,canonicalId:n,contextOptions:r,internalTokenBudget:f,rootEvidence:o,smallestResult:p});if("format"in _)return _;let y=_;m??=y.meta.tokenBudget,f??=m;let g=Sp({canonicalId:n,context:y,missingCount:a,missingReferences:c,referenceLimit:u,summaryOnly:i});if(p=g,i||(y.meta.tokenBudget=m,y.meta.usedTokens=Nc(wt(g,!1),s,D=>{y.meta.usedTokens=D}),y.meta.usedTokens<=m))return g;if(u>0){u-=1;continue}let S=f,R=S*m/y.meta.usedTokens;f=Math.min(S-1,Math.max(1,Math.floor(R*.9)))}}function Rp(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:o,summaryOnly:i,outputFormat:s}=e,a=Ep(r,t.graph.registry()),c=t.graph.closure(n,{direction:a.direction,...a.kinds===void 0?{}:{kinds:a.kinds},maxDepth:a.maxDepth??3}),d=c.value.filter(y=>t.missingIdSet.has(y.toLowerCase())),u=new Set(d.map(y=>y.toLowerCase())),f=t.graph.registry(),m=a.kinds?new Set(a.kinds.map(y=>f.require(y).kind)):void 0,p=new Set([n,...c.value]),_=[...t.dangling.active,...t.dangling.legacy_terminal].filter(y=>Tp({row:y,missingReachableSet:u,packetIds:p,filteredKinds:m,registry:f}));return xp({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:d.length,missingReferences:_})}function Ap(e){let t=[e],n;for(;t.length>0;){let r=t.pop();r.dependencies.length>0&&(n=r,t.push(...r.dependencies))}return n?(n.dependencies.pop(),n.truncated=!0,!0):!1}function Dp(e,t,n,r,o,i,s){let a=o??cp,c=bt(n.nodeLimit,"node-limit")??dp,d=bt(n.edgeLimit,"edge-limit")??lp,u=bt(n.tokenBudget,"token-budget")??up,f={nodeLimit:c,edgeLimit:d,tokenBudget:u,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},m=Ac(e,r,new Set,a,t==="graph"?"repeated":i,new Set,f),p=Dc(e,r,void 0),_;for(;;){let y=wp(m),g=f.reasons.size===0?void 0:{reasons:[...f.reasons].sort(),limits:{max_depth:a,node_limit:c,edge_limit:d,token_budget:u},estimated_tokens:0,total_node_count:p.node_count,total_edge_count:p.edge_count,omitted_node_count:Math.max(0,p.node_count-y.nodes.length),omitted_edge_count:Math.max(0,p.edge_count-y.edges.length)},S={id:e,format:t,node_count:y.nodes.length,edge_count:y.edges.length,edge_basis:"deduplicated_directed",missing_count:y.missing_ids.length,...g?{truncation:g}:{}};if(_=t==="tree"?{...S,tree:m}:{...S,graph:y},(_.truncation===void 0?ln(new TextEncoder().encode(Cr(Sr("deps",wt(_,!1)),s)).byteLength):Nc(wt(_,!1),s,D=>{_.truncation.estimated_tokens=D}))<=u)return _;if(!Ap(m))return f.reasons.add("token_budget"),_;f.reasons.add("token_budget")}}function wt(e,t,n={}){let r={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"};return{...e,legacy_alias_counts:n,projection:{mode:t?"summary":"full",declared_field_groups:[r],included_field_groups:t?[]:[r.name]}}}async function qw(e,t,n){let r=bi(process.cwd(),n.path);await oi(r);let o=fp(t.format),i=Rc(t.maxDepth),s=mp(t.collapse);Ni(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await vc(r),d=on(c,le()),u=await Ic(r,c.item_format,d.type_to_folder,void 0,c.schema),f=cn(c.schema),m=new Map(u.map(_=>[_.id.trim().toLowerCase(),yp(_)])),p=Mo(u,_=>pe(_,f));for(let _ of[...p.active,...p.legacy_terminal]){let y=m.get(_.holder_id.trim().toLowerCase()),g=_.kind.trim().toLowerCase();y&&!y.dependencies.some(S=>S.id.trim().toLowerCase()===_.target_id.trim().toLowerCase()&&S.kind===g)&&y.dependencies.push({id:_.target_id,kind:g})}if(!m.has(e.trim().toLowerCase()))throw new v(`Item ${e} not found`,b.NOT_FOUND);if(o==="context"){let _=m.get(e.trim().toLowerCase()).id,y=a?[]:await Ip(r,_,c,d.type_to_folder),g=D=>pe(D,f),S=ae(),R=Fa().lookup(r,Ma(u,g,S),()=>or(u,g,S));return wt(Rp({assembly:R.assembly,canonicalId:_,options:t,rootEvidence:y,summaryOnly:a,outputFormat:n.json===!0?"json":"toon"}),a,R.assembly.legacyAliasCounts)}return a?wt({id:e,format:o,...Dc(e,m,i)},!0,Object.fromEntries(Object.entries(or(u,_=>pe(_,f)).legacyAliasCounts))):wt(Dp(e,o,t,m,i,s,n.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(or(u,_=>pe(_,f)).legacyAliasCounts)))}export{Pe as a,xr as b,Lp as c,Pp as d,mn as e,Lr as f,Up as g,Bp as h,Wp as i,Vp as j,qp as k,Gp as l,Br as m,Wr as n,Qi as o,rh as p,oh as q,ih as r,sh as s,ah as t,ch as u,Kr as v,rs as w,dh as x,lh as y,uh as z,md as A,ss as B,as as C,_h as D,pd as E,cs as F,$e as G,ke as H,ms as I,Ot as J,Ch as K,Oh as L,tt as M,ds as N,hh as O,ls as P,hd as Q,yh as R,gn as S,nt as T,pe as U,bn as V,kn as W,In as X,Is as Y,ne as Z,Ul as _,Se as $,st as aa,du as ba,_y as ca,py as da,hy as ea,yu as fa,Ln as ga,Ue as ha,Pt as ia,Hy as ja,ho as ka,jn as la,qs as ma,zy as na,Xs as oa,Uy as pa,dt as qa,lt as ra,Ss as sa,ut as ta,Fn as ua,Qy as va,go as wa,$n as xa,Zy as ya,eg as za,ea as Aa,We as Ba,ra as Ca,Ce as Da,Uu as Ea,tg as Fa,ng as Ga,jt as Ha,bo as Ia,Eg as Ja,kg as Ka,da as La,Ig as Ma,ua as Na,Gv as Oa,fr as Pa,gc as Qa,vc as Ra,db as Sa,ia as Ta,Mt as Ua,Ve as Va,dg as Wa,Yt as Xa,bc as Ya,Zo as Za,wc as _a,gb as $a,Qu as ab,ef as bb,tf as cb,nf as db,rf as eb,ko as fb,$g as gb,ei as hb,U_ as ib,Vg as jb,qg as kb,Gg as lb,Ia as mb,wf as nb,Do as ob,sv as pb,No as qb,tr as rb,gt as sb,oi as tb,pr as ub,hr as vb,Y_ as wb,J_ as xb,Ic as yb,yw as zb,Sc as Ab,ep as Bb,gw as Cb,vw as Db,bw as Eb,Cw as Fb,wv as Gb,Ev as Hb,dm as Ib,ae as Jb,_v as Kb,rr as Lb,pv as Mb,am as Nb,hv as Ob,Vt as Pb,um as Qb,mm as Rb,Mo as Sb,_m as Tb,xv as Ub,or as Vb,Ma as Wb,jo as Xb,Fa as Yb,Lv as Zb,$a as _b,bt as $b,Rc as ac,_p as bc,pp as cc,qw as dc,zo as ec,xm as fc,Gt as gc,ar as hc,za as ic,Rm as jc,Am as kc,Dm as lc,Pm as mc};
164
+ //# sourceMappingURL=chunk-KP3N6PVZ.js.map