@unbrained/pm-cli 2026.8.12 → 2026.8.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 (173) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +22 -0
  3. package/dist/cli/error-guidance.js +4 -8
  4. package/dist/cli/main.js +3 -2
  5. package/dist/cli/register-assurance.js +28 -17
  6. package/dist/cli-bundle/bundle-manifest.json +161 -161
  7. package/dist/cli-bundle/chunks/chunk-3ZMOWAFM.js +2 -0
  8. package/dist/cli-bundle/chunks/chunk-DEDU3DG7.js +196 -0
  9. package/dist/cli-bundle/chunks/chunk-DL5M5J3V.js +13 -0
  10. package/dist/cli-bundle/chunks/chunk-F7FJYGK3.js +8 -0
  11. package/dist/cli-bundle/chunks/{chunk-RBTK5EZV.js → chunk-HIUZVCMN.js} +2 -2
  12. package/dist/cli-bundle/chunks/chunk-IMGIN7R6.js +2 -0
  13. package/dist/cli-bundle/chunks/{chunk-WLAHPSOX.js → chunk-Q47C67TQ.js} +2 -2
  14. package/dist/cli-bundle/chunks/{chunk-BM5YJ2UW.js → chunk-QGTUPEU5.js} +52 -52
  15. package/dist/cli-bundle/chunks/chunk-TF3TPKPR.js +34 -0
  16. package/dist/cli-bundle/chunks/{chunk-KOQMGCTA.js → chunk-YLBAPY22.js} +50 -50
  17. package/dist/cli-bundle/chunks/{register-list-query-XPCJRUUD.js → register-list-query-4HIZ7EA3.js} +2 -2
  18. package/dist/cli-bundle/chunks/{register-mutation-4RJCBKRS.js → register-mutation-W64FZ5HN.js} +2 -2
  19. package/dist/cli-bundle/chunks/register-operations-C44ET7R5.js +2 -0
  20. package/dist/cli-bundle/chunks/{register-setup-LLHAKP2V.js → register-setup-634MFRXU.js} +2 -2
  21. package/dist/cli-bundle/focused-chunks/chunk-27N23W6M.js +31 -0
  22. package/dist/cli-bundle/focused-chunks/{chunk-YIAXMC3T.js → chunk-2JP7W7GO.js} +2 -2
  23. package/dist/cli-bundle/focused-chunks/chunk-2RI2FESN.js +4 -0
  24. package/dist/cli-bundle/focused-chunks/chunk-3BNVU6LC.js +8 -0
  25. package/dist/cli-bundle/focused-chunks/{chunk-KHM2CS2C.js → chunk-3DJSGWVB.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/{chunk-2DALMVF7.js → chunk-6MLIRBLV.js} +2 -2
  27. package/dist/cli-bundle/focused-chunks/chunk-6XYLENDV.js +155 -0
  28. package/dist/cli-bundle/focused-chunks/chunk-CP4K4WFS.js +2 -0
  29. package/dist/cli-bundle/focused-chunks/{chunk-RWPAWUOT.js → chunk-E3AVJ655.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/{chunk-5TAGTDRE.js → chunk-EBTNSFYE.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/{chunk-KPSXVBDV.js → chunk-HC2OL2H2.js} +2 -2
  32. package/dist/cli-bundle/focused-chunks/{chunk-GQW4BPUT.js → chunk-I75MANL7.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/{chunk-ZMGWAYH7.js → chunk-IIS2FRKL.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/chunk-NFHFZH2Z.js +2 -0
  35. package/dist/cli-bundle/focused-chunks/chunk-OGC4XSBC.js +17 -0
  36. package/dist/cli-bundle/focused-chunks/{chunk-JAFRIWVF.js → chunk-OOYYKQWX.js} +4 -4
  37. package/dist/cli-bundle/focused-chunks/{chunk-KTLOKKCQ.js → chunk-PKPOZXLL.js} +2 -2
  38. package/dist/cli-bundle/focused-chunks/chunk-QDZUABWL.js +2 -0
  39. package/dist/cli-bundle/focused-chunks/chunk-QQX5TDFT.js +16 -0
  40. package/dist/cli-bundle/focused-chunks/{chunk-NYLOUPOB.js → chunk-TEZIXMTH.js} +2 -2
  41. package/dist/cli-bundle/focused-chunks/chunk-WEH6NSL6.js +18 -0
  42. package/dist/cli-bundle/main.js +13 -13
  43. package/dist/cli-bundle/sdk-authoring.js +1 -1
  44. package/dist/cli-bundle/sdk-contracts.js +1 -1
  45. package/dist/cli-bundle/sdk-core.js +42 -41
  46. package/dist/cli-bundle/sdk-governance.js +1 -1
  47. package/dist/cli-bundle/sdk-graph.js +1 -1
  48. package/dist/cli-bundle/sdk-merge.js +1 -1
  49. package/dist/cli-bundle/sdk-query.js +1 -1
  50. package/dist/cli-bundle/sdk-runtime.js +1 -1
  51. package/dist/cli-bundle/sdk-testing.js +1 -1
  52. package/dist/cli-bundle/sdk.js +2 -2
  53. package/dist/core/checkpoint/checkpoint-gc.js +7 -12
  54. package/dist/core/extensions/activation-summary-markdown.js +5 -4
  55. package/dist/core/extensions/activation-summary.d.ts +2 -0
  56. package/dist/core/extensions/activation-summary.js +6 -2
  57. package/dist/core/extensions/capability-usage.d.ts +1 -1
  58. package/dist/core/extensions/capability-usage.js +4 -3
  59. package/dist/core/extensions/contribution-inventory.d.ts +1 -0
  60. package/dist/core/extensions/contribution-inventory.js +6 -2
  61. package/dist/core/extensions/extension-registries.js +3 -2
  62. package/dist/core/extensions/extension-types.d.ts +83 -1
  63. package/dist/core/extensions/extension-types.js +3 -2
  64. package/dist/core/extensions/loader.d.ts +2 -8
  65. package/dist/core/extensions/loader.js +53 -144
  66. package/dist/core/extensions/registration-values.d.ts +43 -0
  67. package/dist/core/extensions/registration-values.js +210 -0
  68. package/dist/core/extensions/runtime-registrations.d.ts +3 -1
  69. package/dist/core/extensions/runtime-registrations.js +12 -2
  70. package/dist/core/fs/fs-utils.d.ts +2 -0
  71. package/dist/core/fs/fs-utils.js +7 -3
  72. package/dist/core/history/drift-cache.js +4 -3
  73. package/dist/core/history/drift-scan.js +5 -11
  74. package/dist/core/lock/lock-gc.js +8 -13
  75. package/dist/core/lock/lock.js +5 -4
  76. package/dist/core/search/vector-stores.js +6 -11
  77. package/dist/core/store/item-metadata-cache.js +4 -4
  78. package/dist/core/telemetry/runtime.d.ts +6 -0
  79. package/dist/core/telemetry/runtime.js +101 -30
  80. package/dist/sdk/agent/command-recovery.d.ts +2 -0
  81. package/dist/sdk/agent/command-recovery.js +10 -2
  82. package/dist/sdk/annotations.js +4 -4
  83. package/dist/sdk/cli-contracts/completeness.js +9 -3
  84. package/dist/sdk/cli-contracts/enum-contracts.d.ts +1 -1
  85. package/dist/sdk/cli-contracts/flag-contracts.js +6 -3
  86. package/dist/sdk/cli-contracts/schemas/assurance-definition.d.ts +32 -0
  87. package/dist/sdk/cli-contracts/schemas/assurance-definition.js +25 -2
  88. package/dist/sdk/cli-contracts/tool-parameter-tables.js +35 -5
  89. package/dist/sdk/cli-contracts/tool-schema.js +17 -2
  90. package/dist/sdk/comments.js +4 -3
  91. package/dist/sdk/compile-cache.js +4 -3
  92. package/dist/sdk/compose.d.ts +3 -1
  93. package/dist/sdk/compose.js +16 -2
  94. package/dist/sdk/context-signal-store.js +4 -3
  95. package/dist/sdk/extension/install-runtime.js +4 -4
  96. package/dist/sdk/extension/managed-state.js +4 -3
  97. package/dist/sdk/extension-contracts.d.ts +1 -1
  98. package/dist/sdk/flag-invocation-contracts.js +5 -6
  99. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +14 -2
  100. package/dist/sdk/governance/assurance-action.d.ts +27 -3
  101. package/dist/sdk/governance/assurance-action.js +112 -28
  102. package/dist/sdk/governance/assurance-mutation-error.d.ts +7 -0
  103. package/dist/sdk/governance/assurance-mutation-error.js +25 -2
  104. package/dist/sdk/governance/assurance-presets.d.ts +54 -0
  105. package/dist/sdk/governance/assurance-presets.js +136 -0
  106. package/dist/sdk/governance/assurance-runtime.d.ts +4 -0
  107. package/dist/sdk/governance/assurance-runtime.js +109 -8
  108. package/dist/sdk/governance/assurance.d.ts +39 -0
  109. package/dist/sdk/governance/assurance.js +143 -4
  110. package/dist/sdk/governance/gc.js +5 -11
  111. package/dist/sdk/governance/health.js +5 -5
  112. package/dist/sdk/governance/validate.js +4 -4
  113. package/dist/sdk/graph/durable-cache.js +61 -3
  114. package/dist/sdk/graph/governance-contracts.d.ts +12 -0
  115. package/dist/sdk/graph/governance-contracts.js +27 -0
  116. package/dist/sdk/graph/governance.d.ts +30 -2
  117. package/dist/sdk/graph/governance.js +124 -5
  118. package/dist/sdk/guide.js +4 -4
  119. package/dist/sdk/index.d.ts +2 -1
  120. package/dist/sdk/index.js +4 -3
  121. package/dist/sdk/linked-artifacts.d.ts +2 -0
  122. package/dist/sdk/linked-artifacts.js +29 -4
  123. package/dist/sdk/merge/install.js +5 -4
  124. package/dist/sdk/query/activity.js +4 -3
  125. package/dist/sdk/relationship-history.js +5 -5
  126. package/dist/sdk/schema-migration.js +4 -4
  127. package/dist/sdk/test/execution.js +4 -4
  128. package/dist/sdk/workspace-memory.js +4 -4
  129. package/dist/sdk/workspace-snapshot.js +8 -14
  130. package/dist/sdk/workspace-transaction-gc.js +4 -9
  131. package/dist/sdk/workspace-transaction.js +4 -4
  132. package/dist/sdk/workspace.js +4 -3
  133. package/docs/ASSURANCE.md +154 -3
  134. package/docs/CONFIGURATION.md +2 -0
  135. package/docs/EXTENSIONS.md +11 -12
  136. package/docs/RELATIONSHIP_GRAPH.md +15 -0
  137. package/docs/SDK.md +17 -3
  138. package/docs/TESTING.md +24 -15
  139. package/marketplace.json +2 -2
  140. package/package.json +3 -3
  141. package/packages/pm-beads/package.json +1 -1
  142. package/packages/pm-calendar/package.json +1 -1
  143. package/packages/pm-command-kit/package.json +1 -1
  144. package/packages/pm-digital-twin/package.json +1 -1
  145. package/packages/pm-governance-audit/package.json +1 -1
  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/sdk/public-surface.json +183 -33
  157. package/dist/cli-bundle/chunks/chunk-3PS7X6GS.js +0 -8
  158. package/dist/cli-bundle/chunks/chunk-7KL6KMWF.js +0 -13
  159. package/dist/cli-bundle/chunks/chunk-D55A5AEN.js +0 -33
  160. package/dist/cli-bundle/chunks/chunk-KIKDWECH.js +0 -196
  161. package/dist/cli-bundle/chunks/chunk-R76342NV.js +0 -2
  162. package/dist/cli-bundle/chunks/chunk-VLUQOIDT.js +0 -2
  163. package/dist/cli-bundle/chunks/register-operations-2OGISOVR.js +0 -2
  164. package/dist/cli-bundle/focused-chunks/chunk-5OQIMELN.js +0 -155
  165. package/dist/cli-bundle/focused-chunks/chunk-ECADZMVC.js +0 -18
  166. package/dist/cli-bundle/focused-chunks/chunk-EJGXRA6B.js +0 -2
  167. package/dist/cli-bundle/focused-chunks/chunk-FFGSZCPK.js +0 -16
  168. package/dist/cli-bundle/focused-chunks/chunk-ISKOBJCM.js +0 -2
  169. package/dist/cli-bundle/focused-chunks/chunk-LGYK3NUF.js +0 -8
  170. package/dist/cli-bundle/focused-chunks/chunk-NBLUKITQ.js +0 -4
  171. package/dist/cli-bundle/focused-chunks/chunk-Q4T463SD.js +0 -31
  172. package/dist/cli-bundle/focused-chunks/chunk-QVZVY53N.js +0 -2
  173. package/dist/cli-bundle/focused-chunks/chunk-UTEWXDEQ.js +0 -17
@@ -1,2 +1,2 @@
1
- import{ia as I,ja as b}from"./chunk-5OQIMELN.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="de8a82e1-0b02-5d5a-9086-686529a1ccab")}catch{}})();var v="blocked_by",D="blocks",T=Object.freeze([v,D]),y="no-active-blocker";function l(e){return e.trim().toLowerCase()}function p(e){let n=new Set,t=typeof e.blocked_by=="string"?l(e.blocked_by):"";t.length>0&&t!==y&&n.add(t);for(let o of e.dependencies??[]){let c=typeof o.id=="string"?l(o.id):"";o.kind===v&&c.length>0&&c!==y&&n.add(c)}return[...n].sort((o,c)=>o.localeCompare(c))}function k(e){let n=new Map;for(let t of e){let o=l(t.id);o.length!==0&&n.set(o,new Set(p(t)))}for(let t of e){let o=l(t.id);if(o.length!==0)for(let c of t.dependencies??[]){let s=c.kind===D&&typeof c.id=="string"?l(c.id):"";if(s.length===0||s===y)continue;let d=n.get(s)??new Set;d.add(o),n.set(s,d)}}return new Map([...n].map(([t,o])=>[t,[...o].sort((c,s)=>c.localeCompare(s))]))}function S(e,n){let t=l(e.id);return t.length>0?k(n).get(t)??p(e):p(e)}function B(e,n,t,o){let c=e;return(typeof c.id=="string"?o?.get(l(c.id))??S(c,[...n.values()]):p(e)).map(d=>{let r=n.get(l(d));return r?{id:d,title:r.title,status:r.status,resolved:b(r.status,t)}:{id:d,title:null,status:null,resolved:!1}})}function O(e,n,t){return B(e,n,t)}function K(e,n){let t=new Map(e.map(d=>[l(d.id),d])),o=k(e),c=new Set([...C(n),...n.blocked_statuses]),s=new Set;for(let d of e){let r=I(d.status,n);if(!c.has(r))continue;(n.blocked_statuses.has(r)||B(d,t,n,o).some(f=>!f.resolved))&&s.add(l(d.id))}return s}function C(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function A(e,n,t){let o=[l(e)],c=new Set;for(;o.length>0;){let s=o.pop();if(!c.has(s)){c.add(s);for(let d of n.get(s)??[]){if(!b(d.status,t))return!0;o.push(l(d.id))}}}return!1}function L(e){let n=new Map,t=new Map,o=new Map,c=k(e);for(let s of e){n.set(l(s.id),s);let d=typeof s.parent=="string"?s.parent.trim():"";if(d.length>0){let r=l(d),a=t.get(r)??[];a.push(s),t.set(r,a)}for(let r of c.get(l(s.id))){let a=l(r),f=o.get(a)??[];f.push(s.id),o.set(a,f)}}return{itemsById:n,childrenByParent:t,blockedByReverse:o,blockerIdsByItem:c}}function M(e,n,t){let{itemsById:o,childrenByParent:c,blockedByReverse:s,blockerIdsByItem:d}=L(n),r=new Set([...C(t),...t.blocked_statuses]),a=new Set(n.filter(i=>!b(i.status,t)).map(i=>l(i.id))),f=[],h=[],m=0,_=0;for(let i of e){if(!r.has(I(i.status,t)))continue;if(m+=1,A(i.id,c,t)){_+=1;continue}let g=B(i,o,t,d).filter(u=>!u.resolved),E=(s.get(l(i.id))??[]).filter(u=>a.has(l(u))).sort((u,x)=>u.localeCompare(x)),w={item:i,open_blockers:g,unblocks:E},N=t.blocked_statuses.has(I(i.status,t));g.length===0&&!N?f.push(w):h.push(w)}return{ready:f,blocked:h,active_count:m,container_count:_}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="cc271a73-9767-54bb-a142-d4d4569e3c6a")}catch{}})();export{T as a,p as b,k as c,S as d,O as e,K as f,M as g};
2
- //# sourceMappingURL=chunk-YIAXMC3T.js.map
1
+ import{ja as I,ka as b}from"./chunk-6XYLENDV.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="de8a82e1-0b02-5d5a-9086-686529a1ccab")}catch{}})();var v="blocked_by",D="blocks",T=Object.freeze([v,D]),y="no-active-blocker";function l(e){return e.trim().toLowerCase()}function p(e){let n=new Set,t=typeof e.blocked_by=="string"?l(e.blocked_by):"";t.length>0&&t!==y&&n.add(t);for(let o of e.dependencies??[]){let c=typeof o.id=="string"?l(o.id):"";o.kind===v&&c.length>0&&c!==y&&n.add(c)}return[...n].sort((o,c)=>o.localeCompare(c))}function k(e){let n=new Map;for(let t of e){let o=l(t.id);o.length!==0&&n.set(o,new Set(p(t)))}for(let t of e){let o=l(t.id);if(o.length!==0)for(let c of t.dependencies??[]){let s=c.kind===D&&typeof c.id=="string"?l(c.id):"";if(s.length===0||s===y)continue;let d=n.get(s)??new Set;d.add(o),n.set(s,d)}}return new Map([...n].map(([t,o])=>[t,[...o].sort((c,s)=>c.localeCompare(s))]))}function S(e,n){let t=l(e.id);return t.length>0?k(n).get(t)??p(e):p(e)}function B(e,n,t,o){let c=e;return(typeof c.id=="string"?o?.get(l(c.id))??S(c,[...n.values()]):p(e)).map(d=>{let r=n.get(l(d));return r?{id:d,title:r.title,status:r.status,resolved:b(r.status,t)}:{id:d,title:null,status:null,resolved:!1}})}function O(e,n,t){return B(e,n,t)}function K(e,n){let t=new Map(e.map(d=>[l(d.id),d])),o=k(e),c=new Set([...C(n),...n.blocked_statuses]),s=new Set;for(let d of e){let r=I(d.status,n);if(!c.has(r))continue;(n.blocked_statuses.has(r)||B(d,t,n,o).some(f=>!f.resolved))&&s.add(l(d.id))}return s}function C(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function A(e,n,t){let o=[l(e)],c=new Set;for(;o.length>0;){let s=o.pop();if(!c.has(s)){c.add(s);for(let d of n.get(s)??[]){if(!b(d.status,t))return!0;o.push(l(d.id))}}}return!1}function L(e){let n=new Map,t=new Map,o=new Map,c=k(e);for(let s of e){n.set(l(s.id),s);let d=typeof s.parent=="string"?s.parent.trim():"";if(d.length>0){let r=l(d),a=t.get(r)??[];a.push(s),t.set(r,a)}for(let r of c.get(l(s.id))){let a=l(r),f=o.get(a)??[];f.push(s.id),o.set(a,f)}}return{itemsById:n,childrenByParent:t,blockedByReverse:o,blockerIdsByItem:c}}function M(e,n,t){let{itemsById:o,childrenByParent:c,blockedByReverse:s,blockerIdsByItem:d}=L(n),r=new Set([...C(t),...t.blocked_statuses]),a=new Set(n.filter(i=>!b(i.status,t)).map(i=>l(i.id))),f=[],h=[],m=0,_=0;for(let i of e){if(!r.has(I(i.status,t)))continue;if(m+=1,A(i.id,c,t)){_+=1;continue}let g=B(i,o,t,d).filter(u=>!u.resolved),E=(s.get(l(i.id))??[]).filter(u=>a.has(l(u))).sort((u,x)=>u.localeCompare(x)),w={item:i,open_blockers:g,unblocks:E},N=t.blocked_statuses.has(I(i.status,t));g.length===0&&!N?f.push(w):h.push(w)}return{ready:f,blocked:h,active_count:m,container_count:_}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="cc271a73-9767-54bb-a142-d4d4569e3c6a")}catch{}})();export{T as a,p as b,k as c,S as d,O as e,K as f,M as g};
2
+ //# sourceMappingURL=chunk-2JP7W7GO.js.map
@@ -0,0 +1,4 @@
1
+ import{$ as je,L as Or,M as Dr,N as be,O as ve,R as ne,S as Nr,Y as C,Z as S,a as q,b as ze,ba as Fr,c as vr,e as Er,f as kr,g as xr,h as Sr,i as Cr,j as _e,k as Tr,m as Ir,n as Ar,o as $r,p as we,q as Rr,r as Pr}from"./chunk-CP4K4WFS.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="294d43fb-b6e8-5a5f-91fe-73ba21075bf5")}catch{}})();function Ee(e,r,n){if(e===r)return 0;if(Math.abs(e.length-r.length)>n)return null;let t=r.length+1,o=new Array(t),i=new Array(t),s=new Array(t);for(let l=0;l<t;l+=1)o[l]=0,i[l]=l;for(let l=1;l<=e.length;l+=1){s[0]=l;let c=s[0];for(let d=1;d<=r.length;d+=1){let u=e[l-1]===r[d-1]?0:1,m=i[d-1]+u,f=s[d-1]+1,h=i[d]+1,p=Math.min(m,f,h);l>1&&d>1&&e[l-1]===r[d-2]&&e[l-2]===r[d-1]&&(p=Math.min(p,o[d-2]+1)),s[d]=p,p<c&&(c=p)}if(c>n)return null;for(let d=0;d<t;d+=1)o[d]=i[d],i[d]=s[d]}let a=i[r.length];return a<=n?a:null}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="f6ec614c-2e47-5ce0-bbf6-8dde97ffb99e")}catch{}})();var ke=we;function xe(e){let r=e.trim().toLowerCase();return ke.includes(r)?r:null}function Mr(e){let r=e.trim().toLowerCase();if(r.length===0)return null;let n=Math.max(1,Math.floor(r.length*.34));for(let t of ke)if(Ee(r,t,n)!==null)return t;return null}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="ce320988-b999-57c9-a786-a94ac66c5628")}catch{}})();var V=new Set(Nr),Se=Object.freeze({get size(){return V.size},has(e){return V.has(e)},entries(){return V.entries()},keys(){return V.keys()},values(){return V.values()},forEach(e,r){V.forEach(n=>e.call(r,n,n,Se))},[Symbol.iterator](){return V.values()}});function zr(e){if(typeof e!="string")return null;let r=e.trim();return r.length>0?r:null}function jr(e){return typeof e!="string"?null:xe(e)}function Ct(e){try{return structuredClone(e)}catch{return e}}function Tt(e){let r=e.trim(),n=r.indexOf("=");if(n<=0)throw new S(`--field entries must use name=value syntax, received: ${e}`,C.USAGE);let t=r.slice(0,n).trim(),o=r.slice(n+1);return{key:t,value:o}}function It(e){return`--${e.replaceAll("_","-")}`}function At(e,r,n){try{let t=JSON.parse(e);if(n==="array"&&Array.isArray(t)||n==="object"&&typeof t=="object"&&t!==null&&!Array.isArray(t))return t}catch{}throw new S(`--field ${r}=... must be valid JSON ${n}`,C.USAGE)}function $t(e,r,n){if(r==="string")return n;if(r==="number"){let t=n.trim();if(t.length===0)throw new S(`--field ${e}=... must be a number`,C.USAGE);let o=Number(t);if(!Number.isFinite(o))throw new S(`--field ${e}=... must be a number`,C.USAGE);return o}if(r==="boolean"){let t=n.trim().toLowerCase();if(t==="true"||t==="1"||t==="yes")return!0;if(t==="false"||t==="0"||t==="no")return!1;throw new S(`--field ${e}=... must be one of true|false|1|0|yes|no`,C.USAGE)}return r==="string_array"?n.split(/[\n,|]/u).map(t=>t.trim()).filter(t=>t.length>0):At(n,e,r)}function Le(e){let r=new Map;if(!e)return r;for(let n of e.item_fields)for(let t of n.fields){let o=zr(t.name),i=jr(t.type);if(!o||!i)continue;let s=r.get(o);if(s&&s.type!==i)throw new S(`Extension item field "${o}" is declared with conflicting types: ${s.type}, ${i}`,C.USAGE,{code:"extension_item_field_type_conflict",nextSteps:["Make every active extension declaration for this field use the same type."]});r.set(o,{name:o,type:i})}return r}function Lr(e){if(Se.has(e))throw new S(`Extension item field "${e}" collides with built-in item metadata "${e}"; rename the extension field with an extension-specific prefix. Reserved fields: ${[...Se].sort((r,n)=>r.localeCompare(n)).join(", ")}.`,C.USAGE,{code:"extension_item_field_reserved",nextSteps:["Rename the extension item field, preferably with an extension-specific prefix."]})}function pa(e){return[...Le(e).keys()].sort((r,n)=>r.localeCompare(n))}function ga(e,r){if(!e||e.length===0)return{};let n=Le(r),t={};for(let o of e){let{key:i,value:s}=Tt(o),a=n.get(i);if(!a){if(Se.has(i)){let c=It(i);throw new S(`--field ${i} is a core item field, not an extension field`,C.USAGE,{code:"core_item_field_requires_dedicated_flag",field:i,recovery:{provided_fields:[i],suggested_flags:[c]},nextSteps:[`Set the core field with its dedicated flag: pm update <id> ${c} <value>`,`When closing an item, pm close <id> also accepts ${c} <value>.`]})}let l=[...n.keys()].sort((c,d)=>c.localeCompare(d));throw new S(`--field ${i} is not declared by an active extension item-field registration`,C.USAGE,{code:"extension_item_field_unknown",recovery:{provided_fields:l},nextSteps:l.length>0?[`Use one of the declared fields: ${l.join(", ")}`]:["Activate an extension that calls registerItemFields before setting extension fields."]})}Lr(a.name),t[a.name]=$t(a.name,a.type,s)}return t}function Rt(e,r){return r==="string"?typeof e=="string":r==="number"?typeof e=="number"&&Number.isFinite(e):r==="boolean"?typeof e=="boolean":r==="array"?Array.isArray(e):r==="string_array"?Array.isArray(e)&&e.every(n=>typeof n=="string"):typeof e=="object"&&e!==null&&!Array.isArray(e)}function Pt(e,r){return!r||r.length===0?!0:r.some(n=>Object.is(n,e))}function ha(e,r,n={}){if(r){Le(r);for(let t of r.item_fields)for(let o of t.fields){let i=zr(o.name);if(!i)continue;Lr(i),!(i in e)&&!n.skipDefaultFields?.has(i)&&Object.prototype.hasOwnProperty.call(o,"default")&&(e[i]=Ct(o.default));let s=e[i];if(s===void 0)continue;let a=jr(o.type);if(a&&!Rt(s,a))throw new TypeError(`Item field "${i}" must be of type ${a}`);let l=Array.isArray(o.values)?o.values:void 0;if(!Pt(s,l))throw new TypeError(`Item field "${i}" must match one of the configured allowed values`)}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="49a83ce3-4c55-5b3f-b061-bc21b716d498")}catch{}})();var qe=[{kind:"blocked_by",direction:"directed",inverse:"blocks",ordering:!0,precedence:"target_before_source",hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",aliases:["depends_on"],compatibilityVersion:1,allowSelf:!1},{kind:"blocks",direction:"directed",inverse:"blocked_by",ordering:!0,precedence:"source_before_target",hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"parent",direction:"directed",inverse:"child",ordering:!1,hierarchy:!0,hierarchyDirection:"target_parent",outgoing:"one",incoming:"many",lifecycle:"supersedable",aliases:["child_of","epic"],compatibilityVersion:1,allowSelf:!1},{kind:"child",direction:"directed",inverse:"parent",ordering:!1,hierarchy:!0,hierarchyDirection:"source_parent",outgoing:"many",incoming:"one",lifecycle:"supersedable",aliases:["parent_child","task"],compatibilityVersion:1,allowSelf:!1},{kind:"related",direction:"undirected",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",aliases:["related_to"],compatibilityVersion:1,allowSelf:!1},{kind:"discovered_from",direction:"directed",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"incident_from",direction:"directed",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"implements",direction:"directed",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"verifies",direction:"directed",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"supersedes",direction:"directed",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"supersedable",compatibilityVersion:1,allowSelf:!1}];(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="05e01593-acb6-5e28-a5ac-8c8f74359c62")}catch{}})();function Ie(e){return e.trim().toLowerCase().replaceAll("-","_")}function Ot(e){if(e===void 0)return;let r=Ie(e);if(!/^[a-z][a-z0-9_]*$/.test(r))throw new TypeError(`Invalid inverse relationship kind: ${e}`);return r}function Ue(e,r=new Set){if(e===null||typeof e!="object"||r.has(e))return e;if(r.add(e),Array.isArray(e)){for(let n of e)Ue(n,r);return Object.freeze(e)}for(let n of Object.values(e))Ue(n,r);return Object.freeze(e)}function Dt(e,r){if(e.precedence!==void 0&&e.precedence!=="source_before_target"&&e.precedence!=="target_before_source")throw new TypeError(`Invalid relationship precedence for ${r}`);if(!e.ordering&&e.precedence!==void 0)throw new TypeError(`Non-ordering relationship kind cannot declare precedence: ${r}`)}function Nt(e,r){if(e.hierarchyDirection!==void 0&&e.hierarchyDirection!=="source_parent"&&e.hierarchyDirection!=="target_parent")throw new TypeError(`Invalid relationship hierarchy direction for ${r}`);if(!e.hierarchy&&e.hierarchyDirection!==void 0)throw new TypeError(`Non-hierarchy relationship kind cannot declare hierarchy direction: ${r}`)}function Ft(e){if(typeof e!="object"||e===null)throw new TypeError("Relationship kind definition requires an object");if(typeof e.kind!="string")throw new TypeError("Relationship kind requires a string identifier");let r=Ie(e.kind);if(!/^[a-z][a-z0-9_]*$/.test(r))throw new TypeError(`Invalid relationship kind: ${e.kind}`);if(!Number.isInteger(e.compatibilityVersion)||e.compatibilityVersion<1)throw new TypeError(`Invalid compatibility version for ${r}`);return r}function Mt(e,r){if(!["directed","undirected"].includes(e.direction))throw new TypeError(`Invalid relationship direction for ${r}`);if(typeof e.ordering!="boolean")throw new TypeError(`Invalid relationship ordering flag for ${r}`);if(![void 0,!0,!1].includes(e.hierarchy))throw new TypeError(`Invalid relationship hierarchy flag for ${r}`);if(!["one","many"].includes(e.outgoing))throw new TypeError(`Invalid outgoing relationship cardinality for ${r}`);if(!["one","many"].includes(e.incoming))throw new TypeError(`Invalid incoming relationship cardinality for ${r}`);if(!["persistent","supersedable","ephemeral"].includes(e.lifecycle))throw new TypeError(`Invalid relationship lifecycle for ${r}`);if(typeof e.allowSelf!="boolean")throw new TypeError(`Invalid relationship self-edge flag for ${r}`)}function zt(e,r){if(e.payloadSchema!==void 0&&(typeof e.payloadSchema!="object"||e.payloadSchema===null||Array.isArray(e.payloadSchema)))throw new TypeError(`Invalid relationship payload schema for ${r}`);if(e.aliases!==void 0&&(!Array.isArray(e.aliases)||e.aliases.some(n=>typeof n!="string")))throw new TypeError(`Invalid relationship aliases for ${r}`)}var We=class{#e=new Map;#n=new Map;constructor(r=qe){for(let n of r)this.register(n)}register(r){let n=Ft(r);if(Mt(r,n),zt(r,n),Dt(r,n),Nt(r,n),this.#e.has(n)||this.#n.has(n))throw new TypeError(`Relationship kind already registered: ${n}`);let t=Ot(r.inverse),o=[...new Set((r.aliases??[]).map(Ie))].sort();for(let s of o){if(!/^[a-z][a-z0-9_]*$/.test(s))throw new TypeError(`Invalid relationship alias: ${s}`);if(s===n||this.#e.has(s)||this.#n.has(s))throw new TypeError(`Relationship alias already registered: ${s}`)}let i=Object.freeze({...r,kind:n,hierarchy:r.hierarchy??!1,inverse:t,aliases:Object.freeze(o),payloadSchema:r.payloadSchema?Ue(structuredClone(r.payloadSchema)):void 0});this.#e.set(n,i);for(let s of o)this.#n.set(s,n);return this}resolve(r){if(typeof r!="string")return;let n=Ie(r);return this.#e.get(this.#n.get(n)??n)}require(r){let n=this.resolve(r);if(!n)throw new TypeError(`Unknown relationship kind: ${r}`);return n}list(){return Object.freeze([...this.#e.values()].sort((r,n)=>r.kind.localeCompare(n.kind)))}};function Ke(){return new We}var U=Ke();function ba(e){return U.require(e).kind}function va(e){return U.resolve(e)?.kind}function Ea(e,r=U){return r.resolve(e)?.ordering===!0}function jt(e,r,n,t=U){let o=te(e),i=te(r);if(!o||!i)throw new TypeError("Relationship endpoint must not be empty");let s=t.require(n);if(o===i&&!s.allowSelf)throw new TypeError(`Self relationship is not allowed for ${s.kind}`);return s}function Ce(e,r){return e.source.localeCompare(r.source)||e.target.localeCompare(r.target)||e.kind.localeCompare(r.kind)}function Lt(e,r,n){let t=typeof e.source=="string"?e.source.trim():"",o=typeof e.target=="string"?e.target.trim():"";if(!r.has(t)||!r.has(o))throw new TypeError(`Relationship endpoint not found: ${t} -> ${o}`);let i=jt(t,o,e.kind,n),s=Object.freeze({...e,source:t,target:o,kind:i.kind}),a=i.direction==="undirected"?[t,o].sort().join("\0"):`${t}\0${o}`;return{edge:s,identity:`${i.kind}\0${a}`}}function Te(e,r,n){let t=e.get(r);t?t.push(n):e.set(r,[n])}function te(e){return typeof e=="string"?e.trim():""}function Ve(e,r){let n=te(e);return n&&r.has(n)?n:void 0}function qt(e,r,n){let t=[r],o=r;for(;o!==e;)o=n.get(o),t.push(o);return t.reverse()}var qr=class e{#e;#n;#o;#t;#s=new Map;#a=new Map;constructor(r,n,t=U){this.#e=t,this.#n=new Set([...r].filter(i=>typeof i=="string").map(i=>i.trim()).filter(Boolean)),this.#o=Object.freeze([...this.#n].sort());let o=new Map;for(let i of n){let{edge:s,identity:a}=Lt(i,this.#n,t);o.set(a,s)}this.#t=Object.freeze([...o.values()].sort(Ce));for(let i of this.#t)Te(this.#s,i.source,i),Te(this.#a,i.target,i),t.require(i.kind).direction==="undirected"&&(Te(this.#s,i.target,i),Te(this.#a,i.source,i))}static fromItems(r,n=U){let t=new Set(r.map(i=>te(i.id)).filter(Boolean)),o=[];for(let i of r){let s=te(i.id);if(!s)continue;let a=Ve(i.parent,t);a&&o.push({source:s,target:a,kind:"parent"});let l=Ve(i.blocked_by,t);l&&o.push({source:s,target:l,kind:"blocked_by"});for(let c of i.dependencies??[]){let d=Ve(c.id,t);d&&n.resolve(c.kind)&&o.push({source:s,target:d,kind:c.kind,createdAt:c.created_at,author:c.author})}}return new e(t,o,n)}edges(){return this.#t}incidentEdges(r){this.#i(r);let n=this.#s.get(r)??[],t=this.#a.get(r)??[];if(n.length===0)return Object.freeze([...t]);if(t.length===0)return Object.freeze([...n]);let o=[],i=0,s=0;for(;i<n.length||s<t.length;){let a=n[i],l=t[s],c=a===void 0?l:l===void 0||Ce(a,l)<=0?a:l;o.at(-1)!==c&&o.push(c),a===c&&(i+=1),l===c&&(s+=1)}return Object.freeze(o)}nodes(){return this.#o}hasNode(r){return this.#n.has(r)}registry(){return this.#e}#i(r){if(!this.#n.has(r))throw new TypeError(`Relationship node not found: ${r}`)}#l(r,n){if(!n)return!0;let t=this.#e.require(r.kind);return n.has(r.kind)||t.inverse!==void 0&&n.has(t.inverse)}#r(r,n,t){let o=[...n==="incoming"?[]:this.#s.get(r)??[],...n==="outgoing"?[]:this.#a.get(r)??[]];return[...new Set(o)].filter(i=>this.#l(i,t)).map(i=>({id:i.source===r?i.target:i.source,edge:i})).sort((i,s)=>i.id.localeCompare(s.id)||Ce(i.edge,s.edge))}adjacency(r,n={}){this.#i(r),n.signal?.throwIfAborted();let t=n.kinds?new Set(n.kinds.map(l=>this.#e.require(l).kind)):void 0,o=this.#r(r,n.direction??"outgoing",t),i=n.limit??Number.POSITIVE_INFINITY,s=[...new Set(o.map(l=>l.id))],a=s.slice(0,i);return{value:a,meta:{visitedNodes:1,inspectedEdges:o.length,truncated:a.length<s.length,nextCursor:a.at(-1)}}}neighborEdges(r,n={}){this.#i(r),n.signal?.throwIfAborted();let t=n.kinds?new Set(n.kinds.map(a=>this.#e.require(a).kind)):void 0,o=this.#r(r,n.direction??"outgoing",t),i=n.limit??Number.POSITIVE_INFINITY,s=o.slice(0,i);return{value:s,meta:{visitedNodes:1,inspectedEdges:o.length,truncated:s.length<o.length,nextCursor:s.at(-1)?.id}}}closure(r,n={}){this.#i(r);let t=n.kinds?new Set(n.kinds.map(f=>this.#e.require(f).kind)):void 0,o=n.direction??"outgoing",i=n.limit??Number.POSITIVE_INFINITY,s=n.maxDepth??Number.POSITIVE_INFINITY,a=new Set([r]),l=[],c=[{id:r,depth:0}],d=0,u=0,m=!1;e:for(let f=0;f<c.length;f+=1){n.signal?.throwIfAborted();let h=c[f];d+=1;let p=this.#r(h.id,o,t);if(u+=p.length,h.depth>=s){p.some(g=>!a.has(g.id))&&(m=!0);continue}for(let g of p)if(!a.has(g.id)){if(l.length>=i){m=!0;break e}a.add(g.id),l.push(g.id),c.push({id:g.id,depth:h.depth+1})}}return{value:l,meta:{visitedNodes:d,inspectedEdges:u,truncated:m,nextCursor:l.at(-1)}}}shortestPath(r,n,t={}){if(this.#i(r),this.#i(n),r===n)return{value:[r],meta:{visitedNodes:1,inspectedEdges:0,truncated:!1}};let o=t.kinds?new Set(t.kinds.map(f=>this.#e.require(f).kind)):void 0,i=t.direction??"outgoing",s=t.maxDepth??Number.POSITIVE_INFINITY,a=[{id:r,depth:0}],l=new Map,c=new Set([r]),d=0,u=0,m=!1;for(let f=0;f<a.length;f+=1){t.signal?.throwIfAborted();let h=a[f];d+=1;let p=this.#r(h.id,i,o);if(u+=p.length,h.depth>=s){p.some(g=>!c.has(g.id))&&(m=!0);continue}for(let g of p)if(!c.has(g.id)){if(l.set(g.id,h.id),g.id===n)return{value:qt(r,n,l),meta:{visitedNodes:d,inspectedEdges:u,truncated:!1}};c.add(g.id),a.push({id:g.id,depth:h.depth+1})}}return{value:[],meta:{visitedNodes:d,inspectedEdges:u,truncated:m}}}subgraph(r,n={}){let t=this.closure(r,n),o=[r,...t.value].sort(),i=new Set(o),s=n.kinds?new Set(n.kinds.map(l=>this.#e.require(l).kind)):void 0,a=new Set;for(let l of o)for(let c of this.#s.get(l)??[])i.has(c.source)&&i.has(c.target)&&this.#l(c,s)&&a.add(c);return{value:{nodes:o,edges:[...a].sort(Ce)},meta:t.meta}}};function ka(e,r,n=U){return{source:e,target:r.id,kind:n.require(r.kind).kind,createdAt:r.created_at,author:r.author}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="2f268c53-f096-5eed-9ddb-01fed4839ae5")}catch{}})();function v(e){return e.trim().toLowerCase().split(/\s+/).filter(r=>r.length>0).join(" ")}function Vt(){return{json:!1,quiet:!1,noExtensions:!1,profile:!1}}function Vr(e){return e?k(e):{}}function Ur(e){return e?k(e):Vt()}function k(e){return structuredClone(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="f7c79f37-1cae-59c9-b500-eb87d0089f94")}catch{}})();var Ut=new Set(["commands","command_overrides","command_handlers","flag_commands","parser_overrides"]),Wt=["commands","command_overrides","command_handlers","hooks","flag_commands","item_types","item_fields","relationship_kinds","migrations","profiles","importers","exporters","search_providers","vector_store_adapters","assurance_providers","parser_overrides","service_overrides","renderer_overrides"];function Kt(e,r){for(let n of Wt){let t=e[n];if(t===void 0)continue;if(!Array.isArray(t)||t.some(i=>typeof i!="string"))return!1;let o=t.map(i=>Ut.has(n)?v(i):i.trim()).filter(i=>i.length>0);r[n]=[...new Set(o)].sort((i,s)=>i.localeCompare(s))}return!0}function Bt(e){if(!Array.isArray(e))return null;let r=[];for(let n of e){if(typeof n!="object"||n===null)return null;let t=n;if(t.format!=="json"&&t.format!=="toon"||!Array.isArray(t.commands)||t.commands.some(o=>typeof o!="string")||typeof t.result_discriminator!="boolean")return null;r.push({format:t.format,commands:[...new Set(t.commands.map(o=>v(o)))].sort((o,i)=>o.localeCompare(i)),result_discriminator:t.result_discriminator})}return r.sort((n,t)=>n.format.localeCompare(t.format))}function Ht(e){if(!Array.isArray(e))return null;let r=[];for(let n of e){if(typeof n!="object"||n===null)return null;let t=n.commands;if(!Array.isArray(t)||t.some(o=>typeof o!="string"))return null;r.push({commands:[...new Set(t.map(o=>v(o)))].filter(o=>o.length>0).sort((o,i)=>o.localeCompare(i))})}return r}function Be(e){if(e==null)return;if(typeof e!="object"||Array.isArray(e))return null;let r=e;if(r.schema_version!==1)return null;let n={schema_version:1};if(!Kt(r,n))return null;let t=r.preflight_overrides;if(t!==void 0&&(!Number.isInteger(t)||t<0))return null;typeof t=="number"&&(n.preflight_overrides=t);let o=r.renderer_ownership;if(o!==void 0){let s=Bt(o);if(s===null)return null;n.renderer_ownership=s}let i=r.preflight_ownership;if(i!==void 0){let s=Ht(i);if(s===null)return null;n.preflight_ownership=s}return n}function Ia(e){return{schema_version:1,commands:e.commands,command_overrides:e.command_overrides,command_handlers:e.command_handlers,hooks:e.hooks,flag_commands:e.flag_commands,item_types:e.item_types,item_fields:e.item_fields,...e.relationship_kinds?{relationship_kinds:e.relationship_kinds}:{},migrations:e.migrations,profiles:e.profiles,importers:e.importers,exporters:e.exporters,search_providers:e.search_providers,vector_store_adapters:e.vector_store_adapters,...e.assurance_providers?{assurance_providers:e.assurance_providers}:{},parser_overrides:e.parser_overrides,service_overrides:e.service_overrides,renderer_overrides:e.renderer_overrides,...e.renderer_ownership?{renderer_ownership:e.renderer_ownership}:{},preflight_overrides:e.preflight_overrides,...e.preflight_ownership?{preflight_ownership:e.preflight_ownership}:{}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="3225f4de-aa48-55b7-a704-d93ccb3ee0f4")}catch{}})();function oe(e){return[...new Set(e.map(r=>r.trim()).filter(r=>r.length>0))].sort((r,n)=>r.localeCompare(n))}function F(e){return q.includes(e)}function Wr(e){let r=e.trim().toLowerCase();return F(r)?r:null}function Kr(e){return e.filter(r=>!F(r))}function He(e){let r=e.trim().toLowerCase();return r.length===0?null:vr[r]??null}function Br(e){let r=oe([...e].map(i=>i.toLowerCase())),n=[],t=[];for(let i of r){let s=He(i);if(s){n.push(s),t.push({alias:i,target:s});continue}n.push(i)}let o=[...new Map(t.map(i=>[`${i.alias}>${i.target}`,i])).values()].sort((i,s)=>i.alias.localeCompare(s.alias));return{capabilities:oe(n),legacy_aliases:o}}function Yt(e){let r=e.trim().toLowerCase();if(r.length===0)return null;let n=He(r);if(n)return n;let t=Math.max(1,Math.floor(r.length*.34)),o=null,i=Number.POSITIVE_INFINITY;for(let s of q){let a=Ee(r,s,t);a!==null&&a<i&&(i=a,o=s)}return o}function Hr(e,r,n){let t=q.join(","),o=Yt(n)??"none";return`extension_capability_unknown:${e}:${r}:${n}:allowed=${t}:suggested=${o}`}function Yr(e,r,n){let t=n.map(o=>`${o.alias}>${o.target}`).join(",");return`extension_capability_legacy_alias:${e}:${r}:aliases=${t}`}function Gt(e){let r=/^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(e.trim());if(!r)return null;let[,n,t,o,i,s]=r,a=n,l=i.split(",").map(f=>f.trim()).filter(f=>f.length>0),c=He(o),u=(s==="none"?void 0:s)??c??void 0;return{layer:a,name:t,capability:o,allowed_capabilities:l,capability_contract_version:ze,suggested_capability:u,suggestion_source:u?c===u?"legacy_alias":"nearest_match":void 0,legacy_alias_target:c??void 0}}function Xt(e){let r=/^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(e.trim());if(!r)return[];let[,n,t,o]=r,i=n,s=[...q],a=[];for(let l of o.split(",")){let[c,d]=l.split(">"),u=c?.trim(),m=d?.trim().toLowerCase();!u||!m||!F(m)||a.push({layer:i,name:t,capability:u,allowed_capabilities:s,capability_contract_version:ze,suggested_capability:m,suggestion_source:"legacy_alias",legacy_alias_target:m})}return a}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="a35f3cdc-810e-59bd-8408-03ce792db57f")}catch{}})();var Da={commands:["registerCommand","command override","command handler"],renderers:["registerRenderer"],hooks:["hooks.beforeCommand","hooks.beforeMutation","hooks.afterCommand","hooks.onWrite","hooks.onRead","hooks.onIndex"],schema:["registerFlags","registerItemFields","registerItemTypes","registerRelationshipKinds","registerMigration","registerProfile"],importers:["registerImporter","registerExporter"],search:["registerSearchProvider","registerVectorStoreAdapter"],parser:["registerParser"],preflight:["registerPreflight"],services:["registerService","registerAssuranceMeasurementProvider"]},Gr=":";function Xr(e,r){return`${e}${Gr}${Ye(r)}`}function Jt(e){return e.slice(e.indexOf(Gr)+1)}function Ye(e){return e.trim().toLowerCase()}function Zt(e){if(!Array.isArray(e))return[];let r=new Set;for(let n of e){let t=Wr(n);t!==null&&r.add(t)}return[...r].sort((n,t)=>n.localeCompare(t))}function Jr(e){let r=new Map,n=(d,u)=>{for(let m of d){let f=Xr(m.layer,m.name),h=r.get(f);h===void 0&&(h=new Set,r.set(f,h)),h.add(u)}},{registrations:t,commands:o,parsers:i,preflight:s,services:a,renderers:l,hooks:c}=e;return n(t.commands,"commands"),n(o.overrides,"commands"),n(o.handlers,"commands"),n(t.flags,"schema"),n(t.item_fields,"schema"),n(t.item_types,"schema"),n(t.relationship_kinds??[],"schema"),n(t.migrations,"schema"),n(t.profiles,"schema"),n(t.importers,"importers"),n(t.exporters,"importers"),n(t.search_providers,"search"),n(t.vector_store_adapters,"search"),n(i.overrides,"parser"),n(s.overrides,"preflight"),n(a.overrides,"services"),n(t.assurance_providers??[],"services"),n(l.overrides,"renderers"),n(c.beforeCommand,"hooks"),n(c.beforeMutation,"hooks"),n(c.afterCommand,"hooks"),n(c.onWrite,"hooks"),n(c.onRead,"hooks"),n(c.onIndex,"hooks"),r}function Na(e,r={}){let n=Jr(e),t=new Set;r.extensionName!==void 0&&t.add(Ye(r.extensionName));for(let i of r.extensionNames??[])t.add(Ye(i));let o=new Set;for(let[i,s]of n)if(!(t.size>0&&!t.has(Jt(i))))for(let a of s)o.add(a);return[...o].sort((i,s)=>i.localeCompare(s))}function Fa(e,r){let n=Jr(r),t=[];for(let o of e){let i=Zt(o.capabilities);if(i.length===0)continue;let s=n.get(Xr(o.layer,o.name))??new Set,a=[...s].sort((c,d)=>c.localeCompare(d)),l=i.filter(c=>!s.has(c));t.push({layer:o.layer,name:o.name,declared:i,used:a,unused:l})}return t}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="4eccf02f-7401-539f-b843-f55b63ed878c")}catch{}})();var Qt=/^--[a-z0-9][a-z0-9_-]*(?:[ =](?:<[^<>]+>|\[[^[\]]+\]))?$/;function eo(e){if(typeof e!="string")return null;let r=e.trim(),n=r.split(/[ =]/,1)[0];return je.has(n)?"host_owned_flag_collision":Qt.test(r)?null:"malformed_long_flag"}function Zr(e,r){let n=[e,r].find(i=>typeof i=="string"&&je.has(i.trim().split(/[ =]/,1)[0]));if(typeof n=="string")return{token:n.trim().split(/[ =]/,1)[0],failure:"host_owned_flag_collision"};if(typeof e!="string")return null;let t=e.trim(),o=eo(t);return o===null?null:{token:t,failure:o}}function Qr(e,r){return r==="host_owned_flag_collision"?`cannot shadow host-owned global flag "${e}"; read it from context.global instead`:`long flag "${e}" must start with a double-dash name such as "--my-flag" or "--my-flag <value>"`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="849502d0-2616-500c-96de-228c0759459d")}catch{}})();function en(e){return typeof e=="string"?e:String(e)}function ie(e){let n=e.trim().replace(/^>=\s*/,"").replace(/^v/i,"").split(/[+-]/,1)[0];return/^\d+(?:[.-]\d+)*$/.test(n)?n.split(/[.-]/).map(t=>Number(t)):null}function Ge(e,r){let n=ie(e),t=ie(r);if(!n||!t)return null;let o=Math.max(n.length,t.length);for(let i=0;i<o;i+=1){let s=n[i]??0,a=t[i]??0;if(s>a)return 1;if(s<a)return-1}return 0}function rn(e,r){if(e==null)return{kind:"pm_min_version",status:"absent",allowed:!0,required:"",current:r};let n=en(e);if(typeof e!="string"||n.trim().length===0)return{kind:"pm_min_version",status:"invalid",allowed:!1,required:n,current:r};if(!ie(n))return{kind:"pm_min_version",status:"invalid",allowed:!1,required:n,current:r};if(r===null)return{kind:"pm_min_version",status:"unchecked",allowed:!0,required:n,current:null};let t=Ge(r,n);return t===null?{kind:"pm_min_version",status:"unchecked",allowed:!0,required:n,current:r}:t<0?{kind:"pm_min_version",status:"unmet",allowed:!1,required:n,current:r}:{kind:"pm_min_version",status:"ok",allowed:!0,required:n,current:r}}function nn(e,r,n){if(e==null)return{kind:"pm_max_version",status:"absent",allowed:!0,required:"",current:r};let t=en(e);if(typeof e!="string"||t.trim().length===0)return{kind:"pm_max_version",status:"invalid",allowed:!1,required:t,current:r};if(/^[<>=~^]/.test(t.trim())||!ie(t))return{kind:"pm_max_version",status:"invalid",allowed:!1,required:t,current:r};if(r===null)return{kind:"pm_max_version",status:"unchecked",allowed:!0,required:t,current:null};let o=Ge(r,t);return o===null?{kind:"pm_max_version",status:"unchecked",allowed:!0,required:t,current:r}:o>0?n==="warn"?{kind:"pm_max_version",status:"exceeded_warn",allowed:!0,required:t,current:r}:{kind:"pm_max_version",status:"exceeded",allowed:!1,required:t,current:r}:{kind:"pm_max_version",status:"ok",allowed:!0,required:t,current:r}}import*as E from"node:fs/promises";import Ae from"node:path";import ro from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="23fc5fcb-5c80-57ab-8d91-8d15ee35ab53")}catch{}})();var no=[10,25,50,100];async function tn(e){await E.mkdir(e,{recursive:!0})}async function se(e){try{return await E.access(e),!0}catch{return!1}}function on(e){return to(e)||W(e,"ENOTDIR")}function to(e){return W(e,"ENOENT")}async function sn(e){try{return await E.readFile(e,"utf8")}catch(r){if(on(r))return null;throw r}}async function an(e,r){let n=Ae.dirname(e);await tn(n);let t=Ae.join(n,`.${Ae.basename(e)}.${process.pid}.${Date.now()}.${ro.randomBytes(4).toString("hex")}.tmp`);await E.writeFile(t,r,"utf8");try{await E.rename(t,e)}catch(o){if(process.platform==="win32"&&(W(o,"EPERM")||W(o,"EBUSY"))){let i=o;for(let s of no){await new Promise(a=>setTimeout(a,s));try{await E.rename(t,e);return}catch(a){if(i=a,!W(a,"EPERM")&&!W(a,"EBUSY"))break}}try{await E.unlink(t)}catch{}throw i}if(W(o,"EXDEV")){try{await E.copyFile(t,e)}finally{try{await E.unlink(t)}catch{}}return}try{await E.unlink(t)}catch{}throw o}}async function Ua(e,r){let n=Ae.dirname(e);await tn(n);let t=await E.open(e,"a");try{await t.writeFile(`${r}
2
+ `,"utf8")}finally{await t.close()}}async function Wa(e){try{await E.unlink(e)}catch(r){if(!on(r))throw r}}function W(e,r){return typeof e=="object"&&e!==null&&"code"in e&&e.code===r}import ln from"path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="624aced5-552c-5354-9e34-b96e267d34d1")}catch{}})();function Xe(e,r){let n=ln.relative(e,r);return n.length===0?!0:!n.startsWith("..")&&!ln.isAbsolute(n)}import X from"node:fs";import M from"node:path";import{fileURLToPath as oo}from"node:url";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="dffcc28d-16a3-53d4-ba02-5298ae7a6d63")}catch{}})();var io="@unbrained/pm-cli";function so(e){try{return JSON.parse(X.readFileSync(e,"utf8")).name===io}catch{return!1}}function ao(e){let r=X.existsSync(e)&&X.statSync(e).isDirectory()?M.resolve(e):M.dirname(M.resolve(e));for(;;){let n=M.join(r,"package.json");if(X.existsSync(n)&&so(n))return r;let t=M.dirname(r);if(t===r)return;r=t}}function Je(e,r=[]){let n=oo(e),t=ao(n);return t||M.resolve(M.dirname(n),...r)}function Ja(e,r=[]){try{let n=M.join(Je(e,r),"package.json");if(!X.existsSync(n))return;let t=JSON.parse(X.readFileSync(n,"utf8"));return typeof t.version=="string"&&t.version.trim().length>0?t.version:void 0}catch{return}}import mo from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="815165a9-27a7-5933-adae-c7e55330c8e4")}catch{}})();function z(e){return[...new Set((e??[]).map(r=>r.trim()).filter(r=>r.length>0))].sort((r,n)=>r.localeCompare(n))}function lo(e){let r=e.key.trim();if(r.length===0)return null;let n=z(e.aliases),t=e.description?.trim();return{key:r,values:z(e.values),required:e.required===!0?!0:void 0,aliases:n.length>0?n:void 0,description:t&&t.length>0?t:void 0}}var co=e=>e,dn=e=>{let r=e.trim().toLowerCase();return r==="create"||r==="update"?r:null};function uo(e,r){let n=r(e.command);if(n===null)return null;let t=e.option.trim();return t.length===0?null:{command:n,option:t,required:e.required,visible:e.visible,enabled:e.enabled}}function fo(e,r){let n=new Map;for(let t of e??[]){let o=uo(t,r);o&&n.set(`${o.command}:${o.option.toLowerCase()}`,o)}return[...n.values()].sort((t,o)=>t.command===o.command?t.option.localeCompare(o.option):t.command.localeCompare(o.command))}function cn(e,r){return r?z(e):void 0}function Ze(e){let r=e?.trim();return r&&r.length>0?r:void 0}function un(e,r={}){let n=r.resolvePolicyCommand??co,t=e.name.trim();if(t.length===0)return null;let o=e.required_create_fields!==void 0,i=e.required_create_repeatables!==void 0,s=e.options!==void 0,a=e.command_option_policies!==void 0,l=z(e.aliases),c=(e.options??[]).map(u=>lo(u)).filter(u=>u!==null).sort((u,m)=>u.key.localeCompare(m.key)),d=fo(e.command_option_policies,n);return{name:t,description:Ze(e.description),default_status:Ze(e.default_status),folder:Ze(e.folder),aliases:l.length>0?l:void 0,required_create_fields:cn(e.required_create_fields,o),required_create_repeatables:cn(e.required_create_repeatables,i),options:s?c:void 0,command_option_policies:a?d:void 0}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="88b2ed4e-b5fd-5014-abf1-c163db033abf")}catch{}})();var po=["title","description","status","priority","tags","body","deadline","estimatedMinutes","acceptanceCriteria","author","message","assignee"],go=["dep","comment","note","learning","file","test","doc"],mn=["deadline","estimatedMinutes","acceptanceCriteria","definitionOfReady","order","goal","objective","value","impact","outcome","whyNow","assignee","parent","reviewer","risk","confidence","sprint","release","blockedBy","blockedReason","unblockNote","reporter","severity","environment","reproSteps","resolution","expectedResult","actualResult","affectedVersion","fixedVersion","component","regression","customerImpact"],ho=["title","description","type","status","priority","tags","body",...mn,"author","message","dep","comment","note","learning","file","test","doc","reminder","event","typeOption","field"],yo=["title","description","body","status","closeReason","priority","type","tags",...mn,"author","message","comment","note","learning","file","test","doc","reminder","event","typeOption","field","ownershipMetadataBypass","ownershipDependencyBypass","force"],pn={"close-reason":"closeReason",close_reason:"closeReason","estimated-minutes":"estimatedMinutes",estimated_minutes:"estimatedMinutes",estimate:"estimatedMinutes","acceptance-criteria":"acceptanceCriteria",acceptance_criteria:"acceptanceCriteria",ac:"acceptanceCriteria","definition-of-ready":"definitionOfReady",definition_of_ready:"definitionOfReady",rank:"order","why-now":"whyNow",why_now:"whyNow","blocked-by":"blockedBy",blocked_by:"blockedBy","blocked-reason":"blockedReason",blocked_reason:"blockedReason","unblock-note":"unblockNote",unblock_note:"unblockNote","repro-steps":"reproSteps",repro_steps:"reproSteps","expected-result":"expectedResult",expected_result:"expectedResult","actual-result":"actualResult",actual_result:"actualResult","affected-version":"affectedVersion",affected_version:"affectedVersion","fixed-version":"fixedVersion",fixed_version:"fixedVersion","customer-impact":"customerImpact",customer_impact:"customerImpact","type-option":"typeOption",type_option:"typeOption",type_options:"typeOption"},_o={...pn},wo={...pn},gn=[["deadline","--deadline"],["estimatedMinutes","--estimate/--estimated-minutes"],["acceptanceCriteria","--acceptance-criteria/--ac"],["definitionOfReady","--definition-of-ready"],["order","--order/--rank"],["goal","--goal"],["objective","--objective"],["value","--value"],["impact","--impact"],["outcome","--outcome"],["whyNow","--why-now"],["assignee","--assignee"],["parent","--parent"],["reviewer","--reviewer"],["risk","--risk"],["confidence","--confidence"],["sprint","--sprint"],["release","--release"],["blockedBy","--blocked-by"],["blockedReason","--blocked-reason"],["unblockNote","--unblock-note"],["reporter","--reporter"],["severity","--severity"],["environment","--environment"],["reproSteps","--repro-steps"],["resolution","--resolution"],["expectedResult","--expected-result"],["actualResult","--actual-result"],["affectedVersion","--affected-version"],["fixedVersion","--fixed-version"],["component","--component"],["regression","--regression"],["customerImpact","--customer-impact"]],hn=[["comment","--comment"],["note","--note"],["learning","--learning"],["file","--file"],["test","--test"],["doc","--doc"],["reminder","--reminder"],["event","--event"],["typeOption","--type-option"]];function yn(e){return Object.fromEntries(e)}var bo=yn([["title","--title"],["description","--description"],["type","--type"],["status","--status"],["priority","--priority"],["tags","--tags"],["body","--body"],...gn,["author","--author"],["message","--message"],["dep","--dep"],...hn]),vo=yn([["title","--title"],["description","--description"],["body","--body"],["status","--status"],["closeReason","--close-reason"],["priority","--priority"],["type","--type"],["tags","--tags"],...gn,...hn,["author","--author"],["message","--message"],["force","--force"]]);function Eo(e){return e.trim().replace(/^--+/,"").toLowerCase()}function ko(e){return e==="create"?ho:yo}function xo(e){return e==="create"?_o:wo}function _n(e,r){let n=Eo(r);if(n.length===0)return;let t=xo(e)[n];return t||ko(e).find(o=>o.toLowerCase()===n)}function ol(e,r){return(e==="create"?bo:vo)[r]??`--${r.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function er(e){let r=Co(e);return r.length===0?"items":r.endsWith("s")?r:`${r}s`}function So(e){let r=e.trim(),t=r.replaceAll("\\","/").replace(/^\/+/,""),o=mo.posix.normalize(t);if(r.includes("\0")||/^[A-Za-z]:/.test(o)||o==="."||o===".."||o.startsWith("../"))throw new Error(`Item type folder "${e}" must stay inside the pm tracker root.`);return o}function Co(e){let r=e.trim().toLowerCase(),n="",t=!1;for(let o of r){let i=o.charCodeAt(0),s=i>=97&&i<=122,a=i>=48&&i<=57;if(s||a){t&&n.length>0&&(n+="-"),n+=o,t=!1;continue}n.length>0&&(t=!0)}return n}function To(e){return un(e,{resolvePolicyCommand:dn})}function ae(e,r){let n=e[r];return Array.isArray(n)?n.filter(t=>typeof t=="string"):void 0}function Io(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let r=e;return typeof r.key!="string"?null:{key:r.key,values:ae(r,"values")??[],required:r.required===void 0?void 0:!!r.required,aliases:ae(r,"aliases"),description:typeof r.description=="string"?r.description:void 0}}function Ao(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let r=e;if(typeof r.command!="string"||typeof r.option!="string")return null;let n=r.command.trim().toLowerCase();return n!=="create"&&n!=="update"?null:{command:n,option:r.option,required:r.required===void 0?void 0:!!r.required,visible:r.visible===void 0?void 0:!!r.visible,enabled:r.enabled===void 0?void 0:!!r.enabled}}function $o(e){if(Array.isArray(e.options))return e.options.map(r=>Io(r)).filter(r=>r!==null)}function Ro(e){if(Array.isArray(e.command_option_policies))return e.command_option_policies.map(r=>Ao(r)).filter(r=>r!==null)}function Po(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let r=e,n=typeof r.name=="string"?r.name:"";if(n.trim().length===0)return null;let t=typeof r.folder=="string"?r.folder:void 0,o=typeof r.description=="string"?r.description:void 0,i=typeof r.default_status=="string"?r.default_status:void 0;return{name:n,description:o,default_status:i,folder:t,aliases:ae(r,"aliases"),required_create_fields:ae(r,"required_create_fields"),required_create_repeatables:ae(r,"required_create_repeatables"),options:$o(r),command_option_policies:Ro(r)}}function Oo(e,r){return e.required_create_fields?z(e.required_create_fields):r?.required_create_fields??[]}function Do(e,r){return e.required_create_repeatables?z(e.required_create_repeatables):r?.required_create_repeatables??[]}function No(e,r){return e.options?e.options:r?.options?[...r.options]:[]}function Fo(e,r){return e.command_option_policies?e.command_option_policies:r?.command_option_policies?[...r.command_option_policies]:[]}function Mo(e,r){let n=r?.name??e.name,t=e.description??r?.description,o=e.default_status??r?.default_status,i=So(e.folder??r?.folder??er(n)),s={name:n,folder:i,aliases:z([...r?.aliases??[],...e.aliases??[]]),required_create_fields:Oo(e,r),required_create_repeatables:Do(e,r),options:No(e,r),command_option_policies:Fo(e,r)};return t&&(s.description=t),o&&(s.default_status=o),s}function fn(e,r){for(let n of e){let t=To(n);if(!t)continue;let o=t.name.toLowerCase(),i=r.get(o);r.set(o,Mo(t,i))}}function zo(e){if(!e)return[];let r=[];for(let n of e.item_types??[]){let t=n.types;if(Array.isArray(t))for(let o of t){let i=Po(o);i&&r.push(i)}}return r}function il(e,r=null){let n=new Map;for(let l of Ir)n.set(l.toLowerCase(),{name:l,folder:ne[l],aliases:[],required_create_fields:[...po],required_create_repeatables:[...go],options:[],command_option_policies:[]});fn(e.item_types?.definitions??[],n),fn(zo(r),n);let t=[...n.values()].sort((l,c)=>l.name.localeCompare(c.name)),o={},i={},s={};for(let l of t){o[l.name]=l,s[l.name]=l.folder,i[l.name.toLowerCase()]=l.name;for(let c of l.aliases)i[c.toLowerCase()]=l.name}let a=[...new Set(t.map(l=>l.folder))].sort((l,c)=>l.localeCompare(c));return{types:t.map(l=>l.name),folders:a,type_to_folder:s,by_type:o,alias_to_type:i}}function jo(e,r){if(e!==void 0)return r.alias_to_type[e.trim().toLowerCase()]}function Lo(e,r){let n=jo(e,r);if(n)return r.by_type[n]}function qo(e,r,n,t){for(let o of t){let i=_n(n,o);if(i){e.required.add(i);continue}e.errors.push(`Unsupported base required option "${o}" for command "${n}" on type "${r.name}"`)}}function Qe(e,r,n){if(n){e.add(r);return}e.delete(r)}function Vo(e,r,n,t){let o=_n(n,t.option);if(!o){e.errors.push(`Unsupported command_option_policies option "${t.option}" for command "${n}" on type "${r.name}"`);return}t.required!==void 0&&Qe(e.required,o,t.required),t.visible!==void 0&&Qe(e.hidden,o,!t.visible),t.enabled!==void 0&&Qe(e.disabled,o,!t.enabled)}function Uo(e,r,n){for(let t of r.command_option_policies)t.command===n&&Vo(e,r,n,t)}function Wo(e,r,n){for(let t of e.required)e.disabled.has(t)&&e.errors.push(`Option "${t}" cannot be both required and disabled for command "${n}" on type "${r.name}"`)}function sl(e,r,n){let t=[],o=new Set,i=new Set,s=new Set,a={required:o,hidden:i,disabled:s,errors:t};return qo(a,e,r,n),Uo(a,e,r),Wo(a,e,r),{required:[...o],hidden:[...i].sort((l,c)=>l.localeCompare(c)),disabled:[...s].sort((l,c)=>l.localeCompare(c)),errors:t}}function Ko(e){let r=new Map;for(let n of e.options){r.set(n.key.toLowerCase(),n);for(let t of n.aliases??[])r.set(t.toLowerCase(),n)}return r}function Bo(e,r,n){let t=e.values;if(t.length===0)return r;let i=new Map(t.map(s=>[s.toLowerCase(),s])).get(r.toLowerCase());if(!i){n.push(`Invalid value "${r}" for type option "${e.key}". Allowed: ${t.join(", ")}`);return}return i}function al(e,r,n){let t=Lo(e,n);if(!t)return{normalized:void 0,errors:[`Unknown type "${e}"`]};let o=[],i=Ko(t),s={};for(let[l,c]of Object.entries(r??{})){let d=l.trim(),u=c.trim();if(d.length===0){o.push("type option keys must not be empty");continue}if(u.length===0){o.push(`type option "${d}" must not be empty`);continue}let m=i.get(d.toLowerCase());if(!m){let h=t.options.map(p=>p.key).join(", ");o.push(t.options.length>0?`Unknown type option "${d}" for type "${t.name}". Allowed: ${h}`:`Type "${t.name}" does not define any configurable type options`);continue}let f=Bo(m,u,o);f!==void 0&&(s[m.key]=f)}for(let l of t.options)l.required&&!(l.key in s)&&o.push(`Missing required type option "${l.key}" for type "${t.name}"`);let a=Object.keys(s).sort((l,c)=>l.localeCompare(c));return a.length===0?{normalized:void 0,errors:o}:{normalized:Object.fromEntries(a.map(l=>[l,s[l]])),errors:o}}import{readFileSync as Ho,readdirSync as dl,statSync as Yo}from"node:fs";import Go from"node:os";import b from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="c155ccd1-cf4c-57fd-9d0e-5274eb29a764")}catch{}})();var Xo={json_markdown:".md",toon:".toon"},Jo={".md":"json_markdown",".toon":"toon"};var gl=[".md",".toon"];function $e(e){try{return Yo(e),!0}catch{return!1}}function Zo(e){try{let r=JSON.parse(Ho(e,"utf8"));return typeof r!="object"||r===null||Array.isArray(r)?!1:"id_prefix"in r||"item_format"in r}catch{return!1}}function Qo(e){let r=b.resolve(e);for(;;){let n=b.join(r,be),t=b.join(n,ve);if($e(t))return n;let o=b.join(r,ve);if($e(o)&&Zo(o))return r;let i=b.dirname(r);if(i===r)return;r=i}}function ei(e){return Qo(e)??b.resolve(e,be)}function hl(e,r){let n=process.env.PM_PATH,t=r?.trim()||n?.trim();if(t){let o=b.resolve(e,t);if(!$e(wn(o))){let i=b.join(o,be);if($e(wn(i)))return i}return o}return ei(e)}function yl(e){let r=b.resolve(e),n=b.dirname(r);return b.basename(r)==="pm"&&b.basename(n)===".agents"?b.dirname(n):r}function bn(e){let r=process.env.PM_GLOBAL_PATH?.trim(),n=r&&r.length>0?r:b.join(Go.homedir(),".pm-cli");return b.resolve(e,n)}function wn(e){return b.join(e,ve)}function ri(e,r,n=ne){let t=n[r]??er(r);return b.join(e,t)}function _l(e,r,n,t="toon",o=ne){return b.join(ri(e,r,o),`${n}${Xo[t]}`)}function wl(e){let r=e.replaceAll("\\","/"),n=b.posix.extname(r).toLowerCase();return Jo[n]??null}function bl(e,r){return b.join(e,"history",`${r}.jsonl`)}function vl(e,r){return b.join(e,"locks",`${r}.lock`)}function El(e){return b.join(e,"runtime")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="c29511ab-8c01-57f2-b353-cbc72900cb90")}catch{}})();function ni(e){if(typeof e!="string")return null;let r=e.trim();return r.length>0?r:null}function xl(e){return ni(e)??void 0}function Sl(e){let r=e.length;for(;r>0&&e.charCodeAt(r-1)===47;)r-=1;return r===e.length?e:e.slice(0,r)}function Cl(e){return Array.isArray(e)&&e.every(r=>typeof r=="number"&&Number.isFinite(r))}function Tl(e){if(e instanceof Error){let r=e.message.trim();return r.length>0?r:e.name}return String(e)}function En(e){let r=typeof e=="number"?e:typeof e=="string"&&e.trim().length>0?Number(e.trim()):Number.NaN;return Number.isFinite(r)?r:null}function Il(e){let r=En(e);return r===null||r<=0||!Number.isInteger(r)?null:r}function Al(e,r,n){let t=En(e);return t===null||t<r||t>n?null:t}function J(e){return typeof e!="object"||e===null?null:e}function vn(e){return typeof e!="object"&&typeof e!="function"||e===null?null:e}function kn(e){let r=vn(e);if(!r)return null;if(typeof r.activate=="function")return r;let n=vn(r.default);return typeof n?.activate=="function"?n:null}function $l(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?{...e}:{}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="8a7dca67-8f1e-5451-b45c-4a75b1117d72")}catch{}})();var ti=Object.freeze({string:"string",number:"number",int:"number",integer:"number",float:"number",boolean:"boolean",bool:"boolean"});function xn(e){return typeof e!="string"?null:ti[e.trim().toLowerCase()]??null}function Sn(e){let r=[],n=t=>{if(Array.isArray(t)){for(let o of t)n(o);return}if(typeof t=="string"){for(let o of t.split(",")){let i=o.trim();i.length>0&&r.push(i)}return}t!=null&&r.push(t)};return n(e),r}function Cn(e,r){return r==="string"?!0:r==="number"?typeof e=="number"?Number.isFinite(e):typeof e=="string"&&e.trim().length>0&&Number.isFinite(Number(e)):typeof e=="boolean"?!0:typeof e=="string"&&["true","false","1","0"].includes(e.trim().toLowerCase())}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="48fff41d-2667-50a1-bfbb-40908804babd")}catch{}})();function rr(){return{beforeCommand:[],beforeMutation:[],afterCommand:[],onWrite:[],onRead:[],onIndex:[]}}function nr(){return{overrides:[],handlers:[]}}function tr(){return{overrides:[]}}function or(){return{overrides:[]}}function ir(){return{overrides:[]}}function sr(){return{overrides:[]}}function ar(){return{commands:[],flags:[],item_fields:[],item_types:[],relationship_kinds:[],migrations:[],profiles:[],importers:[],exporters:[],search_providers:[],vector_store_adapters:[],assurance_providers:[]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="ac377139-8ce2-58ad-8005-0ac907a9baed")}catch{}})();var oi=5e3;async function lr(e,r,n){let t=[];for(let o of e)try{await o.run(k(n))}catch{t.push(`extension_hook_failed:${o.layer}:${o.name}:${r}`)}return t}function ii(e,r,n){if(e===void 0)return;if(typeof e!="object"||e===null||!("allow"in e)||e.allow!==!0&&e.allow!==!1)throw new S(`Extension mutation guard ${r.name} returned an invalid decision.`,C.CONFLICT,{code:"extension_mutation_guard_invalid_decision",reason:`${r.layer}:${r.name}`,nextSteps:["Return { allow: true } or a structured denial from the guard."]});if(e.allow)return;let t=e,o=typeof t.code=="string"?t.code.trim():"",i=typeof t.remediation=="string"?t.remediation.trim():"";if(o.length===0||i.length===0)throw new S(`Extension mutation guard ${r.name} returned an invalid denial.`,C.CONFLICT,{code:"extension_mutation_guard_invalid_denial",reason:`${r.layer}:${r.name}`,nextSteps:["Return non-empty code and remediation fields from the guard."]});let s=typeof t.message=="string"?t.message.trim():"";throw new S(s||`Extension mutation guard ${r.name} denied ${n}.`,C.CONFLICT,{code:o,reason:`${r.layer}:${r.name}`,nextSteps:[i]})}async function si(e,r){for(let n of e.beforeMutation??[]){let t,o;try{let i=Promise.resolve().then(()=>n.run({pm_root:r.pm_root,operation:r.operation,before:r.before===null?null:k(r.before),after:r.after===null?null:k(r.after),changed_fields:[...r.changed_fields],sdk:r.sdk}));i.catch(()=>{}),t=await Promise.race([i,new Promise((s,a)=>{o=setTimeout(()=>{a(new S(`Extension mutation guard ${n.name} timed out before ${r.operation}.`,C.CONFLICT,{code:"extension_mutation_guard_timed_out",reason:`${n.layer}:${n.name}`,nextSteps:["Fix or disable the stalled extension guard, then retry the mutation."]}))},oi),o.unref?.()})])}catch(i){throw i instanceof S?i:new S(`Extension mutation guard ${n.name} failed before ${r.operation}.`,C.CONFLICT,{code:"extension_mutation_guard_failed",reason:`${n.layer}:${n.name}`,nextSteps:["Fix or disable the failing extension guard, then retry the mutation."]})}finally{clearTimeout(o)}ii(t,n,r.operation)}}async function ai(e,r){return lr(e.onWrite,"onWrite",r)}async function li(e,r){return lr(e.onRead,"onRead",r)}async function ci(e,r){return lr(e.onIndex,"onIndex",r)}function di(e){let r="";e instanceof Error&&typeof e.message=="string"?r=e.message:typeof e=="string"?r=e:typeof e=="object"&&e!==null&&typeof e.message=="string"&&(r=e.message);let n=r.replace(/\s+/gu," ").trim();if(n.length===0)return"";let t=300;return n.length>t?`${n.slice(0,t-1)}\u2026`:n}function Re(e,r){if(typeof e!="object"||e===null||typeof e[r]!="string")return;let n=String(e[r]).replace(/\s+/gu," ").trim();return n.length>0?n.slice(0,300):void 0}function ui(e){if(typeof e!="object"||e===null||!Object.hasOwn(e,"exit_code"))return;let r=e.exit_code;if(typeof r!="number"||!Number.isInteger(r)||r<1||r>255)throw new TypeError("Extension command result exit_code must be an integer from 1 to 255.");return r}async function fi(e,r){let n=v(r.command);if(n.length===0)return{handled:!1,result:null,warnings:[]};let t=[...e.handlers].reverse().find(o=>o.command===n);if(!t)return{handled:!1,result:null,warnings:[]};try{let o=await t.run({command:n,args:k(r.args),options:k(r.options),global:k(r.global),pm_root:r.pm_root,source_workspace_root:r.source_workspace_root,repo_root:r.repo_root,pm_root_rel:r.pm_root_rel,...r.sdk===void 0?{}:{sdk:r.sdk}});return{handled:!0,result:o,warnings:[],...Object.fromEntries([["exitCode",ui(o)],["errorCode",Re(o,"code")],["remediation",Re(o,"remediation")]].filter(i=>i[1]!==void 0))}}catch(o){let i=typeof o=="object"&&o!==null&&"exitCode"in o?o.exitCode:void 0;if(typeof i=="number"&&Number.isFinite(i))throw o;return{handled:!1,result:null,warnings:[`extension_command_handler_failed:${t.layer}:${t.name}:${t.command}`],errorMessage:di(o),...Object.fromEntries([["errorCode",Re(o,"code")],["remediation",Re(o,"remediation")]].filter(s=>s[1]!==void 0))}}}function Tn(e){return{handled:!1,result:e.payload,warnings:[]}}function In(e,r){return[...e.overrides].reverse().filter(n=>n.service===r)}function An(e){return{service:e.service,command:e.command?v(e.command):void 0,args:e.args?k(e.args):void 0,options:e.options?Vr(e.options):void 0,global:e.global?Ur(e.global):void 0,pm_root:e.pm_root,source_workspace_root:e.source_workspace_root,repo_root:e.repo_root,pm_root_rel:e.pm_root_rel,payload:k(e.payload)}}function mi(e){if(typeof e!="object"||e===null||!Object.hasOwn(e,"handled"))return!1;let r=e.handled;return r===!0?Object.hasOwn(e,"result"):r===!1&&Reflect.ownKeys(e).length===1}function $n(e,r){return mi(e)?e.handled?{handled:!0,result:e.result}:{handled:!1,result:r.payload}:r.service==="output_format"&&e==null?{handled:!1,result:r.payload}:{handled:!0,result:e}}function Rn(e,r,n){return r.service==="output_format"&&typeof e=="object"&&e!==null&&Fr(e,n.payload)}function pi(e,r){let n=In(e,r.service);if(n.length===0)return Tn(r);let t=[];for(let o of n)try{let i=An(r),s=o.run(i);if(s instanceof Promise){t.push(`extension_service_override_async_unsupported:${o.layer}:${o.name}:${o.service}`);continue}if(Rn(s,r,i)){t.push(`extension_output_format_payload_echo_deprecated:${o.layer}:${o.name}`);continue}let a=$n(s,r);if(!a.handled)continue;return{handled:!0,result:a.result,warnings:t}}catch{t.push(`extension_service_override_failed:${o.layer}:${o.name}:${o.service}`)}return{handled:!1,result:r.payload,warnings:t}}async function gi(e,r){let n=In(e,r.service);if(n.length===0)return Tn(r);let t=[];for(let o of n)try{let i=An(r),s=await Promise.resolve(o.run(i));if(Rn(s,r,i)){t.push(`extension_output_format_payload_echo_deprecated:${o.layer}:${o.name}`);continue}let a=$n(s,r);if(!a.handled)continue;return{handled:!0,result:a.result,warnings:t}}catch{t.push(`extension_service_override_failed:${o.layer}:${o.name}:${o.service}`)}return{handled:!1,result:r.payload,warnings:t}}import G from"node:fs/promises";import Y from"node:path";import{pathToFileURL as Di}from"node:url";import hi from"node:fs/promises";import le from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="e81790e9-3de2-5639-a84d-2c4714afbbf4")}catch{}})();async function Pn(e,r){let n=le.dirname(r.manifest_path),t=le.relative(n,r.entry_path);if(t.startsWith("..")||le.isAbsolute(t))throw new Error(`Cannot snapshot extension entry outside its package directory: ${r.entry_path}`);let o=le.join(e,`${r.layer}-${r.directory.replace(/[^a-zA-Z0-9._-]/gu,"_")}`);return await hi.cp(n,o,{recursive:!0,force:!0}),le.join(o,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="1558713a-91ea-5eef-8426-d910e0b77045")}catch{}})();function On(e){let r={beforeCommand:e.hooks.beforeCommand.length,beforeMutation:e.hooks.beforeMutation.length,afterCommand:e.hooks.afterCommand.length,onWrite:e.hooks.onWrite.length,onRead:e.hooks.onRead.length,onIndex:e.hooks.onIndex.length,commandOverrides:e.commands.overrides.length,commandHandlers:e.commands.handlers.length,parserOverrides:e.parsers.overrides.length,preflightOverrides:e.preflight.overrides.length,serviceOverrides:e.services.overrides.length,rendererOverrides:e.renderers.overrides.length,registrations:Object.fromEntries(Object.entries(e.registrations).map(([n,t])=>[n,t.length]))};return()=>{e.hooks.beforeCommand.length=r.beforeCommand,e.hooks.beforeMutation.length=r.beforeMutation,e.hooks.afterCommand.length=r.afterCommand,e.hooks.onWrite.length=r.onWrite,e.hooks.onRead.length=r.onRead,e.hooks.onIndex.length=r.onIndex,e.commands.overrides.length=r.commandOverrides,e.commands.handlers.length=r.commandHandlers,e.parsers.overrides.length=r.parserOverrides,e.preflight.overrides.length=r.preflightOverrides,e.services.overrides.length=r.serviceOverrides,e.renderers.overrides.length=r.rendererOverrides;for(let[n,t]of Object.entries(r.registrations))e.registrations[n].length=t}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="065f61c6-2123-5a6d-984a-569bb14d6911")}catch{}})();function Dn(e){let r=typeof e=="function"?e:e.run;if(typeof r!="function")throw new TypeError("registerPreflight override requires a function handler");let n=[...new Set((typeof e=="function"?[]:e.commands??[]).map(t=>{if(typeof t!="string"||t.trim().length===0)throw new TypeError("registerPreflight ownership.commands must contain non-empty command paths");return v(t)}))];return{run:r,...n.length>0?{commands:n}:{}}}function Nn(e){let r=[];for(let n=1;n<e.overrides.length;n+=1){let t=e.overrides[n];for(let o of e.overrides.slice(0,n))t.commands?.length&&o.commands?.length&&!o.commands.some(i=>t.commands.includes(i))||r.push(`extension_preflight_override_collision:${t.layer}:${t.name}:${o.layer}:${o.name}`)}return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="dc9a3977-a78a-501e-b600-45e7031dcebd")}catch{}})();function I(e,r){if(typeof r!="object"||r===null||Array.isArray(r))throw new TypeError(`${e} requires an object definition`);return r}function T(e,r){if(r!==void 0&&typeof r!="boolean")throw new TypeError(`${e} must be a boolean when provided`)}function x(e,r){if(r!==void 0&&(typeof r!="string"||r.trim().length===0))throw new TypeError(`${e} must be a non-empty string when provided`)}function Fn(e,r){if(r===void 0)return;let n=t=>typeof t=="string"||typeof t=="number"||typeof t=="boolean";if(Array.isArray(r)){for(let[t,o]of r.entries())if(!n(o))throw new TypeError(`${e}[${t}] must be a string, number, or boolean`);return}if(!n(r))throw new TypeError(`${e} must be a string, number, or boolean, or an array of these when provided`)}function K(e,r){if(r!==void 0){if(!Array.isArray(r))throw new TypeError(`${e} must be an array of non-empty strings when provided`);for(let[n,t]of r.entries())if(typeof t!="string"||t.trim().length===0)throw new TypeError(`${e}[${n}] must be a non-empty string`)}}function ce(e,r){if(K(e,r),!Array.isArray(r))return[];let n=[],t=new Set;for(let o of r){let i=o.trim();i.length===0||t.has(i)||(t.add(i),n.push(i))}return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="45d00ef3-870c-5f3f-89c1-6abd54c518fe")}catch{}})();function Mn(e){x("registerCommand definition.action",e.action),x("registerCommand definition.description",e.description),x("registerCommand definition.intent",e.intent),x("registerCommand definition.tier",e.tier);let r=e.tier;if(r!==void 0&&r!=="core"&&r!=="standard"&&r!=="full"&&r!=="internal")throw new Error("registerCommand definition.tier must be core, standard, full, or internal")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="24383c0a-592e-5105-84a3-a6cfb7801281")}catch{}})();function $(e){return typeof e!="string"?"":e.trim().toLowerCase()}function y(e){return new Set((e??[]).map(r=>r.trim().toLowerCase()).filter(r=>r.length>0))}function yi(e){let r=e.trim().toLowerCase();if(r.length===0)return"";let n=r.split(/[.:/]/).map(t=>t.replace(/[\s_-]+/g,"")).filter(t=>t.length>0);return n.length===0?"":n.length===1?n[0]:`${n[0]}.${n.slice(1).join("")}`}function Z(e){return new Set((e??[]).map(r=>yi(r)).filter(r=>r.length>0))}function zn(e){let r=$(e);return Er.includes(r)?r:"off"}function jn(e){let r=$(e);return kr.includes(r)?r:"off"}function de(e){let r=$(e);return xr.includes(r)?r:"none"}function cr(e){if(typeof e!="string")return;let r=e.trim().toLowerCase();return Sr.includes(r)?r:void 0}function Ln(e){if(typeof e=="string"){let r=cr(e)??"block";return{global:r,project:r}}return typeof e=="object"&&e!==null&&!Array.isArray(e)?{global:cr(e.global)??"block",project:cr(e.project)??"block"}:{global:"block",project:"block"}}function _i(e){return e.global===e.project?e.global:{global:e.global,project:e.project}}function _(e){return[...new Set(e)].sort((r,n)=>r.localeCompare(n))}function wi(e){let r=$(e.name);return r.length===0?null:{name:r,normalized:{name:r,disabled:e.disabled===!0,requireTrusted:e.require_trusted===!0,requireProvenance:e.require_provenance===!0,sandboxProfile:e.sandbox_profile!==void 0?de(e.sandbox_profile):void 0,allowedCapabilities:y(e.allowed_capabilities),blockedCapabilities:y(e.blocked_capabilities),allowedSurfaces:Z(e.allowed_surfaces),blockedSurfaces:Z(e.blocked_surfaces),allowedCommands:y(e.allowed_commands),blockedCommands:y(e.blocked_commands),allowedActions:y(e.allowed_actions),blockedActions:y(e.blocked_actions),allowedServices:y(e.allowed_services),blockedServices:y(e.blocked_services)}}}function qn(e){let r=new Map;for(let n of e??[]){let t=wi(n);t&&r.set(t.name,t.normalized)}return r}function bi(e){let r=[],n=[...e.overridesByName.values()].sort((o,i)=>o.name.localeCompare(i.name));for(let o of _([...e.allowedCapabilities,...e.blockedCapabilities]))F(o)||r.push(`extension_policy_unknown_capability:${o}`);for(let o of n)for(let i of _([...o.allowedCapabilities,...o.blockedCapabilities]))F(i)||r.push(`extension_policy_unknown_capability:${o.name}:${i}`);let t=new Set(Cr);for(let o of _([...e.allowedSurfaces,...e.blockedSurfaces]))t.has(o)||r.push(`extension_policy_unknown_surface:${o}`);for(let o of n)for(let i of _([...o.allowedSurfaces,...o.blockedSurfaces]))t.has(i)||r.push(`extension_policy_unknown_surface:${o.name}:${i}`);return[...new Set(r)].sort((o,i)=>o.localeCompare(i))}function Vn(e){let r=e.extensions?.policy??{},n=y(r.allowed_capabilities),t=y(r.blocked_capabilities),o=Z(r.allowed_surfaces),i=Z(r.blocked_surfaces),s=qn(r.extension_overrides);return{mode:zn(r.mode),trustMode:jn(r.trust_mode),pmMaxVersionExceededMode:Ln(r.pm_max_version_exceeded_mode),requireProvenance:r.require_provenance===!0,trustedExtensions:y(r.trusted_extensions),defaultSandboxProfile:de(r.default_sandbox_profile),allowedExtensions:y(r.allowed_extensions),blockedExtensions:y(r.blocked_extensions),allowedCapabilities:n,blockedCapabilities:t,allowedSurfaces:o,blockedSurfaces:i,allowedCommands:y(r.allowed_commands),blockedCommands:y(r.blocked_commands),allowedActions:y(r.allowed_actions),blockedActions:y(r.blocked_actions),allowedServices:y(r.allowed_services),blockedServices:y(r.blocked_services),overridesByName:s,warnings:bi({allowedCapabilities:n,blockedCapabilities:t,allowedSurfaces:o,blockedSurfaces:i,overridesByName:s})}}function Un(e){let r=[...e.overridesByName.values()].sort((n,t)=>n.name.localeCompare(t.name)).map(n=>({name:n.name,...n.disabled?{disabled:!0}:{},...n.requireTrusted?{require_trusted:!0}:{},...n.requireProvenance?{require_provenance:!0}:{},...n.sandboxProfile?{sandbox_profile:n.sandboxProfile}:{},...n.allowedCapabilities.size>0?{allowed_capabilities:_(n.allowedCapabilities)}:{},...n.blockedCapabilities.size>0?{blocked_capabilities:_(n.blockedCapabilities)}:{},...n.allowedSurfaces.size>0?{allowed_surfaces:_(n.allowedSurfaces)}:{},...n.blockedSurfaces.size>0?{blocked_surfaces:_(n.blockedSurfaces)}:{},...n.allowedCommands.size>0?{allowed_commands:_(n.allowedCommands)}:{},...n.blockedCommands.size>0?{blocked_commands:_(n.blockedCommands)}:{},...n.allowedActions.size>0?{allowed_actions:_(n.allowedActions)}:{},...n.blockedActions.size>0?{blocked_actions:_(n.blockedActions)}:{},...n.allowedServices.size>0?{allowed_services:_(n.allowedServices)}:{},...n.blockedServices.size>0?{blocked_services:_(n.blockedServices)}:{}}));return{mode:e.mode,trust_mode:e.trustMode,pm_max_version_exceeded_mode:_i(e.pmMaxVersionExceededMode),require_provenance:e.requireProvenance,trusted_extensions:_(e.trustedExtensions),default_sandbox_profile:e.defaultSandboxProfile,allowed_extensions:_(e.allowedExtensions),blocked_extensions:_(e.blockedExtensions),allowed_capabilities:_(e.allowedCapabilities),blocked_capabilities:_(e.blockedCapabilities),allowed_surfaces:_(e.allowedSurfaces),blocked_surfaces:_(e.blockedSurfaces),allowed_commands:_(e.allowedCommands),blocked_commands:_(e.blockedCommands),allowed_actions:_(e.allowedActions),blocked_actions:_(e.blockedActions),allowed_services:_(e.allowedServices),blocked_services:_(e.blockedServices),extension_overrides:r}}function Wn(e){let r=qn(e.extension_overrides);return{mode:zn(e.mode),trustMode:jn(e.trust_mode),pmMaxVersionExceededMode:Ln(e.pm_max_version_exceeded_mode),requireProvenance:e.require_provenance===!0,trustedExtensions:y(e.trusted_extensions),defaultSandboxProfile:de(e.default_sandbox_profile),allowedExtensions:y(e.allowed_extensions),blockedExtensions:y(e.blocked_extensions),allowedCapabilities:y(e.allowed_capabilities),blockedCapabilities:y(e.blocked_capabilities),allowedSurfaces:Z(e.allowed_surfaces),blockedSurfaces:Z(e.blocked_surfaces),allowedCommands:y(e.allowed_commands),blockedCommands:y(e.blocked_commands),allowedActions:y(e.allowed_actions),blockedActions:y(e.blocked_actions),allowedServices:y(e.allowed_services),blockedServices:y(e.blocked_services),overridesByName:r,warnings:[]}}function j(e,r){return e.overridesByName.get($(r))??null}function Q(e,r,n,t,o){return r.has(n)?o:e.size>0&&!e.has(n)?t:null}function Kn(e,r,n){let t=n.trim().toLowerCase(),o=j(e,r.name),i=o&&o.allowedCapabilities.size>0?o.allowedCapabilities:e.allowedCapabilities,s=new Set([...e.blockedCapabilities,...o?o.blockedCapabilities:[]]);return Q(i,s,t,"capability_not_allowlisted","capability_blocked")}function vi(e,r,n){let t=j(e,r.name),o=t&&t.allowedSurfaces.size>0?t.allowedSurfaces:e.allowedSurfaces,i=new Set([...e.blockedSurfaces,...t?t.blockedSurfaces:[]]);return Q(o,i,n,"surface_not_allowlisted","surface_blocked")}function Ei(e,r,n){let t=v(n);if(t.length===0)return null;let o=j(e,r.name),i=o&&o.allowedCommands.size>0?o.allowedCommands:e.allowedCommands,s=new Set([...e.blockedCommands,...o?o.blockedCommands:[]]);return Q(i,s,t,"command_not_allowlisted","command_blocked")}function ki(e,r,n){let t=$(n).replace(/\s+/g,"-");if(t.length===0)return null;let o=j(e,r.name),i=o&&o.allowedActions.size>0?o.allowedActions:e.allowedActions,s=new Set([...e.blockedActions,...o?o.blockedActions:[]]);return Q(i,s,t,"action_not_allowlisted","action_blocked")}function xi(e,r,n){let t=$(n);if(t.length===0)return null;let o=j(e,r.name),i=o&&o.allowedServices.size>0?o.allowedServices:e.allowedServices,s=new Set([...e.blockedServices,...o?o.blockedServices:[]]);return Q(i,s,t,"service_not_allowlisted","service_blocked")}function Si(e,r){let n=$(r.name);return j(e,r.name)?.disabled===!0?"extension_override_disabled":Q(e.allowedExtensions,e.blockedExtensions,n,"extension_not_allowlisted","extension_blocked")}function Ci(e,r){if(e.trustMode==="off")return null;let n=j(e,r.name),t=$(r.name),o=r.trusted===!0,i=r.provenanceVerified===!0;return e.trustedExtensions.size>0&&!e.trustedExtensions.has(t)?"extension_not_trusted":(n?.requireTrusted===!0||e.trustMode==="warn"||e.trustMode==="enforce")&&!o?"extension_untrusted":(e.requireProvenance||n?.requireProvenance===!0)&&!i?"provenance_missing_or_unverified":null}function Ti(e,r){if(e.mode==="off")return null;let t=j(e,r.name)?.sandboxProfile??r.sandboxProfile??e.defaultSandboxProfile;if(t==="none")return null;let o=r.permissions;if(!o)return"sandbox_permissions_missing";let i=s=>o[s]===!0;return t==="restricted"?i("process_spawn")?"sandbox_restricted_disallows_process_spawn":i("env_write")?"sandbox_restricted_disallows_env_write":null:i("process_spawn")?"sandbox_strict_disallows_process_spawn":i("network")?"sandbox_strict_disallows_network":i("fs_write")?"sandbox_strict_disallows_fs_write":i("env_write")?"sandbox_strict_disallows_env_write":null}function Pe(e,r,n,t,o={}){let i=Object.entries(o).sort((a,l)=>a[0].localeCompare(l[0])).map(([a,l])=>`${a}=${l}`).join(":"),s=i.length>0?`:${i}`:"";return`extension_policy_${e}_${r}:${n.layer}:${n.name}:reason=${t}${s}`}function Bn(e,r){if(e.mode==="off"&&e.trustMode==="off")return{allowed:!0,warning:null};let n=[],t=Si(e,r);t&&n.push({reason:t,scope:"extension",mode:e.mode});let o=Ci(e,r);o&&n.push({reason:o,scope:"trust",mode:e.trustMode});let i=Ti(e,r);i&&n.push({reason:i,scope:"extension",mode:e.mode});let s=n.find(l=>l.mode==="enforce");if(s)return{allowed:!1,warning:Pe("blocked",s.scope,r,s.reason)};let a=n.find(l=>l.mode==="warn");return a?{allowed:!0,warning:Pe("violation",a.scope,r,a.reason)}:{allowed:!0,warning:null}}function Hn(e,r,n){if(e.mode==="off")return{allowed:!0,warning:null};let t=Kn(e,r,n);return t?{allowed:e.mode==="warn",warning:Pe(e.mode==="warn"?"violation":"blocked","capability",r,t,{capability:n.trim().toLowerCase()})}:{allowed:!0,warning:null}}function Ii(e,r,n,t,o){let i=typeof t=="string"?Kn(e,r,t):null,s=vi(e,r,n),a=o.command?Ei(e,r,o.command):null,l=o.action?ki(e,r,o.action):null,c=o.service?xi(e,r,o.service):null;return i??s??a??l??c}function Ai(e,r,n,t){let o={method:$(e).replace(/\s+/g,"_"),surface:r};return n&&(o.capability=n),t.command&&(o.command=v(t.command)),t.action&&(o.action=$(t.action).replace(/\s+/g,"-")),t.service&&(o.service=$(t.service)),o}function Yn(e,r,n,t,o,i){if(e.mode==="off")return{allowed:!0,warning:null};let s=i??{},a=Ii(e,r,n,o,s);if(!a)return{allowed:!0,warning:null};let l=Pe(e.mode==="warn"?"violation":"blocked","registration",r,a,Ai(t,n,o,s));return{allowed:e.mode==="warn",warning:l}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="7316b9ef-38e1-5ee0-9107-da15ec7804d4")}catch{}})();function Gn(e){return e==="toon"||e==="json"}function Xn(e){return _e.includes(e)}function B(e,r){if(typeof r!="function")throw new TypeError(`api.hooks.${e} requires a function handler`)}var Jn=Symbol("extension_registration_trace");function D(e,r){let n=new TypeError(e);return Object.defineProperty(n,Jn,{value:r,enumerable:!1,configurable:!1,writable:!1}),n}function Zn(e){return e instanceof Error?e[Jn]:void 0}function ue(e){if(e===null)return null;if(Array.isArray(e))return e.map(r=>ue(r));if(typeof e=="function")return"[Function]";if(typeof e=="bigint"||typeof e=="symbol")return e.toString();if(typeof e=="object"){let r=e,n={};for(let t of Object.keys(r).sort((o,i)=>o.localeCompare(i)))n[t]=ue(r[t]);return n}return e}function fe(e){if(Array.isArray(e))return e.map(r=>fe(r));if(typeof e=="object"&&e!==null){let r=e,n={};for(let t of Object.keys(r).sort((o,i)=>o.localeCompare(i)))n[t]=fe(r[t]);return n}return e}function ee(e,r){if(typeof r!="object"||r===null||Array.isArray(r))throw new TypeError(`${e} requires an object definition`);return ue(r)}function me(e,r){if(typeof r!="object"||r===null||Array.isArray(r))throw new TypeError(`${e} requires an object definition`);return fe(r)}function Oe(e,r){if(!Array.isArray(r))throw new TypeError(`${e} requires an array of object definitions`);return r.map(n=>ee(e,n))}function A(e,r){if(typeof r!="string"||r.trim().length===0)throw new TypeError(`${e} requires a non-empty string`);return r.trim()}function pe(e,r){if(typeof r!="function")throw new TypeError(`${e} requires a function handler`)}function dr(e){return e.trim().toLowerCase().split(/\s+/).filter(r=>r.length>0).join(" ")}function ur(e,r){return v(`${e} ${r}`)}function ge(e,r){return Object.defineProperty(e,"runtime_definition",{value:r,enumerable:!1,writable:!1,configurable:!1}),e}var $i=new Set(["low","medium","high"]),Ri=new Set(["number","string_set"]),Pi=new Set(["string","number","boolean"]);function Qn(e,r){if(typeof r!="string"||r.trim().length===0)throw new TypeError(`${e} requires a non-empty string`);return r.trim()}function Oi(e,r,n){let t=`registerAssuranceMeasurementProvider provider.keys.${r}`,o=I(t,n);if(!Ri.has(String(o.value_type)))throw new TypeError(`${t}.value_type must be number or string_set`);if(x(`${t}.description`,o.description),o.parameters===void 0)return;let i=I(`${t}.parameters`,o.parameters);for(let[s,a]of Object.entries(i)){let l=`${t}.parameters.${s}`;Qn(`${l}.name`,s);let c=I(l,a);if(!Pi.has(String(c.type)))throw new TypeError(`${l}.type must be string, number, or boolean`);T(`${l}.required`,c.required),x(`${l}.description`,c.description)}if(Object.keys(i).length>50)throw new TypeError(`assurance provider ${e} key ${r} exceeds 50 parameters`)}function et(e){let r=I("registerAssuranceMeasurementProvider provider",e),n=Qn("registerAssuranceMeasurementProvider provider.id",r.id);if(!/^[a-z0-9][a-z0-9-]*$/u.test(n))throw new TypeError("registerAssuranceMeasurementProvider provider.id must be a stable lowercase id");if(!$i.has(String(r.cost_class)))throw new TypeError("registerAssuranceMeasurementProvider provider.cost_class must be low, medium, or high");if(typeof r.network!="boolean")throw new TypeError("registerAssuranceMeasurementProvider provider.network must be boolean");let t=I("registerAssuranceMeasurementProvider provider.keys",r.keys);if(Object.keys(t).length===0)throw new TypeError("registerAssuranceMeasurementProvider provider.keys requires at least one key");for(let[o,i]of Object.entries(t)){if(!/^[a-z0-9][a-z0-9-]*$/u.test(o))throw new TypeError(`registerAssuranceMeasurementProvider provider key ${o} must be a stable lowercase id`);Oi(n,o,i)}if(r.timeout_ms!==void 0&&(typeof r.timeout_ms!="number"||!Number.isInteger(r.timeout_ms)||r.timeout_ms<1||r.timeout_ms>3e5))throw new TypeError("registerAssuranceMeasurementProvider provider.timeout_ms must be an integer from 1 through 300000");if(typeof r.resolve!="function")throw new TypeError("registerAssuranceMeasurementProvider provider.resolve requires a function handler")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="8725b7dd-ec6f-5c71-897a-7a84ce93f5f0")}catch{}})();function rt(e){return!e.extensionReady||!e.enabledForLoad?null:{layer:e.layer,directory:e.directory,manifest_path:e.manifestPath,entry_path:e.entryPath,manifest:e.manifest,source_package:e.sourceIdentity?.package_name,source_aliases:e.sourceIdentity?.aliases,contributions:e.sourceIdentity?.contributions}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="2b8750c3-7b19-5240-8179-f83830af1b77")}catch{}})();var Ni=100,nt=null,Fi=Object.freeze(Tr()),tt=0;function Mi(e=Date.now()){return tt+=1,`${tt}-${e}`}function ot(e,r){let n=e[r];if(n!=null)return typeof n!="string"||n.trim().length===0?null:n.trim()}function zi(e){if(e==null)return;let r=J(e);if(!r)return null;let n={};for(let t of Object.keys(r).sort((o,i)=>o.localeCompare(i))){if(t.trim().length===0)return null;let o=r[t];if(typeof o!="string"||o.trim().length===0)return null;n[t.trim()]=o.trim()}return Object.keys(n).length>0?n:void 0}function fr(e,r){let n=e[r];return typeof n!="string"||n.trim().length===0?null:n.trim()}function mt(e){if(e!=null)return typeof e!="number"||!Number.isInteger(e)?null:e}function H(e){if(e!=null)return typeof e!="boolean"?null:e}function ji(e){let r=mt(e.priority);return r===void 0?Ni:r}function Li(e){let r=e.sandbox_profile;if(r==null)return;if(typeof r!="string")return null;let n=de(r);return n!==r.trim().toLowerCase()?null:n}function mr(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}function qi(e){if(e==null)return;let r=J(e);if(!r)return null;let n=mr(r.source),t=mr(r.signature),o=mr(r.attestation),i=r.verified===void 0||r.verified===null?void 0:typeof r.verified=="boolean"?r.verified:null;return i===null?null:{...n?{source:n}:{},...t?{signature:t}:{},...o?{attestation:o}:{},...typeof i=="boolean"?{verified:i}:{}}}function Vi(e){if(e==null)return;let r=J(e);if(!r)return null;let n=H(r.fs_read),t=H(r.fs_write),o=H(r.network),i=H(r.env_read),s=H(r.env_write),a=H(r.process_spawn);return[n,t,o,i,s,a].includes(null)?null:{...typeof n=="boolean"?{fs_read:n}:{},...typeof t=="boolean"?{fs_write:t}:{},...typeof o=="boolean"?{network:o}:{},...typeof i=="boolean"?{env_read:i}:{},...typeof s=="boolean"?{env_write:s}:{},...typeof a=="boolean"?{process_spawn:a}:{}}}function Ui(e){if(e==null)return{capabilities:[],legacy_aliases:[]};if(!Array.isArray(e)||e.some(n=>typeof n!="string"))return null;let r=Br(e);return{capabilities:r.capabilities,legacy_aliases:r.legacy_aliases}}function Wi(e){if(e==null)return;let r=J(e);if(!r)return null;let n=r.commands;if(n==null)return;if(!Array.isArray(n)||n.some(o=>typeof o!="string"))return null;let t=[...new Set(n.map(o=>v(o)).filter(o=>o.length>0))].sort((o,i)=>o.localeCompare(i));return t.length>0?{commands:t}:void 0}function Ki(e){let r=mt(e.manifest_version);if(r===null)return null;let n=ot(e,"pm_min_version");if(n===null)return null;let t=ot(e,"pm_max_version");if(t===null)return null;let o=zi(e.engines);if(o===null)return null;let i=H(e.trusted);if(i===null)return null;let s=Li(e);if(s===null)return null;let a=qi(e.provenance);if(a===null)return null;let l=Vi(e.permissions);if(l===null)return null;let c=Ui(e.capabilities);if(c===null)return null;let d=Wi(e.activation);if(d===null)return null;let u=Be(e.contributions);return u===null?null:{manifest_version:r,pm_min_version:n,pm_max_version:t,engines:o,trusted:i,sandbox_profile:s,provenance:a,permissions:l,capabilities:c.capabilities,legacy_capability_aliases:c.legacy_aliases,activation:d,contributions:u}}function Bi(e){if(typeof e!="object"||e===null)return null;let r=e,n=fr(r,"name");if(n===null)return null;let t=fr(r,"version");if(t===null)return null;let o=fr(r,"entry");if(o===null)return null;let i=ji(r);if(i===null)return null;let s=Ki(r);return s===null?null:{name:n,version:t,entry:o,priority:i,manifest_version:s.manifest_version,pm_min_version:s.pm_min_version,pm_max_version:s.pm_max_version,engines:s.engines,trusted:s.trusted,provenance:s.provenance,sandbox_profile:s.sandbox_profile,permissions:s.permissions,activation:s.activation,contributions:s.contributions,capabilities:s.capabilities,legacy_capability_aliases:s.legacy_capability_aliases.length>0?s.legacy_capability_aliases:void 0}}function Hi(e,r,n){return n.has(e)?!1:r.size===0?!0:r.has(e)}async function Yi(e,r){let[n,t]=await Promise.all([G.realpath(e),G.realpath(r)]);return Xe(n,t)}function Gi(e,r=process.cwd()){return{global:Y.join(bn(r),"extensions"),project:Y.join(e,"extensions")}}async function Xi(e){try{return(await G.readdir(e,{withFileTypes:!0})).filter(n=>n.isDirectory()).map(n=>n.name).sort((n,t)=>n.localeCompare(t))}catch{return[]}}function Ji(e){let r={layer:e.layer,directory:e.directory,manifest_path:e.manifest_path,name:e.manifest.name,version:e.manifest.version,entry:e.manifest.entry,priority:e.manifest.priority,entry_path:e.entry_path,manifest_version:e.manifest.manifest_version,pm_min_version:e.manifest.pm_min_version,pm_max_version:e.manifest.pm_max_version,engines:e.manifest.engines,trusted:e.manifest.trusted,provenance:e.manifest.provenance,sandbox_profile:e.manifest.sandbox_profile,permissions:e.manifest.permissions,capabilities:[...e.manifest.capabilities],activation:e.manifest.activation?{commands:[...e.manifest.activation.commands]}:void 0,contributions:e.manifest.contributions??e.contributions};return e.source_package&&(r.source_package=e.source_package),e.source_aliases&&(r.source_aliases=[...e.source_aliases]),r}function it(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}async function Zi(e){let r=new Map;try{let n=JSON.parse(await G.readFile(Y.join(e,".managed-extensions.json"),"utf8")),o=J(n)?.entries;if(!Array.isArray(o))return r;for(let i of o){if(typeof i!="object"||i===null)continue;let s=i,a=it(s.source?.package),l=[s.source?.input,s.source?.name,a].map(u=>it(u)).filter(u=>u!==void 0),c=Be(s.contributions),d={aliases:[...new Set(l)],...a?{package_name:a}:{},...c?{contributions:c}:{}};typeof s.directory=="string"&&s.directory.trim().length>0&&r.set(`directory:${s.directory.trim()}`,d),typeof s.name=="string"&&s.name.trim().length>0&&r.set(`name:${s.name.trim()}`,d)}}catch{return r}return r}function st(e){return[...e].sort((r,n)=>{if(r.manifest.priority!==n.manifest.priority)return r.manifest.priority-n.manifest.priority;let t=r.manifest.name.localeCompare(n.manifest.name);return t!==0?t:r.directory.localeCompare(n.directory)})}function Qi(e,r){let n=[...st(e),...st(r)],t=[];for(let o of n){let i=t.findIndex(s=>s.manifest.name===o.manifest.name);i>=0&&t.splice(i,1),t.push(o)}return t}async function at(e,r,n,t,o){let i=[],s=[],a=[],l=await Xi(r),c=await Zi(r);for(let d of l){let u=await ns(e,r,d,n,t,c,o);i.push(u.diagnostic),s.push(...u.warnings),u.candidate&&a.push(u.candidate)}return{diagnostics:i,warnings:s,candidates:a}}function es(){return{diagnostics:[],warnings:[],candidates:[]}}function lt(e,r,n,t){return{diagnostic:{layer:e,directory:r,manifest_path:n,name:null,version:null,entry:null,priority:null,entry_path:null,enabled:null,status:"warn"},warnings:[t],candidate:null}}function rs(e,r,n,t,o,i){let s=[];Array.isArray(r.legacy_capability_aliases)&&r.legacy_capability_aliases.length>0&&s.push(Yr(e,r.name,r.legacy_capability_aliases));for(let a of Kr(r.capabilities))s.push(Hr(e,r.name,a));return n?t||s.push(`extension_entry_missing:${e}:${r.name}`):s.push(`extension_entry_outside_extension:${e}:${r.name}`),o.warning&&s.push(o.warning),i.warning&&s.push(i.warning),s}async function ns(e,r,n,t,o,i,s){let a=Y.join(r,n),l=Y.join(a,"manifest.json");if(!await se(l))return lt(e,n,l,`extension_manifest_missing:${e}:${n}`);let c;try{let Me=JSON.parse(await G.readFile(l,"utf8"));c=Bi(Me)}catch{c=null}if(!c)return lt(e,n,l,`extension_manifest_invalid:${e}:${n}`);let d=Y.resolve(a,c.entry),u=Xe(a,d),m=u?await se(d):!1,f=u&&m?await Yi(a,d):u,h=Hi(c.name,t,o),p=await is(e,c),g=await ss(e,c,s),R=rs(e,c,f,m,p,g),re=f&&m&&p.allowed&&g.allowed,Fe=i.get(`directory:${n}`)??i.get(`name:${c.name}`);return{diagnostic:{layer:e,directory:n,manifest_path:l,name:c.name,version:c.version,entry:c.entry,priority:c.priority,entry_path:d,enabled:h,status:re?"ok":"warn"},warnings:R,candidate:rt({layer:e,directory:n,manifestPath:l,entryPath:d,manifest:c,sourceIdentity:Fe,extensionReady:re,enabledForLoad:h})}}async function ts(e){let r=Gi(e.pmRoot,e.cwd??process.cwd()),n=oe(e.settings.extensions.enabled),t=oe(e.settings.extensions.disabled),o=Vn(e.settings),i=Un(o);if(e.noExtensions)return{disabled_by_flag:!0,roots:r,configured_enabled:n,configured_disabled:t,discovered:[],effective:[],warnings:[...o.warnings],policy:i};let s=new Set(n),a=new Set(t),l=e.ignoreGlobalExtensions===!0?es():await at("global",r.global,s,a,o.pmMaxVersionExceededMode.global),c=await at("project",r.project,s,a,o.pmMaxVersionExceededMode.project),d=[...o.warnings],u=Qi(l.candidates,c.candidates),m=[];for(let f of u){let h={layer:f.layer,name:f.manifest.name,trusted:f.manifest.trusted===!0,provenanceVerified:f.manifest.provenance?.verified===!0,sandboxProfile:f.manifest.sandbox_profile,permissions:f.manifest.permissions&&typeof f.manifest.permissions=="object"?{fs_read:f.manifest.permissions.fs_read,fs_write:f.manifest.permissions.fs_write,network:f.manifest.permissions.network,env_read:f.manifest.permissions.env_read,env_write:f.manifest.permissions.env_write,process_spawn:f.manifest.permissions.process_spawn}:void 0},p=Bn(o,h);if(p.warning&&d.push(p.warning),!!p.allowed){for(let g of f.manifest.capabilities){let R=Hn(o,h,g);R.warning&&d.push(R.warning)}m.push(Ji(f))}}return{disabled_by_flag:!1,roots:r,configured_enabled:n,configured_disabled:t,discovered:[...l.diagnostics,...c.diagnostics],effective:m,warnings:[...new Set([...l.warnings,...c.warnings,...d])],policy:i}}function De(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}async function os(){try{let e=Je(import.meta.url,["../../.."]),r=await G.readFile(Y.join(e,"package.json"),"utf8"),n=JSON.parse(r);return typeof n.version=="string"&&n.version.trim().length>0?n.version.trim():null}catch{return null}}function pt(){return nt??=os(),nt}function gt(e,r,n){let t=n.current??"unknown";if(n.kind==="pm_min_version")switch(n.status){case"invalid":return`extension_pm_min_version_invalid:${e}:${r.name}:required=${n.required}`;case"unchecked":return`extension_pm_min_version_unchecked:${e}:${r.name}:required=${n.required}:current=${t}`;case"unmet":return`extension_pm_min_version_unmet:${e}:${r.name}:required=${n.required}:current=${t}`;default:return}switch(n.status){case"invalid":return`extension_pm_max_version_invalid:${e}:${r.name}:allowed=${n.required}`;case"unchecked":return`extension_pm_max_version_unchecked:${e}:${r.name}:allowed=${n.required}:current=${t}`;case"exceeded_warn":return`extension_pm_max_version_exceeded_warn:${e}:${r.name}:allowed=${n.required}:current=${t}`;case"exceeded":return`extension_pm_max_version_exceeded:${e}:${r.name}:allowed=${n.required}:current=${t}`;default:return}}async function is(e,r){if(r.pm_min_version===void 0)return{allowed:!0};let n=rn(r.pm_min_version,await pt()),t=gt(e,r,n);return t?{allowed:n.allowed,warning:t}:{allowed:n.allowed}}async function ss(e,r,n){if(r.pm_max_version===void 0)return{allowed:!0};let t=nn(r.pm_max_version,await pt(),n),o=gt(e,r,t);return o?{allowed:t.allowed,warning:o}:{allowed:t.allowed}}async function ct(e){try{let r=await G.stat(e);return`${Math.trunc(r.mtimeMs)}-${r.size}`}catch{return"missing"}}async function as(e,r){let n=e.entry_path;r.module_graph_snapshot_root&&(n=await Pn(r.module_graph_snapshot_root,e));let t=new URL(Di(n).href);if(!(r.cache_bust===!0||typeof r.reload_token=="string"))return t.href;let[i,s]=await Promise.all([ct(e.entry_path),ct(e.manifest_path)]),a=r.reload_token??Mi();return t.searchParams.set("pm_ext_reload",a),t.searchParams.set("pm_ext_entry",i),t.searchParams.set("pm_ext_manifest",s),t.href}async function Nc(e){let r=await ts(e),n=[],t=[],o=[...r.warnings];if(r.disabled_by_flag)return{...r,warnings:o,loaded:n,failed:t};let i=typeof e.extensionFilter=="function"?r.effective.filter(e.extensionFilter):r.effective;for(let s of i)try{let l=await import(await as(s,e));n.push({...s,module:l})}catch(a){o.push(`extension_load_failed:${s.layer}:${s.name}`),t.push({layer:s.layer,name:s.name,entry_path:s.entry_path,error:De(a)})}return{...r,warnings:o,loaded:n,failed:t}}var dt=5e3,ls=2147483647;function cs(e){let n={activate:e.activate.bind(e)};if(typeof e.deactivate=="function"){let t=e.deactivate;n.deactivate=t.bind(e)}return n}function ht(e){let r=kn(e);return r?cs(r):null}async function Fc(e,r,n={}){let t=ds(n?.deactivate_timeout_ms),o=new Set((r?.failed??[]).map(d=>`${d.layer}:${d.name}`)),i=[];for(let d of e.loaded){if(o.has(`${d.layer}:${d.name}`))continue;let u=ht(d.module);!u||typeof u.deactivate!="function"||i.push({extension:d,deactivate:u.deactivate})}let s=await Promise.all(i.map(async({extension:d,deactivate:u})=>{try{return await us(u,t),{ok:!0}}catch(m){return{ok:!1,layer:d.layer,name:d.name,error:De(m)}}})),a=[],l=[],c=0;for(let d of s){if(d.ok){c+=1;continue}a.push(`extension_deactivate_failed:${d.layer}:${d.name}`),l.push({layer:d.layer,name:d.name,error:d.error})}return{deactivated:c,warnings:a,failed:l}}function ds(e){return typeof e!="number"||e<0?dt:e===0||e===1/0?0:Number.isFinite(e)?Math.min(ls,Math.max(1,Math.floor(e))):dt}async function us(e,r){if(r===0){await e();return}let n;try{let t=Promise.resolve().then(()=>e());t.catch(()=>{}),await Promise.race([t,new Promise((o,i)=>{n=setTimeout(()=>{i(new Error(`extension deactivate timed out after ${r}ms`))},r),n.unref?.()})])}finally{clearTimeout(n)}}var fs=new Set(["default","description","enabled","list","long","repeatable","required","short","type","value_name","value_type","visible"]);function pr(e,r){return Oe(e,r).map(n=>(n.repeatable===!0&&(n.list=!0),n))}function ms(e){return e.trim().toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function ut(e,r){if(r===void 0)return e.replace(/\s+/g,"-");if(typeof r!="string"||r.trim().length===0)throw new TypeError("registerCommand definition.action must be a non-empty string when provided");let n=ms(r);if(n.length===0)throw new TypeError("registerCommand definition.action must contain alphanumeric characters");return n}function ft(e){if(e===void 0)return[];if(!Array.isArray(e))throw new TypeError("registerCommand definition.arguments must be an array when provided");let r=[];for(let[t,o]of e.entries()){let i=I(`registerCommand definition.arguments[${t}]`,o),s=A(`registerCommand definition.arguments[${t}].name`,i.name);if(T(`registerCommand definition.arguments[${t}].required`,i.required),T(`registerCommand definition.arguments[${t}].variadic`,i.variadic),x(`registerCommand definition.arguments[${t}].description`,i.description),s.includes(" "))throw new TypeError(`registerCommand definition.arguments[${t}].name must not contain spaces`);let a={name:s};i.required===!0&&(a.required=!0),i.variadic===!0&&(a.variadic=!0),typeof i.description=="string"&&(a.description=i.description.trim()),r.push(a)}let n=r.map((t,o)=>t.variadic?o:-1).filter(t=>t>=0);if(n.length>1)throw new TypeError("registerCommand definition.arguments supports at most one variadic argument");if(n.length===1&&n[0]!==r.length-1)throw new TypeError("registerCommand definition.arguments variadic argument must be the final argument");return r}function gr(e){if(!Array.isArray(e))throw new TypeError("registerFlags flags requires an array of object definitions");for(let[r,n]of e.entries()){let t=I(`registerFlags flags[${r}]`,n),o=Object.keys(t).filter(l=>!fs.has(l)).sort((l,c)=>l.localeCompare(c));if(o.length>0)throw new TypeError(`registerFlags flags[${r}] contains unknown field(s): ${o.join(", ")}`);let i=t.long,s=t.short;if(i===void 0&&s===void 0)throw new TypeError(`registerFlags flags[${r}] requires at least one of long or short`);x(`registerFlags flags[${r}].long`,i),x(`registerFlags flags[${r}].short`,s);let a=Zr(i,s);if(a!==null)throw new TypeError(`registerFlags flags[${r}] ${Qr(a.token,a.failure)}`);if(x(`registerFlags flags[${r}].value_name`,t.value_name),x(`registerFlags flags[${r}].description`,t.description),T(`registerFlags flags[${r}].required`,t.required),T(`registerFlags flags[${r}].enabled`,t.enabled),T(`registerFlags flags[${r}].visible`,t.visible),T(`registerFlags flags[${r}].list`,t.list),T(`registerFlags flags[${r}].repeatable`,t.repeatable),t.list!==void 0&&t.repeatable!==void 0&&t.list!==t.repeatable)throw new TypeError(`registerFlags flags[${r}].list and repeatable must match when both are provided`);if(Fn(`registerFlags flags[${r}].default`,t.default),Array.isArray(t.default)&&t.list!==!0&&t.repeatable!==!0)throw new TypeError(`registerFlags flags[${r}].default cannot be an array unless list is true.`);ps(`registerFlags flags[${r}]`,t)}}function ps(e,r){let n=(typeof r.value_type=="string"?r.value_type:void 0)??(typeof r.type=="string"?r.type:void 0);if(n===void 0)return;let t=xn(n);if(t===null)throw new TypeError(`${e} value_type "${n}" is not a known flag value type (expected one of: string, number, boolean).`);if(r.default===void 0)return;let o=r.list===!0||r.repeatable===!0?Sn(r.default):[r.default];for(let[i,s]of o.entries())if(!Cn(s,t)){let a=o.length>1?`default[${i}]`:"default";throw new TypeError(`${e}.${a} (${JSON.stringify(s)}) is not coercible to ${t}.`)}}function gs(e){if(!Array.isArray(e))throw new TypeError("registerItemFields fields requires an array of object definitions");for(let[r,n]of e.entries()){let t=I(`registerItemFields fields[${r}]`,n);A(`registerItemFields fields[${r}].name`,t.name);let o=A(`registerItemFields fields[${r}].type`,t.type);if(xe(o)===null){let i=Mr(o),s=i?` Did you mean "${i}"?`:"";throw new TypeError(`registerItemFields fields[${r}].type "${o}" is not a known field type (expected one of: ${ke.join(", ")}).${s}`)}T(`registerItemFields fields[${r}].optional`,t.optional)}}function hs(e,r){if(r===void 0)return;let n=`registerItemTypes types[${e}].command_option_policies`;if(!Array.isArray(r))throw new TypeError(`${n} must be an array when provided`);for(let[t,o]of r.entries()){let i=`${n}[${t}]`,s=I(i,o);A(`${i}.command`,s.command),A(`${i}.option`,s.option),T(`${i}.enabled`,s.enabled),T(`${i}.required`,s.required),T(`${i}.visible`,s.visible)}}function ys(e,r){if(r===void 0)return;let n=`registerItemTypes types[${e}].options`;if(!Array.isArray(r))throw new TypeError(`${n} must be an array when provided`);for(let[t,o]of r.entries()){let i=`${n}[${t}]`,s=I(i,o);A(`${i}.key`,s.key),K(`${i}.values`,s.values),T(`${i}.required`,s.required),K(`${i}.aliases`,s.aliases)}}function _s(e){if(!Array.isArray(e))throw new TypeError("registerItemTypes types requires an array of object definitions");for(let[r,n]of e.entries()){let t=`registerItemTypes types[${r}]`,o=I(t,n);A(`${t}.name`,o.name),x(`${t}.folder`,o.folder),K(`${t}.aliases`,o.aliases),K(`${t}.required_create_fields`,o.required_create_fields),K(`${t}.required_create_repeatables`,o.required_create_repeatables),hs(r,o.command_option_policies),ys(r,o.options)}}function ws(e){let r=I("registerMigration definition",e);if(r.id!==void 0&&typeof r.id!="string")throw new TypeError("registerMigration definition.id must be a string when provided");if(r.description!==void 0&&typeof r.description!="string")throw new TypeError("registerMigration definition.description must be a string when provided");if(r.status!==void 0&&typeof r.status!="string")throw new TypeError("registerMigration definition.status must be a string when provided");if(T("registerMigration definition.mandatory",r.mandatory),r.run!==void 0&&typeof r.run!="function")throw new TypeError("registerMigration definition.run must be a function when provided")}var yt=["types","statuses","fields","workflows","config","templates","packages"],bs={types:(e,r)=>{if(r.name!==void 0&&typeof r.name!="string")throw new TypeError(`${e}.name must be a string when provided`)},workflows:(e,r)=>{if(typeof r.type!="string")throw new TypeError(`${e}.type must be a string`);if(!Array.isArray(r.allowed_transitions))throw new TypeError(`${e}.allowed_transitions must be an array`);for(let[n,t]of r.allowed_transitions.entries())if(!Array.isArray(t))throw new TypeError(`${e}.allowed_transitions[${n}] must be a [from, to] array`)},templates:(e,r)=>{if(typeof r.name!="string")throw new TypeError(`${e}.name must be a string`);if(typeof r.options!="object"||r.options===null||Array.isArray(r.options))throw new TypeError(`${e}.options must be an object`)},packages:(e,r)=>{if(typeof r.spec!="string")throw new TypeError(`${e}.spec must be a string`)}};function vs(e){let r=I("registerProfile profile",e);if(A("registerProfile profile.name",r.name),A("registerProfile profile.title",r.title),r.summary!==void 0&&typeof r.summary!="string")throw new TypeError("registerProfile profile.summary must be a string when provided");for(let n of yt){let t=r[n];if(t!==void 0){if(!Array.isArray(t))throw new TypeError(`registerProfile profile.${n} must be an array when provided`);for(let[o,i]of t.entries()){if(typeof i!="object"||i===null||Array.isArray(i))throw new TypeError(`registerProfile profile.${n}[${o}] must be an object`);bs[n]?.(`registerProfile profile.${n}[${o}]`,i)}}}}function Es(e){e.summary===void 0&&(e.summary="");for(let r of yt)e[r]===void 0&&(e[r]=[]);return e}function ks(e){if(!Array.isArray(e.capabilities))return null;let r=new Set;for(let n of e.capabilities){let t=n.trim().toLowerCase();F(t)&&r.add(t)}return r}function w(e,r,n){let t=ks(e);if(t!==null&&!t.has(r))throw D(`${n} requires capability '${r}' in extension manifest capabilities`,{method:n,registration_index:-1,capability:r,missing_capability:r,expected_schema:`"capabilities": [..., "${r}"]`,received:e.capabilities,hint:`Add "${r}" to ${e.name} manifest capabilities, or remove the ${n} registration call.`})}function xs(e){return Object.freeze({name:e.name,layer:e.layer,version:e.version,capabilities:Object.freeze((e.capabilities??[]).filter(r=>q.includes(r))),pm_min_version:e.pm_min_version,pm_max_version:e.pm_max_version,source_package:e.source_package})}function Ss(e){return{layer:e.layer,name:e.name,trusted:e.trusted===!0,provenanceVerified:e.provenance?.verified===!0,sandboxProfile:e.sandbox_profile,permissions:e.permissions&&typeof e.permissions=="object"?{fs_read:e.permissions.fs_read,fs_write:e.permissions.fs_write,network:e.permissions.network,env_read:e.permissions.env_read,env_write:e.permissions.env_write,process_spawn:e.permissions.process_spawn}:void 0}}var hr=class{extension;hooks;#e;#n;#o;#t;#s;#a;#i;#l;#r;#c;#d;#u;constructor(r,n,t,o,i,s,a,l,c,d,u){this.#e=r,this.extension=xs(r),this.#n=Ss(r),this.#o=n,this.#t=t,this.#s=o,this.#a=i,this.#i=s,this.#l=a,this.#r=l,this.#c=c,this.#d=d,this.#u=u,this.registerCommand=this.registerCommand.bind(this),this.registerParser=this.registerParser.bind(this),this.registerPreflight=this.registerPreflight.bind(this),this.registerService=this.registerService.bind(this),this.registerFlags=this.registerFlags.bind(this),this.registerItemFields=this.registerItemFields.bind(this),this.registerItemTypes=this.registerItemTypes.bind(this),this.registerRelationshipKinds=this.registerRelationshipKinds.bind(this),this.registerMigration=this.registerMigration.bind(this),this.registerProfile=this.registerProfile.bind(this),this.registerRenderer=this.registerRenderer.bind(this),this.registerImporter=this.registerImporter.bind(this),this.registerExporter=this.registerExporter.bind(this),this.registerSearchProvider=this.registerSearchProvider.bind(this),this.registerVectorStoreAdapter=this.registerVectorStoreAdapter.bind(this),this.registerAssuranceMeasurementProvider=this.registerAssuranceMeasurementProvider.bind(this),this.hooks={beforeCommand:m=>this.registerBeforeCommand(m),beforeMutation:m=>this.registerBeforeMutation(m),afterCommand:m=>this.registerAfterCommand(m),onWrite:m=>this.registerOnWrite(m),onRead:m=>this.registerOnRead(m),onIndex:m=>this.registerOnIndex(m)}}allowRegistration(r,n,t,o){let i=Yn(this.#u,this.#n,r,n,t,o);return i.warning&&this.#c.push(i.warning),i.allowed}registerCommandTrace(r,n,t,o,i){return{method:"registerCommand",registration_index:r==="override"?this.#t.overrides.length:this.#t.handlers.length,command:n,expected_schema:t,received:ue(o),hint:i}}registerCommandOverride(r,n){let t=v(r);if(t.length===0)throw D("registerCommand requires a non-empty command name",this.registerCommandTrace("override",r,'registerCommand("<command>", (context) => unknown)',r,"Provide a non-empty command path as the first argument."));if(typeof n!="function"){let o=this.registerCommandTrace("override",t,'registerCommand("<command>", (context) => unknown)',n,"Provide a function as the second registerCommand argument.");throw D(`registerCommand requires an override function when command name is provided (command="${t}", registration_index=${o.registration_index})`,o)}this.allowRegistration("commands.override","registerCommand","commands",{command:t})&&this.#t.overrides.push({layer:this.#e.layer,name:this.#e.name,command:t,run:n})}resolveCommandDefinitionRunHandler(r,n){let t=typeof r.run=="function"?r.run:void 0,o=typeof r.handler=="function"?r.handler:void 0;return!t&&o&&this.#c.push(`extension_command_definition_legacy_handler_alias:${this.#e.layer}:${this.#e.name}:${n}`),t??o}registerCommandDefinition(r){if(typeof r!="object"||r===null)throw D("registerCommand requires a command definition object",this.registerCommandTrace("definition",void 0,"{ name: string; run: (context) => unknown; }",r,'Use registerCommand({ name: "command path", run: (context) => ... }).'));if(typeof r.name!="string")throw D("registerCommand requires a command definition name",this.registerCommandTrace("definition",void 0,"{ name: string; run: (context) => unknown; }",r,"Set command definition.name to a non-empty string command path."));let n=v(r.name);if(n.length===0)throw D("registerCommand requires a non-empty command definition name",this.registerCommandTrace("definition",r.name,"{ name: string; run: (context) => unknown; }",r,"Ensure command definition.name contains a non-empty command path."));let t=this.resolveCommandDefinitionRunHandler(r,n);if(typeof t!="function"){let o=this.registerCommandTrace("definition",n,"{ name: string; run: (context) => unknown; }",t,"Define command definition.run as a function.");throw D(`registerCommand requires a command definition run handler (command="${n}", registration_index=${o.registration_index})`,o)}try{Mn(r);let o=ut(n,r.action);if(!this.allowRegistration("commands.handler","registerCommand","commands",{command:n,action:o}))return;let i=r.description?.trim(),s=r.intent?.trim(),a=ce("registerCommand definition.examples",r.examples),l=ce("registerCommand definition.failure_hints",r.failure_hints),c=ft(r.arguments);r.flags!==void 0&&(w(this.#e,"schema","registerCommand flags"),this.allowRegistration("schema.flags","registerCommand flags","schema")&&(gr(r.flags),this.#r.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:n,flags:pr("registerCommand definition.flags",r.flags)})));let d={layer:this.#e.layer,name:this.#e.name,source_package:this.#e.source_package,command:n,action:o,examples:a,failure_hints:l,arguments:c,tier:r.tier};i&&(d.description=i),s&&(d.intent=s),this.#r.commands.push(d)}catch(o){let i=De(o),s=this.registerCommandTrace("definition",n,"{ name: string; run: (context) => unknown; action?: string; arguments?: object[]; flags?: object[]; }",r,i),a=D(`registerCommand definition metadata invalid (command="${n}", registration_index=${s.registration_index}): ${i}`,s);this.#c.push(`extension_command_quarantined:${this.#e.layer}:${this.#e.name}:${n}`),this.#d.push({layer:this.#e.layer,name:this.#e.name,entry_path:this.#e.entry_path,error:a.message,trace:s});return}this.#t.handlers.push({layer:this.#e.layer,name:this.#e.name,command:n,run:t})}registerCommand(r,n){if(w(this.#e,"commands","registerCommand"),typeof r=="string"){this.registerCommandOverride(r,n);return}this.registerCommandDefinition(r)}registerParser(r,n){if(w(this.#e,"parser","registerParser"),!this.allowRegistration("parser.override","registerParser","parser"))return;let t=v(A("registerParser command",r));pe("registerParser override",n),this.#s.overrides.push({layer:this.#e.layer,name:this.#e.name,command:t,run:n})}registerPreflight(r){if(w(this.#e,"preflight","registerPreflight"),!this.allowRegistration("preflight.override","registerPreflight","preflight"))return;let n=Dn(r);this.#a.overrides.push({layer:this.#e.layer,name:this.#e.name,...n})}registerService(r,n){w(this.#e,"services","registerService");let t=String(r).trim().toLowerCase();if(!Xn(t))throw new TypeError(`registerService service must be one of: ${_e.join(", ")}`);this.allowRegistration("services.override","registerService","services",{service:t})&&(pe("registerService override",n),this.#i.overrides.push({layer:this.#e.layer,name:this.#e.name,service:t,run:n}))}registerRenderer(r,n,t={}){if(w(this.#e,"renderers","registerRenderer"),!this.allowRegistration("renderers.override","registerRenderer","renderers"))return;if(typeof n!="function")throw new TypeError("registerRenderer requires a renderer function");let o=String(r).trim().toLowerCase();if(!Gn(o))throw new Error(`registerRenderer format must be toon|json, received: ${String(r)}`);if(t.resultDiscriminator!==void 0&&typeof t.resultDiscriminator!="function")throw new TypeError("registerRenderer ownership.resultDiscriminator must be a function when provided");let i=[...new Set((t.commands??[]).map(s=>{if(typeof s!="string"||s.trim().length===0)throw new TypeError("registerRenderer ownership.commands must contain non-empty command paths");return v(s)}))];this.#l.overrides.push({layer:this.#e.layer,name:this.#e.name,format:o,run:n,commands:i,...t.resultDiscriminator?{resultDiscriminator:t.resultDiscriminator}:{}})}registerFlags(r,n){if(w(this.#e,"schema","registerFlags"),!this.allowRegistration("schema.flags","registerFlags","schema"))return;let t=v(A("registerFlags targetCommand",r));gr(n);let o=pr("registerFlags flags",n);if(o.length===0)throw new TypeError("registerFlags requires at least one flag definition");this.#r.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:t,flags:o})}registerItemFields(r){if(w(this.#e,"schema","registerItemFields"),!this.allowRegistration("schema.itemfields","registerItemFields","schema"))return;gs(r);let n=Oe("registerItemFields fields",r);if(n.length===0)throw new TypeError("registerItemFields requires at least one field definition");this.#r.item_fields.push({layer:this.#e.layer,name:this.#e.name,fields:n})}registerItemTypes(r){if(w(this.#e,"schema","registerItemTypes"),!this.allowRegistration("schema.itemtypes","registerItemTypes","schema"))return;_s(r);let n=Oe("registerItemTypes types",r);if(n.length===0)throw new TypeError("registerItemTypes requires at least one type definition");this.#r.item_types.push({layer:this.#e.layer,name:this.#e.name,types:n})}registerRelationshipKinds(r){if(w(this.#e,"schema","registerRelationshipKinds"),!this.allowRegistration("schema.relationshipkinds","registerRelationshipKinds","schema"))return;if(!Array.isArray(r))throw new TypeError("registerRelationshipKinds definitions requires an array of object definitions");if(r.length===0)throw new TypeError("registerRelationshipKinds requires at least one definition");let n=Ke();for(let o of this.#r.relationship_kinds)for(let i of o.definitions)n.register(i);let t=r.map(o=>(n.register(o),n.require(o.kind)));this.#r.relationship_kinds.push({layer:this.#e.layer,name:this.#e.name,definitions:t})}registerMigration(r){if(w(this.#e,"schema","registerMigration"),!this.allowRegistration("schema.migrations","registerMigration","schema"))return;ws(r);let n=me("registerMigration definition",r);this.#r.migrations.push(ge({layer:this.#e.layer,name:this.#e.name,definition:ee("registerMigration definition",r)},n))}registerProfile(r){if(w(this.#e,"schema","registerProfile"),!this.allowRegistration("schema.profiles","registerProfile","schema"))return;let n=fe(r);vs(n),this.#r.profiles.push({layer:this.#e.layer,name:this.#e.name,profile:Es(n)})}applyImportExportCommandMetadata(r,n,t){if(t!==void 0&&(typeof t!="object"||t===null||Array.isArray(t)))throw new TypeError(`${r} options must be an object when provided`);let o=`${r==="registerImporter"?"Import":"Export"} items with the registered extension adapter.`,i=[{name:"file",required:!1,description:"Optional input or output file path."}],s={...t,description:t?.description??o,arguments:t?.arguments??i};x(`${r} options.action`,s.action),x(`${r} options.description`,s.description),x(`${r} options.intent`,s.intent);let a=ut(n,s.action),l=ce(`${r} options.examples`,s.examples),c=ce(`${r} options.failure_hints`,s.failure_hints),d=ft(s.arguments);s.flags!==void 0&&(w(this.#e,"schema",`${r} options.flags`),this.allowRegistration("schema.flags",`${r} options.flags`,"schema")&&(gr(s.flags),this.#r.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:n,flags:pr(`${r} options.flags`,s.flags)})));let u={layer:this.#e.layer,name:this.#e.name,source_package:this.#e.source_package,command:n,action:a,examples:l,failure_hints:c,arguments:d},m=s.description?.trim();m&&(u.description=m);let f=s.intent?.trim();f&&(u.intent=f),this.#r.commands.push(u)}registerImporter(r,n,t){if(w(this.#e,"importers","registerImporter"),!this.allowRegistration("importers.importer","registerImporter","importers"))return;let o=dr(A("registerImporter name",r));pe("registerImporter importer",n);let i=ur(o,"import");this.applyImportExportCommandMetadata("registerImporter",i,t),this.#r.importers.push({layer:this.#e.layer,name:this.#e.name,importer:o}),this.#t.handlers.push({layer:this.#e.layer,name:this.#e.name,command:i,run:async s=>n({registration:o,action:"import",command:s.command,args:k(s.args),options:k(s.options),global:k(s.global),pm_root:s.pm_root,source_workspace_root:s.source_workspace_root,repo_root:s.repo_root,pm_root_rel:s.pm_root_rel,...s.sdk===void 0?{}:{sdk:s.sdk}})})}registerExporter(r,n,t){if(w(this.#e,"importers","registerExporter"),!this.allowRegistration("importers.exporter","registerExporter","importers"))return;let o=dr(A("registerExporter name",r));pe("registerExporter exporter",n);let i=ur(o,"export");this.applyImportExportCommandMetadata("registerExporter",i,t),this.#r.exporters.push({layer:this.#e.layer,name:this.#e.name,exporter:o}),this.#t.handlers.push({layer:this.#e.layer,name:this.#e.name,command:i,run:async s=>n({registration:o,action:"export",command:s.command,args:k(s.args),options:k(s.options),global:k(s.global),pm_root:s.pm_root,source_workspace_root:s.source_workspace_root,repo_root:s.repo_root,pm_root_rel:s.pm_root_rel,...s.sdk===void 0?{}:{sdk:s.sdk}})})}registerSearchProvider(r){if(w(this.#e,"search","registerSearchProvider"),!this.allowRegistration("search.provider","registerSearchProvider","search"))return;let n=me("registerSearchProvider provider",r);this.#r.search_providers.push(ge({layer:this.#e.layer,name:this.#e.name,definition:ee("registerSearchProvider provider",r)},n))}registerVectorStoreAdapter(r){if(w(this.#e,"search","registerVectorStoreAdapter"),!this.allowRegistration("search.vectorstore","registerVectorStoreAdapter","search"))return;let n=me("registerVectorStoreAdapter adapter",r);this.#r.vector_store_adapters.push(ge({layer:this.#e.layer,name:this.#e.name,definition:ee("registerVectorStoreAdapter adapter",r)},n))}registerAssuranceMeasurementProvider(r){if(w(this.#e,"services","registerAssuranceMeasurementProvider"),!this.allowRegistration("services.assuranceprovider","registerAssuranceMeasurementProvider","services"))return;if(et(r),r.network&&this.#e.permissions?.network!==!0)throw new TypeError("registerAssuranceMeasurementProvider network provider requires permissions.network=true");let n=me("registerAssuranceMeasurementProvider provider",r);this.#r.assurance_providers.push(ge({layer:this.#e.layer,name:this.#e.name,network_permission:this.#e.permissions?.network===!0,definition:ee("registerAssuranceMeasurementProvider provider",r)},n))}registerBeforeCommand(r){w(this.#e,"hooks","api.hooks.beforeCommand"),this.allowRegistration("hooks.beforecommand","api.hooks.beforeCommand","hooks")&&(B("beforeCommand",r),this.#o.beforeCommand.push({layer:this.#e.layer,name:this.#e.name,run:r}))}registerBeforeMutation(r){w(this.#e,"hooks","api.hooks.beforeMutation"),this.allowRegistration("hooks.beforemutation","api.hooks.beforeMutation","hooks")&&(B("beforeMutation",r),this.#o.beforeMutation.push({layer:this.#e.layer,name:this.#e.name,run:r}))}registerAfterCommand(r){w(this.#e,"hooks","api.hooks.afterCommand"),this.allowRegistration("hooks.aftercommand","api.hooks.afterCommand","hooks")&&(B("afterCommand",r),this.#o.afterCommand.push({layer:this.#e.layer,name:this.#e.name,run:r}))}registerOnWrite(r){w(this.#e,"hooks","api.hooks.onWrite"),this.allowRegistration("hooks.onwrite","api.hooks.onWrite","hooks")&&(B("onWrite",r),this.#o.onWrite.push({layer:this.#e.layer,name:this.#e.name,run:r}))}registerOnRead(r){w(this.#e,"hooks","api.hooks.onRead"),this.allowRegistration("hooks.onread","api.hooks.onRead","hooks")&&(B("onRead",r),this.#o.onRead.push({layer:this.#e.layer,name:this.#e.name,run:r}))}registerOnIndex(r){w(this.#e,"hooks","api.hooks.onIndex"),this.allowRegistration("hooks.onindex","api.hooks.onIndex","hooks")&&(B("onIndex",r),this.#o.onIndex.push({layer:this.#e.layer,name:this.#e.name,run:r}))}};function Cs(e,r,n,t,o,i,s,a,l,c,d){return new hr(e,r,n,t,o,i,s,a,l,c,d)}function Ts(e){let r=e.commands.length,n=e.flags.reduce((s,a)=>s+a.flags.length,0),t=e.item_fields.reduce((s,a)=>s+a.fields.length,0),o=e.item_types.reduce((s,a)=>s+a.types.length,0),i=(e.relationship_kinds??[]).reduce((s,a)=>s+a.definitions.length,0);return{commands:r,flags:n,item_fields:t,item_types:o,...i>0?{relationship_kinds:i}:{},migrations:e.migrations.length,profiles:e.profiles.length,importers:e.importers.length,exporters:e.exporters.length,search_providers:e.search_providers.length,vector_store_adapters:e.vector_store_adapters.length,...(e.assurance_providers?.length??0)>0?{assurance_providers:e.assurance_providers.length}:{}}}function Is(e){let r=[],n=(i,s)=>{let a=new Map;for(let l of i){let c=a.get(l.command)??[];c.push(l),a.set(l.command,c)}for(let l of[...a.keys()].sort((c,d)=>c.localeCompare(d))){let c=a.get(l);if(c.length<=1)continue;let d=c[c.length-1];for(let u of c.slice(0,-1))r.push(`${s}:${l}:${d.layer}:${d.name}:${u.layer}:${u.name}`)}};n(e.handlers,"extension_command_handler_collision"),n(e.overrides,"extension_command_override_collision");let t=new Set(e.handlers.map(i=>i.command)),o=[...new Set(e.overrides.map(i=>i.command))].filter(i=>t.has(i));o.sort((i,s)=>i.localeCompare(s));for(let i of o){let s=e.handlers.filter(l=>l.command===i),a=e.overrides.filter(l=>l.command===i);for(let l of a)for(let c of s)r.push(`extension_command_override_handler_overlap:${i}:${l.layer}:${l.name}:${c.layer}:${c.name}`)}return r}function As(e){let r=new Map;for(let t of e.overrides){let o=r.get(t.format)??[];o.push(t),r.set(t.format,o)}let n=[];for(let t of[...r.keys()].sort((o,i)=>o.localeCompare(i))){let o=r.get(t);if(o.length<=1)continue;let i=o[o.length-1];for(let s of o.slice(0,-1))i.commands?.length&&s.commands?.length&&!s.commands.some(a=>i.commands?.includes(a))||n.push(`extension_renderer_collision:${t}:${i.layer}:${i.name}:${s.layer}:${s.name}`)}return n}function $s(e){let r=[],n=new Map;for(let t of e.overrides){let o=n.get(t.command)??[];o.push(t),n.set(t.command,o)}for(let t of[...n.keys()].sort((o,i)=>o.localeCompare(i))){let o=n.get(t);if(o.length<=1)continue;let i=o[o.length-1];for(let s of o.slice(0,-1))r.push(`extension_parser_override_collision:${t}:${i.layer}:${i.name}:${s.layer}:${s.name}`)}return r}var Rs=new Set(["output_format"]);function Ps(e){let r=[],n=new Map;for(let t of e.overrides){let o=n.get(t.service)??[];o.push(t),n.set(t.service,o)}for(let t of[...n.keys()].sort((o,i)=>o.localeCompare(i))){let o=n.get(t);if(o.length<=1||Rs.has(t))continue;let i=o[o.length-1];for(let s of o.slice(0,-1))r.push(`extension_service_override_collision:${t}:${i.layer}:${i.name}:${s.layer}:${s.name}`)}return r}async function Mc(e){let r=Wn(e.policy??Fi),n=rr(),t=nr(),o=tr(),i=or(),s=ir(),a=sr(),l=ar(),c=[],d=[];for(let f of e.loaded){let h=ht(f.module);if(!h)continue;let p=c.length,g=On({hooks:n,commands:t,parsers:o,preflight:i,services:s,renderers:a,registrations:l});try{await h.activate(Cs(f,n,t,o,i,s,a,l,d,c,r)),c.length>p&&(g(),d.push(`extension_activation_rolled_back:${f.layer}:${f.name}`))}catch(R){g(),d.push(`extension_activate_failed:${f.layer}:${f.name}`);let re=Zn(R);c.push({layer:f.layer,name:f.name,entry_path:f.entry_path,error:De(R),trace:re})}}let u=[...Is(t),...$s(o),...Nn(i),...Ps(s),...As(a)],m=[...new Set([...d,...u])];return{hooks:n,commands:t,parsers:o,preflight:i,services:s,renderers:a,registrations:l,failed:c,warnings:m,hook_counts:{before_command:n.beforeCommand.length,before_mutation:n.beforeMutation.length,after_command:n.afterCommand.length,on_write:n.onWrite.length,on_read:n.onRead.length,on_index:n.onIndex.length},command_override_count:t.overrides.length,command_handler_count:t.handlers.length,parser_override_count:o.overrides.length,preflight_override_count:i.overrides.length,service_override_count:s.overrides.length,renderer_override_count:a.overrides.length,registration_counts:Ts(l)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="b2649352-0afa-5972-8c48-b999f86d5522")}catch{}})();function _t(e){let r=Math.ceil(e.size/2);for(let n of e.keys()){if(r===0)return;e.delete(n),r-=1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="d6056922-237d-525a-b354-687493a4e123")}catch{}})();var Os=2e3,Ne=new Map;function L(e){if(typeof e!="string")return"";let r=Ne.get(e);if(r!==void 0)return r;let n=e.trim().toLowerCase().replaceAll(/[\s-]+/g,"_");return Ne.size>=Os&&_t(Ne),Ne.set(e,n),n}import wt from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="a9ff482a-f9f9-5e35-88d0-240db815ec08")}catch{}})();var O=Object.freeze({types:"schema/types.json",statuses:"schema/statuses.json",fields:"schema/fields.json",workflows:"schema/workflows.json"}),Et=Dr,wr=Or,Ds=["create","update"],Ns=new Set($r),Fs=new Set(we),Ms=new Set(Rr),zs=new Set(Pr);function he(e){let r=Array.isArray(e)?e:[];return[...new Set(r.map(n=>typeof n=="string"?n.trim():"").filter(n=>n.length>0))].sort((n,t)=>n.localeCompare(t))}function P(e){if(typeof e!="string"||e.length===0)return;let r=L(e);return r.length>0?r:void 0}function js(e){return e.startsWith("--")?e.slice(2):e}function bt(e){return typeof e=="string"?js(e.trim().toLowerCase().replaceAll(/[\s_]+/g,"-")):""}function kt(e){return e.replaceAll("_","-")}function Ls(e){let r=e.replaceAll(/[^A-Za-z0-9]+/g," ").trim().split(/\s+/).filter(o=>o.length>0).map(o=>o.toLowerCase());if(r.length===0)return e;let[n,...t]=r;return`${n}${t.map(o=>`${o.slice(0,1).toUpperCase()}${o.slice(1)}`).join("")}`}function _r(e,r){let n=P(e.id);if(!n)return null;let t=[...new Set(he(e.aliases).map(L).filter(a=>a.length>0))].sort((a,l)=>a.localeCompare(l)),o=he(e.roles).filter(a=>Ns.has(a)),i=e.description?.trim(),s=typeof e.order=="number"&&Number.isFinite(e.order)?e.order:r;return{id:n,aliases:t,roles:o,description:i&&i.length>0?i:void 0,order:s}}function qs(e){return{draft_status:P(e?.draft_status),open_status:P(e?.open_status),in_progress_status:P(e?.in_progress_status),blocked_status:P(e?.blocked_status),close_status:P(e?.close_status),canceled_status:P(e?.canceled_status)}}function xt(e,r){if(!Array.isArray(r)||r.length!==2)return;let n=L(r[0]),t=L(r[1]);n.length===0||t.length===0||e.pairs.some(o=>o[0]===n&&o[1]===t)||e.pairs.push([n,t])}function Vs(e){let r=typeof e?.type=="string"?e.type.trim():"";if(r.length===0||!Array.isArray(e?.allowed_transitions))return null;let n={type:r,pairs:[],denyAll:e.allowed_transitions.length===0};for(let t of e.allowed_transitions)xt(n,t);return{typeKey:r.toLowerCase(),record:n}}function Us(e){if(!Array.isArray(e)||e.length===0)return;let r=new Map;for(let t of e){let o=Vs(t);if(o===null)continue;let i=r.get(o.typeKey)??o.record;i.denyAll||=o.record.denyAll;for(let s of o.record.pairs)xt(i,s);r.set(o.typeKey,i)}let n=[];for(let t of r.values())(t.pairs.length>0||t.denyAll)&&n.push({type:t.type,allowed_transitions:t.pairs});return n.sort((t,o)=>t.type.localeCompare(o.type)),n.length>0?n:void 0}function St(e){let r=L(e.key??"");if(!r)return null;let n=L(e.metadata_key??e.front_matter_key??r),t=bt(e.cli_flag??kt(r));if(!t)return null;let o=he(e.cli_aliases).map(d=>bt(d)).filter(d=>d.length>0&&d!==t),i=typeof e.type=="string"?e.type.trim().toLowerCase():"string",s=Fs.has(i)?i:"string",a=(()=>{let d=he(e.commands).filter(u=>Ms.has(u));return d.length>0?d:[...Ds]})(),l=e.description?.trim(),c=he(e.required_types);return{key:r,metadata_key:n,cli_flag:t,cli_aliases:o,description:l&&l.length>0?l:void 0,type:s,commands:a,repeatable:e.repeatable===!0||s==="string_array",required:e.required===!0,required_on_create:e.required_on_create===!0,required_types:c,allow_unset:e.allow_unset!==!1}}function Ws(e){let r=new Map;for(let[t,o]of e.entries()){let i=_r(o,t);i&&r.set(i.id,i)}let n=vt([...r.values()]);return n.length>0?n:vt(wr.map((t,o)=>_r(t,o)).filter(t=>t!==null))}function vt(e){return e.sort((r,n)=>r.order===n.order?r.id.localeCompare(n.id):r.order-n.order)}function Ks(e){let r=new Map;for(let n of e??[]){let t=St(n);t&&r.set(t.key,t)}return[...r.values()].sort((n,t)=>n.key.localeCompare(t.key))}function Bs(e){return{id:e.id,aliases:e.aliases.length>0?[...e.aliases]:void 0,roles:e.roles.length>0?[...e.roles]:void 0,description:e.description,order:e.order}}function Hs(e){return{key:e.key,metadata_key:e.metadata_key!==e.key?e.metadata_key:void 0,cli_flag:e.cli_flag!==kt(e.key)?e.cli_flag:void 0,cli_aliases:e.cli_aliases.length>0?[...e.cli_aliases]:void 0,description:e.description,type:e.type,commands:[...e.commands],repeatable:e.repeatable===!0?!0:void 0,required:e.required===!0?!0:void 0,required_on_create:e.required_on_create===!0?!0:void 0,required_types:e.required_types.length>0?[...e.required_types]:void 0,allow_unset:e.allow_unset===!1?!1:void 0}}function Ys(e){let r=typeof e=="string"?e.trim().toLowerCase():"allow";return zs.has(r)?r:"allow"}function ye(e){let r={...O,...e?.files},n=e?.statuses&&e.statuses.length>0?e.statuses:wr,t=Ws(n),o=Ks(e?.fields);return{version:typeof e?.version=="number"&&Number.isFinite(e.version)?Math.floor(e.version):1,files:r,statuses:t.map(Bs),fields:o.map(Hs),workflow:{...Et,...qs(e?.workflow)},type_workflows:Us(e?.type_workflows),unknown_field_policy:Ys(e?.unknown_field_policy)}}function Gs(e){return`${JSON.stringify(e,null,2)}
3
+ `}function Xs(){return{definitions:[]}}function Js(){return{statuses:wr}}function Zs(){return{fields:[]}}function Qs(){return{workflow:Et}}function ea(e,r,n){try{return JSON.parse(e)}catch{n.push(r);return}}function ra(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let r=e;if(Array.isArray(r.definitions))return r.definitions;if(typeof r.item_types=="object"&&r.item_types!==null){let n=r.item_types;if(Array.isArray(n.definitions))return n.definitions}}function na(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let r=e;if(Array.isArray(r.statuses))return r.statuses;if(Array.isArray(r.definitions))return r.definitions}function ta(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let r=e;if(Array.isArray(r.fields))return r.fields;if(Array.isArray(r.definitions))return r.definitions}function oa(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let r=e;return typeof r.workflow=="object"&&r.workflow!==null&&!Array.isArray(r.workflow)?r.workflow:typeof r.workflows=="object"&&r.workflows!==null&&!Array.isArray(r.workflows)?r.workflows:r}function ia(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let r=e;if(Array.isArray(r.type_workflows))return r.type_workflows}function N(e,r,n){let t=r?.trim()||n;return wt.isAbsolute(t)?t:wt.join(e,t)}function Jc(e,r){return N(e,r.files.types,O.types)}async function Zc(e,r){let n=ye(r),t=[{path:N(e,n.files.types,O.types),seed:Xs()},{path:N(e,n.files.statuses,O.statuses),seed:Js()},{path:N(e,n.files.fields,O.fields),seed:Zs()},{path:N(e,n.files.workflows,O.workflows),seed:Qs()}],o=[];for(let i of t)await se(i.path)||(await an(i.path,Gs(i.seed)),o.push(i.path));return{created_paths:o}}async function Qc(e,r){let n=ye(r),t=[],o=N(e,n.files.types,O.types),i=N(e,n.files.statuses,O.statuses),s=N(e,n.files.fields,O.fields),a=N(e,n.files.workflows,O.workflows),l,c,d,u,m,f=async(Fe,Me)=>{let br=await sn(Fe);if(br!==null)return ea(br,Me,t)},h=await f(o,"runtime_schema_types_invalid_json");h!==void 0&&(l=ra(h),l===void 0&&t.push("runtime_schema_types_invalid_shape"));let p=await f(i,"runtime_schema_statuses_invalid_json");p!==void 0&&(c=na(p),c===void 0&&t.push("runtime_schema_statuses_invalid_shape"));let g=await f(s,"runtime_schema_fields_invalid_json");g!==void 0&&(d=ta(g),d===void 0&&t.push("runtime_schema_fields_invalid_shape"));let R=await f(a,"runtime_schema_workflows_invalid_json");return R!==void 0&&(u=oa(R),u===void 0&&t.push("runtime_schema_workflows_invalid_shape"),m=ia(R)),{schema:ye({...n,statuses:[...n.statuses,...c??[]],fields:[...n.fields,...d??[]],workflow:{...n.workflow,...u},type_workflows:[...n.type_workflows??[],...m??[]]}),type_definitions_from_file:l,warnings:t,created_paths:[]}}function yr(e,r,n){let t=e.filter(i=>i.roles.includes(r));if(t.length>0)return t[0].id;let o=n.map(i=>P(i)).filter(i=>typeof i=="string");for(let i of o)if(e.some(s=>s.id===i))return i;return e[0]?.id}function ed(e){let r=ye(e),n=r.statuses.map((p,g)=>_r(p,g)).filter(p=>p!==null),t=new Map,o=new Map;for(let p of n){o.set(p.id,p),t.set(p.id,p.id),t.set(p.id.replaceAll("_","-"),p.id),t.set(p.id.replaceAll("_"," "),p.id);for(let g of p.aliases)t.set(g,p.id),t.set(g.replaceAll("_","-"),p.id),t.set(g.replaceAll("_"," "),p.id)}let i=new Set,s=new Set,a=new Set,l=new Set,c=new Set,d=new Set;for(let p of n){let g=new Set(p.roles);(g.has("terminal")||g.has("terminal_done")||g.has("terminal_canceled"))&&i.add(p.id),g.has("terminal_done")&&s.add(p.id),g.has("terminal_canceled")&&a.add(p.id),g.has("active")&&l.add(p.id),g.has("blocked")&&c.add(p.id),g.has("draft")&&d.add(p.id)}let u=r.workflow,m=P(u.open_status)??yr(n,"default_open",["open","in_progress",Ar[0]]),f=P(u.close_status)??yr(n,"default_close",["closed","done","complete"]),h=P(u.canceled_status)??yr(n,"default_cancel",["canceled","cancelled"]);return{definitions:n,by_id:o,alias_to_id:t,terminal_statuses:i,terminal_done_statuses:s,terminal_canceled_statuses:a,active_statuses:l,blocked_statuses:c,draft_statuses:d,open_status:m,close_status:f,canceled_status:h}}function sa(e,r){let n=L(e);if(n)return r.alias_to_id.get(n)}function rd(e){let r=ye(e),n=new Map,t=r.fields.map(l=>St(l)).filter(l=>l!==null);for(let l of t)n.set(l.key,l);let o=[...n.values()].sort((l,c)=>l.key.localeCompare(c.key)),i=new Map,s=new Map,a=new Map;for(let l of o){i.set(l.key,l),s.set(l.cli_flag,l);for(let c of l.cli_aliases)s.set(c,l);for(let c of l.commands){let d=a.get(c)??[];d.push(l),a.set(c,d)}}for(let[l,c]of a.entries())c.sort((d,u)=>d.key.localeCompare(u.key)),a.set(l,c);return{definitions:o,by_key:i,by_cli_token:s,command_to_fields:a}}function nd(e){return Ls(e.key)}function td(e,r){let n=sa(e,r);return n?r.terminal_statuses.has(n):!1}export{Ee as a,Wr as b,He as c,Gt as d,Xt as e,v as f,Se as g,pa as h,ga as i,ha as j,Zr as k,Qr as l,rn as m,nn as n,tn as o,se as p,on as q,to as r,sn as s,an as t,Ua as u,Wa as v,Xe as w,Je as x,Ja as y,un as z,mn as A,_n as B,ol as C,er as D,So as E,il as F,jo as G,Lo as H,sl as I,al as J,gl as K,hl as L,yl as M,bn as N,wn as O,_l as P,wl as Q,bl as R,vl as S,El as T,ni as U,xl as V,Sl as W,Cl as X,Tl as Y,En as Z,Il as _,Al as $,$l as aa,qe as ba,We as ca,Ke as da,ba as ea,va as fa,Ea as ga,jt as ha,qr as ia,ka as ja,rr as ka,nr as la,tr as ma,or as na,ir as oa,sr as pa,ar as qa,Be as ra,Ia as sa,si as ta,ai as ua,li as va,ci as wa,fi as xa,pi as ya,gi as za,Mi as Aa,Bi as Ba,Yi as Ca,Gi as Da,ts as Ea,Nc as Fa,Fc as Ga,Mc as Ha,_t as Ia,L as Ja,O as Ka,wr as La,ye as Ma,N as Na,Jc as Oa,Zc as Pa,Qc as Qa,ed as Ra,sa as Sa,rd as Ta,nd as Ua,td as Va,Da as Wa,Ye as Xa,Na as Ya,Fa as Za};
4
+ //# sourceMappingURL=chunk-2RI2FESN.js.map
@@ -0,0 +1,8 @@
1
+ import{d as bt,e as L,g as wt,i as N}from"./chunk-HC2OL2H2.js";import{Ya as oe,Z as ie,ka as R,l as re,nb as mt,ob as yt,qb as ce,ta as je,wb as _t}from"./chunk-6XYLENDV.js";import{F as X,L as Y,O as Q,Ra as ee,da as x,ia as Z,p as J,r as Le,s as G,t as q,v as lt}from"./chunk-2RI2FESN.js";import{h as te,j as ne,l as Me,n as A,o as se,p as ft,q as pt,r as ht,s as gt}from"./chunk-EBTNSFYE.js";import{Y as _,Z as b,aa as B,la as Ne}from"./chunk-CP4K4WFS.js";import{constants as U}from"node:fs";import{lstat as vt,mkdir as $e,open as xt}from"node:fs/promises";import T 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]="bb5dfa6f-b60f-55f2-ae17-3dbcaaff1b47")}catch{}})();function Pe(e,t){if(typeof e!="string"||e.trim().length===0)throw new TypeError(`Relationship event ${t} must be non-empty`);return e.trim()}function Fe(e,t){let s=t.require(e.kind),n=s.direction==="undirected"?[e.source,e.target].sort().join("\0"):`${e.source}\0${e.target}`;return`${s.kind}\0${n}`}function In(e){return Object.freeze({...e,...e.payload===void 0?{}:{payload:Object.freeze(structuredClone(e.payload))}})}function Tn(e,t,s,n){let r=s.require(e.kind),i=n.outgoingOne.get(`${r.kind}\0${e.source}`);if(i!==void 0&&i!==t)throw new TypeError(`Relationship outgoing cardinality exceeded for ${r.kind}`);let o=n.incomingOne.get(`${r.kind}\0${e.target}`);if(o!==void 0&&o!==t)throw new TypeError(`Relationship incoming cardinality exceeded for ${r.kind}`);let c=Fe(e,s),a=n.identities.get(c);if(a!==void 0&&a!==t)throw new TypeError(`Relationship edge already active: ${c}`)}function Sn(e){let t=new Map;for(let s of e)s.action==="remove"?t.delete(s.relationshipId):t.set(s.relationshipId,s.edge);return t}function Cn(e,t,s){if(e.expectedVersion!==void 0&&e.expectedVersion!==t)throw new TypeError(`Relationship event version conflict: expected ${e.expectedVersion}, current ${t}`);let n=Pe(e.eventId,"eventId");if(s.has(n))throw new TypeError(`Relationship event already exists: ${n}`);if(e.action!=="add"&&e.action!=="remove"&&e.action!=="supersede")throw new TypeError(`Unknown relationship event action: ${e.action}`);if(!Number.isFinite(Date.parse(e.timestamp)))throw new TypeError("Relationship event timestamp must be valid");return{eventId:n,relationshipId:Pe(e.relationshipId,"relationshipId"),author:Pe(e.author,"author"),timestamp:new Date(e.timestamp).toISOString()}}function Rn(e,t,s,n,r,i){let o=s.has(t);if(e.action==="add"&&o)throw new TypeError(`Relationship is already active: ${t}`);if(e.action!=="add"&&!o)throw new TypeError(`Relationship is not active: ${t}`);if(e.action==="remove")return;if(!e.edge)throw new TypeError(`Relationship ${e.action} event requires an edge`);let c=typeof e.edge.source=="string"?e.edge.source.trim():"",a=typeof e.edge.target=="string"?e.edge.target.trim():"";if(!n.has(c)||!n.has(a))throw new TypeError(`Relationship endpoint not found: ${c} -> ${a}`);let d=new Z([c,a],[e.edge],r).edges()[0];return Tn(d,t,r,i),In(d)}var Ge=class{#e;#n;#s=[];#i=new Set;#t=new Map;#r={identities:new Map,outgoingOne:new Map,incomingOne:new Map};constructor(t,s={}){this.#e=new Set([...t].filter(n=>typeof n=="string").map(n=>n.trim()).filter(Boolean)),this.#n=s.registry??x()}get version(){return this.#s.length}events(){return Object.freeze([...this.#s])}*stream(t={}){let s=t.fromVersion??1,n=t.toVersion??this.version,r=t.batchSize??100;if(!Number.isInteger(s)||s<1)throw new TypeError("Relationship event stream fromVersion must be positive");if(!Number.isInteger(n)||n<0||n>this.version)throw new TypeError(`Relationship event stream toVersion out of range: ${n}`);if(!Number.isInteger(r)||r<1)throw new TypeError("Relationship event stream batchSize must be positive");if(s>n+1)throw new TypeError("Relationship event stream fromVersion exceeds the selected prefix");for(let i=s-1;i<n;i+=r)yield Object.freeze(this.#s.slice(i,Math.min(i+r,n)))}project(t,s,n={}){if(typeof s!="function")throw new TypeError("Relationship event projection requires a reducer");let r=t,i=0,o;for(let c of this.stream({...n,batchSize:256}))for(let a of c)r=s(r,a),i+=1,o=a;return Object.freeze({state:r,version:o?.sequence??Math.max(0,(n.fromVersion??1)-1),processed:i,...o===void 0?{}:{asOf:o.timestamp}})}#o(t,s){let n=this.#n.require(s.kind);this.#r.identities.set(Fe(s,this.#n),t),n.outgoing==="one"&&this.#r.outgoingOne.set(`${n.kind}\0${s.source}`,t),n.incoming==="one"&&this.#r.incomingOne.set(`${n.kind}\0${s.target}`,t)}#c(t){let s=this.#n.require(t.kind);this.#r.identities.delete(Fe(t,this.#n)),s.outgoing==="one"&&this.#r.outgoingOne.delete(`${s.kind}\0${t.source}`),s.incoming==="one"&&this.#r.incomingOne.delete(`${s.kind}\0${t.target}`)}append(t){let s=Cn(t,this.version,this.#i),n=this.#t.get(s.relationshipId),r=Rn(t,s.relationshipId,this.#t,this.#e,this.#n,this.#r),i=Object.freeze({eventId:s.eventId,relationshipId:s.relationshipId,action:t.action,...r===void 0?{}:{edge:r},author:s.author,timestamp:s.timestamp,...t.reason?.trim()?{reason:t.reason.trim()}:{},sequence:this.version+1});return this.#s.push(i),this.#i.add(s.eventId),n&&this.#c(n),t.action==="remove"?this.#t.delete(s.relationshipId):(this.#t.set(s.relationshipId,r),this.#o(s.relationshipId,r)),i}snapshot(t={}){if(t.atVersion!==void 0&&t.atTimestamp!==void 0)throw new TypeError("Relationship snapshot accepts one target");let s;if(t.atTimestamp!==void 0){let i=Date.parse(t.atTimestamp);if(!Number.isFinite(i))throw new TypeError("Relationship snapshot timestamp must be valid");s=this.#s.filter(o=>Date.parse(o.timestamp)<=i)}else{let i=t.atVersion??this.version;if(!Number.isInteger(i)||i<0||i>this.version)throw new TypeError(`Relationship snapshot version out of range: ${i}`);s=this.#s.slice(0,i)}let n=Sn(s),r=new Z(this.#e,n.values(),this.#n);return Object.freeze({version:s.at(-1)?.sequence??0,...s.at(-1)?{asOf:s.at(-1).timestamp}:{},edges:r.edges(),graph:r})}page(t){if(!Number.isInteger(t.limit)||t.limit<1)throw new TypeError("Relationship event page limit must be positive");let s=A("relationship-events",{order:"append-sequence"}),n=t.cursor===void 0?this.version:Number(ft(t.cursor,s).snapshot);if(!Number.isSafeInteger(n)||n<0||n>this.version)throw new TypeError("Relationship event cursor snapshot version is invalid");let r=gt(this.#s.slice(0,n),{cursor:t.cursor,fingerprint:s,limit:t.limit,readId:i=>i.eventId,snapshot:String(n)});return{version:n,events:r.rows,hasMore:r.has_more,...r.next_cursor?{nextCursor:r.next_cursor}:{}}}},Dn="relationship-event-store",Et=U.O_NOFOLLOW;function ae(e){return ie(e,Dn,30,`relationship-store:${process.pid}`,!1,!1,3e3)}async function D(e,t="relationships/events.jsonl"){let s=T.resolve(e),n=T.resolve(s,t),r=T.relative(s,n);if(r.length===0)throw new TypeError("Relationship event path must name a file within the tracker root");if(r===".."||r.startsWith(`..${T.sep}`)||T.isAbsolute(r))throw new TypeError("Relationship event path must stay within the tracker root");if(await $e(s,{recursive:!0}),(await vt(s)).isSymbolicLink())throw new TypeError("Relationship event tracker root must not be a symbolic link");let o=s;for(let c of r.split(T.sep)){o=T.join(o,c);try{if((await vt(o)).isSymbolicLink())throw new TypeError("Relationship event path must not contain symbolic links")}catch(a){if(Le(a))break;throw a}}return n}async function de(e,t,s){let n=new Ge(t,{registry:s}),r,i;try{i=await xt(e,U.O_RDONLY|Et),r=await i.readFile("utf8")}catch(c){if(Le(c))return{log:n,raw:""};throw c}finally{await i?.close()}let o=r.split(`
2
+ `);for(let c=0;c<o.length;c+=1){let a=o[c].trim();if(!a)continue;let d;try{d=JSON.parse(a)}catch{throw new TypeError(`Invalid relationship event JSONL at line ${c+1}`)}if(d.sequence!==n.version+1)throw new TypeError(`Invalid relationship event sequence at line ${c+1}`);n.append({eventId:d.eventId,relationshipId:d.relationshipId,action:d.action,...d.edge===void 0?{}:{edge:d.edge},author:d.author,timestamp:d.timestamp,...d.reason===void 0?{}:{reason:d.reason},expectedVersion:n.version})}return{log:n,raw:r}}function On(e,t,s,n){let r=Date.parse(t.timestamp),i;return t.action!=="remove"&&t.edge!==void 0&&(i=new Z(s,[t.edge],n).edges()[0]),e.eventId===t.eventId.trim()&&e.relationshipId===t.relationshipId.trim()&&e.action===t.action&&e.author===t.author.trim()&&Number.isFinite(r)&&e.timestamp===new Date(r).toISOString()&&e.reason===(t.reason?.trim()||void 0)&&B(e.edge)===B(i)}var kt=class e{#e;#n;#s;#i;#t;constructor(t,s,n,r){this.#e=t.pmRoot,this.#n=s,this.#s=t.registry,this.#i=n,this.#t=r}static async open(t){let s=Object.freeze([...t.nodes]),n=await D(t.pmRoot,t.relativePath),r=await ae(t.pmRoot);try{await D(t.pmRoot,n);let{log:i}=await de(n,s,t.registry);return new e(t,s,n,i)}finally{await r()}}get path(){return this.#i}async currentVersion(){return this.#t=await this.#r(),this.#t.version}async append(t){let s=await ae(this.#e);try{let n=await D(this.#e,this.#i),{log:r}=await de(n,this.#n,this.#s),i=r.append(t);await $e(T.dirname(n),{recursive:!0}),await D(this.#e,n);let o=await xt(n,U.O_APPEND|U.O_CREAT|U.O_WRONLY|Et);try{await o.appendFile(`${JSON.stringify(i)}
3
+ `,"utf8")}finally{await o.close()}return this.#t=r,i}finally{await s()}}async appendBatch(t,s={}){let n=await ae(this.#e);try{let r=await D(this.#e,this.#i),{log:i,raw:o}=await de(r,this.#n,this.#s),c=i.version,a=new Map(i.events().map(f=>[f.eventId,f])),d=[],u=[];for(let f of t){let l=f.eventId.trim(),p=a.get(l);if(p!==void 0){if(s.existingEventPolicy==="skip_identical"&&On(p,f,this.#n,this.#s)){u.push(p.eventId);continue}if(s.existingEventPolicy==="skip_identical")throw new TypeError(`Relationship event id collision with different content: ${l}`)}let h=i.append(f);a.set(h.eventId,h),d.push(h)}if(d.length>0){let f=o.length===0||o.endsWith(`
4
+ `)?o:`${o}
5
+ `;await $e(T.dirname(r),{recursive:!0}),await D(this.#e,r),await q(r,`${f}${d.map(l=>JSON.stringify(l)).join(`
6
+ `)}
7
+ `)}return this.#t=i,Object.freeze({version_before:c,version_after:i.version,appended:Object.freeze(d),skipped_event_ids:Object.freeze(u)})}finally{await n()}}async snapshot(t={}){return this.#t=await this.#r(),this.#t.snapshot(t)}async page(t){return this.#t=await this.#r(),this.#t.page(t)}async*stream(t={}){this.#t=await this.#r(),yield*this.#t.stream(t)}async project(t,s,n={}){return this.#t=await this.#r(),this.#t.project(t,s,n)}async#r(){let t=await ae(this.#e);try{let s=await D(this.#e,this.#i);return(await de(s,this.#n,this.#s)).log}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]="3a33af50-3d2c-57bb-884a-4d5394599ba2")}catch{}})();function An(e,t,s,n,r,i){if(e.seen.has(t))return"skip";if(e.cursorFound&&e.affected.length>=i)return"truncate";e.seen.add(t),e.parents.set(t,s.id);let o=s.depth+1;return e.queue.push({id:t,depth:o}),e.cursorFound?(e.affected.push({id:t,distance:o,path:Gn(n,t,e.parents)}),"continue"):(e.cursorFound=t===r,"skip")}function Ln(e,t,s,n){let r=A("graph impact",{root:e,direction:s,kinds:[...t.kinds??[]].sort(),max_depth:Number.isFinite(n)?n:"unbounded"});return{fingerprint:r,after:t.after===void 0?void 0:pt(t.after,r)}}function z(e,t,s){e.get(t).add(s)}function le(e){return new Map(e.map(t=>[t,new Set]))}function Tt(e){for(let t of e)t.sort();return e.sort((t,s)=>s.length-t.length||t[0].localeCompare(s[0]))}function ue(e){if(Array.isArray(e))return e.map(s=>ue(s));if(e===null||typeof e!="object")return e;let t=e.toJSON;return typeof t=="function"?ue(t.call(e)):Object.fromEntries(Object.entries(e).sort(([s],[n])=>s.localeCompare(n)).map(([s,n])=>[s,ue(n)]))}function It(e){return JSON.stringify(ue(e))}function Nn(e,t,s,n){let r=[{id:e,expanded:!1}];for(;r.length>0;){let i=r.pop();if(i.expanded){n.push(i.id);continue}if(s.has(i.id))continue;s.add(i.id),r.push({id:i.id,expanded:!0});let o=[...t.get(i.id)].sort().reverse();for(let c of o)s.has(c)||r.push({id:c,expanded:!1})}}function Mn(e,t){let s=new Set,n=[];for(let r of e)s.has(r)||Nn(r,t,s,n);return n}function jn(e,t){let s=new Set,n=[];for(let r of[...e].reverse()){if(s.has(r))continue;let i=[],o=[r];for(s.add(r);o.length>0;){let c=o.pop();i.push(c);for(let a of t.get(c))s.has(a)||(s.add(a),o.push(a))}n.push(i)}return Tt(n)}function St(e,t){let s=le(e);for(let[n,r]of t)for(let i of r)z(s,i,n);return jn(Mn(e,t),s)}function Pn(e,t){let s=le(e.nodes());for(let n of e.edges()){let r=t.require(n.kind);if(!r.ordering)continue;let i=(r.precedence??"source_before_target")==="source_before_target";z(s,i?n.source:n.target,i?n.target:n.source)}return s}function $n(e,t){let s=new Map(e.map(i=>[i,0]));for(let i of t.values())for(let o of i)s.set(o,s.get(o)+1);let n=e.filter(i=>s.get(i)===0).sort(),r=[];for(;n.length>0;){r.push(n);let i=[];for(let o of n)for(let c of t.get(o)){let a=s.get(c)-1;s.set(c,a),a===0&&i.push(c)}n=i.sort()}return r}function Fn(e,t){let s=new Map(e.map(o=>[o,0])),n=new Map;for(let o of e)for(let c of t.get(o)){if(!s.has(c))continue;let a=s.get(o)+1,d=n.get(c);(a>s.get(c)||a===s.get(c)&&(d===void 0||o.localeCompare(d)<0))&&(s.set(c,a),n.set(c,o))}let r=[...e].sort((o,c)=>s.get(c)-s.get(o)||o.localeCompare(c))[0],i=r===void 0?[]:[r];for(;i[0]!==void 0&&n.has(i[0]);)i.unshift(n.get(i[0]));return{depth:Object.fromEntries(s),path:i}}function Gn(e,t,s){let n=[t],r=t;for(;r!==e;)r=s.get(r),n.push(r);return n.reverse()}function fe(e,t={}){let s=t.registry??x(),n=[...e.nodes()],r=Pn(e,s),i=$n(n,r),o=i.flat(),c=o.length===n.length,a=c?[]:St(n,r).filter(u=>u.length>1||r.get(u[0]).has(u[0])),d=Fn(o,r);return{exact:!0,acyclic:c,order:o,layers:i,frontier:i[0]??[],depth:d.depth,criticalPath:d.path,criticalPathLength:Math.max(0,d.path.length-1),cycles:a,provenance:{algorithm:"kahn-longest-path",edgeFamily:"ordering"}}}function Ct(e,t,s={}){let n=s.direction??"outgoing",r=s.maxDepth??Number.POSITIVE_INFINITY,i=s.limit??Number.POSITIVE_INFINITY,{fingerprint:o,after:c}=Ln(t,s,n,r),a={queue:[{id:t,depth:0}],seen:new Set([t]),parents:new Map,affected:[],cursorFound:c===void 0||c===t},d=0,u=0,f=!1,l=!1;e:for(let p=0;p<a.queue.length;p+=1){s.signal?.throwIfAborted();let h=a.queue[p];d+=1;let g=e.adjacency(h.id,{direction:n,kinds:s.kinds,signal:s.signal});if(u+=g.meta.inspectedEdges,h.depth>=r){g.value.some(m=>!a.seen.has(m))&&(f=!0);continue}for(let m of g.value)if(An(a,m,h,t,c,i)==="truncate"){f=!0,l=!0;break e}}if(!a.cursorFound)throw new TypeError(`Unknown impact cursor item: ${c}`);return{root:t,affected:a.affected,exact:!0,truncated:f,...l?{nextCursor:se(o,a.affected.at(-1)?.id??t)}:{},cost:{visitedNodes:d,inspectedEdges:u}}}function Rt(e){let t=[...e.nodes()],s=le(t),n=le(t);for(let a of e.edges())z(s,a.source,a.target),z(s,a.target,a.source),z(n,a.source,a.target);let r=[],i=new Set;for(let a of t){if(i.has(a))continue;let d=[],u=[a];for(i.add(a);u.length>0;){let f=u.pop();d.push(f);for(let l of s.get(f))i.has(l)||(i.add(l),u.push(l))}r.push(d)}let o=t.map(a=>({id:a,degree:s.get(a).size})),c=Math.max(0,...o.map(({degree:a})=>a));return{components:Tt(r),stronglyConnected:St(t,n),orphans:o.filter(({degree:a})=>a===0).map(({id:a})=>a),hubs:o.filter(({degree:a})=>a>0&&a===c),exact:!0,provenance:{algorithm:"component-degree",edgeFamily:"all"}}}function yi(e,t){let s=new Map(e.edges.map(r=>[It(r),r])),n=new Map(t.edges.map(r=>[It(r),r]));return{fromVersion:e.version,toVersion:t.version,added:[...n].filter(([r])=>!s.has(r)).map(([,r])=>r),removed:[...s].filter(([r])=>!n.has(r)).map(([,r])=>r),unchangedCount:[...s.keys()].filter(r=>n.has(r)).length,exact:!0}}import{createHash as qn}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]="dea35fb9-9f9f-56ce-afc0-f4dc993012c3")}catch{}})();var Bn=64,Un=8;function zn(e,t){let s=(e.dependencies??[]).map(n=>{if(typeof n!="object"||n===null)return"";let r=n;return`${typeof r.kind=="string"?r.kind:"related"}:${typeof r.id=="string"?r.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??"",s].join("\0")}function pe(e,t=n=>n==="closed"||n==="canceled",s=x()){let n=e.filter(i=>typeof i?.id=="string"&&i.id.trim().length>0).map(i=>zn(i,t)).sort(),r=s.list().map(i=>B(i)).sort();return qn("sha256").update(n.join("")).update("").update(r.join("")).digest("hex")}function Dt(e,t,s){let n=t??s;if(!Number.isInteger(n)||n<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return n}var qe=class{#e=new Map;#n;#s;constructor(t={}){this.#n=Dt("maxResultsPerWorkspace",t.maxResultsPerWorkspace,Bn),this.#s=Dt("maxWorkspaces",t.maxWorkspaces,Un)}lookup(t,s,n){let r=this.#e.get(t),i=!0;(r===void 0||r.fingerprint!==s)&&(r={fingerprint:s,assembly:n(),results:new Map},i=!1,!this.#e.has(t)&&this.#e.size>=this.#s&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,r);let o=r,c=this.#n;return{assembly:o.assembly,assemblyReused:i,fingerprint:s,memoize(a,d){let u=o.results.get(a);if(u!==void 0||o.results.has(a))return o.results.delete(a),o.results.set(a,u),{value:structuredClone(u),reused:!0};let f=d();return o.results.size>=c&&o.results.delete(o.results.keys().next().value),o.results.set(a,structuredClone(f)),{value:f,reused:!1}}}}clear(){this.#e.clear()}},Ot=new qe;function he(){return Ot}function ki(){Ot.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]="31a800f7-1374-5e7c-ad23-ae3d8ebcebe0")}catch{}})();var Kn=["prerequisite","dependent","ancestor","descendant","provenance","related"],Wn=new TextEncoder;function Be(e,t,s){let n=e??t;if(!Number.isInteger(n)||n<1)throw new TypeError(`Relationship context ${s} must be positive`);return n}function ge(e){return Math.max(1,Math.ceil(Wn.encode(JSON.stringify(e)).byteLength/4))}function Ue(e,t,s){let n=s.resolve(e.kind);if(n?.ordering){let i=(n.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===i?"prerequisite":"dependent"}if(n?.hierarchy){let i=(n.hierarchyDirection??"source_parent")==="source_parent"?e.source:e.target;return t===i?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function Vn(e,t,s,n){let r=e.filter(i=>i.source===t&&i.target===s||i.target===t&&i.source===s).map(i=>Ue(i,s,n));return[...new Set(r)].sort()}function Hn(e){return Kn.find(t=>e.includes(t))}function Jn(e,t,s,n){let r=n.direction??"both",i=n.maxDepth??3;if(!Number.isInteger(i)||i<0)throw new TypeError("Relationship context maxDepth must be non-negative");let o=new Set([t]),c=[{id:t,distance:0}],a=[],d=0,u=!1;for(let f=0;f<c.length;f+=1){n.signal?.throwIfAborted();let l=c[f];if(l.distance>=i&&u)continue;let p=e.neighborEdges(l.id,{direction:r,kinds:n.kinds,signal:n.signal});if(d+=p.meta.inspectedEdges,l.distance>=i){p.value.some(h=>!o.has(h.id))&&(u=!0);continue}for(let{id:h,edge:g}of p.value){if(o.has(h))continue;o.add(h);let m={id:h,distance:l.distance+1,via:l.id,role:Ue(g,h,s)};a.push(m),c.push(m)}}return a.sort((f,l)=>f.distance-l.distance||f.id.localeCompare(l.id)),{rows:a,visitedNodes:c.length,inspectedEdges:d,depthTruncated:u}}function Xn(e,t,s,n){let r={prerequisite:0,dependent:0,ancestor:0,descendant:0,provenance:0,related:0},i=e.neighborEdges(t,{direction:n.direction??"both",kinds:n.kinds,signal:n.signal}).value;for(let{id:o,edge:c}of i)r[Ue(c,o,s)]+=1;return{directEdges:r,directTotal:i.length,rootEdges:i.map(({edge:o})=>o)}}function Yn(e){let t=[],s=e.initialTokens;for(let n of e.candidates){if(t.length>=e.nodeLimit)break;let r=n.distance===1?Vn(e.rootEdges,e.rootId,n.id,e.registry):[],i={...e.details.get(n.id)??{id:n.id},distance:n.distance,role:r.length>0?Hn(r):n.role,via:n.via,reasons:r.length>0?r:[`${n.role} via ${n.via} (depth ${n.distance})`]},o=ge(i);if(s+o>e.tokenBudget)break;t.push(i),s+=o}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:s}}function Qn(e){let t=e.options.kinds?new Set(e.options.kinds.map(i=>e.registry.require(i).kind)):void 0,s=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 o=e.registry.resolve(i.kind)?.inverse;return o!==void 0&&t.has(o)}),n=[],r=e.initialTokens;for(let i of s){if(n.length>=e.edgeLimit)break;let o=ge(i);if(r+o>e.tokenBudget)break;n.push(i),r+=o}return{edges:n,usedTokens:r,candidateCount:s.length}}function At(e,t,s,n={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let r=Be(n.nodeLimit,20,"nodeLimit"),i=Be(n.edgeLimit,40,"edgeLimit"),o=Be(n.tokenBudget,1200,"tokenBudget"),c=n.registry??x(),a=new Map(s.map(O=>[O.id,O])),d=a.get(t)??{id:t},{evidence:u=[],...f}=d,l=[...u],p=Jn(e,t,c,n),{rootEdges:h,...g}=Xn(e,t,c,n),m=A("relationship-context",{rootId:t,direction:n.direction??"both",kinds:[...n.kinds??[]].sort(),maxDepth:n.maxDepth??3}),y=ht(p.rows,n.cursor,m,({id:O})=>O),w=p.rows.slice(y),v=ge(f)+ge(l);if(v>o)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let C=Yn({candidates:w,details:a,rootEdges:h,rootId:t,registry:c,nodeLimit:r,tokenBudget:o,initialTokens:v}),{nodes:k}=C,V=new Set([t,...k.map(({id:O})=>O)]),$=Qn({graph:e,included:V,options:n,registry:c,edgeLimit:i,tokenBudget:o,initialTokens:C.usedTokens}),{edges:F,usedTokens:xn}=$,H=y+k.length,Oe=H<p.rows.length,dt=k.at(-1),Ae=$.candidateCount-F.length,ut=p.depthTruncated||Oe||Ae>0,En={rootId:t,...f.status===void 0?{}:{rootStatus:f.status},...g,discoveredNodes:p.rows.length,returnedNodes:k.length,returnedEdges:F.length,omittedNodes:p.rows.length-H,omittedEdges:Ae,evidenceCount:l.length,hasMore:Oe};return{root:f,summary:En,nodes:k,edges:F,evidence:l,meta:{exact:!0,truncated:ut,completeness:ut?"truncated":"complete",nodeLimit:r,edgeLimit:i,tokenBudget:o,usedTokens:xn,visitedNodes:p.visitedNodes,inspectedEdges:p.inspectedEdges,omittedNodes:p.rows.length-H,omittedEdges:Ae,...Oe&&dt?{nextCursor:se(m,dt.id,H-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]="c0fb747e-1f9f-55c4-808b-b77d3a881f87")}catch{}})();var Zn=5,es=1e4,ts=8;function ze(e,t){if(!Number.isFinite(t)||!Number.isInteger(t)||t<0)throw new TypeError(`Invalid path ${e} bound: ${String(t)}`)}function me(e,t){return t.hierarchyDirection==="target_parent"?e.target:e.source}function K(e,t){return(t.precedence??"source_before_target")==="target_before_source"?e.target:e.source}function ye(e,t){let s=K(e,t);return{predecessor:s,successor:s===e.source?e.target:e.source}}function ns(e,t,s){if(t===void 0)return;let n=e.registry(),r=new Set;for(let i of t){let o=n.require(i);if(!o[s])throw new TypeError(`Relationship kind ${o.kind} is not a ${s} kind`);r.add(o.kind)}return r}function ss(e,t,s,n,r){let i=e.registry(),o=e.neighborEdges(t,{direction:"both",...s===void 0?{}:{kinds:[...s]}}),c=[],a=new Set;for(let d of o.value){let u=i.require(d.edge.kind);u[n]&&r(d,u,t)&&(a.has(d.id)||(a.add(d.id),c.push(d.id)))}return{neighbors:c,inspectedEdges:o.meta.inspectedEdges}}function rs(e,t,s,n,r,i){if(t>=s)return e.neighbors.some(o=>!i.seen.has(o))&&(i.truncated=!0),!1;for(let o of e.neighbors)if(!i.seen.has(o)){if(i.seen.add(o),i.queue.push({id:o,depth:t+1}),!i.resumed){o===r&&(i.resumed=!0);continue}if(i.value.length>=n)return i.truncated=!0,!0;i.value.push(o)}return!1}function _e(e,t,s,n,r){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`);let i=ns(e,s.kinds,n),o=s.limit??Number.POSITIVE_INFINITY,c=s.maxDepth??Number.POSITIVE_INFINITY,a=s.after,d={seen:new Set([t]),value:[],queue:[{id:t,depth:0}],resumed:a===void 0,truncated:!1},u=0,f=0;for(let l=0;l<d.queue.length;l+=1){s.signal?.throwIfAborted();let p=d.queue[l];u+=1;let h=ss(e,p.id,i,n,r);if(f+=h.inspectedEdges,rs(h,p.depth,c,o,a,d))break}if(!d.resumed)throw new TypeError(`Traversal cursor not found in sequence: ${a}`);return{value:d.value,meta:{visitedNodes:u,inspectedEdges:f,truncated:d.truncated,nextCursor:d.value.at(-1)}}}function Lt(e,t){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`)}function Nt(e,t,s,n,r){let i=e.neighborEdges(t.nodes.at(-1),{direction:n,...s.kinds===void 0?{}:{kinds:s.kinds}});return r.inspectedEdges+=i.meta.inspectedEdges,i.value.filter(o=>!t.nodeSet.has(o.id))}function is(e,t,s,n,r,i,o){for(let c of Nt(e,t,n,r,o)){let a=[...t.nodes,c.id],d=new Set(t.nodeSet).add(c.id),u=[...t.edges,c.edge];if(c.id===s){if(o.value.push({nodes:a,edges:u,length:u.length}),o.value.length>=i)return!0}else o.queue.push({nodes:a,nodeSet:d,edges:u})}return!1}function Mt(e,t,s={}){return _e(e,t,s,"hierarchy",(n,r)=>me(n.edge,r)===n.id)}function jt(e,t,s={}){return _e(e,t,s,"hierarchy",(n,r,i)=>me(n.edge,r)===i)}function Pt(e,t,s={}){return _e(e,t,s,"ordering",(n,r)=>K(n.edge,r)===n.id)}function $t(e,t,s={}){return _e(e,t,s,"ordering",(n,r,i)=>K(n.edge,r)===i)}function os(e,t,s,n,r,i,o,c){let a={value:[],queue:[{nodes:[t],nodeSet:new Set([t]),edges:[]}],inspectedEdges:0},d=0,u=!1,f=r+1;for(let l=0;l<a.queue.length;l+=1){if(n.signal?.throwIfAborted(),a.value.length>=f||d>=i){u=!0;break}let p=a.queue[l];if(d+=1,p.edges.length>=o){Nt(e,p,n,c,a).length>0&&(u=!0);continue}if(is(e,p,s,n,c,f,a)){u=!0;break}}return{value:a.value.slice(0,r),meta:{visitedNodes:d,inspectedEdges:a.inspectedEdges,truncated:u}}}function Ft(e,t,s,n={}){Lt(e,t),Lt(e,s);let r=n.maxPaths??Zn,i=n.maxVisitedPaths??es,o=n.maxDepth??ts;ze("maxPaths",r),ze("maxVisitedPaths",i),ze("maxDepth",o);let c=n.direction??"outgoing";n.signal?.throwIfAborted();for(let a of n.kinds??[])e.registry().require(a);return t===s?r===0?{value:[],meta:{visitedNodes:1,inspectedEdges:0,truncated:!0}}:{value:[{nodes:[t],edges:[],length:0}],meta:{visitedNodes:1,inspectedEdges:0,truncated:!1}}:os(e,t,s,n,r,i,o,c)}(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]="24898402-1568-5b05-9072-f89dd91f25a6")}catch{}})();var cs=16,as=2,ds=8;function be(e,t){if(!Number.isInteger(t)||t<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`)}function we(e,t,s){let n=e.registry(),r=t===void 0?void 0:new Set(t.map(i=>n.require(i).kind));for(let i of e.edges()){if(i.source===i.target)continue;let o=n.require(i.kind);r!==void 0&&!(r.has(o.kind)||o.inverse!==void 0&&r.has(o.inverse))||s(i,o)}}function us(e,t){let s=new Map;we(e,t,n=>{Gt(s,n.source,n.target),Gt(s,n.target,n.source)});for(let n of s.values())n.sort();return s}function Gt(e,t,s){let n=e.get(t);n===void 0?e.set(t,[s]):n.push(s)}function ls(e,t){let s=new Map;for(let i of e){let o=t.get(i);s.set(o,(s.get(o)??0)+1)}let n,r=0;for(let[i,o]of s)(o>r||o===r&&i<n)&&(n=i,r=o);return n}function fs(e,t){let s=new Map;for(let[r,i]of e){let o=s.get(i);o===void 0?s.set(i,[r]):o.push(r)}let n=[];for(let r of s.values())r.length<t||(r.sort(),n.push({representative:r[0],size:r.length,members:r}));return n.sort((r,i)=>i.size-r.size||r.representative.localeCompare(i.representative))}function qt(e,t={}){let s=t.maxIterations??cs,n=t.minSize??as;be("maxIterations",s),be("minSize",n);let r=us(e,t.kinds),i=e.nodes(),o=new Map(i.map(f=>[f,f])),c=0,a=!1,d=0,u=0;for(;c<s&&!a;){t.signal?.throwIfAborted(),c+=1,a=!0;for(let f of i){d+=1;let l=r.get(f);if(l===void 0)continue;u+=l.length;let p=ls(l,o);p!==o.get(f)&&(o.set(f,p),a=!1)}}return{value:{communities:fs(o,n),iterations:c,converged:a},meta:{visitedNodes:d,inspectedEdges:u,truncated:!a}}}function ve(e){return e.direction==="directed"&&(e.ordering||e.hierarchy)}function ke(e){return e.inverse!==void 0&&e.inverse<e.kind?e.inverse:e.kind}function xe(e,t){return(t.hierarchy?me(e,t):e.source===K(e,t)?e.target:e.source)===e.target?{from:e.source,to:e.target}:{from:e.target,to:e.source}}function ps(e,t){if(t===void 0)return;let s=e.registry(),n=new Set;for(let r of t){let i=s.require(r);if(!ve(i))throw new TypeError(`Relationship kind ${i.kind} is not a directed ordering or hierarchy kind`);n.add(ke(i))}return n}function hs(e,t){let s=e.registry(),n=new Map;for(let r of e.edges()){let i=s.require(r.kind);if(!ve(i))continue;let o=ke(i);if(t!==void 0&&!t.has(o))continue;let c=xe(r,i);if(c.from===c.to)continue;let a=n.get(o);a===void 0&&(a={adjacency:new Map,records:[]},n.set(o,a));let d=a.adjacency.get(c.from);d===void 0?a.adjacency.set(c.from,new Set([c.to])):d.add(c.to),a.records.push({...c,edge:r})}return n}function gs(e){let t=new Map;for(let[s,n]of e.adjacency)t.set(s,[...n].sort());return t}function ms(e,t,s,n){let r=[n];for(let i=s;i!==t;i=e.get(i))r.push(i);return r.push(t),r.reverse()}function ys(e,t,s,n,r,i){for(let o of e.get(s.id)??[])if(i.inspectedEdges+=1,!(s.depth===0&&o===t.to)&&!n.has(o)){if(n.set(o,s.id),o===t.to)return ms(n,t.from,s.id,o);r.push({id:o,depth:s.depth+1})}}function _s(e,t,s,n){let r=new Map([[t.from,t.from]]),i=[{id:t.from,depth:0}];for(let o=0;o<i.length;o+=1){let c=i[o];if(n.visitedNodes+=1,c.depth>=s)continue;let a=ys(e,t,c,r,i,n);if(a!==void 0)return a}}function Ee(e,t={}){let s=t.maxDepth??ds;be("maxDepth",s),t.limit!==void 0&&be("limit",t.limit);let n=t.limit??Number.POSITIVE_INFINITY,r=ps(e,t.kinds),i=hs(e,r),o=[],c={visitedNodes:0,inspectedEdges:0},a=!1;e:for(let d of[...i.keys()].sort()){let u=i.get(d),f=gs(u);for(let l of u.records){t.signal?.throwIfAborted();let p=_s(f,l,s,c);if(p!==void 0){if(o.length>=n){a=!0;break e}o.push({edge:l.edge,witness:p})}}}return{value:o,meta:{visitedNodes:c.visitedNodes,inspectedEdges:c.inspectedEdges,truncated:a}}}function bs(e,t,s,n,r){let i=new Set,o=[];for(let c of s){if(c.id===e||i.has(c.id))continue;if(!r.seen.has(c.id)){if(t>=n){r.truncated=!0;continue}r.seen.add(c.id),r.queue.push({id:c.id,depth:t+1})}i.add(c.id),o.push(c.id);let a=r.predecessors.get(c.id);a===void 0&&(a=new Set,r.predecessors.set(c.id,a)),a.add(e)}return o}function ws(e,t,s){let n=s.direction??"outgoing",r=s.maxDepth??Number.POSITIVE_INFINITY,i=[],o=new Map,c={seen:new Set([t]),queue:[{id:t,depth:0}],predecessors:new Map,truncated:!1},a=0;for(let d=0;d<c.queue.length;d+=1){s.signal?.throwIfAborted();let{id:u,depth:f}=c.queue[d];i.push(u);let l=e.neighborEdges(u,{direction:n,...s.kinds===void 0?{}:{kinds:s.kinds}});a+=l.meta.inspectedEdges,o.set(u,bs(u,f,l.value,r,c))}return{order:i,successors:o,predecessors:c.predecessors,inspectedEdges:a,truncated:c.truncated}}function vs(e,t){let s=[],n=new Set([t]),r=[{id:t,index:0}];for(;r.length>0;){let i=r.at(-1),o=e.successors.get(i.id);if(i.index<o.length){let c=o[i.index];i.index+=1,n.has(c)||(n.add(c),r.push({id:c,index:0}))}else s.push(i.id),r.pop()}return s.reverse()}function ks(e,t,s,n){let r=e,i=t;for(;r!==i;){for(;n.get(r)>n.get(i);)r=s.get(r);for(;n.get(i)>n.get(r);)i=s.get(i)}return r}function xs(e,t,s){let n;for(let r of[...e].sort())t.has(r)&&(n=n===void 0?r:ks(n,r,t,s));return n}function Es(e,t,s,n,r){let i=new Map([[t,t]]),o=!0;for(;o;){o=!1;for(let c of s){if(r?.throwIfAborted(),c===t)continue;let a=xs(e.predecessors.get(c),i,n);a!==void 0&&i.get(c)!==a&&(i.set(c,a),o=!0)}}return i}function Bt(e,t,s={}){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`);if(s.maxDepth!==void 0&&(!Number.isInteger(s.maxDepth)||s.maxDepth<0))throw new TypeError(`Invalid maxDepth bound: ${String(s.maxDepth)}`);let n=ws(e,t,s),r=vs(n,t),i=new Map(r.map((d,u)=>[d,u])),o=Es(n,t,r,i,s.signal),c=new Map(r.map(d=>[d,1]));for(let d=r.length-1;d>=0;d-=1){let u=r[d];if(u===t)continue;let f=o.get(u);c.set(f,c.get(f)+c.get(u))}let a=r.filter(d=>d!==t).map(d=>({id:d,idom:o.get(d),dominatedCount:c.get(d)-1})).sort((d,u)=>u.dominatedCount-d.dominatedCount||d.id.localeCompare(u.id));return{value:{root:t,reachableCount:n.order.length,rows:a},meta:{visitedNodes:n.order.length,inspectedEdges:n.inspectedEdges,truncated:n.truncated}}}(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]="348c9246-2fb9-529e-b627-f60c901a6cf2")}catch{}})();function Ut(e){return Math.round(e*1e6)/1e6}function zt(e,t,s){let n=e.get(t);n===void 0?e.set(t,new Set([s])):n.add(s)}function Kt(e,t){let s=new Map(e.nodes().map(r=>[r,new Set]));we(e,t,r=>{s.get(r.source).add(r.target),s.get(r.target).add(r.source)});let n=new Map;for(let[r,i]of s)n.set(r,[...i].sort());return n}function Is(e,t){let s=new Map,n=new Map;return we(e,t,(r,i)=>{if(!i.ordering)return;let{predecessor:o,successor:c}=ye(r,i);zt(n,o,c),zt(s,c,o)}),{incoming:s,outgoing:n}}function Ts(e,t,s){let n=new Map([[e,0]]),r=new Map([[e,1]]),i=new Map,o=[],c=[e],a=0,d=0;for(let u=0;u<c.length;u+=1){let f=c[u];s.visitedNodes+=1,o.push(f);let l=n.get(f);f!==e&&(a+=1,d+=l);for(let p of t.get(f))if(s.inspectedEdges+=1,n.has(p)||(n.set(p,l+1),c.push(p)),n.get(p)===l+1){r.set(p,(r.get(p)??0)+r.get(f));let h=i.get(p);h===void 0?i.set(p,[f]):h.push(f)}}return{stack:o,sigma:r,predecessors:i,reachableCount:a,distanceSum:d}}function Ss(e,t,s){let n=new Map;for(let r=e.stack.length-1;r>=0;r-=1){let i=e.stack[r],o=(1+(n.get(i)??0))/e.sigma.get(i);for(let c of e.predecessors.get(i)??[])n.set(c,(n.get(c)??0)+e.sigma.get(c)*o);i!==t&&s.set(i,(s.get(i)??0)+(n.get(i)??0))}}function Cs(e,t){return t<=1||e.reachableCount===0?0:e.reachableCount/(t-1)*(e.reachableCount/e.distanceSum)}function Rs(e,t,s,n,r){return{id:e,degree:t.get(e).length,inDegree:s.incoming.get(e)?.size??0,outDegree:s.outgoing.get(e)?.size??0,betweenness:Ut((n.get(e)??0)/2),closeness:Ut(r.get(e))}}function Wt(e,t={}){let s=Kt(e,t.kinds),n=Is(e,t.kinds),r=e.nodes(),i=new Map,o=new Map,c={visitedNodes:0,inspectedEdges:0};for(let u of r){t.signal?.throwIfAborted();let f=Ts(u,s,c);o.set(u,Cs(f,r.length)),Ss(f,u,i)}let a=0;for(let u of s.values())a+=u.length;let d=r.map(u=>Rs(u,s,n,i,o)).sort((u,f)=>f.betweenness-u.betweenness||f.degree-u.degree||u.id.localeCompare(f.id));return{value:{nodeCount:r.length,edgeCount:a/2,rows:d},meta:{visitedNodes:c.visitedNodes,inspectedEdges:c.inspectedEdges,truncated:!1}}}function Ds(e,t){return e<=t?{source:e,target:t}:{source:t,target:e}}function Os(e,t,s){let r=t.get(e.node)[e.neighborIndex];if(e.neighborIndex+=1,s.inspectedEdges+=1,r!==e.parent){if(s.discovery.has(r)){s.low.set(e.node,Math.min(s.low.get(e.node),s.discovery.get(r)));return}return e.children+=1,s.discovery.set(r,s.timer),s.low.set(r,s.timer),s.timer+=1,{node:r,parent:e.node,neighborIndex:0,children:0}}}function As(e,t,s){if(e.parent===null){e.children>1&&s.articulation.add(e.node);return}let n=e.parent,r=s.low.get(e.node);s.low.set(n,Math.min(s.low.get(n),r)),n!==t&&r>=s.discovery.get(n)&&s.articulation.add(n),r>s.discovery.get(n)&&s.bridges.push(Ds(n,e.node))}function Ls(e,t,s,n){s.discovery.set(e,s.timer),s.low.set(e,s.timer),s.timer+=1;let r=[{node:e,parent:null,neighborIndex:0,children:0}];for(;r.length>0;){n?.throwIfAborted();let i=r.at(-1);if(i.neighborIndex<t.get(i.node).length){let o=Os(i,t,s);o!==void 0&&r.push(o)}else As(i,e,s),r.pop()}}function Ie(e,t={}){let s=Kt(e,t.kinds),n={discovery:new Map,low:new Map,timer:0,articulation:new Set,bridges:[],inspectedEdges:0};for(let r of e.nodes())n.discovery.has(r)||Ls(r,s,n,t.signal);return{value:{articulationPoints:[...n.articulation].sort(),bridges:n.bridges.sort((r,i)=>r.source.localeCompare(i.source)||r.target.localeCompare(i.target))},meta:{visitedNodes:n.discovery.size,inspectedEdges:n.inspectedEdges,truncated:!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]="f155ac72-64eb-5316-b016-954abd48c0e7")}catch{}})();function Ns(e){let t=e.registry(),s=new Map,n=new Set;for(let r of e.edges()){let i=t.require(r.kind);if(!i.ordering)continue;let{predecessor:o,successor:c}=ye(r,i);if(n.add(o),n.add(c),o===c)continue;let a=s.get(o);a===void 0?s.set(o,new Set([c])):a.add(c)}return{forward:s,participants:n}}function Ms(e,t,s,n){if(e===void 0)return n;let r=n;for(let i of e)t.has(i)&&(r=Math.min(r,s.get(i)));return r}function js(e,t,s){let n=s-t;return{id:e,earliestStart:t,earliestFinish:t+1,latestStart:s,latestFinish:s+1,slack:n,critical:n===0}}function Ps(e,t,s,n,r){let i=new Map;for(let o=e.length-1;o>=0;o-=1){let c=e[o],a=Ms(t.forward.get(c),n,i,r);i.set(c,a-1)}return e.map(o=>js(o,s[o],i.get(o))).sort((o,c)=>o.slack-c.slack||o.earliestStart-c.earliestStart||o.id.localeCompare(c.id))}function Vt(e,t={}){t.signal?.throwIfAborted();let s=fe(e,{registry:e.registry()}),n=Ns(e),r=new Set(s.order),i=s.order.filter(d=>n.participants.has(d)),o=i.reduce((d,u)=>Math.max(d,s.depth[u]+1),0),c=Ps(i,n,s.depth,r,o),a=c.length>0;return{exact:!0,acyclic:s.acyclic,makespan:o,scheduledCount:c.length,criticalPath:a?s.criticalPath:[],criticalPathLength:a?s.criticalPathLength:0,cycles:s.cycles,rows:c,provenance:{algorithm:"critical-path-method",edgeFamily:"ordering",weighting:"unit"}}}(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]="a2043b27-3dfe-5da8-a10f-d92ff33f3c28")}catch{}})();var Te=["missing_reference_active","missing_reference_terminal","legacy_no_blocker_sentinel","ordering_cycle","legacy_ordering_cycle","duplicate_edge","legacy_duplicate_edge","duplicate_dependency_row","legacy_duplicate_dependency_row","stale_lifecycle_block","isolated_active_node","sparse_active_node"];(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]="ab8a4904-0302-5e36-9963-750b3ba79876")}catch{}})();var $s=25,Fs="milestone",Gs="outcome milestone:",qs=new Set(["discovered_from","incident_from","supersedes","verifies"]);function Je(e){return qs.has(e)}var Ht={error:0,warning:1,info:2};function Ve(e,t,s,n,r,i,o){let c=[...r].sort((a,d)=>a.localeCompare(d));return{code:e,severity:t,policy:s,message:n(c.length),count:c.length,sample:c.slice(0,i),sample_truncated:c.length>i,remediation:o}}function Bs(e){let t=e.graph.registry(),s=new Map;for(let n of e.graph.edges()){let r=t.require(n.kind);if(!r.ordering)continue;let[i,o]=(r.precedence??"source_before_target")==="target_before_source"?[n.target,n.source]:[n.source,n.target],c=s.get(i);c?c.push(o):s.set(i,[o])}for(let n of s.values())n.sort((r,i)=>r.localeCompare(i));return s}function Xt(e,t){t.indexes.set(e,t.nextIndex),t.lowLinks.set(e,t.nextIndex),t.nextIndex+=1,t.stack.push(e),t.onStack.add(e)}function Us(e,t,s,n){let r=s.get(e.node)??[];if(e.neighborIndex>=r.length)return!1;let i=r[e.neighborIndex];return e.neighborIndex+=1,n.indexes.has(i)?n.onStack.has(i)&&n.lowLinks.set(e.node,Math.min(n.lowLinks.get(e.node),n.indexes.get(i))):(Xt(i,n),t.push({node:i,neighborIndex:0})),!0}function zs(e,t,s,n){t.pop();let r=t.at(-1);if(r&&n.lowLinks.set(r.node,Math.min(n.lowLinks.get(r.node),n.lowLinks.get(e.node))),n.lowLinks.get(e.node)!==n.indexes.get(e.node))return;let i=[];for(;;){let o=n.stack.pop();if(n.onStack.delete(o),i.push(o),o===e.node)break}(i.length>1||i.length===1&&s.get(i[0])?.includes(i[0]))&&n.components.push(i.sort((o,c)=>o.localeCompare(c)))}function Xe(e){let t={indexes:new Map,lowLinks:new Map,onStack:new Set,stack:[],components:[],nextIndex:0},s=[...e.keys()].sort((n,r)=>n.localeCompare(r));for(let n of s){if(t.indexes.has(n))continue;let r=[{node:n,neighborIndex:0}];for(Xt(n,t);r.length>0;){let i=r.at(-1);Us(i,r,e,t)||zs(i,r,e,t)}}return t.components.sort((n,r)=>n[0].localeCompare(r[0]))}function Ke(e){return`${e.holder_id} -> ${e.target_id} (${e.kind})`}function E(e,t,s,n,r,i,o,c){t.length!==0&&e.push(Ve(n,r,i,o,t,s,c))}function Ks(e,t,s){let n=[],r=[...e.dangling.active,...e.dangling.legacy_terminal].filter(i=>!i.no_active_blocker_sentinel);return E(n,r.filter(i=>!t(i.holder_status)).map(Ke),s,"missing_reference_active","error","Active items must not reference absent targets; missing prerequisites distort scheduling.",i=>`${i} active dangling reference(s) to absent items`,"Restore or re-create the referenced item, or remove/retype the reference on the holder."),E(n,r.filter(i=>t(i.holder_status)).map(Ke),s,"missing_reference_terminal","info","Terminal items may retain historical references, but absent targets remain unexplainable context.",i=>`${i} terminal dangling reference(s) to absent items`,"Leave as history debt or clean up in a dedicated changelog-safe closed-item batch."),E(n,e.dangling.no_active_blocker_sentinels.map(Ke),s,"legacy_no_blocker_sentinel","info","The pre-structured-dependency no-active-blocker sentinel is retired; real edges carry blocker state.",i=>`${i} legacy no-active-blocker sentinel reference(s)`,"Delete the sentinel reference; blocker state is derived from blocked_by edges."),n}function He(e,t){let s=t.get(e);return s?!s.terminal:!0}function Ws(e,t,s,n){let r=[],i=Bs(e);for(let a of Xe(i)){let d=a.some(u=>He(u,t));r.push(d?Ve("ordering_cycle","error","Order-bearing relationship kinds must stay acyclic; a cycle makes every member unschedulable.",u=>`execution-order cycle across ${u} item(s)`,a,n,"Remove or retype one ordering edge inside the cycle, or split the work so precedence is linear."):Ve("legacy_ordering_cycle","info","Ordering cycles between exclusively terminal items are historical contradictions with no scheduling effect.",u=>`terminal-only execution-order cycle across ${u} item(s)`,a,n,"Leave as history debt, or clean up in a dedicated changelog-safe closed-item batch; never repair closed items ad hoc."))}let o=new Map;for(let[a,d]of i)for(let u of d){let f=o.get(u);f?f.push(a):o.set(u,[a])}let c=[...t.values()].filter(a=>!a.missing&&!a.terminal&&s(a.status)&&!(o.get(a.id)??[]).some(d=>{let u=t.get(d);return u===void 0||!u.terminal})).map(a=>a.id);return E(r,c,n,"stale_lifecycle_block","warning","A blocked lifecycle status must be backed by at least one open ordering predecessor.",a=>`${a} status-blocked item(s) with no open blocker edge`,'Add a local blocker edge, declare an external blocker with --dep "id=<external-ref>,kind=blocked_by,source_kind=external", or move the item back to an active status.'),r}function Se(e){let t=e.edges.map(s=>s.kind).sort((s,n)=>s.localeCompare(n));return`${e.from} -> ${e.to} (${t.join(" + ")})`}function Ye(e){let t=e.graph.registry(),s=new Map;for(let r of e.graph.edges()){let i=t.require(r.kind);if(!ve(i))continue;let o=xe(r,i);if(o.from===o.to)continue;let c=`${ke(i)}::${o.from}::${o.to}`,a=s.get(c);a?a.edges.push(r):s.set(c,{...o,edges:[r]})}let n=[...s.values()].filter(r=>r.edges.length>=2);for(let r of n)r.edges.sort((i,o)=>i.kind.localeCompare(o.kind));return n.sort((r,i)=>r.from.localeCompare(i.from)||r.to.localeCompare(i.to))}function Vs(e,t,s){let n=[],r=[];for(let o of Ye(e))(He(o.from,t)||He(o.to,t)?n:r).push(Se(o));let i=[];return E(i,n,s,"duplicate_edge","info","One semantic relationship should be stored once; parallel same-family spellings (reciprocal inverse pairs included) add no information and skew degree metrics.",o=>`${o} duplicated relationship(s) between active endpoints`,"Remove all but one stored spelling of the relationship; keep the canonical direction the holder declared first."),E(i,r,s,"legacy_duplicate_edge","info","Duplicated spellings between exclusively terminal items are historical noise with no scheduling effect.",o=>`${o} duplicated relationship(s) between terminal endpoints`,"Leave as history debt or clean up in a dedicated changelog-safe closed-item batch."),i}function Hs(e,t){let s=[],n=[];for(let i of e.duplicateRows??[])(i.legacy_terminal?n:s).push(`${i.holder_id} -> ${i.target_id} (${i.kind} x${i.occurrences})`);let r=[];return E(r,s,t,"duplicate_dependency_row","warning","One dependency row must be stored once per holder; identical repeated rows are a storage-layer defect invisible to the assembled graph.",i=>`${i} exactly duplicated stored dependency row(s) on active holder(s)`,"Remove the repeated rows so the dependency is stored exactly once; graph semantics are unchanged."),E(r,n,t,"legacy_duplicate_dependency_row","info","Identical repeated dependency rows on terminal holders are historical storage noise with no scheduling effect.",i=>`${i} exactly duplicated stored dependency row(s) on terminal holder(s)`,"Leave as history debt or clean up in a dedicated changelog-safe closed-item batch."),r}function Js(e,t){let s=new Map;for(let n of e.graph.edges()){t?.throwIfAborted();let r=e.graph.registry().require(n.kind),i;if(r.hierarchy?i=xe(n,r):r.kind==="implements"&&(i={from:n.source,to:n.target}),i===void 0)continue;let o=s.get(i.to)??new Set;o.add(i.from),s.set(i.to,o)}return s}function Xs(e,t,s){let n=new Set(e),r=[...e].sort();for(let i=0;i<r.length;i+=1){s?.throwIfAborted();for(let o of[...t.get(r[i])??[]].sort())n.has(o)||(n.add(o),r.push(o))}return n}function Ys(e,t,s,n){let r=0,i=0,o=0,c=0;for(let p of e.values())if(n?.throwIfAborted(),!t.has(p.id)&&!(p.missing||p.status==="external")){if(p.terminal){o+=1,s.has(p.id)&&(c+=1);continue}s.has(p.id)?r+=1:i+=1}let a=r+i,d=o-c,u=r+c,f=i+d,l=u+f;return{active_outcome_reachable_nodes:r,active_outcome_unreachable_nodes:i,active_outcome_reachability_basis_points:a===0?0:Math.floor(r*1e4/a),terminal_nodes:o,terminal_outcome_reachable_nodes:c,terminal_outcome_unreachable_nodes:d,terminal_outcome_reachability_basis_points:o===0?0:Math.floor(c*1e4/o),outcome_reachable_nodes:u,outcome_unreachable_nodes:f,outcome_reachability_basis_points:l===0?0:Math.floor(u*1e4/l)}}function Qs(e,t,s){let n=new Set(e.details.filter(i=>i.type?.toLowerCase()===Fs&&i.title.trim().toLowerCase().startsWith(Gs)).map(i=>i.id)),r=Xs(n,Js(e,s),s);return{outcome_nodes:n.size,...Ys(t,n,r,s)}}function Zs(e,t,s,n,r){e.active+=1;let i=t.type??"(untyped)",o=e.byType.get(i);o||(o={active:0,isolated:0,degree_leq_one:0},e.byType.set(i,o)),o.active+=1,!(s>1)&&(e.degreeLeqOne+=1,o.degree_leq_one+=1,s===0&&(e.isolated+=1,o.isolated+=1),!(n.has(t.id.toLowerCase())||r.has(i.toLowerCase()))&&(s===0?e.isolates.push(t.id):e.sparse.push(t.id)))}function er(e,t,s,n,r,i,o){let c={active:0,missing:0,isolated:0,degreeLeqOne:0,isolates:[],sparse:[],byType:new Map};for(let m of e.graph.nodes()){o?.throwIfAborted();let y=t.get(m);if(y){if(y.missing){c.missing+=1;continue}y.terminal||Zs(c,y,e.graph.incidentEdges(m).length,s,n)}}let{isolates:a,sparse:d}=c,u=[];E(u,a,r,"isolated_active_node","warning","Active work should be reachable from the graph unless explicitly declared a valid isolate.",m=>`${m} active item(s) with no relationships`,"Link the item to its parent, prerequisite, or origin \u2014 or register it as an exempt isolate."),E(u,d,r,"sparse_active_node","info","Active items with a single edge often miss an honest semantic partner; sparse is not automatically defective.",m=>`${m} active item(s) with exactly one relationship`,"Investigate for an honest second edge (story->task, defect family, cross-epic complement); do not fabricate one.");let f=e.graph.edges().length,l=Object.fromEntries(Object.entries(i).sort(([m],[y])=>m.localeCompare(y))),p=Object.entries(l).reduce((m,[y,w])=>m+(Je(y)?w:0),0),h=Ie(e.graph,{signal:o}).value,g=Qs(e,t,o);return{findings:u,profile:{nodes:e.graph.nodes().length,edges:f,edge_basis:"deduplicated_directed",edges_by_kind:l,edge_share_by_kind:Object.fromEntries(Object.entries(l).map(([m,y])=>[m,y/f])),semantic_edges:p,semantic_edge_share:f===0?0:p/f,active_nodes:c.active,missing_nodes:c.missing,isolated_active_nodes:c.isolated,degree_leq_one_active_nodes:c.degreeLeqOne,coverage_by_type:Object.fromEntries([...c.byType.entries()].sort(([m],[y])=>m<y?-1:1)),articulation_points:h.articulationPoints.length,bridge_edges:h.bridges.length,...g,finding_subjects_by_code:Object.fromEntries(Te.map(m=>[m,0]))}}}function Ce(e,t={}){let s=t.isTerminal??(l=>l==="closed"||l==="canceled"),n=t.isBlocked??(l=>l==="blocked"),r=t.maxSampleSize??$s;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid audit sample bound: ${String(t.maxSampleSize)}`);let i=new Set((t.exemptIsolates??[]).filter(l=>typeof l=="string").map(l=>l.trim().toLowerCase())),o=new Set((t.isolateExemptTypes??[]).filter(l=>typeof l=="string").map(l=>l.trim().toLowerCase())),c=new Map(e.details.map(l=>[l.id,{id:l.id,status:l.status,missing:e.missingIdSet.has(l.id.toLowerCase()),terminal:s(l.status),...l.type===void 0?{}:{type:l.type}}]));t.signal?.throwIfAborted();let a={};for(let l of e.graph.edges())a[l.kind]=(a[l.kind]??0)+1;let d=Ks(e,s,r);t.signal?.throwIfAborted(),d.push(...Ws(e,c,n,r)),t.signal?.throwIfAborted(),d.push(...Vs(e,c,r),...Hs(e,r)),t.signal?.throwIfAborted();let u=er(e,c,i,o,r,a,t.signal);d.push(...u.findings),d.sort((l,p)=>Ht[l.severity]-Ht[p.severity]||l.code.localeCompare(p.code)||l.sample[0].localeCompare(p.sample[0]));let f=u.profile.finding_subjects_by_code;for(let l of d)f[l.code]+=l.count;return{findings:d,profile:{...u.profile,finding_subjects_by_code:f}}}function We(e,t){let s=[...new Set([...Object.keys(e),...Object.keys(t)])].sort(),n={};for(let r of s){let i=(t[r]??0)-(e[r]??0);i!==0&&(n[r]=i)}return n}function Jt(e){return e.profile.coverage_by_type??{}}function Yt(e,t){let s={},n=Jt(e),r=Jt(t),i=[...new Set([...Object.keys(n),...Object.keys(r)])].sort();for(let l of i){let p=Object.assign({active:0,isolated:0,degree_leq_one:0},n[l]),h=Object.assign({active:0,isolated:0,degree_leq_one:0},r[l]),g={active:h.active-p.active,isolated:h.isolated-p.isolated,degree_leq_one:h.degree_leq_one-p.degree_leq_one};Object.values(g).some(m=>m!==0)&&(s[l]=g)}let{edge_share_by_kind:o={},semantic_edges:c=0,semantic_edge_share:a=0}=e.profile,{edge_share_by_kind:d={},semantic_edges:u=0,semantic_edge_share:f=0}=t.profile;return{baseline_saved_at:e.saved_at,same_snapshot:e.fingerprint===t.fingerprint,affected_subjects_by_code:We(e.affected_subjects_by_code,t.affected_subjects_by_code),profile:{nodes:t.profile.nodes-e.profile.nodes,edges:t.profile.edges-e.profile.edges,active_nodes:t.profile.active_nodes-e.profile.active_nodes,missing_nodes:t.profile.missing_nodes-e.profile.missing_nodes,isolated_active_nodes:t.profile.isolated_active_nodes-e.profile.isolated_active_nodes,degree_leq_one_active_nodes:t.profile.degree_leq_one_active_nodes-e.profile.degree_leq_one_active_nodes,edges_by_kind:We(e.profile.edges_by_kind,t.profile.edges_by_kind),edge_share_by_kind:We(o,d),semantic_edges:u-c,semantic_edge_share:f-a,coverage_by_type:s}}}import Qt 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]="2f7f14e3-6d41-5f45-a560-ebfbb8aa5828")}catch{}})();var Zt=1,Qe=500,tr=64,nr="graph-durable-cache";function en(e){return ie(e,nr,30,`graph-cache:${process.pid}`,!1,!1,3e3)}function W(e){return Qt.join(e,"runtime","graph-cache.json")}function tn(e){return Qt.join(e,"runtime","graph-audit-baseline.json")}function Ze(e){if(e!==null)try{let t=JSON.parse(e);return typeof t!="object"||t===null||t.version!==Zt||typeof t.fingerprint!="string"||typeof t.saved_at!="string"||typeof t.results!="object"||t.results===null||Array.isArray(t.results)?void 0:t}catch{return}}async function et(e,t){let s=await G(W(e)),n=Ze(s),r=n?.fingerprint===t;return{exists:s!==null,fresh:r,results:r?n.results:{}}}async function tt(e,t,s,n,r){let i=await en(e);try{let o=Ze(await G(W(e))),c=o?.fingerprint===t?o.results:{};delete c[n],c[n]=r;let a=Object.keys(c);for(let d of a.slice(0,Math.max(0,a.length-tr)))delete c[d];await q(W(e),JSON.stringify({version:Zt,fingerprint:t,saved_at:new Date().toISOString(),results:c})),s.results=c}finally{await i()}}async function nt(e){let t=await en(e);try{await lt(W(e))}finally{await t()}}async function nn(e,t){let s=W(e),n=await G(s),r=Ze(n);return r===void 0?{exists:n!==null,fresh:!1,entry_count:0}:{exists:!0,fresh:r.fingerprint===t,entry_count:Object.keys(r.results).length,fingerprint:r.fingerprint.slice(0,12),saved_at:r.saved_at,bytes:Buffer.byteLength(n,"utf8")}}function st(e,t){return t||e>=Qe}function Re(e){return M(e)&&Object.values(e).every(j)}function M(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function j(e){return Number.isInteger(e)&&Number(e)>=0}function sn(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function rn(e,t){return e===void 0||t(e)}function sr(e){return M(e)&&Object.values(e).every(sn)}function rr(e){return M(e)?Object.values(e).every(t=>M(t)&&[t.active,t.isolated,t.degree_leq_one].every(j)):!1}function ir(e,t){let s=["articulation_points","bridge_edges","outcome_nodes","active_outcome_reachable_nodes","active_outcome_unreachable_nodes","terminal_nodes","terminal_outcome_reachable_nodes","terminal_outcome_unreachable_nodes","outcome_reachable_nodes","outcome_unreachable_nodes"],n=["active_outcome_reachability_basis_points","terminal_outcome_reachability_basis_points","outcome_reachability_basis_points"],r=[...s,...n,"finding_subjects_by_code"],i=r.filter(d=>e[d]!==void 0).length;if(i!==0&&i!==r.length)return;let o=s.every(d=>e[d]===void 0||j(e[d])),c=n.every(d=>e[d]===void 0||j(e[d])&&Number(e[d])<=1e4);if(!o||!c||e.edge_basis!==void 0&&e.edge_basis!=="deduplicated_directed"||!rn(e.finding_subjects_by_code,Re))return;let a=Re(e.finding_subjects_by_code)?e.finding_subjects_by_code:{};return{edge_basis:"deduplicated_directed",...Object.fromEntries(s.map(d=>[d,e[d]??0])),...Object.fromEntries(n.map(d=>[d,e[d]??0])),finding_subjects_by_code:Object.fromEntries(Te.map(d=>[d,a[d]??t[d]??0]))}}function or(e,t,s,n,r){let i=[s,n,r],o=i.filter(d=>d!==void 0).length;if(o===0)return{edge_share_by_kind:{},semantic_edges:0,semantic_edge_share:0};if(o!==i.length||!sr(s)||!j(n)||!sn(r))return;let c=Object.entries(t);if(c.reduce((d,[,u])=>d+u,0)!==e||Object.keys(s).length!==c.length||c.some(([d,u])=>s[d]!==(e===0?0:u/e)))return;let a=c.reduce((d,[u,f])=>d+(Je(u)?f:0),0);if(!(n!==a||r!==(e===0?0:a/e)))return{edge_share_by_kind:s,semantic_edges:n,semantic_edge_share:r}}function cr(e){if(e!==null)try{let t=JSON.parse(e);if(!M(t))return;let s=t,n=s.profile;if(typeof s.saved_at!="string"||typeof s.fingerprint!="string")return;let r=s.affected_subjects_by_code;if(!Re(r)||!M(n)||![n.nodes,n.edges,n.active_nodes,n.missing_nodes,n.isolated_active_nodes,n.degree_leq_one_active_nodes].every(j)||!Re(n.edges_by_kind)||!rn(n.coverage_by_type,rr))return;let i=or(n.edges,n.edges_by_kind,n.edge_share_by_kind,n.semantic_edges,n.semantic_edge_share);if(i===void 0)return;let o=ir(n,r);if(o===void 0)return;let{coverage_by_type:c={}}=n;return{...s,profile:{...n,...i,...o,coverage_by_type:c}}}catch{return}}async function on(e){return cr(await G(tn(e)))}async function cn(e,t){await q(tn(e),JSON.stringify(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]="9b8e22ad-6268-515d-994e-6b98a062ba93")}catch{}})();var ar={missing_reference_active:{op:"investigate",confidence:"medium",rationale:"Restore or re-create the referenced item, or remove/retype the reference on the active holder; the correct fix depends on why the target is absent."},missing_reference_terminal:{op:"waive",confidence:"high",rationale:"Terminal-holder reference to an absent item is historical debt; waive it or clean it up only in a dedicated changelog-safe closed-item batch."},legacy_no_blocker_sentinel:{op:"remove",confidence:"high",rationale:"The pre-structured-dependency no-active-blocker sentinel is retired and carries no information; blocker state derives from blocked_by edges."},ordering_cycle:{op:"investigate",confidence:"low",rationale:"Every cycle member is unschedulable until one ordering edge is removed or retyped; the planner never chooses which edge to cut."},legacy_ordering_cycle:{op:"waive",confidence:"high",rationale:"Terminal-only ordering cycles have no scheduling effect; repairing them would mutate closed history (changelog drag)."},duplicate_edge:{op:"remove",confidence:"high",rationale:"Parallel same-family spellings state one relationship twice; remove all but one stored spelling, keeping the holder's canonical direction."},legacy_duplicate_edge:{op:"waive",confidence:"high",rationale:"Duplicated spellings between terminal items are historical noise; waive or batch changelog-safe cleanup."},duplicate_dependency_row:{op:"remove",confidence:"high",rationale:"The identical dependency row is stored more than once on the holder; drop the repeats so the row exists exactly once \u2014 graph semantics are unchanged."},legacy_duplicate_dependency_row:{op:"waive",confidence:"high",rationale:"Repeated identical rows on terminal holders are storage noise; waive or clean up only in a changelog-safe closed-item batch."},stale_lifecycle_block:{op:"investigate",confidence:"medium",rationale:`Add a local ordering edge, declare an external blocker with --dep "id=<external-ref>,kind=blocked_by,source_kind=external", or move the item back to an active status; only the holder's owner knows which is true.`},isolated_active_node:{op:"investigate",confidence:"medium",rationale:"Link the item to its parent, prerequisite, or origin \u2014 or register it as an explicitly exempt isolate; the audit never fabricates an edge."},sparse_active_node:{op:"investigate",confidence:"low",rationale:"Investigate for an honest second edge (story-to-task, defect family, cross-epic complement); sparse is not automatically defective."}};function an(e){return`${e.source} -${e.kind}-> ${e.target}`}function dr(e){let[t,...s]=e.edges;return s.map(n=>({op:"remove",code:"duplicate_edge",subject:an(n),rationale:"This stored spelling restates the kept canonical edge of the same semantic family; removing it leaves the relationship stated exactly once.",evidence:[`keep: ${an(t)}`,`group: ${Se(e)}`],confidence:"high"}))}function ur(e,t){if(e.code==="duplicate_edge")return e.sample.flatMap(n=>dr(t.get(n)));let s=ar[e.code];return e.sample.map(n=>({op:s.op,code:e.code,subject:n,rationale:s.rationale,evidence:[e.policy],confidence:s.confidence}))}function dn(e,t={}){let{redundancyLimit:s,...n}=t,r=Ce(e,n),i=new Map(Ye(e).map(d=>[Se(d),d])),o=r.findings.flatMap(d=>ur(d,i)),c=r.findings.some(d=>d.sample_truncated);t.signal?.throwIfAborted();let a=Ee(e.graph,{limit:s??t.maxSampleSize??25,...t.signal===void 0?{}:{signal:t.signal}});for(let d of a.value)o.push({op:"remove",code:"redundant_edge",subject:`${d.edge.source} -> ${d.edge.target} (${d.edge.kind})`,rationale:"The stored edge is implied by a longer same-family witness path; shortcut edges are sometimes deliberate emphasis, so confirm intent before removing.",evidence:[`witness: ${d.witness.join(" -> ")}`],confidence:"medium"});return c=c||a.meta.truncated,{steps:o,report:r,truncated:c,cost:{visitedNodes:a.meta.visitedNodes,inspectedEdges:a.meta.inspectedEdges}}}(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]="ee0547d9-ae0f-5762-8bff-e25f0a3cd4d5")}catch{}})();var lr=["tree","graph","context"],fr=["none","repeated"],pr=["outgoing","incoming","both"],hr=32,gr=200,mr=400,yr=16e3;function _r(e){let t=e?.trim().toLowerCase()??"tree";if(lr.includes(t))return t;throw new b(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,_.USAGE)}function I(e,t){if(e===void 0)return;let s=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(s)||s<1)throw new b(`Invalid --${t} value "${e}". Use a positive integer.`,_.USAGE);return s}function De(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new b(`Invalid --max-depth value "${e}". Use a non-negative integer.`,_.USAGE);return t}function br(e){let t=e?.trim().toLowerCase()??"none";if(fr.includes(t))return t;throw new b(`Invalid --collapse value "${e}". Use "none" or "repeated".`,_.USAGE)}function it(e){let t=e?.trim().toLowerCase()??"both";if(pr.includes(t))return t;throw new b(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,_.USAGE)}function ot(e,t=x()){if(e===void 0)return;let s=(Array.isArray(e)?e:[e]).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);if(s.length===0)return;let n=new Set;for(let r of s){let i=t.resolve(r);if(!i){let o=t.list().map(c=>c.kind).join(", ");throw new b(`Invalid --kind value "${r}". Registered kinds: ${o}.`,_.USAGE)}n.add(i.kind)}return[...n].sort()}function wr(e){if(!e||e.length===0)return[];let t=e.map(({id:n,kind:r})=>({id:n.trim(),kind:r.trim().toLowerCase()})).sort((n,r)=>{let i=n.kind.localeCompare(r.kind);return i!==0?i:n.id.localeCompare(r.id)}),s=new Map;for(let n of t){let r=`${n.kind.toLowerCase()}::${n.id.toLowerCase()}`;s.has(r)||s.set(r,{id:n.id,kind:n.kind})}return[...s.values()]}function vr(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:wr(e.dependencies)}}function kr(e){return te(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function xr(e,t,s,n,r,i,o,c,a){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(c.nodes>=c.nodeLimit){e.truncated=!0,c.reasons.add("node_limit");break}if(c.edges>=c.edgeLimit){e.truncated=!0,c.reasons.add("edge_limit");break}if(c.estimatedTokens+u>=c.tokenBudget){e.truncated=!0,c.reasons.add("token_budget");break}c.edges+=1,c.estimatedTokens+=u,e.dependencies.push(ln(d.id,s,n,r,i,o,c,a+1,d.kind))}}function Er(e,t,s,n,r,i,o,c){return o.estimatedTokens>=o.tokenBudget&&t?.dependencies.length?(e.truncated=!0,o.reasons.add("token_budget"),!0):!t||e.cycle?!0:n!==void 0&&c>=n?(t.dependencies.length>0&&(e.truncated=!0,o.reasons.add("max_depth")),!0):r==="repeated"&&i.has(s)?(e.collapsed=!0,!0):!1}function ln(e,t,s,n,r,i,o,c=0,a){let d=e.trim().toLowerCase(),u=t.get(d),f={id:u?.id??e,title:u?.title,type:u?.type,status:u?.status,via:a,missing:!u,cycle:s.has(d),dependencies:[]};if(o.nodes+=1,o.estimatedTokens+=kr(f),Er(f,u,d,n,r,i,o,c))return f;r==="repeated"&&i.add(d);let l=new Set(s);return l.add(d),xr(f,u,t,l,n,r,i,o,c),f}function un(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 Ir(e){let t=new Map,s=new Map,n=[e];for(;n.length>0;){let c=n.pop();t.set(c.id,un(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));for(let a of c.dependencies){t.set(a.id,un(t.get(a.id),{id:a.id,title:a.title,type:a.type,status:a.status,missing:a.missing}));let d=a.via??"related",u=`${c.id}::${a.id}::${d}`;s.has(u)||s.set(u,{from:c.id,to:a.id,kind:d}),a.cycle||n.push(a)}}let r=[...t.values()].sort((c,a)=>c.id.localeCompare(a.id)),i=[...s.values()].sort((c,a)=>{let d=c.from.localeCompare(a.from);if(d!==0)return d;let u=c.to.localeCompare(a.to);return u!==0?u:c.kind.localeCompare(a.kind)}),o=r.filter(c=>c.missing).map(c=>c.id);return{root_id:e.id,nodes:r,edges:i,missing_ids:o}}function fn(e,t,s){let n=new Set,r=new Set,i=new Set,o=new Set,c=[{id:e,depth:0}],a=0;for(;a<c.length;){let d=c[a++],u=d.id.trim().toLowerCase();n.add(u);let f=t.get(u);if(!f){i.add(u);continue}if(!(s!==void 0&&d.depth>=s)&&!o.has(u)){o.add(u);for(let l of f.dependencies)r.add(`${u}::${l.id.trim().toLowerCase()}::${l.kind}`),c.push({id:l.id,depth:d.depth+1})}}return{node_count:n.size,edge_count:r.size,edge_basis:"deduplicated_directed",missing_count:i.size}}function Tr(e,t=x()){let s=De(e.maxDepth),n=I(e.nodeLimit,"node-limit"),r=I(e.edgeLimit,"edge-limit"),i=I(e.tokenBudget,"token-budget"),o=ot(e.kind,t);return{direction:it(e.direction),...o===void 0?{}:{kinds:o},...s===void 0?{}:{maxDepth:s},...n===void 0?{}:{nodeLimit:n},...r===void 0?{}:{edgeLimit:r},...i===void 0?{}:{tokenBudget:i},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function Sr(e,t,s,n){return At(e.graph,t,e.details.map(r=>r.id===t&&n.length>0?{...r,evidence:n}:r),s)}function rt(e,t,s,n){for(let r of s.slice(0,n)){let i=r?.trim();i&&e.push(`${t}:${i}`)}}async function Cr(e,t,s,n){let r=await mt(e,t,s.id_prefix,s.item_format,n);if(!r)return[];let{document:i}=await yt(r,{schema:s.schema}),o=i.metadata,c=o.files??[],a=o.tests??[],d=o.docs??[],u=[["files",c.length],["tests",a.length],["docs",d.length],["comments",(o.comments??[]).length],["notes",(o.notes??[]).length],["learnings",(o.learnings??[]).length]];if(u.every(([,l])=>l===0))return[];let f=[`linked:${u.map(([l,p])=>`${l}=${p}`).join(",")}`];return rt(f,"file",c.map(l=>l.path),3),rt(f,"test",a.map(l=>l.command??l.path),2),rt(f,"doc",d.map(l=>l.path),2),f}function Rr(e){let{canonicalId:t,context:s,missingCount:n,missingReferences:r,referenceLimit:i,summaryOnly:o}=e;return{id:t,format:"context",node_count:s.nodes.length+1,edge_count:s.edges.length,edge_basis:"deduplicated_directed",missing_count:n,missing_scope:"traversal",missing_reference_count:r.length,...o?{}:{missing_references:r.slice(0,i),context:s}}}function Dr(e){let{row:t,missingReachableSet:s,packetIds:n,filteredKinds:r,registry:i}=e;if(t.no_active_blocker_sentinel||!s.has(t.target_id.trim().toLowerCase())||!n.has(t.holder_id))return!1;if(r===void 0)return!0;let o=i.resolve(t.kind);return o!==void 0&&(r.has(o.kind)||o.inverse!==void 0&&r.has(o.inverse))}function pn(e,t,s){let n;for(;;){let r=te(new TextEncoder().encode(je(Me("deps",e),t)).byteLength);if(r===n)return r;s(r),n=r}}function Or(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Ar(e){try{return Sr(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Or(t))return e.smallestResult;throw t}}function Lr(e){let{assembly:t,canonicalId:s,contextOptions:n,rootEvidence:r,summaryOnly:i,outputFormat:o,missingCount:c,missingReferences:a}=e,u=n.edgeLimit??40,f=n.tokenBudget,l,p;for(;;){let h=Ar({assembly:t,canonicalId:s,contextOptions:n,internalTokenBudget:f,rootEvidence:r,smallestResult:p});if("format"in h)return h;let g=h;l??=g.meta.tokenBudget,f??=l;let m=Rr({canonicalId:s,context:g,missingCount:c,missingReferences:a,referenceLimit:u,summaryOnly:i});if(p=m,i||(g.meta.tokenBudget=l,g.meta.usedTokens=pn(P(m,!1),o,v=>{g.meta.usedTokens=v}),g.meta.usedTokens<=l))return m;if(u>0){u-=1;continue}let y=f,w=y*l/g.meta.usedTokens;f=Math.min(y-1,Math.max(1,Math.floor(w*.9)))}}function Nr(e){let{assembly:t,canonicalId:s,options:n,rootEvidence:r,summaryOnly:i,outputFormat:o}=e,c=Tr(n,t.graph.registry()),a=t.graph.closure(s,{direction:c.direction,...c.kinds===void 0?{}:{kinds:c.kinds},maxDepth:c.maxDepth??3}),d=a.value.filter(g=>t.missingIdSet.has(g.toLowerCase())),u=new Set(d.map(g=>g.toLowerCase())),f=t.graph.registry(),l=c.kinds?new Set(c.kinds.map(g=>f.require(g).kind)):void 0,p=new Set([s,...a.value]),h=[...t.dangling.active,...t.dangling.legacy_terminal].filter(g=>Dr({row:g,missingReachableSet:u,packetIds:p,filteredKinds:l,registry:f}));return Lr({assembly:t,canonicalId:s,contextOptions:c,rootEvidence:r,summaryOnly:i,outputFormat:o,missingCount:d.length,missingReferences:h})}function Mr(e){let t=[e],s;for(;t.length>0;){let n=t.pop();n.dependencies.length>0&&(s=n,t.push(...n.dependencies))}return s?(s.dependencies.pop(),s.truncated=!0,!0):!1}function jr(e,t,s,n,r,i,o){let c=r??hr,a=I(s.nodeLimit,"node-limit")??gr,d=I(s.edgeLimit,"edge-limit")??mr,u=I(s.tokenBudget,"token-budget")??yr,f={nodeLimit:a,edgeLimit:d,tokenBudget:u,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},l=ln(e,n,new Set,c,t==="graph"?"repeated":i,new Set,f),p=fn(e,n,void 0),h;for(;;){let g=Ir(l),m=f.reasons.size===0?void 0:{reasons:[...f.reasons].sort(),limits:{max_depth:c,node_limit:a,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-g.nodes.length),omitted_edge_count:Math.max(0,p.edge_count-g.edges.length)},y={id:e,format:t,node_count:g.nodes.length,edge_count:g.edges.length,edge_basis:"deduplicated_directed",missing_count:g.missing_ids.length,...m?{truncation:m}:{}};if(h=t==="tree"?{...y,tree:l}:{...y,graph:g},(h.truncation===void 0?te(new TextEncoder().encode(je(Me("deps",P(h,!1)),o)).byteLength):pn(P(h,!1),o,v=>{h.truncation.estimated_tokens=v}))<=u)return h;if(!Mr(l))return f.reasons.add("token_budget"),h;f.reasons.add("token_budget")}}function P(e,t,s={}){let n={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"};return{...e,legacy_alias_counts:s,projection:{mode:t?"summary":"full",declared_field_groups:[n],included_field_groups:t?[]:[n.name]}}}async function ho(e,t,s){let n=Y(process.cwd(),s.path);if(!await J(Q(n)))throw new b(`Tracker is not initialized at ${n}. Run pm init first.`,_.NOT_FOUND);let r=_r(t.format),i=De(t.maxDepth),o=br(t.collapse);ne(t.summary===!0,t.full===!0,"--summary");let c=t.summary===!0,a=await oe(n),d=X(a,re()),u=await ce(n,a.item_format,d.type_to_folder,void 0,a.schema),f=ee(a.schema),l=new Map(u.map(h=>[h.id.trim().toLowerCase(),vr(h)])),p=wt(u,h=>R(h,f));for(let h of[...p.active,...p.legacy_terminal]){let g=l.get(h.holder_id.trim().toLowerCase()),m=h.kind.trim().toLowerCase();g&&!g.dependencies.some(y=>y.id.trim().toLowerCase()===h.target_id.trim().toLowerCase()&&y.kind===m)&&g.dependencies.push({id:h.target_id,kind:m})}if(!l.has(e.trim().toLowerCase()))throw new b(`Item ${e} not found`,_.NOT_FOUND);if(r==="context"){let h=l.get(e.trim().toLowerCase()).id,g=c?[]:await Cr(n,h,a,d.type_to_folder),m=v=>R(v,f),y=L(),w=he().lookup(n,pe(u,m,y),()=>N(u,m,y));return P(Nr({assembly:w.assembly,canonicalId:h,options:t,rootEvidence:g,summaryOnly:c,outputFormat:s.json===!0?"json":"toon"}),c,w.assembly.legacyAliasCounts)}return c?P({id:e,format:r,...fn(e,l,i)},!0,Object.fromEntries(Object.entries(N(u,h=>R(h,f)).legacyAliasCounts))):P(jr(e,r,t,l,i,o,s.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(N(u,h=>R(h,f)).legacyAliasCounts)))}(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]="6c8bfb7a-687a-5fbb-b408-ffdbab1187a9")}catch{}})();var yn=new Set(["ancestors","descendants","predecessors","successors","paths","impact","dominators"]),S=10;function hn(e,t,s){return{...e,projection:{mode:t?"summary":"full",declared_field_groups:s===void 0?[]:[{name:s,restore_with:"--full"}],included_field_groups:s===void 0||t?[]:[s]}}}function gn(e){return e===void 0?[]:(Array.isArray(e)?e:[e]).flatMap(t=>t.split(",")).map(t=>t.trim()).filter(t=>t.length>0)}function Pr(e,t,s){let n=e.trim().toLowerCase();if(!Ne.includes(n))throw _t({command_path:"graph",token:n||"<empty>",allowed:Ne});let r=n;if(yn.has(r)&&!t?.trim())throw new b(`graph ${r} requires an item id.`,_.USAGE);if(r==="paths"&&!s?.trim())throw new b("graph paths requires a source and a target item id.",_.USAGE);return r}function ct(e){throw e instanceof TypeError?new b(e.message,_.USAGE):e}function at(e){return{truncated:e.truncated,cost:{visited_nodes:e.visitedNodes,inspected_edges:e.inspectedEdges}}}function mn(e,t){let s=t.trim().toLowerCase();for(let n of e.details)if(n.id.trim().toLowerCase()===s&&!e.missingIdSet.has(n.id.toLowerCase()))return n.id;throw new b(`Item ${t} not found`,_.NOT_FOUND)}function $r(e,t,s){let n={ancestors:Mt,descendants:jt,predecessors:Pt,successors:$t}[e],r;try{r=n(s.assembly.graph,t,{...s.kinds===void 0?{}:{kinds:s.kinds},...s.maxDepth===void 0?{}:{maxDepth:s.maxDepth},...s.limit===void 0?{}:{limit:s.limit},...s.after===void 0?{}:{after:s.after}})}catch(o){ct(o)}let i=at(r.meta);return{subcommand:e,root:t,count:r.value.length,...i,...r.meta.nextCursor===void 0?{}:{next_cursor:r.meta.nextCursor},...s.summary?{}:{ids:r.value}}}function Fr(e,t,s){let n=Ft(s.assembly.graph,e,t,{direction:s.direction,...s.kinds===void 0?{}:{kinds:s.kinds},...s.maxDepth===void 0?{}:{maxDepth:s.maxDepth},...s.maxPaths===void 0?{}:{maxPaths:s.maxPaths}});return{subcommand:"paths",root:e,target:t,direction:s.direction,count:n.value.length,...at(n.meta),...s.summary?{}:{paths:n.value.map(r=>({nodes:r.nodes,kinds:r.edges.map(i=>i.kind),length:r.length}))}}}function Gr(e,t){let s;try{s=Ct(t.assembly.graph,e,{direction:t.direction,...t.kinds===void 0?{}:{kinds:t.kinds},...t.maxDepth===void 0?{}:{maxDepth:t.maxDepth},...t.unbounded?{}:{limit:t.limit??S},...t.after===void 0?{}:{after:t.after}})}catch(n){ct(n)}return{subcommand:"impact",root:e,direction:t.direction,count:s.affected.length,truncated:s.truncated,...s.nextCursor===void 0?{}:{next_cursor:s.nextCursor},cost:{visited_nodes:s.cost.visitedNodes,inspected_edges:s.cost.inspectedEdges},...t.summary?{}:{affected:s.affected}}}function qr(e){let t=e.assembly.graph,s=e.limit??S,n=fe(t,{registry:t.registry()}),r=Rt(t);return{subcommand:"analyze",node_count:t.nodes().length,edge_count:t.edges().length,edge_basis:"deduplicated_directed",sample_limit:s,execution:{acyclic:n.acyclic,ordered_node_count:n.order.length,layer_count:n.layers.length,frontier_count:n.frontier.length,critical_path_length:n.criticalPathLength,cycle_count:n.cycles.length,...e.summary?{}:{frontier:n.frontier.slice(0,s),critical_path:n.criticalPath.slice(0,s),cycles:n.cycles.slice(0,s)}},knowledge:{component_count:r.components.length,largest_component_size:r.components[0]?.length??0,orphan_count:r.orphans.length,...e.summary?{}:{orphans:r.orphans.slice(0,s),hubs:r.hubs.slice(0,s)}}}}function Br(e,t){let s=Ce(e.assembly,{isTerminal:t,...e.sample===void 0?{}:{maxSampleSize:e.sample},...e.exemptIsolates.length===0?{}:{exemptIsolates:e.exemptIsolates},...e.exemptIsolateTypes.length===0?{}:{isolateExemptTypes:e.exemptIsolateTypes}}),n={},r={},i={},o={};for(let c of s.findings)n[c.severity]=(n[c.severity]??0)+1,r[c.code]=(r[c.code]??0)+1,i[c.severity]=(i[c.severity]??0)+c.count,o[c.code]=(o[c.code]??0)+c.count;return{subcommand:"audit",finding_count:s.findings.length,findings_by_severity:n,findings_by_code:r,affected_subjects_by_severity:i,affected_subjects_by_code:o,profile:s.profile,legacy_alias_counts:e.assembly.legacyAliasCounts,...e.summary?{}:{findings:s.findings}}}function Ur(e){let t=e.limit??S,s={};e.kinds!==void 0&&(s.kinds=e.kinds);let n=qt(e.assembly.graph,s),r=n.value;return{subcommand:"communities",community_count:r.communities.length,largest_community_size:r.communities[0]?.size??0,iterations:r.iterations,converged:r.converged,truncated:!r.converged||r.communities.length>t,cost:{visited_nodes:n.meta.visitedNodes,inspected_edges:n.meta.inspectedEdges},...e.summary?{}:{communities:r.communities.slice(0,t).map(i=>({representative:i.representative,size:i.size,members:i.members.slice(0,t)}))}}}function zr(e){let t;try{t=Ee(e.assembly.graph,{...e.kinds===void 0?{}:{kinds:e.kinds},...e.maxDepth===void 0?{}:{maxDepth:e.maxDepth},...e.limit===void 0?{}:{limit:e.limit}})}catch(s){ct(s)}return{subcommand:"redundancy",redundant_count:t.value.length,...at(t.meta),...e.summary?{}:{redundant:t.value.map(s=>({source:s.edge.source,target:s.edge.target,kind:s.edge.kind,witness:s.witness}))}}}function Kr(e,t){let s=t.limit??S,n=Bt(t.assembly.graph,e,{direction:t.direction,...t.kinds===void 0?{}:{kinds:t.kinds},...t.maxDepth===void 0?{}:{maxDepth:t.maxDepth}}),r=n.value.rows.filter(i=>i.dominatedCount>0);return{subcommand:"dominators",root:e,direction:t.direction,reachable_count:n.value.reachableCount,bottleneck_count:r.length,truncated:n.meta.truncated||r.length>s,cost:{visited_nodes:n.meta.visitedNodes,inspected_edges:n.meta.inspectedEdges},...t.summary?{}:{bottlenecks:r.slice(0,s).map(i=>({id:i.id,idom:i.idom,dominated_count:i.dominatedCount}))}}}function Wr(e){let t=e.limit??S,s=Vt(e.assembly.graph),n=s.rows.filter(r=>r.critical).length;return{subcommand:"slack",acyclic:s.acyclic,makespan:s.makespan,scheduled_count:s.scheduledCount,critical_count:n,critical_path_length:s.criticalPathLength,cycle_count:s.cycles.length,truncated:s.rows.length>t,...e.summary?{}:{critical_path:s.criticalPath,rows:s.rows.slice(0,t).map(r=>({id:r.id,earliest_start:r.earliestStart,latest_start:r.latestStart,slack:r.slack,critical:r.critical}))}}}function Vr(e){let t=e.limit??S,s=Wt(e.assembly.graph,e.kinds===void 0?{}:{kinds:e.kinds}),n=s.value;return{subcommand:"centrality",node_count:n.nodeCount,edge_count:n.edgeCount,edge_basis:"simple_undirected",truncated:n.rows.length>t,cost:{visited_nodes:s.meta.visitedNodes,inspected_edges:s.meta.inspectedEdges},...e.summary?{}:{rows:n.rows.slice(0,t).map(r=>({id:r.id,degree:r.degree,in_degree:r.inDegree,out_degree:r.outDegree,betweenness:r.betweenness,closeness:r.closeness}))}}}function Hr(e){let t=e.limit??S,s=Ie(e.assembly.graph,e.kinds===void 0?{}:{kinds:e.kinds}),{articulationPoints:n,bridges:r}=s.value;return{subcommand:"articulation",articulation_count:n.length,bridge_count:r.length,truncated:n.length>t||r.length>t,cost:{visited_nodes:s.meta.visitedNodes,inspected_edges:s.meta.inspectedEdges},...e.summary?{}:{articulation_points:n.slice(0,t),bridges:r.slice(0,t)}}}function Jr(e,t){let s=e.limit??S,n=dn(e.assembly,{isTerminal:t,redundancyLimit:s,...e.sample===void 0?{}:{maxSampleSize:e.sample},...e.exemptIsolates.length===0?{}:{exemptIsolates:e.exemptIsolates},...e.exemptIsolateTypes.length===0?{}:{isolateExemptTypes:e.exemptIsolateTypes}}),r={},i={};for(let o of n.steps)r[o.op]=(r[o.op]??0)+1,i[o.code]=(i[o.code]??0)+1;return{subcommand:"plan",step_count:n.steps.length,steps_by_op:r,steps_by_code:i,finding_count:n.report.findings.length,truncated:n.truncated||n.steps.length>s,cost:{visited_nodes:n.cost.visitedNodes,inspected_edges:n.cost.inspectedEdges},...e.summary?{}:{steps:n.steps.slice(0,s)}}}function _n(e,t,s,n){return JSON.stringify({subcommand:e,root:t??null,target:s??null,kinds:n.kinds??null,maxDepth:n.maxDepth??null,limit:n.limit??null,after:n.after??null,direction:n.direction,maxPaths:n.maxPaths??null,sample:n.sample??null,exemptIsolates:[...new Set(n.exemptIsolates.map(r=>r.toLowerCase()))].sort(),exemptIsolateTypes:[...new Set(n.exemptIsolateTypes.map(r=>r.toLowerCase()))].sort(),summary:n.summary,unbounded:n.unbounded})}function bn(e,t,s,n,r){return e==="analyze"?qr(n):e==="audit"?Br(n,r):e==="plan"?Jr(n,r):e==="communities"?Ur(n):e==="redundancy"?zr(n):e==="dominators"?Kr(t,n):e==="slack"?Wr(n):e==="centrality"?Vr(n):e==="articulation"?Hr(n):e==="paths"?Fr(t,s,n):e==="impact"?Gr(t,n):$r(e,t,n)}function Xr(e,t){if(e!=="index"&&(t.rebuild===!0||t.clear===!0))throw new b("--rebuild and --clear apply only to graph index.",_.USAGE);if(e!=="audit"&&t.saveBaseline===!0)throw new b("--save-baseline applies only to graph audit.",_.USAGE);if(e==="slack"&&t.kind!==void 0)throw new b("graph slack analyzes every ordering kind; --kind is not supported.",_.USAGE);if(t.rebuild===!0&&t.clear===!0)throw new b("graph index accepts either --rebuild or --clear, not both.",_.USAGE);if(e==="impact"&&t.full===!0&&t.limit!==void 0)throw new b("graph impact accepts either --full or --limit, not both.",_.USAGE)}async function Yr(e,t,s,n,r,i){let o="status";if(i.clear===!0&&(await nt(e),o="cleared"),i.rebuild===!0){await nt(e);let a=await et(e,t),d={assembly:s.assembly,direction:"both",exemptIsolates:[],exemptIsolateTypes:[],saveBaseline:!1,summary:!0,unbounded:!1};for(let u of["analyze","audit"])await tt(e,t,a,_n(u,void 0,void 0,d),bn(u,void 0,void 0,d,r));o="rebuilt"}let c=await nn(e,t);return{subcommand:"index",action:o,state:c.exists?c.fresh?"fresh":"stale":"absent",entry_count:c.entry_count,item_count:n,min_items_threshold:Qe,persist_enabled:st(n,c.exists),current_fingerprint:t.slice(0,12),...c.saved_at===void 0?{}:{saved_at:c.saved_at},...c.bytes===void 0?{}:{bytes:c.bytes}}}async function Qr(e,t,s,n){let r={saved_at:new Date().toISOString(),fingerprint:t,affected_subjects_by_code:s.affected_subjects_by_code,profile:s.profile},i=await on(e);return n&&await cn(e,r),i===void 0?s:{...s,baseline:Yt(i,r)}}async function Zr(e,t,s,n,r){try{await tt(e,t,s,n,r)}catch{}}async function Go(e,t,s,n,r){let i=Pr(e,t,s);ne(n.summary===!0,n.full===!0,"--summary");let o=Y(process.cwd(),r.path);if(!await J(Q(o)))throw new b(`Tracker is not initialized at ${o}. Run pm init first.`,_.NOT_FOUND);let c=await oe(o),a=X(c,re()),d=await ce(o,c.item_format,a.type_to_folder,void 0,c.schema),u=ee(c.schema),f=F=>R(F,u);Xr(i,n);let l=L(),p=ot(n.kind,l),h=he().lookup(o,pe(d,f,l),()=>N(d,f,l)),g={assembly:h.assembly,...p===void 0?{}:{kinds:p},maxDepth:De(n.maxDepth),limit:I(n.limit,"limit"),after:n.after?.trim()||void 0,direction:it(n.direction),maxPaths:I(n.maxPaths,"max-paths"),sample:I(n.sample,"sample"),exemptIsolates:gn(n.exemptIsolate),exemptIsolateTypes:gn(n.exemptIsolateType),saveBaseline:n.saveBaseline===!0,summary:n.summary===!0,unbounded:n.full===!0};if(i==="index")return hn(await Yr(o,h.fingerprint,g,d.length,f,n),!1);let m=yn.has(i)?mn(g.assembly,t):void 0,y=i==="paths"?mn(g.assembly,s):void 0,w=_n(i,m,y,g),v=await et(o,h.fingerprint),C=v.results[w],k=h.memoize(w,()=>C!==void 0?structuredClone(C):bn(i,m,y,g,f)),V=st(d.length,v.exists);!k.reused&&C===void 0&&V&&await Zr(o,h.fingerprint,v,w,k.value);let $=k.value.subcommand==="audit"?await Qr(o,h.fingerprint,k.value,g.saveBaseline):k.value;return $.cache={fingerprint:h.fingerprint.slice(0,12),assembly:h.assemblyReused?"hit":"miss",result:k.reused?"hit":"miss",durable:C!==void 0?"hit":V?"miss":"off"},hn($,g.summary,"result_rows")}(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]="4198a3b2-2541-50eb-bec5-93ac58601f40")}catch{}})();function wn(e){return[...e].sort().join("\0")}function ei(e,t,s){let n=e.successors.get(t);n?n.push(s):e.successors.set(t,[s]);let r=e.predecessors.get(s);r?r.push(t):e.predecessors.set(s,[t])}function vn(e,t,s,n,r){let i=t.resolve(r);if(i?.ordering!==!0)return;let o=bt(n),c=o===void 0?void 0:e.canonicalIds.get(o.toLowerCase());if(c===void 0)return;let a=(i.precedence??"source_before_target")==="source_before_target";ei(e,a?s:c,a?c:s)}function ti(e,t){let s={successors:new Map,predecessors:new Map,canonicalIds:new Map},n=e.filter(r=>typeof r?.id=="string"&&r.id.trim().length>0);for(let r of n){let i=r.id.trim();s.canonicalIds.set(i.toLowerCase(),i)}for(let r of n){let i=r.id.trim();vn(s,t,i,r.blocked_by,"blocked_by");for(let o of r.dependencies??[])typeof o!="object"||o===null||vn(s,t,i,o.id,typeof o.kind=="string"?o.kind:"related")}for(let r of[s.successors,s.predecessors])for(let i of r.values())i.sort();return s}function ni(e,t){let s=new Set([t]),n=[t];for(;n.length>0;){let r=n.pop();for(let i of[e.successors,e.predecessors])for(let o of i.get(r)??[])s.has(o)||(s.add(o),n.push(o))}return s}function si(e,t){let s=new Map;for(let n of t){let r=(e.successors.get(n)??[]).filter(i=>t.has(i));r.length>0&&s.set(n,r)}return s}function kn(e,t,s){let n=ti(e,t),r=n.canonicalIds.get(s.trim().toLowerCase());if(r===void 0)return{cycles:[],successors:new Map,canonical:s};let i=si(n,ni(n,r));return{cycles:Xe(i).filter(o=>o.includes(r)),successors:i,canonical:r}}function ri(e,t,s){let n=new Set(t),r=n.has(s)?s:t[0];if(e.get(r)?.includes(r))return[r,r];for(let i of e.get(r)??[]){if(!n.has(i))continue;let o=ii(e,n,r,i);if(o)return o}return[...t,t[0]]}function ii(e,t,s,n){let r=[[n]],i=new Set([s,n]);for(;r.length>0;){let o=r.shift(),c=o.at(-1);for(let a of e.get(c)??[]){if(a===s)return[s,...o,s];!t.has(a)||i.has(a)||(i.add(a),r.push([...o,a]))}}}function zo(e,t,s){let n=L(),r=kn(e,n,s),i=kn(t,n,s),o=new Set(r.cycles.map(wn));return i.cycles.filter(c=>!o.has(wn(c))).map(c=>`ordering_cycle_created:${ri(i.successors,c,i.canonical).join(" -> ")}:items_will_not_be_ready:run_pm_graph_audit`)}export{Ge as a,kt as b,fe as c,Ct as d,Rt as e,yi as f,pe as g,qe as h,he as i,ki as j,At as k,ho as l,Mt as m,jt as n,Pt as o,$t as p,Ft as q,we as r,qt as s,Ee as t,Bt as u,Wt as v,Ie as w,Vt as x,Xe as y,Se as z,Ye as A,Ce as B,Yt as C,Zt as D,Qe as E,W as F,tn as G,et as H,tt as I,nt as J,nn as K,st as L,on as M,cn as N,dn as O,Pr as P,Go as Q,zo as R};
8
+ //# sourceMappingURL=chunk-3BNVU6LC.js.map