@unbrained/pm-cli 2026.10.25 → 2026.10.26

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 (175) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +28 -0
  3. package/dist/cli/error-guidance.d.ts +5 -0
  4. package/dist/cli/error-guidance.js +2 -2
  5. package/dist/cli/register-mutation.js +2 -2
  6. package/dist/cli-bundle/bundle-manifest.json +1 -1
  7. package/dist/cli-bundle/chunks/{chunk-O3ZTGRIH.js → chunk-25MTQAHX.js} +2 -2
  8. package/dist/cli-bundle/chunks/{chunk-TLMXSYJA.js → chunk-57YPOOED.js} +2 -2
  9. package/dist/cli-bundle/chunks/{chunk-4GD6QOP6.js → chunk-7UDQAINZ.js} +3 -3
  10. package/dist/cli-bundle/chunks/{chunk-LNKPH2DD.js → chunk-ER7RLJW5.js} +2 -2
  11. package/dist/cli-bundle/chunks/{chunk-YCCGZHOR.js → chunk-MWCG25PO.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-444VPGQT.js → chunk-N6FTEILW.js} +5 -5
  13. package/dist/cli-bundle/chunks/{chunk-FNZT4BTE.js → chunk-NGKTROAO.js} +86 -86
  14. package/dist/cli-bundle/chunks/chunk-OCDRHIVQ.js +6 -0
  15. package/dist/cli-bundle/chunks/{chunk-3CYXE6BV.js → chunk-ONC4BBQP.js} +2 -2
  16. package/dist/cli-bundle/chunks/{chunk-RQKDANP7.js → chunk-OUDR2HWR.js} +3 -3
  17. package/dist/cli-bundle/chunks/{chunk-RD6UW3MW.js → chunk-T7T4WLUY.js} +3 -3
  18. package/dist/cli-bundle/chunks/{chunk-MVJGGCGQ.js → chunk-TGOG5BFM.js} +2 -2
  19. package/dist/cli-bundle/chunks/chunk-UF6EXZSP.js +2 -0
  20. package/dist/cli-bundle/chunks/chunk-VS2IIV3F.js +128 -0
  21. package/dist/cli-bundle/chunks/chunk-XAIR53QZ.js +2 -0
  22. package/dist/cli-bundle/chunks/{chunk-VAEB6IUQ.js → chunk-Y42DYMZX.js} +2 -2
  23. package/dist/cli-bundle/chunks/{chunk-EYCVAAIP.js → chunk-YJBIPNDL.js} +2 -2
  24. package/dist/cli-bundle/chunks/{chunk-UI3FD3DW.js → chunk-Z35XAHUN.js} +2 -2
  25. package/dist/cli-bundle/chunks/{chunk-7C3GCLOO.js → chunk-ZLVFUZI4.js} +27 -27
  26. package/dist/cli-bundle/chunks/{chunk-7T3H24HN.js → chunk-ZT64RDMF.js} +2 -2
  27. package/dist/cli-bundle/chunks/{indexed-receipt-blobs-47I6KKDO.js → indexed-receipt-blobs-NWQIDTH7.js} +2 -2
  28. package/dist/cli-bundle/chunks/{mutation-admission-747C6IUR.js → mutation-admission-VTNV6JV2.js} +2 -2
  29. package/dist/cli-bundle/chunks/{register-list-query-COST6KRV.js → register-list-query-LZDWUZS4.js} +2 -2
  30. package/dist/cli-bundle/chunks/register-mutation-M2A7PH42.js +20 -0
  31. package/dist/cli-bundle/chunks/{register-operations-S4LKLUBJ.js → register-operations-E7P2JTXM.js} +2 -2
  32. package/dist/cli-bundle/chunks/{register-setup-3ITZXPOL.js → register-setup-DOV7KGSH.js} +2 -2
  33. package/dist/cli-bundle/chunks/{settlement-hook-5IVCF6ZY.js → settlement-hook-SVD6CO7U.js} +2 -2
  34. package/dist/cli-bundle/chunks/{stage-3UUIYROS.js → stage-LYLEOAQB.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/{chunk-HMYDUEQK.js → chunk-226XKW3W.js} +3 -3
  36. package/dist/cli-bundle/focused-chunks/chunk-ABMNYWV6.js +2 -0
  37. package/dist/cli-bundle/focused-chunks/{chunk-3M5FZCMC.js → chunk-ADSBGYLW.js} +8 -8
  38. package/dist/cli-bundle/focused-chunks/{chunk-22727JYL.js → chunk-B266DDBJ.js} +2 -2
  39. package/dist/cli-bundle/focused-chunks/{chunk-Y4JHHY24.js → chunk-BH7RE2ZY.js} +2 -2
  40. package/dist/cli-bundle/focused-chunks/chunk-BL77VCRB.js +22 -0
  41. package/dist/cli-bundle/focused-chunks/{chunk-77NU7NPN.js → chunk-CSCZYSNZ.js} +2 -2
  42. package/dist/cli-bundle/focused-chunks/{chunk-URWYYJ7K.js → chunk-D5YQ4KAE.js} +2 -2
  43. package/dist/cli-bundle/focused-chunks/{chunk-ZYCOMRFT.js → chunk-E5C24MCV.js} +2 -2
  44. package/dist/cli-bundle/focused-chunks/{chunk-74KC7FUQ.js → chunk-I7H3XF25.js} +2 -2
  45. package/dist/cli-bundle/focused-chunks/chunk-IF6C43IP.js +2 -0
  46. package/dist/cli-bundle/focused-chunks/chunk-KERJNFXY.js +2 -0
  47. package/dist/cli-bundle/focused-chunks/{chunk-46KDJH3K.js → chunk-KTXU5WU6.js} +2 -2
  48. package/dist/cli-bundle/focused-chunks/chunk-NE27VCU7.js +91 -0
  49. package/dist/cli-bundle/focused-chunks/{chunk-NI5SG2M2.js → chunk-NFN2P4TW.js} +2 -2
  50. package/dist/cli-bundle/focused-chunks/{chunk-NC5HUGHU.js → chunk-NLZUI234.js} +4 -4
  51. package/dist/cli-bundle/focused-chunks/chunk-PK5FJIVA.js +12 -0
  52. package/dist/cli-bundle/focused-chunks/{chunk-LWJ2X75I.js → chunk-UHWTPOM4.js} +2 -2
  53. package/dist/cli-bundle/focused-chunks/{chunk-B5JOVH5F.js → chunk-UP765R2V.js} +2 -2
  54. package/dist/cli-bundle/focused-chunks/{chunk-U6HXIF6G.js → chunk-WDWHUJQW.js} +2 -2
  55. package/dist/cli-bundle/focused-chunks/{chunk-7DEZT4JN.js → chunk-YQKLKRMW.js} +2 -2
  56. package/dist/cli-bundle/focused-chunks/chunk-YTEC2EPM.js +3 -0
  57. package/dist/cli-bundle/focused-chunks/{chunk-3FM75SBJ.js → chunk-YW5GHQN2.js} +2 -2
  58. package/dist/cli-bundle/focused-chunks/{indexed-receipt-blobs-YCLN2ZZG.js → indexed-receipt-blobs-YFDNGHCM.js} +2 -2
  59. package/dist/cli-bundle/focused-chunks/{mutation-admission-BQBQXILV.js → mutation-admission-L42E3U5U.js} +2 -2
  60. package/dist/cli-bundle/focused-chunks/{settlement-hook-XVS6P2XI.js → settlement-hook-3CADO4XZ.js} +2 -2
  61. package/dist/cli-bundle/focused-chunks/{stage-VSIL4MTZ.js → stage-TUQHWU7N.js} +2 -2
  62. package/dist/cli-bundle/main.js +4 -4
  63. package/dist/cli-bundle/sdk-authoring.js +1 -1
  64. package/dist/cli-bundle/sdk-contracts.js +2 -2
  65. package/dist/cli-bundle/sdk-core.js +23 -23
  66. package/dist/cli-bundle/sdk-governance.js +1 -1
  67. package/dist/cli-bundle/sdk-graph.js +1 -1
  68. package/dist/cli-bundle/sdk-merge.js +57 -57
  69. package/dist/cli-bundle/sdk-query.js +1 -1
  70. package/dist/cli-bundle/sdk-runtime.js +1 -1
  71. package/dist/cli-bundle/sdk-testing.js +1 -1
  72. package/dist/cli-bundle/sdk.js +9 -9
  73. package/dist/core/extensions/extension-types.d.ts +3 -0
  74. package/dist/core/extensions/extension-types.js +1 -1
  75. package/dist/core/output/mutation-projection.js +1 -1
  76. package/dist/core/policy/workflow-policy-store.js +1 -1
  77. package/dist/core/shared/errors.d.ts +9 -0
  78. package/dist/core/shared/errors.js +1 -1
  79. package/dist/core/shared/secret-rules.d.ts +17 -0
  80. package/dist/core/shared/secret-rules.js +2 -1
  81. package/dist/core/store/item-mutation-precondition.d.ts +8 -0
  82. package/dist/core/store/item-mutation-precondition.js +1 -1
  83. package/dist/core/store/item-store.js +1 -1
  84. package/dist/sdk/cli-contracts/commander-mutation-options.js +1 -1
  85. package/dist/sdk/cli-contracts/completeness.js +1 -1
  86. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  87. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
  88. package/dist/sdk/cli-contracts/registration-helpers.d.ts +1 -1
  89. package/dist/sdk/cli-contracts/registration-helpers.js +1 -1
  90. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +4 -0
  91. package/dist/sdk/cli-contracts/tool-option-contracts.js +1 -1
  92. package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
  93. package/dist/sdk/cli-contracts/tool-schema.d.ts +2 -2
  94. package/dist/sdk/cli-contracts/tool-schema.js +1 -1
  95. package/dist/sdk/context-signal-store.js +2 -2
  96. package/dist/sdk/core.d.ts +1 -1
  97. package/dist/sdk/core.js +1 -1
  98. package/dist/sdk/extension-command-context.js +2 -2
  99. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  100. package/dist/sdk/index.d.ts +2 -1
  101. package/dist/sdk/index.js +1 -1
  102. package/dist/sdk/item-transaction.js +1 -1
  103. package/dist/sdk/lifecycle/close-many.d.ts +3 -0
  104. package/dist/sdk/lifecycle/close-many.js +1 -1
  105. package/dist/sdk/lifecycle/close.d.ts +3 -1
  106. package/dist/sdk/lifecycle/close.js +1 -1
  107. package/dist/sdk/lifecycle/create.d.ts +2 -0
  108. package/dist/sdk/lifecycle/create.js +1 -1
  109. package/dist/sdk/lifecycle/plan.d.ts +2 -0
  110. package/dist/sdk/lifecycle/plan.js +1 -1
  111. package/dist/sdk/lifecycle/restore.js +1 -1
  112. package/dist/sdk/lifecycle-policy.d.ts +11 -0
  113. package/dist/sdk/lifecycle-policy.js +1 -1
  114. package/dist/sdk/mutation-guard.d.ts +6 -1
  115. package/dist/sdk/mutation-guard.js +1 -1
  116. package/dist/sdk/output/fit-envelope.d.ts +98 -0
  117. package/dist/sdk/output/fit-envelope.js +2 -0
  118. package/dist/sdk/public-surface.json +1 -1
  119. package/dist/sdk/query.d.ts +1 -0
  120. package/dist/sdk/query.js +1 -1
  121. package/dist/sdk/read-output-session.d.ts +1 -1
  122. package/dist/sdk/read-output-session.js +1 -1
  123. package/dist/sdk/runtime-input.js +1 -1
  124. package/dist/sdk/runtime-primitives.d.ts +1 -1
  125. package/dist/sdk/runtime-primitives.js +1 -1
  126. package/dist/sdk/runtime.d.ts +2 -2
  127. package/dist/sdk/runtime.js +1 -1
  128. package/dist/sdk/scheduling-shortcuts.d.ts +2 -0
  129. package/dist/sdk/scheduling-shortcuts.js +1 -1
  130. package/dist/sdk/workspace-transaction.d.ts +3 -1
  131. package/dist/sdk/workspace-transaction.js +2 -2
  132. package/docs/COMMANDS.md +2 -1
  133. package/docs/MUTATION_INTEGRITY.md +33 -0
  134. package/docs/QUALITY_EVIDENCE.md +9 -0
  135. package/docs/READ_OUTPUT_CONTRACTS.md +55 -1
  136. package/docs/SDK.md +88 -6
  137. package/docs/WORKFLOW_POLICIES.md +14 -1
  138. package/docs/agent-task-token-baseline.json +1 -1
  139. package/docs/agent-task-transcripts.json +1 -1
  140. package/docs/generated/FLAG_LEXICON_BUDGETS.md +2 -2
  141. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +4 -3
  142. package/marketplace.json +1 -1
  143. package/package.json +1 -1
  144. package/packages/pm-beads/package.json +1 -1
  145. package/packages/pm-calendar/extensions/calendar/shortcuts.ts +2 -2
  146. package/packages/pm-calendar/package.json +1 -1
  147. package/packages/pm-command-kit/package.json +1 -1
  148. package/packages/pm-digital-twin/package.json +1 -1
  149. package/packages/pm-governance-audit/package.json +1 -1
  150. package/packages/pm-guide-shell/package.json +1 -1
  151. package/packages/pm-kanban/package.json +1 -1
  152. package/packages/pm-lifecycle-hooks/package.json +1 -1
  153. package/packages/pm-linked-test-adapters/package.json +1 -1
  154. package/packages/pm-search-advanced/package.json +1 -1
  155. package/packages/pm-templates/package.json +1 -1
  156. package/packages/pm-todos/package.json +1 -1
  157. package/packages/pm-vcs/package.json +1 -1
  158. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  159. package/plugins/pm-claude/package.json +1 -1
  160. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  161. package/plugins/pm-codex/package.json +1 -1
  162. package/plugins/pm-codex/plugin.json +1 -1
  163. package/runtime-dependencies.json +1 -1
  164. package/dist/cli-bundle/chunks/chunk-5ZPT67NJ.js +0 -127
  165. package/dist/cli-bundle/chunks/chunk-HMJSFWHK.js +0 -2
  166. package/dist/cli-bundle/chunks/chunk-RLXK2S7P.js +0 -2
  167. package/dist/cli-bundle/chunks/chunk-XYLBOXSH.js +0 -6
  168. package/dist/cli-bundle/chunks/register-mutation-JZVVJUHY.js +0 -20
  169. package/dist/cli-bundle/focused-chunks/chunk-5LBZR6YW.js +0 -2
  170. package/dist/cli-bundle/focused-chunks/chunk-IVLIUPVV.js +0 -12
  171. package/dist/cli-bundle/focused-chunks/chunk-KIIGME23.js +0 -2
  172. package/dist/cli-bundle/focused-chunks/chunk-MT5TYMEU.js +0 -3
  173. package/dist/cli-bundle/focused-chunks/chunk-QH5KMIYZ.js +0 -91
  174. package/dist/cli-bundle/focused-chunks/chunk-W7MCCFYV.js +0 -2
  175. package/dist/cli-bundle/focused-chunks/chunk-WMPDY5ZU.js +0 -21
@@ -1,2 +1,2 @@
1
- import{D as Ue,E as je,H as ze,f as Pe}from"./chunk-QH5KMIYZ.js";import{_a as $e,db as Ke,s as P,t as D}from"./chunk-LWJ2X75I.js";import{j as Ie}from"./chunk-22727JYL.js";import{b as R,c as I}from"./chunk-AK2CI2GI.js";import{Dc as X,Fa as Ce,Oc as M,R as T,T as H,Uc as Te,W as ke,Zc as Re,cd as De,ee as Be,fe as Ne,gd as Se,ic as W,jc as xe,ka as be,nd as Le,od as Oe,pe as Me,qa as ve,sa as we,sd as Ae,wa as Ee,xc as ne}from"./chunk-NC5HUGHU.js";import{y as v,z as w}from"./chunk-46KDJH3K.js";(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]="a319e7d9-e248-573b-bf1f-35217ce49fd0")}catch{}})();function re(e,t){return(t===void 0?void 0:we(e,t))?.execution_role??be[e.trim().toLowerCase()]??"agent"}var ie="blocked_by",Fe="blocks",mt=Object.freeze([ie,Fe]),oe="no-active-blocker";function _(e){return e.trim().toLowerCase()}function q(e,t){return t?`external:${e}`:`local:${_(e)}`}function $(e){let t=new Map,o=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(o.length>0&&_(o)!==oe){let n=R(o);t.set(q(o,n),n?o:_(o))}for(let n of e.dependencies??[]){let r=typeof n.id=="string"?n.id.trim():"";if(H(n.kind)===ie&&r.length>0&&_(r)!==oe){let i=R(r)||I(n.source_kind);t.set(q(r,i),i?r:_(r))}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function Y(e){let t=new Map;for(let o of e){let n=_(o.id);n.length!==0&&t.set(n,new Set($(o)))}for(let o of e){let n=_(o.id);if(n.length!==0)for(let r of o.dependencies??[]){let i=H(r.kind)===Fe&&typeof r.id=="string"?_(r.id):"";if(i.length===0||i===oe)continue;let s=t.get(i)??new Set;s.add(n),t.set(i,s)}}return new Map([...t].map(([o,n])=>[o,[...n].sort((r,i)=>r.localeCompare(i))]))}function Ge(e,t){let o=_(e.id);return o.length>0?Y(t).get(o)??$(e):$(e)}function se(e,t,o,n){let r=e,i=typeof r.id=="string"?n?.get(_(r.id))??Ge(r,[...t.values()]):$(e),s=new Set((e.dependencies??[]).filter(d=>H(d.kind)===ie&&I(d.source_kind)&&typeof d.id=="string"&&d.id.trim().length>0).map(d=>q(d.id.trim(),!0)));return i.map(d=>{if(R(d)||s.has(q(d,!0)))return{id:d,title:null,status:null,resolved:!1,external:!0,...typeof e.updated_at=="string"?{blocked_since:e.updated_at}:{},resolver:null};let c=t.get(_(d));return c?{id:d,title:c.title,status:c.status,resolved:D(c.status,o)}:{id:d,title:null,status:null,resolved:!1}})}function gt(e,t,o){return se(e,t,o)}function ht(e,t){let o=new Map(e.map(s=>[_(s.id),s])),n=Y(e),r=new Set([...He(t),...t.blocked_statuses]),i=new Set;for(let s of e){let d=P(s.status,t);r.has(d)&&(t.blocked_statuses.has(d)||se(s,o,t,n).some(c=>!c.resolved))&&i.add(_(s.id))}return i}function yt(e,t,o={},n){let r=[...e.ready,...e.decisions,...e.gates];o.includeContainers===!0&&r.push(...e.containers.filter(s=>s.open_blockers.length===0&&!t.blocked_statuses.has(P(s.item.status,t))));let i={ready:[],decisions:[],gates:[]};for(let s of r){let d=re(s.item.type,n);d==="human"&&o.includeDecisions!==!0?i.decisions.push(s):d==="gate"&&o.includeGates!==!0?i.gates.push(s):i.ready.push(s)}return i}function He(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function _t(e,t,o){let n=[_(e)],r=new Set;for(;n.length>0;){let i=n.pop();if(!r.has(i)){r.add(i);for(let s of t.get(i)??[]){if(!D(s.status,o))return!0;n.push(_(s.id))}}}return!1}function kt(e){let t=new Map,o=new Map,n=new Map,r=Y(e);for(let i of e){t.set(_(i.id),i);let s=typeof i.parent=="string"?i.parent.trim():"";if(s.length>0){let d=_(s),c=o.get(d)??[];c.push(i),o.set(d,c)}for(let d of r.get(_(i.id))){let c=_(d),l=n.get(c)??[];l.push(i.id),n.set(c,l)}}return{itemsById:t,childrenByParent:o,blockedByReverse:n,blockerIdsByItem:r}}function bt(e,t,o,n){let{itemsById:r,childrenByParent:i,blockedByReverse:s,blockerIdsByItem:d}=kt(t),c=new Set([...He(o),...o.blocked_statuses]),l=new Set(t.filter(m=>!D(m.status,o)).map(m=>_(m.id))),u=[],a=[],f=[],g=[],p=[],y=0;for(let m of e){if(!c.has(P(m.status,o)))continue;y+=1;let h=se(m,r,o,d).filter(E=>!E.resolved),b=(s.get(_(m.id))??[]).filter(E=>l.has(_(E))).sort((E,L)=>E.localeCompare(L)),k={item:m,open_blockers:h,unblocks:b};if(_t(m.id,i,o)){f.push(k);continue}let C=o.blocked_statuses.has(P(m.status,o));if(h.length===0&&!C){let E=re(m.type,n);E==="human"?g.push(k):E==="gate"?p.push(k):u.push(k)}else a.push(k)}return{ready:u,blocked:a,containers:f,decisions:g,gates:p,active_count:y,container_count:f.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ae1c56b3-148d-502d-9450-e807fdfab4da")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="283dfa35-9a8e-524c-b6e2-d433d51215ca")}catch{}})();function x(){let e=T();for(let t of W()?.relationship_kinds??[])for(let o of t.definitions)e.register(o);return e}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8b57e560-4ac4-53b6-9fb1-eebb1f30562a")}catch{}})();function K(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function V(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function vt(e,t){let o=new Set,n=[];for(let r of[...e].sort()){if(o.has(r))continue;o.add(r);let i=[{nodeId:r,children:[...t.get(r)??[]].sort(),nextChild:0}];for(;i.length>0;){let s=i.at(-1),d=s.children[s.nextChild];d===void 0?(n.push(s.nodeId),i.pop()):(s.nextChild+=1,o.has(d)||(o.add(d),i.push({nodeId:d,children:[...t.get(d)??[]].sort(),nextChild:0})))}}return n}function wt(e,t){let o=[...e].sort(),n=vt(o,t),r=new Set,i=Et(o,t),s=[];for(let d of n.reverse()){if(r.has(d))continue;let c=Ct(d,i,r);(c.length>1||t.get(c[0])?.has(c[0]))&&s.push(c)}return s.sort((d,c)=>d.join("\0").localeCompare(c.join("\0")))}function Et(e,t){let o=new Map(e.map(n=>[n,new Set]));for(let[n,r]of t)for(let i of r)o.get(i)?.add(n);return o}function Ct(e,t,o){let n=[],r=[e];for(o.add(e);r.length>0;){let i=r.pop();n.push(i);for(let s of[...t.get(i)].sort())o.has(s)||(o.add(s),r.push(s))}return n.sort()}function We(e){let t=new Map;for(let o of e){let n=K(o?.id);n&&!t.has(n)&&t.set(n,o)}return t}function It(e,t,o){let n=K(t.parent);if(!(!n||!o.has(n)))return{parent_id:n,child_id:e,source:"scalar_parent",kind:"parent",holder_id:e,child_cardinality:"one"}}function xt(e,t,o,n){let r=K(t?.id),i=n.resolve(t?.kind);if(!r||!o.has(r)||!i?.hierarchy)return;let s=i.hierarchyDirection==="source_parent";return{parent_id:s?e:r,child_id:s?r:e,source:"dependency",kind:i.kind,holder_id:e,target_id:r,child_cardinality:s?i.incoming:i.outgoing}}function Xe(e,t){let o=new Map;for(let[n,r]of e){let i=It(n,r,e);i&&o.set(V(i),i);for(let s of r.dependencies??[]){let d=xt(n,s,e,t);d&&o.set(V(d),d)}}return[...o.values()].sort((n,r)=>V(n).localeCompare(V(r)))}function Fn(e,t=x()){return Xe(We(e),t)}function Tt(e,t,o){let n=new Set(e.filter(r=>r.child_cardinality==="one").map(r=>r.child_id));return[...t].filter(([r,i])=>i.length>1&&n.has(r)).map(([r,i])=>({child_id:r,parent_ids:[...i],legacy_terminal:o.has(r)&&i.every(s=>o.has(s))})).sort((r,i)=>r.child_id.localeCompare(i.child_id))}function Rt(e,t,o){let n=new Map;for(let i of t){if(i.source!=="dependency")continue;let s=n.get(i.child_id)??new Set;s.add(i.parent_id),n.set(i.child_id,s)}let r=[];for(let[i,s]of e){let d=K(s.parent);if(!d||!e.has(d))continue;let c=[...n.get(i)??[]].filter(l=>l!==d).sort();c.length!==0&&r.push({child_id:i,scalar_parent_id:d,dependency_parent_ids:c,legacy_terminal:o.has(i)&&o.has(d)&&c.every(l=>o.has(l))})}return r.sort((i,s)=>i.child_id.localeCompare(s.child_id))}function J(e,t=n=>n==="closed"||n==="canceled",o=x()){let n=We(e),r=Xe(n,o),i=Dt(r),s=new Set([...n].filter(([,c])=>t(c.status)).map(([c])=>c)),d=wt([...n.keys()],new Map([...i.children_by_parent].map(([c,l])=>[c,new Set(l)]))).map(c=>({item_ids:c,legacy_terminal:c.every(l=>s.has(l))}));return{relations:r,cycles:d,cardinality_violations:Tt(r,i.parents_by_child,s),divergences:Rt(n,r,s)}}function Gn(e){return e.source==="scalar_parent"?`${e.parent_id} -> ${e.child_id} (scalar parent on ${e.holder_id})`:`${e.parent_id} -> ${e.child_id} (${e.kind} dependency on ${e.holder_id})`}function Dt(e){let t=new Map,o=new Map;for(let n of e){let r=t.get(n.child_id)??new Set;r.add(n.parent_id),t.set(n.child_id,r);let i=o.get(n.parent_id)??new Set;i.add(n.child_id),o.set(n.parent_id,i)}return{parents_by_child:new Map([...t].map(([n,r])=>[n,[...r].sort()])),children_by_parent:new Map([...o].map(([n,r])=>[n,[...r].sort()]))}}function de(e,t){let o=new Set(t);return e.every(n=>o.has(n))}function Hn(e,t,o,n,r){let i=K(o);if(!i)return;let s=J(e,n,r),d=J(t,n,r),c=d.divergences.find(a=>!s.divergences.some(f=>f.child_id===a.child_id&&f.scalar_parent_id===a.scalar_parent_id&&de(a.dependency_parent_ids,f.dependency_parent_ids)));if(c){let a=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new w(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${a.join(", ")}.`,v.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:i,target_id:c.child_id,verification_errors:a})}let l=d.cardinality_violations.find(a=>(a.child_id===i||a.parent_ids.includes(i))&&!s.cardinality_violations.some(f=>f.child_id===a.child_id&&de(a.parent_ids,f.parent_ids)));if(l)throw new w(`Hierarchy mutation would assign ${l.child_id} to multiple parents: ${l.parent_ids.join(", ")}.`,v.CONFLICT,{code:"hierarchy_cardinality_created",source_id:i,target_id:l.child_id,verification_errors:l.parent_ids});let u=d.cycles.find(a=>a.item_ids.includes(i)&&!s.cycles.some(f=>de(a.item_ids,f.item_ids)));if(u)throw new w(`Hierarchy mutation would create a cycle: ${u.item_ids.join(" -> ")}.`,v.CONFLICT,{code:"hierarchy_cycle_created",source_id:i,verification_errors:u.item_ids})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6c580b70-76eb-51db-8587-99b73dd20875")}catch{}})();var St="global";function Vn(e){let t=e?.trim();if(t)return I(t)?St:t}function Jn(e,t,o){return Lt(e,t,o)}function Lt(e,t,o){let n=e.trim();return I(o)||R(n)?n:Pe(n,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="41f814be-ee87-5cae-b674-69c2e7f42655")}catch{}})();function B(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function U(e){let t=B(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function j(e,t,o=!0){let n=B(e);return o&&(I(t)||n!==void 0&&R(n))}function ce(e,t){return j(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function qe(e,t,o,n){return j(e,t)?n.get(e):o.get(e.toLowerCase())}function A(e,t){let o=e.toLowerCase(),n=t.toLowerCase();return o!==n?o<n?-1:1:e!==t?e<t?-1:1:0}function Ot(e){let t=new Map;for(let o of e.dependencies??[]){if(typeof o!="object"||o===null)continue;let n=o,r=B(n.id);if(!r)continue;let i=typeof n.kind=="string"?n.kind:"related",s=`${i}\0${ce(r,n.source_kind)}`,d=t.get(s);d?d.count+=1:t.set(s,{target_id:r,kind:i,count:1})}return t}function At(e,t=o=>o==="closed"||o==="canceled"){let o=[];for(let n of e)if(!(typeof n?.id!="string"||n.id.trim().length===0))for(let r of Ot(n).values())r.count<2||o.push({holder_id:n.id.trim(),target_id:r.target_id,kind:r.kind,occurrences:r.count,holder_status:n.status,legacy_terminal:t(n.status)});return o.sort((n,r)=>{let i=A(n.holder_id,r.holder_id);if(i!==0)return i;let s=A(n.target_id,r.target_id);return s!==0?s:A(n.kind,r.kind)})}function Bt(e,t,o,n,r){if(typeof o!="object"||o===null)return;let i=B(o.id);if(!i||ce(i,o.source_kind)!==ce(t))return;let s=r.resolve(typeof o.kind=="string"?o.kind:"related");if(!(s?.ordering!==!0||(s.precedence??"source_before_target")!=="source_before_target"))return{holder_id:e.id.trim(),target_id:i,dependency_kind:s.kind,holder_status:e.status,legacy_terminal:n(e.status)}}function Nt(e,t=n=>n==="closed"||n==="canceled",o=x()){let n=new Map;for(let r of e){if(typeof r?.id!="string"||r.id.trim().length===0)continue;let i=B(r.blocked_by);if(i)for(let s of r.dependencies??[]){let d=Bt(r,i,s,t,o);d&&n.set(`${d.holder_id.toLowerCase()}\0${d.target_id.toLowerCase()}\0${d.dependency_kind}`,d)}}return[...n.values()].sort((r,i)=>{let s=A(r.holder_id,i.holder_id);if(s!==0)return s;let d=A(r.target_id,i.target_id);return d!==0?d:A(r.dependency_kind,i.dependency_kind)})}function ae(e,t=o=>o==="closed"||o==="canceled"){let o=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),n=new Set(o.map(c=>c.id.trim().toLowerCase())),r=new Map,i=(c,l,u,a,f)=>{let g=B(l);if(!g||n.has(g.toLowerCase())||j(g,void 0,f))return;let p={holder_id:c.id.trim(),target_id:g,kind:u,source:a,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:g.toLowerCase()==="no-active-blocker"};r.set(`${p.holder_id}::${p.target_id}::${p.kind}::${p.source}`,p)};for(let c of o){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let l of c.dependencies??[]){if(typeof l!="object"||l===null)continue;let u=l;I(u.source_kind)||i(c,u.id,typeof u.kind=="string"?u.kind:"related","dependency",!0)}}let s=[...r.values()].sort((c,l)=>c.holder_id.localeCompare(l.holder_id)||c.target_id.localeCompare(l.target_id)||c.kind.localeCompare(l.kind)||c.source.localeCompare(l.source)),d=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:d,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}function Mt(e){let t=new Map;for(let o of[...e.active,...e.legacy_terminal]){if(o.no_active_blocker_sentinel)continue;let n=o.target_id.trim(),r=n.toLowerCase();t.has(r)||t.set(r,n)}return[...t.values()].sort((o,n)=>o.localeCompare(n))}function Pt(e){let t=new Map;for(let o of e){let n=U(o.blocked_by);n&&j(n)&&!t.has(n)&&t.set(n,n);for(let r of o.dependencies??[]){if(typeof r!="object"||r===null||!j(r.id,r.source_kind))continue;let i=U(r.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((o,n)=>o.localeCompare(n))}var Ye=new WeakMap;function ro(e){return e.hierarchyIntegrity??Ye.get(e)}function $t(e,t=x()){let o={};for(let n of e)for(let r of n.dependencies??[]){if(typeof r!="object"||r===null)continue;let i=r.kind;if(typeof i!="string")continue;let s=i.trim().toLowerCase().replaceAll("-","_"),d=t.resolve(i);d&&s!==d.kind&&(o[s]=(o[s]??0)+1)}return Object.fromEntries(Object.entries(o).sort(([n],[r])=>n.localeCompare(r)))}function le(e,t,o){let n=o??x(),r=e.filter(p=>typeof p?.id=="string"&&p.id.trim().length>0),i=new Map(r.map(p=>[p.id.trim().toLowerCase(),p.id.trim()])),s=ae(r,t),d=Mt(s);for(let p of d)i.set(p.toLowerCase(),p);let c=Pt(r),l=new Set(i.keys()),u=new Map;for(let p of c){let y=p;for(;l.has(y.toLowerCase());)y=`external:${y}`;u.set(p,y),l.add(y.toLowerCase())}let a=r.map(p=>{let y=U(p.parent),m=U(p.blocked_by),h=(p.dependencies??[]).flatMap(b=>{if(typeof b!="object"||b===null)return[];let k=b,C=U(k.id);return C?[{id:qe(C,k.source_kind,i,u),kind:typeof k.kind=="string"?k.kind:"related"}]:[]});return{id:p.id.trim(),...y?{parent:i.get(y.toLowerCase())}:{},...m?{blocked_by:qe(m,void 0,i,u)}:{},dependencies:h}}),f=J(r,t,n),g={graph:ke.fromItems([...a,...d.map(p=>({id:p})),...c.map(p=>({id:u.get(p)}))],n),details:[...r.map(p=>({id:p.id.trim(),title:p.title,status:p.status,...typeof p.type=="string"&&p.type.trim().length>0?{type:p.type.trim()}:{}})),...d.map(p=>({id:p,title:`[missing] ${p}`,status:"missing"})),...c.map(p=>({id:u.get(p),title:`[external] ${p}`,status:"external"}))],missingIdSet:new Set(d.map(p=>p.toLowerCase())),dangling:s,duplicateRows:At(r,t),orderingContradictions:Nt(r,t,n),legacyAliasCounts:$t(r,n),hierarchyIntegrity:f};return Ye.set(g,f),g}(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]="cf5a7b37-5b40-52b4-a19c-18b08de649c4")}catch{}})();function ue(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function ao(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;if(!ue(t.requested_tokens)||t.basis!=="canonical_retry")return!1;switch(t.minimum_status){case"exact":return ue(t.minimum_feasible_tokens)&&t.feasible_tokens===t.minimum_feasible_tokens&&t.reason===void 0;case"feasible_only":return t.minimum_feasible_tokens===null&&ue(t.feasible_tokens)&&t.reason===void 0;case"unavailable":return t.minimum_feasible_tokens===null&&t.feasible_tokens===null&&["query_cost_limit","search_limit","output_constraints"].includes(t.reason);default:return!1}}var Kt="PmCliError";function lo(e){if(!jt(e)||e.code!=="item_already_exists"||e.exitCode!==v.CONFLICT)return!1;let t=e.context;return typeof t=="object"&&t!==null&&t.code==="item_already_exists"&&typeof t.id=="string"&&t.id.trim().length>0&&typeof t.path=="string"&&t.path.trim().length>0}function Ut(e){if(!Number.isFinite(e))throw new TypeError("createPmCliExpectedError options.exitCode must be a finite number");let t=Math.trunc(e);if(t<=v.SUCCESS)throw new TypeError("createPmCliExpectedError options.exitCode must be a positive exit code");return t}function Ve(e,t={}){if(typeof e!="string"||e.trim().length===0)throw new TypeError("createPmCliExpectedError message must be a non-empty string");let o=new w(e,Ut(t.exitCode??v.USAGE),t.context??{});return"cause"in t&&Object.defineProperty(o,"cause",{value:t.cause,enumerable:!1,configurable:!0,writable:!0}),o}function jt(e){if(!(e instanceof Error)||e.name!==Kt)return!1;let t=e;return typeof t.exitCode=="number"&&Number.isFinite(t.exitCode)}import{createHash as zt}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]="e31ef0fb-e803-500b-b1e5-db9edfc880c4")}catch{}})();var Ft=64,Gt=8;function Ht(e,t){let o=(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??"",o].join("\0")}function Qe(e,t=n=>n==="closed"||n==="canceled",o=T()){let n=e.filter(i=>typeof i?.id=="string"&&i.id.trim().length>0).map(i=>Ht(i,t)).sort(),r=o.list().map(i=>Ce(i)).sort();return zt("sha256").update(n.join("")).update("").update(r.join("")).digest("hex")}function Je(e,t,o){let n=t??o;if(!Number.isInteger(n)||n<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return n}var fe=class{#e=new Map;#t;#n;constructor(t={}){this.#t=Je("maxResultsPerWorkspace",t.maxResultsPerWorkspace,Ft),this.#n=Je("maxWorkspaces",t.maxWorkspaces,Gt)}lookup(t,o,n){let r=this.#e.get(t),i=!0;(r===void 0||r.fingerprint!==o)&&(r={fingerprint:o,assembly:n(),results:new Map},i=!1,!this.#e.has(t)&&this.#e.size>=this.#n&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,r);let s=r,d=this.#t;return{assembly:s.assembly,assemblyReused:i,fingerprint:o,memoize(c,l){let u=s.results.get(c);if(u!==void 0||s.results.has(c))return s.results.delete(c),s.results.set(c,u),{value:structuredClone(u),reused:!0};let a=l();return s.results.size>=d&&s.results.delete(s.results.keys().next().value),s.results.set(c,structuredClone(a)),{value:a,reused:!1}}}}clear(){this.#e.clear()}},Ze=new fe;function et(){return Ze}function go(){Ze.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]="3b494263-6359-57e9-8f34-b0bdcdeda93f")}catch{}})();var F=1200,Wt=["prerequisite","dependent","ancestor","descendant","provenance","related"],Xt=new TextEncoder;function pe(e,t,o){let n=e??t;if(!Number.isInteger(n)||n<1)throw new TypeError(`Relationship context ${o} must be positive`);return n}function z(e){return Math.max(1,Math.ceil(Xt.encode(JSON.stringify(e)).byteLength/4))}function Q(e,t,o){let n=o.resolve(e.kind);if(n?.ordering){let r=(n.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===r?"prerequisite":"dependent"}if(n?.hierarchy){let r=n.hierarchyDirection==="source_parent"?e.source:e.target;return t===r?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function qt(e,t,o,n){let r=e.filter(i=>i.source===t&&i.target===o||i.target===t&&i.source===o).map(i=>Q(i,o,n));return[...new Set(r)].sort()}function Yt(e){return Wt.find(t=>e.includes(t))}function Vt(e,t,o,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 s=new Set([t]),d=[{id:t,distance:0}],c=[],l=0,u=!1;for(let a=0;a<d.length;a+=1){n.signal?.throwIfAborted();let f=d[a];if(f.distance>=i&&u)continue;let g=e.neighborEdges(f.id,{direction:r,kinds:n.kinds,signal:n.signal});if(l+=g.meta.inspectedEdges,f.distance>=i){g.value.some(p=>!s.has(p.id))&&(u=!0);continue}for(let{id:p,edge:y}of g.value){if(s.has(p))continue;s.add(p);let m={id:p,distance:f.distance+1,via:f.id,role:Q(y,p,o)};c.push(m),d.push(m)}}return{rows:c,visitedNodes:d.length,inspectedEdges:l,depthTruncated:u}}function Jt(e,t,o,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:s,edge:d}of i)r[Q(d,s,o)]+=1;return{directEdges:r,directTotal:i.length,rootEdges:i.map(({edge:s})=>s)}}function Qt(e,t,o,n){let r=new Set;for(let i of t){let s=i.source===o?i.target:i.source,d=Q(i,s,n);(d==="prerequisite"||d==="ancestor")&&r.add(s)}return[...e].sort((i,s)=>Number(r.has(s.id))-Number(r.has(i.id))||i.distance-s.distance||i.id.localeCompare(s.id))}function Zt(e,t){let o=e.distance===1?qt(t.rootEdges,t.rootId,e.id,t.registry):[];return{...t.details.get(e.id)??{id:e.id},distance:e.distance,role:o.length>0?Yt(o):e.role,via:e.via,reasons:o.length>0?o:[`${e.role} via ${e.via} (depth ${e.distance})`]}}function en(e){let t=[],o=e.initialTokens,n=0;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let i=Zt(r,e),s=z(i);if(o+s>e.tokenBudget)break;let d=e.rootEdges.filter(c=>c.source===r.id||c.target===r.id).reduce((c,l)=>c+z(l),0);if(o+n+s+d>e.tokenBudget){if(t.length>0)break}else n+=d;t.push(i),o+=s}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:o}}function tn(e){let t=e.options.kinds?new Set(e.options.kinds.map(i=>e.registry.require(i).kind)):void 0,o=e.graph.edges().filter(i=>{if(!e.included.has(i.source)||!e.included.has(i.target))return!1;if(t===void 0||t.has(i.kind))return!0;let s=e.registry.resolve(i.kind)?.inverse;return s!==void 0&&t.has(s)}).sort((i,s)=>+(s.source===e.rootId||s.target===e.rootId)-+(i.source===e.rootId||i.target===e.rootId)),n=[],r=e.initialTokens;for(let i of o){if(n.length>=e.edgeLimit)break;let s=z(i);r+s>e.tokenBudget||(n.push(i),r+=s)}return{edges:n,usedTokens:r,candidateCount:o.length}}function tt(e,t,o,n={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let r=pe(n.nodeLimit,20,"nodeLimit"),i=pe(n.edgeLimit,40,"edgeLimit"),s=pe(n.tokenBudget,F,"tokenBudget"),d=n.registry??T(),c=new Map(o.map(O=>[O.id,O])),l=c.get(t)??{id:t},{evidence:u=[],...a}=l,f=[...u],g=Vt(e,t,d,n),{rootEdges:p,...y}=Jt(e,t,d,n),m=Qt(g.rows,p,t,d),h=Le("relationship-context",{rootId:t,direction:n.direction??"both",kinds:[...n.kinds??[]].sort(),maxDepth:n.maxDepth??3,ordering:"required-root-evidence-first-v1"}),b=Ae(m,n.cursor,h,({id:O})=>O,"--cursor"),k=m.slice(b),C=z(a)+z(f);if(C>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let E=en({candidates:k,details:c,rootEdges:p,rootId:t,registry:d,nodeLimit:r,tokenBudget:s,initialTokens:C}),{nodes:L}=E,ut=new Set([t,...L.map(({id:O})=>O)]),he=tn({graph:e,rootId:t,included:ut,options:n,registry:d,edgeLimit:i,tokenBudget:s,initialTokens:E.usedTokens}),{edges:Z,usedTokens:ft}=he,G=b+L.length,ee=G<m.length,ye=L.at(-1),te=he.candidateCount-Z.length,_e=g.depthTruncated||ee||te>0,pt={rootId:t,...a.status===void 0?{}:{rootStatus:a.status},...y,discoveredNodes:m.length,returnedNodes:L.length,returnedEdges:Z.length,omittedNodes:m.length-G,omittedEdges:te,evidenceCount:f.length,hasMore:ee};return{root:a,summary:pt,nodes:L,edges:Z,evidence:f,meta:{exact:!0,truncated:_e,completeness:_e?"truncated":"complete",nodeLimit:r,edgeLimit:i,tokenBudget:s,usedTokens:ft,visitedNodes:g.visitedNodes,inspectedEdges:g.inspectedEdges,omittedNodes:m.length-G,omittedEdges:te,...ee&&ye?{nextCursor:Oe(h,ye.id,G-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]="196b7f2d-b09b-5432-b4ef-9cdf82e92731")}catch{}})();var nn=["tree","graph","context"],on=["none","repeated"],rn=["outgoing","incoming","both"],sn=32,dn=200,cn=400,an=16e3;function ln(e){let t=e?.trim().toLowerCase()??"tree";if(nn.includes(t))return t;throw new w(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,v.USAGE)}function N(e,t){if(e===void 0)return;let o=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(o)||o<1)throw new w(`Invalid --${t} value "${e}". Use a positive integer.`,v.USAGE);return o}function ot(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new w(`Invalid --max-depth value "${e}". Use a non-negative integer.`,v.USAGE);return t}function un(e){let t=e?.trim().toLowerCase()??"none";if(on.includes(t))return t;throw new w(`Invalid --collapse value "${e}". Use "none" or "repeated".`,v.USAGE)}function fn(e){let t=e?.trim().toLowerCase()??"both";if(rn.includes(t))return t;throw new w(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,v.USAGE)}function pn(e,t=T()){if(e===void 0)return;let o=(Array.isArray(e)?e:[e]).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);if(o.length===0)return;let n=new Set;for(let r of o){let i=t.resolve(r);if(!i){let s=t.list().map(d=>d.kind).join(", ");throw new w(`Invalid --kind value "${r}". Registered kinds: ${s}.`,v.USAGE)}n.add(i.kind)}return[...n].sort()}function mn(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)}),o=new Map;for(let n of t){let r=`${n.kind.toLowerCase()}::${n.id.toLowerCase()}`;o.has(r)||o.set(r,{id:n.id,kind:n.kind})}return[...o.values()]}function gn(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:mn(e.dependencies)}}function hn(e){return M(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function yn(e,t,o,n,r,i,s,d,c){for(let l of t.dependencies){let u=Math.max(1,Math.ceil(JSON.stringify({from:e.id,to:l.id,kind:l.kind}).length/3));if(d.nodes>=d.nodeLimit){e.truncated=!0,d.reasons.add("node_limit");break}if(d.edges>=d.edgeLimit){e.truncated=!0,d.reasons.add("edge_limit");break}if(d.estimatedTokens+u>=d.tokenBudget){e.truncated=!0,d.reasons.add("token_budget");break}d.edges+=1,d.estimatedTokens+=u,e.dependencies.push(rt(l.id,o,n,r,i,s,d,c+1,l.kind))}}function _n(e,t,o,n,r,i,s,d){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:n!==void 0&&d>=n?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):r==="repeated"&&i.has(o)?(e.collapsed=!0,!0):!1}function rt(e,t,o,n,r,i,s,d=0,c){let l=e.trim().toLowerCase(),u=t.get(l),a={id:u?.id??e,title:u?.title,type:u?.type,status:u?.status,via:c,missing:!u,cycle:o.has(l),dependencies:[]};if(s.nodes+=1,s.estimatedTokens+=hn(a),_n(a,u,l,n,r,i,s,d))return a;r==="repeated"&&i.add(l);let f=new Set(o);return f.add(l),yn(a,u,t,f,n,r,i,s,d),a}function nt(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 kn(e){let t=new Map,o=new Map,n=[e];for(;n.length>0;){let d=n.pop();t.set(d.id,nt(t.get(d.id),{id:d.id,title:d.title,type:d.type,status:d.status,missing:d.missing}));for(let c of d.dependencies){t.set(c.id,nt(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let l=c.via??"related",u=`${d.id}::${c.id}::${l}`;o.has(u)||o.set(u,{from:d.id,to:c.id,kind:l}),c.cycle||n.push(c)}}let r=[...t.values()].sort((d,c)=>d.id.localeCompare(c.id)),i=[...o.values()].sort((d,c)=>{let l=d.from.localeCompare(c.from);if(l!==0)return l;let u=d.to.localeCompare(c.to);return u!==0?u:d.kind.localeCompare(c.kind)}),s=r.filter(d=>d.missing).map(d=>d.id);return{root_id:e.id,nodes:r,edges:i,missing_ids:s}}function it(e,t,o){let n=new Set,r=new Set,i=new Set,s=new Set,d=[{id:e,depth:0}],c=0;for(;c<d.length;){let l=d[c++],u=l.id.trim().toLowerCase();n.add(u);let a=t.get(u);if(!a){i.add(u);continue}if(!(o!==void 0&&l.depth>=o)&&!s.has(u)){s.add(u);for(let f of a.dependencies)r.add(`${u}::${f.id.trim().toLowerCase()}::${f.kind}`),d.push({id:f.id,depth:l.depth+1})}}return{node_count:n.size,edge_count:r.size,edge_basis:"deduplicated_directed",missing_count:i.size}}function bn(e,t=T()){let o=ot(e.maxDepth),n=N(e.nodeLimit,"node-limit"),r=N(e.edgeLimit,"edge-limit"),i=N(e.tokenBudget,"token-budget"),s=pn(e.kind,t);return{direction:fn(e.direction),...s===void 0?{}:{kinds:s},...o===void 0?{}:{maxDepth:o},...n===void 0?{}:{nodeLimit:n},...r===void 0?{}:{edgeLimit:r},...i===void 0?{}:{tokenBudget:i},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function vn(e,t,o,n){return tt(e.graph,t,e.details.map(r=>r.id===t&&n.length>0?{...r,evidence:n}:r),o)}function me(e,t,o,n){for(let r of o.slice(0,n)){let i=r?.trim();i&&e.push(`${t}:${i}`)}}async function wn(e,t,o,n){let r=await Ue(e,t,o.id_prefix,o.item_format,n);if(!r)return[];let{document:i}=await je(r,{schema:o.schema}),s=i.metadata,d=s.files??[],c=s.tests??[],l=s.docs??[],u=[["files",d.length],["tests",c.length],["docs",l.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(u.every(([,f])=>f===0))return[];let a=[`linked:${u.map(([f,g])=>`${f}=${g}`).join(",")}`];return me(a,"file",d.map(f=>f.path),3),me(a,"test",c.map(f=>f.command??f.path),2),me(a,"doc",l.map(f=>f.path),2),a}function En(e){let{canonicalId:t,context:o,missingCount:n,missingReferences:r,referenceLimit:i,summaryOnly:s}=e;return{id:t,format:"context",node_count:o.nodes.length+1,edge_count:o.edges.length,edge_basis:"deduplicated_directed",missing_count:n,missing_scope:"traversal",missing_reference_count:r.length,...s?{}:{missing_references:r.slice(0,i),context:o}}}function Cn(e){let{row:t,missingReachableSet:o,packetIds:n,filteredKinds:r,registry:i}=e;if(t.no_active_blocker_sentinel||!o.has(t.target_id.trim().toLowerCase())||!n.has(t.holder_id))return!1;if(r===void 0)return!0;let s=i.resolve(t.kind);return s!==void 0&&(r.has(s.kind)||s.inverse!==void 0&&r.has(s.inverse))}function st(e,t){let o=xe(),n=t.commandOptionsOverride??(o?.command==="deps"?o.options:t.commandOptions);return Be("deps",{...n,...t.global,resolvedOutputFormat:t.format},e)}function ge(e,t){let o=st(e,t),n=r=>Me(r,t.format,t.global.lean===!0);return n(t.global.tokenAccounting===!0?Ne(o,n):o)}function dt(e,t,o){let n;for(;;){let r=M(new TextEncoder().encode(ge(e,t)).byteLength);if(r===n)return r;o(r),n=r}}function ct(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function at(e){let{assembly:t,canonicalId:o,contextOptions:n,rootEvidence:r,summaryOnly:i,rendering:s,missingCount:d,missingReferences:c}=e,l=n.edgeLimit??40,u=Math.min(l,c.length),a=n.tokenBudget,f;for(;;){let g=vn(t,o,{...n,...a===void 0?{}:{tokenBudget:a}},r);f??=g.meta.tokenBudget,a??=f;let p=En({canonicalId:o,context:g,missingCount:d,missingReferences:c,referenceLimit:u,summaryOnly:i});if(i){if(M(new TextEncoder().encode(ge(S(p,!0,s.legacyAliasCounts),s)).byteLength)>f)throw new TypeError("Relationship context tokenBudget cannot fit the rendered summary");return p}if(g.meta.tokenBudget=f,g.meta.usedTokens=dt(S(p,!1,s.legacyAliasCounts),s,h=>{g.meta.usedTokens=h}),g.meta.usedTokens<=f)return p;if(u>0){u-=1;continue}let y=a,m=y*f/g.meta.usedTokens;a=Math.min(y-1,Math.max(1,Math.floor(m*.9)))}}function lt(e,t){let o=e.contextOptions,n={...e.rendering.global,outputFormat:e.rendering.format},r=["--pm-path",e.pmRoot,"item","deps",e.canonicalId,"--format","context","--output-format",e.rendering.format,"--token-budget"],i=r.length;r.push(String(t));let s=new Set(["--pm-path","--format","--output-format","--token-budget"]),d={format:"context",tokenBudget:t,kind:o.kinds},c=[["--max-depth","maxDepth",o.maxDepth],["--node-limit","nodeLimit",o.nodeLimit],["--edge-limit","edgeLimit",o.edgeLimit],["--direction","direction",o.direction],["--cursor","cursor",o.cursor],["--output-include","outputInclude",n.outputInclude],["--output-limit","outputLimit",n.outputLimit],["--output-budget","outputBudget",n.outputBudget],["--output-session","outputSession",n.outputSession],["--output-cursor","outputCursor",n.outputCursor]];for(let[a,f,g]of c)g!==void 0&&(r.push(a,String(g)),s.add(a),d[f]=g);for(let a of o.kinds??[])r.push("--kind",a),s.add("--kind");let l=[["--summary","summary",e.summaryOnly],["--full","full",e.rendering.commandOptions.full],["--json","json",n.json],["--lean","lean",n.lean],["--output-row-contract","outputRowContract",n.outputRowContract],["--token-accounting","tokenAccounting",n.tokenAccounting],["--no-extensions","noExtensions",n.noExtensions],["--no-pager","noPager",n.noPager]];for(let[a,f,g]of l)g===!0&&(r.push(a),s.add(a),d[f]=!0);let u=Re.find(a=>a.command==="deps");return Reflect.set(d,Te,{canonical_include_modes:[],cli_invocation_observed:!0,explicit_legacy_aliases:Object.values(u.dimensions).flatMap(a=>a.legacy_aliases.flatMap(f=>s.has(f.flag)?[f.flag]:[]))}),De("deps",d),ne(d.summary===!0,d.full===!0,"--summary"),n.outputInclude=d.outputInclude,{args:r,budgetIndex:i,summaryOnly:d.summary===!0,rendering:{...e.rendering,global:n,commandOptionsOverride:d}}}function In(e,t,o){let n={...t.rendering,commandOptionsOverride:{...t.rendering.commandOptionsOverride,tokenBudget:o}},r;try{r=at({...e,contextOptions:{...e.contextOptions,tokenBudget:o},summaryOnly:t.summaryOnly,rootEvidence:t.summaryOnly?[]:e.rootEvidence,rendering:n})}catch(s){if(!ct(s))throw s;return"native_floor"}let i=st(S(r,t.summaryOnly,n.legacyAliasCounts),n);return Se(i)?"output_constraints":"fits"}async function xn(e,t){let o=e.contextOptions.tokenBudget??F,n=lt(e,o),r=(n.summaryOnly?1:1+Math.min(e.contextOptions.edgeLimit??40,e.missingReferences.length))*(e.assembly.details.reduce((a,f)=>a+f.id.length+f.title.length+f.status.length+(f.type?.length??0),e.assembly.graph.edges().length+e.missingReferences.length)+(n.summaryOnly?[]:e.rootEvidence).reduce((a,f)=>a+f.length,0)),{findContextBudgetRecovery:i}=await import("./context-budget-recovery-5MKOCGY5.js"),s=i({requested:o,initialBudget:F,workUnits:r,probe:a=>In(e,n,a)}),d=["--pm-path",e.pmRoot,"item","deps",e.canonicalId,"--format","tree","--summary"],c=X(d),l=s.feasible_tokens===null?d:[...n.args];s.feasible_tokens!==null&&(l[n.budgetIndex]=String(s.feasible_tokens));let u=X(l);return Ve("Relationship context tokenBudget cannot fit the required rendered packet",{exitCode:v.USAGE,cause:t,context:{code:"invalid_argument_value",field:"tokenBudget",value:String(o),required:s.feasible_tokens===null?"Inspect the compact summary and review the output constraints.":"Retry the preserved context query with --token-budget "+s.feasible_tokens+".",why:"Budget advice is verified against the current query. A minimum is reported only after every smaller positive budget is checked.",examples:[u,c],nextSteps:[u],recovery:{recovery_mode:"compact",suggested_flags:["--token-budget"],token_budget:s,suggested_retry_args:l,suggested_retry:u,next_best_command:c,fallback_candidates:[{source:"relationship_summary",command:c,reason:"Inspect bounded counts separately from context rows."}]}}})}async function Tn(e){let{pmRoot:t,assembly:o,canonicalId:n,options:r,rootEvidence:i,summaryOnly:s,rendering:d}=e,c=bn(r,o.graph.registry()),l=o.graph.closure(n,{direction:c.direction,...c.kinds===void 0?{}:{kinds:c.kinds},maxDepth:c.maxDepth??3}),u=l.value.filter(h=>o.missingIdSet.has(h.toLowerCase())),a=new Set(u.map(h=>h.toLowerCase())),f=o.graph.registry(),g=c.kinds?new Set(c.kinds.map(h=>f.require(h).kind)):void 0,p=new Set([n,...l.value]),y=[...o.dangling.active,...o.dangling.legacy_terminal].filter(h=>Cn({row:h,missingReachableSet:a,packetIds:p,filteredKinds:g,registry:f})),m={pmRoot:t,assembly:o,canonicalId:n,contextOptions:c,rootEvidence:i,summaryOnly:s,rendering:d,missingCount:u.length,missingReferences:y};try{return at(m)}catch(h){if(h instanceof w&&h.code==="invalid_query_cursor"){let b=lt({...m,contextOptions:{...c,cursor:void 0},rendering:{...d,global:{...d.global,outputCursor:void 0}}},c.tokenBudget??F),k=X(b.args);throw new w(h.message,h.exitCode,{...h.context,nextSteps:[...h.context.nextSteps,k],recovery:{suggested_retry:k,suggested_retry_args:b.args}})}throw ct(h)?await xn(m,h):h}}function Rn(e){let t=[e],o;for(;t.length>0;){let n=t.pop();n.dependencies.length>0&&(o=n,t.push(...n.dependencies))}return o?(o.dependencies.pop(),o.truncated=!0,!0):!1}function Dn(e,t,o,n,r,i,s){let d=r??sn,c=N(o.nodeLimit,"node-limit")??dn,l=N(o.edgeLimit,"edge-limit")??cn,u=N(o.tokenBudget,"token-budget")??an,a={nodeLimit:c,edgeLimit:l,tokenBudget:u,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},f=rt(e,n,new Set,d,t==="graph"?"repeated":i,new Set,a),g=it(e,n,void 0),p;for(;;){let y=kn(f),m=a.reasons.size===0?void 0:{reasons:[...a.reasons].sort(),limits:{max_depth:d,node_limit:c,edge_limit:l,token_budget:u},estimated_tokens:0,total_node_count:g.node_count,total_edge_count:g.edge_count,omitted_node_count:Math.max(0,g.node_count-y.nodes.length),omitted_edge_count:Math.max(0,g.edge_count-y.edges.length)},h={id:e,format:t,node_count:y.nodes.length,edge_count:y.edges.length,edge_basis:"deduplicated_directed",missing_count:y.missing_ids.length,...m?{truncation:m}:{}};if(p=t==="tree"?{...h,tree:f}:{...h,graph:y},(p.truncation===void 0?M(new TextEncoder().encode(ge(S(p,!1,s.legacyAliasCounts),s)).byteLength):dt(S(p,!1,s.legacyAliasCounts),s,b=>{p.truncation.estimated_tokens=b}))<=u)return p;if(!Rn(f))return a.reasons.add("token_budget"),p;a.reasons.add("token_budget")}}function S(e,t,o={}){let n={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"},r=e.context?.meta.truncated?[{name:"relationship_context_bounds",restore_with:"--token-budget <n> --node-limit <n> --edge-limit <n> --max-depth <n>"}]:[];return{...e,legacy_alias_counts:o,projection:{mode:t?"summary":"full",declared_field_groups:[n,...r],included_field_groups:t?[]:[n.name]}}}async function Fo(e,t,o){let n=Ee(process.cwd(),o.path);await Ke(n);let r=ln(t.format),i=ot(t.maxDepth),s=un(t.collapse);ne(t.summary===!0,t.full===!0,"--summary");let d=t.summary===!0,c=await $e(n),l=ve(c,W()),u=await ze(n,c.item_format,l.type_to_folder,void 0,c.schema),a=Ie(c.schema),f=new Map(u.map(m=>[m.id.trim().toLowerCase(),gn(m)])),g=ae(u,m=>D(m,a));for(let m of[...g.active,...g.legacy_terminal]){let h=f.get(m.holder_id.trim().toLowerCase()),b=m.kind.trim().toLowerCase();h&&!h.dependencies.some(k=>k.id.trim().toLowerCase()===m.target_id.trim().toLowerCase()&&k.kind===b)&&h.dependencies.push({id:m.target_id,kind:b})}if(!f.has(e.trim().toLowerCase()))throw new w(`Item ${e} not found`,v.NOT_FOUND);let p=o.outputFormat??(o.json===!0||o.json===void 0&&o.defaultOutputFormat==="json"?"json":"toon");if(r==="context"){let m=f.get(e.trim().toLowerCase()).id,h=d?[]:await wn(n,m,c,l.type_to_folder),b=E=>D(E,a),k=x(),C=et().lookup(n,Qe(u,b,k),()=>le(u,b,k));return S(await Tn({pmRoot:n,assembly:C.assembly,canonicalId:m,options:t,rootEvidence:h,summaryOnly:d,rendering:{format:p,global:o,commandOptions:t,legacyAliasCounts:C.assembly.legacyAliasCounts}}),d,C.assembly.legacyAliasCounts)}let y=Object.fromEntries(Object.entries(le(u,m=>D(m,a)).legacyAliasCounts));return d?S({id:e,format:r,...it(e,f,i)},!0,y):S(Dn(e,r,t,f,i,s,{format:p,global:o,commandOptions:t,legacyAliasCounts:y}),!1,y)}export{re as a,mt as b,$ as c,Y as d,Ge as e,gt as f,ht as g,yt as h,bt as i,Vn as j,Jn as k,Lt as l,x as m,Fn as n,J as o,Gn as p,Dt as q,Hn as r,U as s,At as t,Nt as u,ae as v,Mt as w,ro as x,le as y,ao as z,Kt as A,lo as B,Ve as C,jt as D,Qe as E,fe as F,et as G,go as H,F as I,tt as J,N as K,ot as L,fn as M,pn as N,Fo as O};
2
- //# sourceMappingURL=chunk-URWYYJ7K.js.map
1
+ import{E as Ue,F as je,I as ze,f as Pe}from"./chunk-NE27VCU7.js";import{_a as $e,db as Ke,s as P,t as D}from"./chunk-UHWTPOM4.js";import{j as Ie}from"./chunk-B266DDBJ.js";import{b as R,c as I}from"./chunk-AK2CI2GI.js";import{Dc as X,Fa as Ce,Oc as M,R as T,T as H,Uc as Te,W as ke,Zc as Re,cd as De,ee as Be,fe as Ne,gd as Se,ic as W,jc as xe,ka as be,nd as Le,od as Oe,pe as Me,qa as ve,sa as we,sd as Ae,wa as Ee,xc as ne}from"./chunk-NLZUI234.js";import{y as v,z as w}from"./chunk-KTXU5WU6.js";(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]="a319e7d9-e248-573b-bf1f-35217ce49fd0")}catch{}})();function re(e,t){return(t===void 0?void 0:we(e,t))?.execution_role??be[e.trim().toLowerCase()]??"agent"}var ie="blocked_by",Fe="blocks",mt=Object.freeze([ie,Fe]),oe="no-active-blocker";function _(e){return e.trim().toLowerCase()}function q(e,t){return t?`external:${e}`:`local:${_(e)}`}function $(e){let t=new Map,o=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(o.length>0&&_(o)!==oe){let n=R(o);t.set(q(o,n),n?o:_(o))}for(let n of e.dependencies??[]){let r=typeof n.id=="string"?n.id.trim():"";if(H(n.kind)===ie&&r.length>0&&_(r)!==oe){let i=R(r)||I(n.source_kind);t.set(q(r,i),i?r:_(r))}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function Y(e){let t=new Map;for(let o of e){let n=_(o.id);n.length!==0&&t.set(n,new Set($(o)))}for(let o of e){let n=_(o.id);if(n.length!==0)for(let r of o.dependencies??[]){let i=H(r.kind)===Fe&&typeof r.id=="string"?_(r.id):"";if(i.length===0||i===oe)continue;let s=t.get(i)??new Set;s.add(n),t.set(i,s)}}return new Map([...t].map(([o,n])=>[o,[...n].sort((r,i)=>r.localeCompare(i))]))}function Ge(e,t){let o=_(e.id);return o.length>0?Y(t).get(o)??$(e):$(e)}function se(e,t,o,n){let r=e,i=typeof r.id=="string"?n?.get(_(r.id))??Ge(r,[...t.values()]):$(e),s=new Set((e.dependencies??[]).filter(d=>H(d.kind)===ie&&I(d.source_kind)&&typeof d.id=="string"&&d.id.trim().length>0).map(d=>q(d.id.trim(),!0)));return i.map(d=>{if(R(d)||s.has(q(d,!0)))return{id:d,title:null,status:null,resolved:!1,external:!0,...typeof e.updated_at=="string"?{blocked_since:e.updated_at}:{},resolver:null};let c=t.get(_(d));return c?{id:d,title:c.title,status:c.status,resolved:D(c.status,o)}:{id:d,title:null,status:null,resolved:!1}})}function gt(e,t,o){return se(e,t,o)}function ht(e,t){let o=new Map(e.map(s=>[_(s.id),s])),n=Y(e),r=new Set([...He(t),...t.blocked_statuses]),i=new Set;for(let s of e){let d=P(s.status,t);r.has(d)&&(t.blocked_statuses.has(d)||se(s,o,t,n).some(c=>!c.resolved))&&i.add(_(s.id))}return i}function yt(e,t,o={},n){let r=[...e.ready,...e.decisions,...e.gates];o.includeContainers===!0&&r.push(...e.containers.filter(s=>s.open_blockers.length===0&&!t.blocked_statuses.has(P(s.item.status,t))));let i={ready:[],decisions:[],gates:[]};for(let s of r){let d=re(s.item.type,n);d==="human"&&o.includeDecisions!==!0?i.decisions.push(s):d==="gate"&&o.includeGates!==!0?i.gates.push(s):i.ready.push(s)}return i}function He(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function _t(e,t,o){let n=[_(e)],r=new Set;for(;n.length>0;){let i=n.pop();if(!r.has(i)){r.add(i);for(let s of t.get(i)??[]){if(!D(s.status,o))return!0;n.push(_(s.id))}}}return!1}function kt(e){let t=new Map,o=new Map,n=new Map,r=Y(e);for(let i of e){t.set(_(i.id),i);let s=typeof i.parent=="string"?i.parent.trim():"";if(s.length>0){let d=_(s),c=o.get(d)??[];c.push(i),o.set(d,c)}for(let d of r.get(_(i.id))){let c=_(d),l=n.get(c)??[];l.push(i.id),n.set(c,l)}}return{itemsById:t,childrenByParent:o,blockedByReverse:n,blockerIdsByItem:r}}function bt(e,t,o,n){let{itemsById:r,childrenByParent:i,blockedByReverse:s,blockerIdsByItem:d}=kt(t),c=new Set([...He(o),...o.blocked_statuses]),l=new Set(t.filter(m=>!D(m.status,o)).map(m=>_(m.id))),u=[],a=[],f=[],g=[],p=[],y=0;for(let m of e){if(!c.has(P(m.status,o)))continue;y+=1;let h=se(m,r,o,d).filter(E=>!E.resolved),b=(s.get(_(m.id))??[]).filter(E=>l.has(_(E))).sort((E,L)=>E.localeCompare(L)),k={item:m,open_blockers:h,unblocks:b};if(_t(m.id,i,o)){f.push(k);continue}let C=o.blocked_statuses.has(P(m.status,o));if(h.length===0&&!C){let E=re(m.type,n);E==="human"?g.push(k):E==="gate"?p.push(k):u.push(k)}else a.push(k)}return{ready:u,blocked:a,containers:f,decisions:g,gates:p,active_count:y,container_count:f.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ae1c56b3-148d-502d-9450-e807fdfab4da")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="283dfa35-9a8e-524c-b6e2-d433d51215ca")}catch{}})();function x(){let e=T();for(let t of W()?.relationship_kinds??[])for(let o of t.definitions)e.register(o);return e}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8b57e560-4ac4-53b6-9fb1-eebb1f30562a")}catch{}})();function K(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function V(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function vt(e,t){let o=new Set,n=[];for(let r of[...e].sort()){if(o.has(r))continue;o.add(r);let i=[{nodeId:r,children:[...t.get(r)??[]].sort(),nextChild:0}];for(;i.length>0;){let s=i.at(-1),d=s.children[s.nextChild];d===void 0?(n.push(s.nodeId),i.pop()):(s.nextChild+=1,o.has(d)||(o.add(d),i.push({nodeId:d,children:[...t.get(d)??[]].sort(),nextChild:0})))}}return n}function wt(e,t){let o=[...e].sort(),n=vt(o,t),r=new Set,i=Et(o,t),s=[];for(let d of n.reverse()){if(r.has(d))continue;let c=Ct(d,i,r);(c.length>1||t.get(c[0])?.has(c[0]))&&s.push(c)}return s.sort((d,c)=>d.join("\0").localeCompare(c.join("\0")))}function Et(e,t){let o=new Map(e.map(n=>[n,new Set]));for(let[n,r]of t)for(let i of r)o.get(i)?.add(n);return o}function Ct(e,t,o){let n=[],r=[e];for(o.add(e);r.length>0;){let i=r.pop();n.push(i);for(let s of[...t.get(i)].sort())o.has(s)||(o.add(s),r.push(s))}return n.sort()}function We(e){let t=new Map;for(let o of e){let n=K(o?.id);n&&!t.has(n)&&t.set(n,o)}return t}function It(e,t,o){let n=K(t.parent);if(!(!n||!o.has(n)))return{parent_id:n,child_id:e,source:"scalar_parent",kind:"parent",holder_id:e,child_cardinality:"one"}}function xt(e,t,o,n){let r=K(t?.id),i=n.resolve(t?.kind);if(!r||!o.has(r)||!i?.hierarchy)return;let s=i.hierarchyDirection==="source_parent";return{parent_id:s?e:r,child_id:s?r:e,source:"dependency",kind:i.kind,holder_id:e,target_id:r,child_cardinality:s?i.incoming:i.outgoing}}function Xe(e,t){let o=new Map;for(let[n,r]of e){let i=It(n,r,e);i&&o.set(V(i),i);for(let s of r.dependencies??[]){let d=xt(n,s,e,t);d&&o.set(V(d),d)}}return[...o.values()].sort((n,r)=>V(n).localeCompare(V(r)))}function Fn(e,t=x()){return Xe(We(e),t)}function Tt(e,t,o){let n=new Set(e.filter(r=>r.child_cardinality==="one").map(r=>r.child_id));return[...t].filter(([r,i])=>i.length>1&&n.has(r)).map(([r,i])=>({child_id:r,parent_ids:[...i],legacy_terminal:o.has(r)&&i.every(s=>o.has(s))})).sort((r,i)=>r.child_id.localeCompare(i.child_id))}function Rt(e,t,o){let n=new Map;for(let i of t){if(i.source!=="dependency")continue;let s=n.get(i.child_id)??new Set;s.add(i.parent_id),n.set(i.child_id,s)}let r=[];for(let[i,s]of e){let d=K(s.parent);if(!d||!e.has(d))continue;let c=[...n.get(i)??[]].filter(l=>l!==d).sort();c.length!==0&&r.push({child_id:i,scalar_parent_id:d,dependency_parent_ids:c,legacy_terminal:o.has(i)&&o.has(d)&&c.every(l=>o.has(l))})}return r.sort((i,s)=>i.child_id.localeCompare(s.child_id))}function J(e,t=n=>n==="closed"||n==="canceled",o=x()){let n=We(e),r=Xe(n,o),i=Dt(r),s=new Set([...n].filter(([,c])=>t(c.status)).map(([c])=>c)),d=wt([...n.keys()],new Map([...i.children_by_parent].map(([c,l])=>[c,new Set(l)]))).map(c=>({item_ids:c,legacy_terminal:c.every(l=>s.has(l))}));return{relations:r,cycles:d,cardinality_violations:Tt(r,i.parents_by_child,s),divergences:Rt(n,r,s)}}function Gn(e){return e.source==="scalar_parent"?`${e.parent_id} -> ${e.child_id} (scalar parent on ${e.holder_id})`:`${e.parent_id} -> ${e.child_id} (${e.kind} dependency on ${e.holder_id})`}function Dt(e){let t=new Map,o=new Map;for(let n of e){let r=t.get(n.child_id)??new Set;r.add(n.parent_id),t.set(n.child_id,r);let i=o.get(n.parent_id)??new Set;i.add(n.child_id),o.set(n.parent_id,i)}return{parents_by_child:new Map([...t].map(([n,r])=>[n,[...r].sort()])),children_by_parent:new Map([...o].map(([n,r])=>[n,[...r].sort()]))}}function de(e,t){let o=new Set(t);return e.every(n=>o.has(n))}function Hn(e,t,o,n,r){let i=K(o);if(!i)return;let s=J(e,n,r),d=J(t,n,r),c=d.divergences.find(a=>!s.divergences.some(f=>f.child_id===a.child_id&&f.scalar_parent_id===a.scalar_parent_id&&de(a.dependency_parent_ids,f.dependency_parent_ids)));if(c){let a=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new w(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${a.join(", ")}.`,v.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:i,target_id:c.child_id,verification_errors:a})}let l=d.cardinality_violations.find(a=>(a.child_id===i||a.parent_ids.includes(i))&&!s.cardinality_violations.some(f=>f.child_id===a.child_id&&de(a.parent_ids,f.parent_ids)));if(l)throw new w(`Hierarchy mutation would assign ${l.child_id} to multiple parents: ${l.parent_ids.join(", ")}.`,v.CONFLICT,{code:"hierarchy_cardinality_created",source_id:i,target_id:l.child_id,verification_errors:l.parent_ids});let u=d.cycles.find(a=>a.item_ids.includes(i)&&!s.cycles.some(f=>de(a.item_ids,f.item_ids)));if(u)throw new w(`Hierarchy mutation would create a cycle: ${u.item_ids.join(" -> ")}.`,v.CONFLICT,{code:"hierarchy_cycle_created",source_id:i,verification_errors:u.item_ids})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6c580b70-76eb-51db-8587-99b73dd20875")}catch{}})();var St="global";function Vn(e){let t=e?.trim();if(t)return I(t)?St:t}function Jn(e,t,o){return Lt(e,t,o)}function Lt(e,t,o){let n=e.trim();return I(o)||R(n)?n:Pe(n,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="41f814be-ee87-5cae-b674-69c2e7f42655")}catch{}})();function B(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function U(e){let t=B(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function j(e,t,o=!0){let n=B(e);return o&&(I(t)||n!==void 0&&R(n))}function ce(e,t){return j(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function qe(e,t,o,n){return j(e,t)?n.get(e):o.get(e.toLowerCase())}function A(e,t){let o=e.toLowerCase(),n=t.toLowerCase();return o!==n?o<n?-1:1:e!==t?e<t?-1:1:0}function Ot(e){let t=new Map;for(let o of e.dependencies??[]){if(typeof o!="object"||o===null)continue;let n=o,r=B(n.id);if(!r)continue;let i=typeof n.kind=="string"?n.kind:"related",s=`${i}\0${ce(r,n.source_kind)}`,d=t.get(s);d?d.count+=1:t.set(s,{target_id:r,kind:i,count:1})}return t}function At(e,t=o=>o==="closed"||o==="canceled"){let o=[];for(let n of e)if(!(typeof n?.id!="string"||n.id.trim().length===0))for(let r of Ot(n).values())r.count<2||o.push({holder_id:n.id.trim(),target_id:r.target_id,kind:r.kind,occurrences:r.count,holder_status:n.status,legacy_terminal:t(n.status)});return o.sort((n,r)=>{let i=A(n.holder_id,r.holder_id);if(i!==0)return i;let s=A(n.target_id,r.target_id);return s!==0?s:A(n.kind,r.kind)})}function Bt(e,t,o,n,r){if(typeof o!="object"||o===null)return;let i=B(o.id);if(!i||ce(i,o.source_kind)!==ce(t))return;let s=r.resolve(typeof o.kind=="string"?o.kind:"related");if(!(s?.ordering!==!0||(s.precedence??"source_before_target")!=="source_before_target"))return{holder_id:e.id.trim(),target_id:i,dependency_kind:s.kind,holder_status:e.status,legacy_terminal:n(e.status)}}function Nt(e,t=n=>n==="closed"||n==="canceled",o=x()){let n=new Map;for(let r of e){if(typeof r?.id!="string"||r.id.trim().length===0)continue;let i=B(r.blocked_by);if(i)for(let s of r.dependencies??[]){let d=Bt(r,i,s,t,o);d&&n.set(`${d.holder_id.toLowerCase()}\0${d.target_id.toLowerCase()}\0${d.dependency_kind}`,d)}}return[...n.values()].sort((r,i)=>{let s=A(r.holder_id,i.holder_id);if(s!==0)return s;let d=A(r.target_id,i.target_id);return d!==0?d:A(r.dependency_kind,i.dependency_kind)})}function ae(e,t=o=>o==="closed"||o==="canceled"){let o=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),n=new Set(o.map(c=>c.id.trim().toLowerCase())),r=new Map,i=(c,l,u,a,f)=>{let g=B(l);if(!g||n.has(g.toLowerCase())||j(g,void 0,f))return;let p={holder_id:c.id.trim(),target_id:g,kind:u,source:a,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:g.toLowerCase()==="no-active-blocker"};r.set(`${p.holder_id}::${p.target_id}::${p.kind}::${p.source}`,p)};for(let c of o){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let l of c.dependencies??[]){if(typeof l!="object"||l===null)continue;let u=l;I(u.source_kind)||i(c,u.id,typeof u.kind=="string"?u.kind:"related","dependency",!0)}}let s=[...r.values()].sort((c,l)=>c.holder_id.localeCompare(l.holder_id)||c.target_id.localeCompare(l.target_id)||c.kind.localeCompare(l.kind)||c.source.localeCompare(l.source)),d=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:d,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}function Mt(e){let t=new Map;for(let o of[...e.active,...e.legacy_terminal]){if(o.no_active_blocker_sentinel)continue;let n=o.target_id.trim(),r=n.toLowerCase();t.has(r)||t.set(r,n)}return[...t.values()].sort((o,n)=>o.localeCompare(n))}function Pt(e){let t=new Map;for(let o of e){let n=U(o.blocked_by);n&&j(n)&&!t.has(n)&&t.set(n,n);for(let r of o.dependencies??[]){if(typeof r!="object"||r===null||!j(r.id,r.source_kind))continue;let i=U(r.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((o,n)=>o.localeCompare(n))}var Ye=new WeakMap;function ro(e){return e.hierarchyIntegrity??Ye.get(e)}function $t(e,t=x()){let o={};for(let n of e)for(let r of n.dependencies??[]){if(typeof r!="object"||r===null)continue;let i=r.kind;if(typeof i!="string")continue;let s=i.trim().toLowerCase().replaceAll("-","_"),d=t.resolve(i);d&&s!==d.kind&&(o[s]=(o[s]??0)+1)}return Object.fromEntries(Object.entries(o).sort(([n],[r])=>n.localeCompare(r)))}function le(e,t,o){let n=o??x(),r=e.filter(p=>typeof p?.id=="string"&&p.id.trim().length>0),i=new Map(r.map(p=>[p.id.trim().toLowerCase(),p.id.trim()])),s=ae(r,t),d=Mt(s);for(let p of d)i.set(p.toLowerCase(),p);let c=Pt(r),l=new Set(i.keys()),u=new Map;for(let p of c){let y=p;for(;l.has(y.toLowerCase());)y=`external:${y}`;u.set(p,y),l.add(y.toLowerCase())}let a=r.map(p=>{let y=U(p.parent),m=U(p.blocked_by),h=(p.dependencies??[]).flatMap(b=>{if(typeof b!="object"||b===null)return[];let k=b,C=U(k.id);return C?[{id:qe(C,k.source_kind,i,u),kind:typeof k.kind=="string"?k.kind:"related"}]:[]});return{id:p.id.trim(),...y?{parent:i.get(y.toLowerCase())}:{},...m?{blocked_by:qe(m,void 0,i,u)}:{},dependencies:h}}),f=J(r,t,n),g={graph:ke.fromItems([...a,...d.map(p=>({id:p})),...c.map(p=>({id:u.get(p)}))],n),details:[...r.map(p=>({id:p.id.trim(),title:p.title,status:p.status,...typeof p.type=="string"&&p.type.trim().length>0?{type:p.type.trim()}:{}})),...d.map(p=>({id:p,title:`[missing] ${p}`,status:"missing"})),...c.map(p=>({id:u.get(p),title:`[external] ${p}`,status:"external"}))],missingIdSet:new Set(d.map(p=>p.toLowerCase())),dangling:s,duplicateRows:At(r,t),orderingContradictions:Nt(r,t,n),legacyAliasCounts:$t(r,n),hierarchyIntegrity:f};return Ye.set(g,f),g}(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]="cf5a7b37-5b40-52b4-a19c-18b08de649c4")}catch{}})();function ue(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function ao(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;if(!ue(t.requested_tokens)||t.basis!=="canonical_retry")return!1;switch(t.minimum_status){case"exact":return ue(t.minimum_feasible_tokens)&&t.feasible_tokens===t.minimum_feasible_tokens&&t.reason===void 0;case"feasible_only":return t.minimum_feasible_tokens===null&&ue(t.feasible_tokens)&&t.reason===void 0;case"unavailable":return t.minimum_feasible_tokens===null&&t.feasible_tokens===null&&["query_cost_limit","search_limit","output_constraints"].includes(t.reason);default:return!1}}var Kt="PmCliError";function lo(e){if(!jt(e)||e.code!=="item_already_exists"||e.exitCode!==v.CONFLICT)return!1;let t=e.context;return typeof t=="object"&&t!==null&&t.code==="item_already_exists"&&typeof t.id=="string"&&t.id.trim().length>0&&typeof t.path=="string"&&t.path.trim().length>0}function Ut(e){if(!Number.isFinite(e))throw new TypeError("createPmCliExpectedError options.exitCode must be a finite number");let t=Math.trunc(e);if(t<=v.SUCCESS)throw new TypeError("createPmCliExpectedError options.exitCode must be a positive exit code");return t}function Ve(e,t={}){if(typeof e!="string"||e.trim().length===0)throw new TypeError("createPmCliExpectedError message must be a non-empty string");let o=new w(e,Ut(t.exitCode??v.USAGE),t.context??{});return"cause"in t&&Object.defineProperty(o,"cause",{value:t.cause,enumerable:!1,configurable:!0,writable:!0}),o}function jt(e){if(!(e instanceof Error)||e.name!==Kt)return!1;let t=e;return typeof t.exitCode=="number"&&Number.isFinite(t.exitCode)}import{createHash as zt}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]="e31ef0fb-e803-500b-b1e5-db9edfc880c4")}catch{}})();var Ft=64,Gt=8;function Ht(e,t){let o=(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??"",o].join("\0")}function Qe(e,t=n=>n==="closed"||n==="canceled",o=T()){let n=e.filter(i=>typeof i?.id=="string"&&i.id.trim().length>0).map(i=>Ht(i,t)).sort(),r=o.list().map(i=>Ce(i)).sort();return zt("sha256").update(n.join("")).update("").update(r.join("")).digest("hex")}function Je(e,t,o){let n=t??o;if(!Number.isInteger(n)||n<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return n}var fe=class{#e=new Map;#t;#n;constructor(t={}){this.#t=Je("maxResultsPerWorkspace",t.maxResultsPerWorkspace,Ft),this.#n=Je("maxWorkspaces",t.maxWorkspaces,Gt)}lookup(t,o,n){let r=this.#e.get(t),i=!0;(r===void 0||r.fingerprint!==o)&&(r={fingerprint:o,assembly:n(),results:new Map},i=!1,!this.#e.has(t)&&this.#e.size>=this.#n&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,r);let s=r,d=this.#t;return{assembly:s.assembly,assemblyReused:i,fingerprint:o,memoize(c,l){let u=s.results.get(c);if(u!==void 0||s.results.has(c))return s.results.delete(c),s.results.set(c,u),{value:structuredClone(u),reused:!0};let a=l();return s.results.size>=d&&s.results.delete(s.results.keys().next().value),s.results.set(c,structuredClone(a)),{value:a,reused:!1}}}}clear(){this.#e.clear()}},Ze=new fe;function et(){return Ze}function go(){Ze.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]="3b494263-6359-57e9-8f34-b0bdcdeda93f")}catch{}})();var F=1200,Wt=["prerequisite","dependent","ancestor","descendant","provenance","related"],Xt=new TextEncoder;function pe(e,t,o){let n=e??t;if(!Number.isInteger(n)||n<1)throw new TypeError(`Relationship context ${o} must be positive`);return n}function z(e){return Math.max(1,Math.ceil(Xt.encode(JSON.stringify(e)).byteLength/4))}function Q(e,t,o){let n=o.resolve(e.kind);if(n?.ordering){let r=(n.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===r?"prerequisite":"dependent"}if(n?.hierarchy){let r=n.hierarchyDirection==="source_parent"?e.source:e.target;return t===r?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function qt(e,t,o,n){let r=e.filter(i=>i.source===t&&i.target===o||i.target===t&&i.source===o).map(i=>Q(i,o,n));return[...new Set(r)].sort()}function Yt(e){return Wt.find(t=>e.includes(t))}function Vt(e,t,o,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 s=new Set([t]),d=[{id:t,distance:0}],c=[],l=0,u=!1;for(let a=0;a<d.length;a+=1){n.signal?.throwIfAborted();let f=d[a];if(f.distance>=i&&u)continue;let g=e.neighborEdges(f.id,{direction:r,kinds:n.kinds,signal:n.signal});if(l+=g.meta.inspectedEdges,f.distance>=i){g.value.some(p=>!s.has(p.id))&&(u=!0);continue}for(let{id:p,edge:y}of g.value){if(s.has(p))continue;s.add(p);let m={id:p,distance:f.distance+1,via:f.id,role:Q(y,p,o)};c.push(m),d.push(m)}}return{rows:c,visitedNodes:d.length,inspectedEdges:l,depthTruncated:u}}function Jt(e,t,o,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:s,edge:d}of i)r[Q(d,s,o)]+=1;return{directEdges:r,directTotal:i.length,rootEdges:i.map(({edge:s})=>s)}}function Qt(e,t,o,n){let r=new Set;for(let i of t){let s=i.source===o?i.target:i.source,d=Q(i,s,n);(d==="prerequisite"||d==="ancestor")&&r.add(s)}return[...e].sort((i,s)=>Number(r.has(s.id))-Number(r.has(i.id))||i.distance-s.distance||i.id.localeCompare(s.id))}function Zt(e,t){let o=e.distance===1?qt(t.rootEdges,t.rootId,e.id,t.registry):[];return{...t.details.get(e.id)??{id:e.id},distance:e.distance,role:o.length>0?Yt(o):e.role,via:e.via,reasons:o.length>0?o:[`${e.role} via ${e.via} (depth ${e.distance})`]}}function en(e){let t=[],o=e.initialTokens,n=0;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let i=Zt(r,e),s=z(i);if(o+s>e.tokenBudget)break;let d=e.rootEdges.filter(c=>c.source===r.id||c.target===r.id).reduce((c,l)=>c+z(l),0);if(o+n+s+d>e.tokenBudget){if(t.length>0)break}else n+=d;t.push(i),o+=s}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:o}}function tn(e){let t=e.options.kinds?new Set(e.options.kinds.map(i=>e.registry.require(i).kind)):void 0,o=e.graph.edges().filter(i=>{if(!e.included.has(i.source)||!e.included.has(i.target))return!1;if(t===void 0||t.has(i.kind))return!0;let s=e.registry.resolve(i.kind)?.inverse;return s!==void 0&&t.has(s)}).sort((i,s)=>+(s.source===e.rootId||s.target===e.rootId)-+(i.source===e.rootId||i.target===e.rootId)),n=[],r=e.initialTokens;for(let i of o){if(n.length>=e.edgeLimit)break;let s=z(i);r+s>e.tokenBudget||(n.push(i),r+=s)}return{edges:n,usedTokens:r,candidateCount:o.length}}function tt(e,t,o,n={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let r=pe(n.nodeLimit,20,"nodeLimit"),i=pe(n.edgeLimit,40,"edgeLimit"),s=pe(n.tokenBudget,F,"tokenBudget"),d=n.registry??T(),c=new Map(o.map(O=>[O.id,O])),l=c.get(t)??{id:t},{evidence:u=[],...a}=l,f=[...u],g=Vt(e,t,d,n),{rootEdges:p,...y}=Jt(e,t,d,n),m=Qt(g.rows,p,t,d),h=Le("relationship-context",{rootId:t,direction:n.direction??"both",kinds:[...n.kinds??[]].sort(),maxDepth:n.maxDepth??3,ordering:"required-root-evidence-first-v1"}),b=Ae(m,n.cursor,h,({id:O})=>O,"--cursor"),k=m.slice(b),C=z(a)+z(f);if(C>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let E=en({candidates:k,details:c,rootEdges:p,rootId:t,registry:d,nodeLimit:r,tokenBudget:s,initialTokens:C}),{nodes:L}=E,ut=new Set([t,...L.map(({id:O})=>O)]),he=tn({graph:e,rootId:t,included:ut,options:n,registry:d,edgeLimit:i,tokenBudget:s,initialTokens:E.usedTokens}),{edges:Z,usedTokens:ft}=he,G=b+L.length,ee=G<m.length,ye=L.at(-1),te=he.candidateCount-Z.length,_e=g.depthTruncated||ee||te>0,pt={rootId:t,...a.status===void 0?{}:{rootStatus:a.status},...y,discoveredNodes:m.length,returnedNodes:L.length,returnedEdges:Z.length,omittedNodes:m.length-G,omittedEdges:te,evidenceCount:f.length,hasMore:ee};return{root:a,summary:pt,nodes:L,edges:Z,evidence:f,meta:{exact:!0,truncated:_e,completeness:_e?"truncated":"complete",nodeLimit:r,edgeLimit:i,tokenBudget:s,usedTokens:ft,visitedNodes:g.visitedNodes,inspectedEdges:g.inspectedEdges,omittedNodes:m.length-G,omittedEdges:te,...ee&&ye?{nextCursor:Oe(h,ye.id,G-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]="196b7f2d-b09b-5432-b4ef-9cdf82e92731")}catch{}})();var nn=["tree","graph","context"],on=["none","repeated"],rn=["outgoing","incoming","both"],sn=32,dn=200,cn=400,an=16e3;function ln(e){let t=e?.trim().toLowerCase()??"tree";if(nn.includes(t))return t;throw new w(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,v.USAGE)}function N(e,t){if(e===void 0)return;let o=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(o)||o<1)throw new w(`Invalid --${t} value "${e}". Use a positive integer.`,v.USAGE);return o}function ot(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new w(`Invalid --max-depth value "${e}". Use a non-negative integer.`,v.USAGE);return t}function un(e){let t=e?.trim().toLowerCase()??"none";if(on.includes(t))return t;throw new w(`Invalid --collapse value "${e}". Use "none" or "repeated".`,v.USAGE)}function fn(e){let t=e?.trim().toLowerCase()??"both";if(rn.includes(t))return t;throw new w(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,v.USAGE)}function pn(e,t=T()){if(e===void 0)return;let o=(Array.isArray(e)?e:[e]).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);if(o.length===0)return;let n=new Set;for(let r of o){let i=t.resolve(r);if(!i){let s=t.list().map(d=>d.kind).join(", ");throw new w(`Invalid --kind value "${r}". Registered kinds: ${s}.`,v.USAGE)}n.add(i.kind)}return[...n].sort()}function mn(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)}),o=new Map;for(let n of t){let r=`${n.kind.toLowerCase()}::${n.id.toLowerCase()}`;o.has(r)||o.set(r,{id:n.id,kind:n.kind})}return[...o.values()]}function gn(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:mn(e.dependencies)}}function hn(e){return M(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function yn(e,t,o,n,r,i,s,d,c){for(let l of t.dependencies){let u=Math.max(1,Math.ceil(JSON.stringify({from:e.id,to:l.id,kind:l.kind}).length/3));if(d.nodes>=d.nodeLimit){e.truncated=!0,d.reasons.add("node_limit");break}if(d.edges>=d.edgeLimit){e.truncated=!0,d.reasons.add("edge_limit");break}if(d.estimatedTokens+u>=d.tokenBudget){e.truncated=!0,d.reasons.add("token_budget");break}d.edges+=1,d.estimatedTokens+=u,e.dependencies.push(rt(l.id,o,n,r,i,s,d,c+1,l.kind))}}function _n(e,t,o,n,r,i,s,d){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:n!==void 0&&d>=n?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):r==="repeated"&&i.has(o)?(e.collapsed=!0,!0):!1}function rt(e,t,o,n,r,i,s,d=0,c){let l=e.trim().toLowerCase(),u=t.get(l),a={id:u?.id??e,title:u?.title,type:u?.type,status:u?.status,via:c,missing:!u,cycle:o.has(l),dependencies:[]};if(s.nodes+=1,s.estimatedTokens+=hn(a),_n(a,u,l,n,r,i,s,d))return a;r==="repeated"&&i.add(l);let f=new Set(o);return f.add(l),yn(a,u,t,f,n,r,i,s,d),a}function nt(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 kn(e){let t=new Map,o=new Map,n=[e];for(;n.length>0;){let d=n.pop();t.set(d.id,nt(t.get(d.id),{id:d.id,title:d.title,type:d.type,status:d.status,missing:d.missing}));for(let c of d.dependencies){t.set(c.id,nt(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let l=c.via??"related",u=`${d.id}::${c.id}::${l}`;o.has(u)||o.set(u,{from:d.id,to:c.id,kind:l}),c.cycle||n.push(c)}}let r=[...t.values()].sort((d,c)=>d.id.localeCompare(c.id)),i=[...o.values()].sort((d,c)=>{let l=d.from.localeCompare(c.from);if(l!==0)return l;let u=d.to.localeCompare(c.to);return u!==0?u:d.kind.localeCompare(c.kind)}),s=r.filter(d=>d.missing).map(d=>d.id);return{root_id:e.id,nodes:r,edges:i,missing_ids:s}}function it(e,t,o){let n=new Set,r=new Set,i=new Set,s=new Set,d=[{id:e,depth:0}],c=0;for(;c<d.length;){let l=d[c++],u=l.id.trim().toLowerCase();n.add(u);let a=t.get(u);if(!a){i.add(u);continue}if(!(o!==void 0&&l.depth>=o)&&!s.has(u)){s.add(u);for(let f of a.dependencies)r.add(`${u}::${f.id.trim().toLowerCase()}::${f.kind}`),d.push({id:f.id,depth:l.depth+1})}}return{node_count:n.size,edge_count:r.size,edge_basis:"deduplicated_directed",missing_count:i.size}}function bn(e,t=T()){let o=ot(e.maxDepth),n=N(e.nodeLimit,"node-limit"),r=N(e.edgeLimit,"edge-limit"),i=N(e.tokenBudget,"token-budget"),s=pn(e.kind,t);return{direction:fn(e.direction),...s===void 0?{}:{kinds:s},...o===void 0?{}:{maxDepth:o},...n===void 0?{}:{nodeLimit:n},...r===void 0?{}:{edgeLimit:r},...i===void 0?{}:{tokenBudget:i},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function vn(e,t,o,n){return tt(e.graph,t,e.details.map(r=>r.id===t&&n.length>0?{...r,evidence:n}:r),o)}function me(e,t,o,n){for(let r of o.slice(0,n)){let i=r?.trim();i&&e.push(`${t}:${i}`)}}async function wn(e,t,o,n){let r=await Ue(e,t,o.id_prefix,o.item_format,n);if(!r)return[];let{document:i}=await je(r,{schema:o.schema}),s=i.metadata,d=s.files??[],c=s.tests??[],l=s.docs??[],u=[["files",d.length],["tests",c.length],["docs",l.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(u.every(([,f])=>f===0))return[];let a=[`linked:${u.map(([f,g])=>`${f}=${g}`).join(",")}`];return me(a,"file",d.map(f=>f.path),3),me(a,"test",c.map(f=>f.command??f.path),2),me(a,"doc",l.map(f=>f.path),2),a}function En(e){let{canonicalId:t,context:o,missingCount:n,missingReferences:r,referenceLimit:i,summaryOnly:s}=e;return{id:t,format:"context",node_count:o.nodes.length+1,edge_count:o.edges.length,edge_basis:"deduplicated_directed",missing_count:n,missing_scope:"traversal",missing_reference_count:r.length,...s?{}:{missing_references:r.slice(0,i),context:o}}}function Cn(e){let{row:t,missingReachableSet:o,packetIds:n,filteredKinds:r,registry:i}=e;if(t.no_active_blocker_sentinel||!o.has(t.target_id.trim().toLowerCase())||!n.has(t.holder_id))return!1;if(r===void 0)return!0;let s=i.resolve(t.kind);return s!==void 0&&(r.has(s.kind)||s.inverse!==void 0&&r.has(s.inverse))}function st(e,t){let o=xe(),n=t.commandOptionsOverride??(o?.command==="deps"?o.options:t.commandOptions);return Be("deps",{...n,...t.global,resolvedOutputFormat:t.format},e)}function ge(e,t){let o=st(e,t),n=r=>Me(r,t.format,t.global.lean===!0);return n(t.global.tokenAccounting===!0?Ne(o,n):o)}function dt(e,t,o){let n;for(;;){let r=M(new TextEncoder().encode(ge(e,t)).byteLength);if(r===n)return r;o(r),n=r}}function ct(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function at(e){let{assembly:t,canonicalId:o,contextOptions:n,rootEvidence:r,summaryOnly:i,rendering:s,missingCount:d,missingReferences:c}=e,l=n.edgeLimit??40,u=Math.min(l,c.length),a=n.tokenBudget,f;for(;;){let g=vn(t,o,{...n,...a===void 0?{}:{tokenBudget:a}},r);f??=g.meta.tokenBudget,a??=f;let p=En({canonicalId:o,context:g,missingCount:d,missingReferences:c,referenceLimit:u,summaryOnly:i});if(i){if(M(new TextEncoder().encode(ge(S(p,!0,s.legacyAliasCounts),s)).byteLength)>f)throw new TypeError("Relationship context tokenBudget cannot fit the rendered summary");return p}if(g.meta.tokenBudget=f,g.meta.usedTokens=dt(S(p,!1,s.legacyAliasCounts),s,h=>{g.meta.usedTokens=h}),g.meta.usedTokens<=f)return p;if(u>0){u-=1;continue}let y=a,m=y*f/g.meta.usedTokens;a=Math.min(y-1,Math.max(1,Math.floor(m*.9)))}}function lt(e,t){let o=e.contextOptions,n={...e.rendering.global,outputFormat:e.rendering.format},r=["--pm-path",e.pmRoot,"item","deps",e.canonicalId,"--format","context","--output-format",e.rendering.format,"--token-budget"],i=r.length;r.push(String(t));let s=new Set(["--pm-path","--format","--output-format","--token-budget"]),d={format:"context",tokenBudget:t,kind:o.kinds},c=[["--max-depth","maxDepth",o.maxDepth],["--node-limit","nodeLimit",o.nodeLimit],["--edge-limit","edgeLimit",o.edgeLimit],["--direction","direction",o.direction],["--cursor","cursor",o.cursor],["--output-include","outputInclude",n.outputInclude],["--output-limit","outputLimit",n.outputLimit],["--output-budget","outputBudget",n.outputBudget],["--output-session","outputSession",n.outputSession],["--output-cursor","outputCursor",n.outputCursor]];for(let[a,f,g]of c)g!==void 0&&(r.push(a,String(g)),s.add(a),d[f]=g);for(let a of o.kinds??[])r.push("--kind",a),s.add("--kind");let l=[["--summary","summary",e.summaryOnly],["--full","full",e.rendering.commandOptions.full],["--json","json",n.json],["--lean","lean",n.lean],["--output-row-contract","outputRowContract",n.outputRowContract],["--token-accounting","tokenAccounting",n.tokenAccounting],["--no-extensions","noExtensions",n.noExtensions],["--no-pager","noPager",n.noPager]];for(let[a,f,g]of l)g===!0&&(r.push(a),s.add(a),d[f]=!0);let u=Re.find(a=>a.command==="deps");return Reflect.set(d,Te,{canonical_include_modes:[],cli_invocation_observed:!0,explicit_legacy_aliases:Object.values(u.dimensions).flatMap(a=>a.legacy_aliases.flatMap(f=>s.has(f.flag)?[f.flag]:[]))}),De("deps",d),ne(d.summary===!0,d.full===!0,"--summary"),n.outputInclude=d.outputInclude,{args:r,budgetIndex:i,summaryOnly:d.summary===!0,rendering:{...e.rendering,global:n,commandOptionsOverride:d}}}function In(e,t,o){let n={...t.rendering,commandOptionsOverride:{...t.rendering.commandOptionsOverride,tokenBudget:o}},r;try{r=at({...e,contextOptions:{...e.contextOptions,tokenBudget:o},summaryOnly:t.summaryOnly,rootEvidence:t.summaryOnly?[]:e.rootEvidence,rendering:n})}catch(s){if(!ct(s))throw s;return"native_floor"}let i=st(S(r,t.summaryOnly,n.legacyAliasCounts),n);return Se(i)?"output_constraints":"fits"}async function xn(e,t){let o=e.contextOptions.tokenBudget??F,n=lt(e,o),r=(n.summaryOnly?1:1+Math.min(e.contextOptions.edgeLimit??40,e.missingReferences.length))*(e.assembly.details.reduce((a,f)=>a+f.id.length+f.title.length+f.status.length+(f.type?.length??0),e.assembly.graph.edges().length+e.missingReferences.length)+(n.summaryOnly?[]:e.rootEvidence).reduce((a,f)=>a+f.length,0)),{findContextBudgetRecovery:i}=await import("./context-budget-recovery-5MKOCGY5.js"),s=i({requested:o,initialBudget:F,workUnits:r,probe:a=>In(e,n,a)}),d=["--pm-path",e.pmRoot,"item","deps",e.canonicalId,"--format","tree","--summary"],c=X(d),l=s.feasible_tokens===null?d:[...n.args];s.feasible_tokens!==null&&(l[n.budgetIndex]=String(s.feasible_tokens));let u=X(l);return Ve("Relationship context tokenBudget cannot fit the required rendered packet",{exitCode:v.USAGE,cause:t,context:{code:"invalid_argument_value",field:"tokenBudget",value:String(o),required:s.feasible_tokens===null?"Inspect the compact summary and review the output constraints.":"Retry the preserved context query with --token-budget "+s.feasible_tokens+".",why:"Budget advice is verified against the current query. A minimum is reported only after every smaller positive budget is checked.",examples:[u,c],nextSteps:[u],recovery:{recovery_mode:"compact",suggested_flags:["--token-budget"],token_budget:s,suggested_retry_args:l,suggested_retry:u,next_best_command:c,fallback_candidates:[{source:"relationship_summary",command:c,reason:"Inspect bounded counts separately from context rows."}]}}})}async function Tn(e){let{pmRoot:t,assembly:o,canonicalId:n,options:r,rootEvidence:i,summaryOnly:s,rendering:d}=e,c=bn(r,o.graph.registry()),l=o.graph.closure(n,{direction:c.direction,...c.kinds===void 0?{}:{kinds:c.kinds},maxDepth:c.maxDepth??3}),u=l.value.filter(h=>o.missingIdSet.has(h.toLowerCase())),a=new Set(u.map(h=>h.toLowerCase())),f=o.graph.registry(),g=c.kinds?new Set(c.kinds.map(h=>f.require(h).kind)):void 0,p=new Set([n,...l.value]),y=[...o.dangling.active,...o.dangling.legacy_terminal].filter(h=>Cn({row:h,missingReachableSet:a,packetIds:p,filteredKinds:g,registry:f})),m={pmRoot:t,assembly:o,canonicalId:n,contextOptions:c,rootEvidence:i,summaryOnly:s,rendering:d,missingCount:u.length,missingReferences:y};try{return at(m)}catch(h){if(h instanceof w&&h.code==="invalid_query_cursor"){let b=lt({...m,contextOptions:{...c,cursor:void 0},rendering:{...d,global:{...d.global,outputCursor:void 0}}},c.tokenBudget??F),k=X(b.args);throw new w(h.message,h.exitCode,{...h.context,nextSteps:[...h.context.nextSteps,k],recovery:{suggested_retry:k,suggested_retry_args:b.args}})}throw ct(h)?await xn(m,h):h}}function Rn(e){let t=[e],o;for(;t.length>0;){let n=t.pop();n.dependencies.length>0&&(o=n,t.push(...n.dependencies))}return o?(o.dependencies.pop(),o.truncated=!0,!0):!1}function Dn(e,t,o,n,r,i,s){let d=r??sn,c=N(o.nodeLimit,"node-limit")??dn,l=N(o.edgeLimit,"edge-limit")??cn,u=N(o.tokenBudget,"token-budget")??an,a={nodeLimit:c,edgeLimit:l,tokenBudget:u,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},f=rt(e,n,new Set,d,t==="graph"?"repeated":i,new Set,a),g=it(e,n,void 0),p;for(;;){let y=kn(f),m=a.reasons.size===0?void 0:{reasons:[...a.reasons].sort(),limits:{max_depth:d,node_limit:c,edge_limit:l,token_budget:u},estimated_tokens:0,total_node_count:g.node_count,total_edge_count:g.edge_count,omitted_node_count:Math.max(0,g.node_count-y.nodes.length),omitted_edge_count:Math.max(0,g.edge_count-y.edges.length)},h={id:e,format:t,node_count:y.nodes.length,edge_count:y.edges.length,edge_basis:"deduplicated_directed",missing_count:y.missing_ids.length,...m?{truncation:m}:{}};if(p=t==="tree"?{...h,tree:f}:{...h,graph:y},(p.truncation===void 0?M(new TextEncoder().encode(ge(S(p,!1,s.legacyAliasCounts),s)).byteLength):dt(S(p,!1,s.legacyAliasCounts),s,b=>{p.truncation.estimated_tokens=b}))<=u)return p;if(!Rn(f))return a.reasons.add("token_budget"),p;a.reasons.add("token_budget")}}function S(e,t,o={}){let n={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"},r=e.context?.meta.truncated?[{name:"relationship_context_bounds",restore_with:"--token-budget <n> --node-limit <n> --edge-limit <n> --max-depth <n>"}]:[];return{...e,legacy_alias_counts:o,projection:{mode:t?"summary":"full",declared_field_groups:[n,...r],included_field_groups:t?[]:[n.name]}}}async function Fo(e,t,o){let n=Ee(process.cwd(),o.path);await Ke(n);let r=ln(t.format),i=ot(t.maxDepth),s=un(t.collapse);ne(t.summary===!0,t.full===!0,"--summary");let d=t.summary===!0,c=await $e(n),l=ve(c,W()),u=await ze(n,c.item_format,l.type_to_folder,void 0,c.schema),a=Ie(c.schema),f=new Map(u.map(m=>[m.id.trim().toLowerCase(),gn(m)])),g=ae(u,m=>D(m,a));for(let m of[...g.active,...g.legacy_terminal]){let h=f.get(m.holder_id.trim().toLowerCase()),b=m.kind.trim().toLowerCase();h&&!h.dependencies.some(k=>k.id.trim().toLowerCase()===m.target_id.trim().toLowerCase()&&k.kind===b)&&h.dependencies.push({id:m.target_id,kind:b})}if(!f.has(e.trim().toLowerCase()))throw new w(`Item ${e} not found`,v.NOT_FOUND);let p=o.outputFormat??(o.json===!0||o.json===void 0&&o.defaultOutputFormat==="json"?"json":"toon");if(r==="context"){let m=f.get(e.trim().toLowerCase()).id,h=d?[]:await wn(n,m,c,l.type_to_folder),b=E=>D(E,a),k=x(),C=et().lookup(n,Qe(u,b,k),()=>le(u,b,k));return S(await Tn({pmRoot:n,assembly:C.assembly,canonicalId:m,options:t,rootEvidence:h,summaryOnly:d,rendering:{format:p,global:o,commandOptions:t,legacyAliasCounts:C.assembly.legacyAliasCounts}}),d,C.assembly.legacyAliasCounts)}let y=Object.fromEntries(Object.entries(le(u,m=>D(m,a)).legacyAliasCounts));return d?S({id:e,format:r,...it(e,f,i)},!0,y):S(Dn(e,r,t,f,i,s,{format:p,global:o,commandOptions:t,legacyAliasCounts:y}),!1,y)}export{re as a,mt as b,$ as c,Y as d,Ge as e,gt as f,ht as g,yt as h,bt as i,Vn as j,Jn as k,Lt as l,x as m,Fn as n,J as o,Gn as p,Dt as q,Hn as r,U as s,At as t,Nt as u,ae as v,Mt as w,ro as x,le as y,ao as z,Kt as A,lo as B,Ve as C,jt as D,Qe as E,fe as F,et as G,go as H,F as I,tt as J,N as K,ot as L,fn as M,pn as N,Fo as O};
2
+ //# sourceMappingURL=chunk-D5YQ4KAE.js.map
@@ -1,3 +1,3 @@
1
- import{a as c}from"./chunk-22727JYL.js";import{g as d,oa as w,pa as u}from"./chunk-NC5HUGHU.js";(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]="158d5065-075c-5355-a65c-f3edc9c5f1f0")}catch{}})();var _=new Map(d.map(e=>[e.toLowerCase(),e])),$=/^[A-Za-z][A-Za-z0-9_-]*$/;function g(e,t){if(!$.test(e))throw new Error(`${t} "${e}" is not a valid identifier. Use a single letter-led token of letters, digits, hyphen, or underscore with no spaces or punctuation (e.g. "Spike" or "code-review").`)}function y(e){return _.get(e.trim().toLowerCase())}function A(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function I(e){return e.replace(/[\\"`$]/g,t=>`\\${t}`)}function b(e){let t=new Map;for(let o of e){let n=o.trim();if(n.length===0)continue;let i=n.toLowerCase();t.has(i)||t.set(i,n)}return[...t.values()].sort((o,n)=>o.localeCompare(n))}function S(e){let t=(e.name??"").trim();if(t.length===0)throw new Error("Type name must not be empty.");g(t,"Type name");let o=y(t);if(o)throw new Error(`Cannot redefine built-in item type "${o}". Built-in types are reserved: ${d.join(", ")}.`);let n=e.description?.trim(),i=e.defaultStatus?.trim(),r=e.folder?.trim(),a=r&&r.length>0?u(r):void 0,s=b(e.aliases??[]);for(let l of s){g(l,"Alias");let f=y(l);if(f)throw new Error(`Alias "${l}" collides with built-in item type "${f}". Built-in types are reserved: ${d.join(", ")}.`)}return{name:t,description:n&&n.length>0?n:void 0,defaultStatus:i&&i.length>0?i:void 0,folder:a,aliases:s}}function x(e,t){let o=e.name.toLowerCase(),n=new Map;for(let r of t.definitions){if(typeof r.name!="string")continue;let a=r.name.trim();if(!(a.length===0||a.toLowerCase()===o)){n.set(a.toLowerCase(),a);for(let s of A(r.aliases))s.trim().length>0&&n.set(s.trim().toLowerCase(),a)}}let i=n.get(o);if(i)throw new Error(`Type name "${e.name}" collides with an alias of existing item type "${i}".`);for(let r of e.aliases){let a=n.get(r.toLowerCase());if(a)throw new Error(`Alias "${r}" already maps to existing item type "${a}".`)}}function h(e,t){return typeof t=="string"&&t.trim().length>0?u(t).toLowerCase():w(e).toLowerCase()}function D(e,t,o){let n=e.name.toLowerCase(),i=h(e.name,e.folder),r=s=>{throw new Error(`Item type "${e.name}" would store items in folder "${i}", which already belongs to existing item type "${s}". Pass a distinct --folder to keep their storage separate.`)};for(let s of t.definitions){if(typeof s.name!="string")continue;let l=s.name.trim();l.length===0||l.toLowerCase()===n||h(l,s.folder)===i&&r(l)}let a=o?.get(i);a!==void 0&&a.toLowerCase()!==n&&r(a)}function j(e){if(e==null||e.trim().length===0)return{definitions:[]};let t;try{t=JSON.parse(e)}catch{throw new Error("schema/types.json contains invalid JSON.")}return{definitions:L(t)}}function L(e){let t=C(e);if(!t)return[];let o=[];for(let n of t){if(typeof n!="object"||n===null||Array.isArray(n))continue;let i=n;typeof i.name!="string"||i.name.trim().length===0||o.push(i)}return o}function C(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.definitions))return t.definitions;if(typeof t.item_types=="object"&&t.item_types!==null){let o=t.item_types;if(Array.isArray(o.definitions))return o.definitions}}function z(e,t){let o=t.name.toLowerCase(),n=e.definitions.slice(),i=n.findIndex(l=>typeof l.name=="string"&&l.name.trim().toLowerCase()===o),r=i>=0?n[i]:void 0,a=b([...A(r?.aliases),...t.aliases]),s={...r,name:t.name};return t.folder!==void 0&&(s.folder=t.folder),a.length>0?s.aliases=a:s.aliases!==void 0&&delete s.aliases,T(s,"description",t.description),T(s,"default_status",t.defaultStatus),i>=0?n[i]=s:n.push(s),n.sort((l,f)=>l.name.localeCompare(f.name)),{file:{definitions:n},definition:s,replaced:i>=0,...r&&typeof r.name=="string"?{previousName:r.name}:{}}}function F(e,t){let o=(t??"").trim();if(o.length===0)throw new Error("Type name must not be empty.");let n=y(o);if(n)throw new Error(`Cannot remove built-in item type "${n}". Built-in types are reserved: ${d.join(", ")}.`);let i=o.toLowerCase(),r=e.definitions.slice(),a=r.findIndex(l=>typeof l.name=="string"&&l.name.trim().toLowerCase()===i);if(a<0)return{file:{definitions:r},removed:!1};let[s]=r.splice(a,1);return{file:{definitions:r},removed:!0,definition:s}}function T(e,t,o){let n=e;o!==void 0&&(n[t]=o)}function M(e){return`${JSON.stringify({definitions:e.definitions},null,2)}
1
+ import{a as c}from"./chunk-B266DDBJ.js";import{g as d,oa as w,pa as u}from"./chunk-NLZUI234.js";(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]="158d5065-075c-5355-a65c-f3edc9c5f1f0")}catch{}})();var _=new Map(d.map(e=>[e.toLowerCase(),e])),$=/^[A-Za-z][A-Za-z0-9_-]*$/;function g(e,t){if(!$.test(e))throw new Error(`${t} "${e}" is not a valid identifier. Use a single letter-led token of letters, digits, hyphen, or underscore with no spaces or punctuation (e.g. "Spike" or "code-review").`)}function y(e){return _.get(e.trim().toLowerCase())}function A(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function I(e){return e.replace(/[\\"`$]/g,t=>`\\${t}`)}function b(e){let t=new Map;for(let o of e){let n=o.trim();if(n.length===0)continue;let i=n.toLowerCase();t.has(i)||t.set(i,n)}return[...t.values()].sort((o,n)=>o.localeCompare(n))}function S(e){let t=(e.name??"").trim();if(t.length===0)throw new Error("Type name must not be empty.");g(t,"Type name");let o=y(t);if(o)throw new Error(`Cannot redefine built-in item type "${o}". Built-in types are reserved: ${d.join(", ")}.`);let n=e.description?.trim(),i=e.defaultStatus?.trim(),r=e.folder?.trim(),a=r&&r.length>0?u(r):void 0,s=b(e.aliases??[]);for(let l of s){g(l,"Alias");let f=y(l);if(f)throw new Error(`Alias "${l}" collides with built-in item type "${f}". Built-in types are reserved: ${d.join(", ")}.`)}return{name:t,description:n&&n.length>0?n:void 0,defaultStatus:i&&i.length>0?i:void 0,folder:a,aliases:s}}function x(e,t){let o=e.name.toLowerCase(),n=new Map;for(let r of t.definitions){if(typeof r.name!="string")continue;let a=r.name.trim();if(!(a.length===0||a.toLowerCase()===o)){n.set(a.toLowerCase(),a);for(let s of A(r.aliases))s.trim().length>0&&n.set(s.trim().toLowerCase(),a)}}let i=n.get(o);if(i)throw new Error(`Type name "${e.name}" collides with an alias of existing item type "${i}".`);for(let r of e.aliases){let a=n.get(r.toLowerCase());if(a)throw new Error(`Alias "${r}" already maps to existing item type "${a}".`)}}function h(e,t){return typeof t=="string"&&t.trim().length>0?u(t).toLowerCase():w(e).toLowerCase()}function D(e,t,o){let n=e.name.toLowerCase(),i=h(e.name,e.folder),r=s=>{throw new Error(`Item type "${e.name}" would store items in folder "${i}", which already belongs to existing item type "${s}". Pass a distinct --folder to keep their storage separate.`)};for(let s of t.definitions){if(typeof s.name!="string")continue;let l=s.name.trim();l.length===0||l.toLowerCase()===n||h(l,s.folder)===i&&r(l)}let a=o?.get(i);a!==void 0&&a.toLowerCase()!==n&&r(a)}function j(e){if(e==null||e.trim().length===0)return{definitions:[]};let t;try{t=JSON.parse(e)}catch{throw new Error("schema/types.json contains invalid JSON.")}return{definitions:L(t)}}function L(e){let t=C(e);if(!t)return[];let o=[];for(let n of t){if(typeof n!="object"||n===null||Array.isArray(n))continue;let i=n;typeof i.name!="string"||i.name.trim().length===0||o.push(i)}return o}function C(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.definitions))return t.definitions;if(typeof t.item_types=="object"&&t.item_types!==null){let o=t.item_types;if(Array.isArray(o.definitions))return o.definitions}}function z(e,t){let o=t.name.toLowerCase(),n=e.definitions.slice(),i=n.findIndex(l=>typeof l.name=="string"&&l.name.trim().toLowerCase()===o),r=i>=0?n[i]:void 0,a=b([...A(r?.aliases),...t.aliases]),s={...r,name:t.name};return t.folder!==void 0&&(s.folder=t.folder),a.length>0?s.aliases=a:s.aliases!==void 0&&delete s.aliases,T(s,"description",t.description),T(s,"default_status",t.defaultStatus),i>=0?n[i]=s:n.push(s),n.sort((l,f)=>l.name.localeCompare(f.name)),{file:{definitions:n},definition:s,replaced:i>=0,...r&&typeof r.name=="string"?{previousName:r.name}:{}}}function F(e,t){let o=(t??"").trim();if(o.length===0)throw new Error("Type name must not be empty.");let n=y(o);if(n)throw new Error(`Cannot remove built-in item type "${n}". Built-in types are reserved: ${d.join(", ")}.`);let i=o.toLowerCase(),r=e.definitions.slice(),a=r.findIndex(l=>typeof l.name=="string"&&l.name.trim().toLowerCase()===i);if(a<0)return{file:{definitions:r},removed:!1};let[s]=r.splice(a,1);return{file:{definitions:r},removed:!0,definition:s}}function T(e,t,o){let n=e;o!==void 0&&(n[t]=o)}function M(e){return`${JSON.stringify({definitions:e.definitions},null,2)}
2
2
  `}function E(e,t){let o=e.trim().length>0?e.trim():e,n=t?.trim()||".agents/pm/schema/types.json";return`To register a custom type, run: pm schema add-type "${I(o)}" (writes ${n}).`}function O(e,t,o){return`Invalid type value "${e}". Allowed: ${t.join(", ")}. ${E(e,o)}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77a7b77a-907c-541d-ac55-e06174dbbf11")}catch{}})();function v(e){return typeof e=="string"?e.trim().toLowerCase():""}function m(e,t){let o=c(e);return o.length===0?"":t?.alias_to_id?.get(o)??o}function U(e){let t=Array.isArray(e?.type_workflows)?e.type_workflows:[],o=new Map;for(let n of t){let i=v(n?.type);if(i.length===0||!Array.isArray(n?.allowed_transitions))continue;let r=n.allowed_transitions,a=o.get(i)??{pairs:[],denyAll:!1};r.length===0&&(a.denyAll=!0);for(let s of r){if(!Array.isArray(s)||s.length!==2)continue;let l=c(s[0]),f=c(s[1]);l.length===0||f.length===0||a.pairs.some(p=>p[0]===l&&p[1]===f)||a.pairs.push([l,f])}o.set(i,a)}return[...o.entries()].filter(([,n])=>n.pairs.length>0||n.denyAll).map(([n,i])=>({type:n,allowed_transitions:i.pairs})).sort((n,i)=>n.type.localeCompare(i.type))}function J(e){let t=v(e.typeName),o=e.typeWorkflows.find(r=>r.type===t);if(!o)return{allowed:!0,hasRule:!1,allowedTransitions:[]};let n=m(e.fromStatus,e.statusRegistry),i=m(e.toStatus,e.statusRegistry);return n.length>0&&n===i?{allowed:!0,hasRule:!0,allowedTransitions:o.allowed_transitions}:{allowed:o.allowed_transitions.some(r=>{let a=m(r[0],e.statusRegistry),s=m(r[1],e.statusRegistry);return a===n&&s===i}),hasRule:!0,allowedTransitions:o.allowed_transitions}}function W(e){return e.length===0?"(no transitions allowed)":e.map(t=>`${t[0]} -> ${t[1]}`).join(", ")}export{y as a,I as b,S as c,x as d,D as e,j as f,z as g,F as h,M as i,O as j,U as k,J as l,W as m};
3
- //# sourceMappingURL=chunk-ZYCOMRFT.js.map
3
+ //# sourceMappingURL=chunk-E5C24MCV.js.map