uigraph 1.0.0 → 1.0.2

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 (323) hide show
  1. package/README.md +30 -51
  2. package/dist/bin.mjs +1608 -59037
  3. package/dist/viewer/assets/abnfDiagram-VCTEODGH-D7zWJuPJ.js +1 -0
  4. package/dist/viewer/assets/actor-avatar-Bu-mKKXB.js +1 -0
  5. package/dist/viewer/assets/{api-adapters-CnQpLiWI.js → api-adapters-tfr51BsS.js} +1 -1
  6. package/dist/viewer/assets/{api-endpoints-DCA5GNpC.js → api-endpoints-D-Whnnwd.js} +9 -9
  7. package/dist/viewer/assets/{api-group-endpoints-page-Di42W69y.js → api-group-endpoints-page-B9R1EI4i.js} +9 -9
  8. package/dist/viewer/assets/{arc-Cn8owoDw.js → arc-DauzQXFu.js} +1 -1
  9. package/dist/viewer/assets/architectureDiagram-5GKGNRK7-CXzgHd-c.js +36 -0
  10. package/dist/viewer/assets/{arrow-left-DWcMgM2U.js → arrow-left-DpQqmf17.js} +1 -1
  11. package/dist/viewer/assets/avatar-DAFUyk1i.js +43 -0
  12. package/dist/viewer/assets/badge-hR3QvPWv.js +1 -0
  13. package/dist/viewer/assets/better-delete-confirmation-modal-CGEQ5O4X.js +1 -0
  14. package/dist/viewer/assets/better-dialog-DcIxFWwk.js +1 -0
  15. package/dist/viewer/assets/{blockDiagram-I7D4REHJ-CbYzOsL_.js → blockDiagram-I7D4REHJ-CFHWUw4z.js} +2 -2
  16. package/dist/viewer/assets/{brands-Bd4RklRx.js → brands-DtmA1AhP.js} +1 -1
  17. package/dist/viewer/assets/button-DZj74qS7.js +1 -0
  18. package/dist/viewer/assets/{c4Diagram-7LVT6UL2-CLkVbphC.js → c4Diagram-7LVT6UL2-BHSggPKI.js} +6 -6
  19. package/dist/viewer/assets/{calendar-C0xdI_ag.js → calendar-Bolgc8E5.js} +1 -1
  20. package/dist/viewer/assets/channel-CNRSofFP.js +1 -0
  21. package/dist/viewer/assets/{check-XjanpAFg.js → check-BpmCQNbj.js} +1 -1
  22. package/dist/viewer/assets/checkbox-CFJfXL6R.js +1 -0
  23. package/dist/viewer/assets/{chevron-down-R7pQzyLD.js → chevron-down-DDsUE_xz.js} +1 -1
  24. package/dist/viewer/assets/{chevron-up-CRPypfOs.js → chevron-up-DVznKMGv.js} +1 -1
  25. package/dist/viewer/assets/{chunk-2Q5K7J3B-CcvtugCu.js → chunk-2Q5K7J3B-CNfz5YDQ.js} +1 -1
  26. package/dist/viewer/assets/{chunk-5VM5RSS4-CpZHHr12.js → chunk-5VM5RSS4-CwIhjvMe.js} +1 -1
  27. package/dist/viewer/assets/{chunk-F27PBJKO-DeAl4iOc.js → chunk-F27PBJKO-YFexFJof.js} +1 -1
  28. package/dist/viewer/assets/{chunk-IMKFNOWR-BfrPe7pS.js → chunk-IMKFNOWR-GY2yrvuo.js} +1 -1
  29. package/dist/viewer/assets/{chunk-JWPE2WC7-DDjyvUmZ.js → chunk-JWPE2WC7-xd0JGvne.js} +1 -1
  30. package/dist/viewer/assets/chunk-OB3PAWPO-DJIP1M4r.js +12 -0
  31. package/dist/viewer/assets/{chunk-POPQ4Y6H-DkDb0mzz.js → chunk-POPQ4Y6H-Bh6rizEy.js} +1 -1
  32. package/dist/viewer/assets/{chunk-SVP7TREG-D-K2XIGs.js → chunk-SVP7TREG-DtNrjvpq.js} +1 -1
  33. package/dist/viewer/assets/{chunk-TICWLB2K-DWMQQx6z.js → chunk-TICWLB2K-DrERwtw8.js} +1 -1
  34. package/dist/viewer/assets/{chunk-XXDRQBXY-DfkljAyM.js → chunk-XXDRQBXY-fYo04iwY.js} +1 -1
  35. package/dist/viewer/assets/{circle-alert-pm13M-Ef.js → circle-alert-Bl7DXYD_.js} +1 -1
  36. package/dist/viewer/assets/classDiagram-ZZMXUADV-D7PO-ME9.js +1 -0
  37. package/dist/viewer/assets/classDiagram-v2-VYDZK3BY-D7PO-ME9.js +1 -0
  38. package/dist/viewer/assets/color-input-ClkkG_kZ.js +11 -0
  39. package/dist/viewer/assets/{common-Y7ySZBdh.js → common-DLCsGQ-t.js} +1 -1
  40. package/dist/viewer/assets/{component-icons-D1BDAuEt.js → component-icons-MJ61E9nt.js} +2 -2
  41. package/dist/viewer/assets/{copy-CN4K2f_R.js → copy-DMJJonQF.js} +1 -1
  42. package/dist/viewer/assets/cose-bilkent-JH36ORCC-Dplz8nVT.js +1 -0
  43. package/dist/viewer/assets/cross-button-D5qst1tj.js +1 -0
  44. package/dist/viewer/assets/{cynefin-OW5HDTMX-yz-uw9Kz.js → cynefin-OW5HDTMX-DiBs4CI8.js} +1 -1
  45. package/dist/viewer/assets/cynefinDiagram-5FMLGOSQ-COXS8-dI.js +62 -0
  46. package/dist/viewer/assets/{dagre-GXQ25YYZ-zjZDwXOe.js → dagre-GXQ25YYZ-K8qvfG8D.js} +2 -2
  47. package/dist/viewer/assets/dashboard-diagrams-page-Cb0xNr4W.js +2 -0
  48. package/dist/viewer/assets/dashboard-diagrams-page-inner-CD--zr5q.js +1 -0
  49. package/dist/viewer/assets/dashboard-docs-page-BfWR9Ai9.js +2 -0
  50. package/dist/viewer/assets/dashboard-docs-page-inner-BLbX-YwF.js +67 -0
  51. package/dist/viewer/assets/dashboard-layout-sTeeHNsZ.js +1 -0
  52. package/dist/viewer/assets/dashboard-lens-layout-D-tu_4kn.js +1 -0
  53. package/dist/viewer/assets/dashboard-map-frame-page-7pDmbTSe.js +1 -0
  54. package/dist/viewer/assets/dashboard-plans-page-CfwOZ34A.js +1 -0
  55. package/dist/viewer/assets/dashboard-service-apis-k93fjW51.js +1 -0
  56. package/dist/viewer/assets/{dashboard-service-diagrams-CIjk95Jk.js → dashboard-service-diagrams-BIWUxX-Y.js} +3 -3
  57. package/dist/viewer/assets/dashboard-service-docs-CnniTD6Q.js +1 -0
  58. package/dist/viewer/assets/{dashboard-service-overview-CzePVPjl.js → dashboard-service-overview-CGBu4omY.js} +5 -5
  59. package/dist/viewer/assets/dashboard-services-DEscIO2O.js +1 -0
  60. package/dist/viewer/assets/{db-type-badge-DOgu1Pyc.js → db-type-badge-UbPgpwQf.js} +2 -2
  61. package/dist/viewer/assets/debounce-Cp8eREM4-D7o-Pzb-.js +2 -0
  62. package/dist/viewer/assets/{dependencies-CYdEztHw.js → dependencies-DK2GDlhQ.js} +1 -1
  63. package/dist/viewer/assets/{dependency-graph-DbyfN-rC.js → dependency-graph-xBEnCS0J.js} +3 -3
  64. package/dist/viewer/assets/{diagram-S7CK7UJ4-q-NHkUCx.js → diagram-S7CK7UJ4-D-liadVe.js} +2 -2
  65. package/dist/viewer/assets/diagram-UQ7AKVKN-CnA8mgXp.js +41 -0
  66. package/dist/viewer/assets/{diagram-VSXAHHWV-DZc1kHGx.js → diagram-VSXAHHWV-Ck7dgRFR.js} +2 -2
  67. package/dist/viewer/assets/diagram-VX7I27RA-Cm1LHbu3.js +24 -0
  68. package/dist/viewer/assets/diagram-Z3DM3KII-DV3yBUCB.js +24 -0
  69. package/dist/viewer/assets/diagram-live-preview-DzJ7Nxp1.js +2 -0
  70. package/dist/viewer/assets/{diagram-portal-page-CWxuok9E.js → diagram-portal-page-gguGLULH.js} +24 -24
  71. package/dist/viewer/assets/{diagrams-C1xkRPqT.js → diagrams-BqBSv2eb.js} +4 -4
  72. package/dist/viewer/assets/dialog-D7wzTt0L.js +6 -0
  73. package/dist/viewer/assets/{doc-file-content-B06roi8L.js → doc-file-content-Be0au9Vo.js} +4 -4
  74. package/dist/viewer/assets/{download-CLdCXVsO.js → download-DhyZ3g4F.js} +1 -1
  75. package/dist/viewer/assets/ebnfDiagram-PWID7BFC-BXbHVQvG.js +1 -0
  76. package/dist/viewer/assets/{editor-vqK4qAnB.js → editor-F9o4zoeB.js} +2 -2
  77. package/dist/viewer/assets/{erDiagram-RLTQ6QDP-BWuA-aqV.js → erDiagram-RLTQ6QDP-DMfiWput.js} +2 -2
  78. package/dist/viewer/assets/{file-text-BvszilVL.js → file-text-BFqJQ67P.js} +1 -1
  79. package/dist/viewer/assets/flow-diagram-preview-B83UU1n_.js +1 -0
  80. package/dist/viewer/assets/{flowDiagram-HODETNUW-Db0QtNj4.js → flowDiagram-HODETNUW-BNFS2Mkr.js} +1 -1
  81. package/dist/viewer/assets/ganttDiagram-EL5Y4UJY-DFDsYJNp.js +292 -0
  82. package/dist/viewer/assets/gitGraphDiagram-WWUBYQGX-BVHabPDp.js +106 -0
  83. package/dist/viewer/assets/global-loader-XJO9_e0l.js +1 -0
  84. package/dist/viewer/assets/{globe-Jl6eIZmG.js → globe-CJ35KsQW.js} +1 -1
  85. package/dist/viewer/assets/gql-FFIj8zdp.js +1 -0
  86. package/dist/viewer/assets/{grid-scroll-body-CPqSxU6-.js → grid-scroll-body-DC5pYDPJ.js} +2 -2
  87. package/dist/viewer/assets/iconBase-DtqdW2XR.js +1 -0
  88. package/dist/viewer/assets/index-B6MxYIzs.js +1 -0
  89. package/dist/viewer/assets/index-BC5xdBQU.js +48 -0
  90. package/dist/viewer/assets/index-BIrx3oY4.js +1 -0
  91. package/dist/viewer/assets/{index-jm22RWpY.js → index-BZGsDmUx.js} +5 -5
  92. package/dist/viewer/assets/{index-Poftp9f1.js → index-BZXhpoWr.js} +4 -4
  93. package/dist/viewer/assets/index-Bn2bqqMd.js +1 -0
  94. package/dist/viewer/assets/{index-HU5pz3kj.js → index-BpCVYTvP.js} +36 -36
  95. package/dist/viewer/assets/{index-Bt2YHgxl.js → index-CBOYhBKJ.js} +1 -1
  96. package/dist/viewer/assets/index-CH7cEAxj.js +17 -0
  97. package/dist/viewer/assets/index-CIf0GId3.js +74 -0
  98. package/dist/viewer/assets/{index-D7MEHpJf.js → index-Ck66Ic_p.js} +4 -4
  99. package/dist/viewer/assets/index-Cp9mIQ8F.js +1 -0
  100. package/dist/viewer/assets/{index-c6Bxcoqm.js → index-DDmBuMKI.js} +1 -1
  101. package/dist/viewer/assets/{index-BSyJbFDG.js → index-DY3BFyb6.js} +1 -1
  102. package/dist/viewer/assets/{index-BS94XVnd.js → index-DkzZ-ZvR.js} +1 -1
  103. package/dist/viewer/assets/{index-C_43VC19.js → index-PglMbhys.js} +1 -1
  104. package/dist/viewer/assets/infoDiagram-27XIBGKW-CG-wwxBf.js +2 -0
  105. package/dist/viewer/assets/input--C59pq6j.js +1 -0
  106. package/dist/viewer/assets/{ishikawaDiagram-5VMMS53U-C4PzFnZ4.js → ishikawaDiagram-5VMMS53U-BlgV7ceJ.js} +2 -2
  107. package/dist/viewer/assets/{journeyDiagram-3NMN7TZE-Dpn3bBNo.js → journeyDiagram-3NMN7TZE-Cn03_Xl6.js} +2 -2
  108. package/dist/viewer/assets/{kanban-definition-UXKFOSKX-CJ99H4G6.js → kanban-definition-UXKFOSKX-CJogvDPY.js} +6 -6
  109. package/dist/viewer/assets/{layout-Bfvxt_D5.js → layout-B26eC4yQ.js} +1 -1
  110. package/dist/viewer/assets/{lens-run-page-DZneics-.js → lens-run-page-Ba1ppzJt.js} +3 -3
  111. package/dist/viewer/assets/lens-runs-page-BnUS57LM.js +1 -0
  112. package/dist/viewer/assets/{link-2-C75goIOt.js → link-2-D1e0xznG.js} +1 -1
  113. package/dist/viewer/assets/linked-project-dot-BY1gEES9.js +543 -0
  114. package/dist/viewer/assets/{loader-circle-C5jZoM7X.js → loader-circle-CiqyoJF7.js} +1 -1
  115. package/dist/viewer/assets/{merge-Cy7YkrN7.js → merge-BhOMvhW1.js} +1 -1
  116. package/dist/viewer/assets/mermaid.core-BDgZg3kW.js +312 -0
  117. package/dist/viewer/assets/method-badge-DErZP7y5.js +1 -0
  118. package/dist/viewer/assets/{mindmap-definition-YA3MSWOX-yQCKA-K4.js → mindmap-definition-YA3MSWOX-DFkLu0ac.js} +2 -2
  119. package/dist/viewer/assets/nav-links-DZWMpwMR.js +61 -0
  120. package/dist/viewer/assets/{network-COWNXGMM.js → network-B1apzT1s.js} +1 -1
  121. package/dist/viewer/assets/{nosql-editor-modal-DTiWkc_r.js → nosql-editor-modal-CvH0SWAi.js} +5 -5
  122. package/dist/viewer/assets/not-found-page-C-fn8QeM.js +1 -0
  123. package/dist/viewer/assets/organization-dependency-graph-page-BryP-iJL.js +1 -0
  124. package/dist/viewer/assets/pegDiagram-XKGWAZYB-g1cM14-L.js +1 -0
  125. package/dist/viewer/assets/{pieDiagram-E7YTZNPT-DqnkpCX4.js → pieDiagram-E7YTZNPT-WEnDsMY3.js} +2 -2
  126. package/dist/viewer/assets/{plus-DQakmTjA.js → plus-DbyuOgKB.js} +1 -1
  127. package/dist/viewer/assets/popover-476u3TN0.js +1 -0
  128. package/dist/viewer/assets/preload-helper-BlTxHScW.js +1 -0
  129. package/dist/viewer/assets/{quadrantDiagram-AXDQQJYC-iQjJfars.js → quadrantDiagram-AXDQQJYC-NdfQCpzF.js} +2 -2
  130. package/dist/viewer/assets/query-D9oj6LGx.js +50 -0
  131. package/dist/viewer/assets/{quill-rCHj4fCw.js → quill-Cde5JMRD.js} +1 -1
  132. package/dist/viewer/assets/railroadDiagram-O6MQD6OU-BYhlXlMY.js +1 -0
  133. package/dist/viewer/assets/{react-BNzYaZuG.js → react-Bx48XWN4.js} +1 -1
  134. package/dist/viewer/assets/react-flow-wrapper-BcbvHgxz.js +277 -0
  135. package/dist/viewer/assets/{requirementDiagram-BXWQKSXE-Bv-Vh1dW.js → requirementDiagram-BXWQKSXE-C25Bcm2L.js} +2 -2
  136. package/dist/viewer/assets/{sankeyDiagram-P5KCCOFB-C__uD07f.js → sankeyDiagram-P5KCCOFB-h8LiCsgk.js} +2 -2
  137. package/dist/viewer/assets/scroll-area-RagrStGj.js +6 -0
  138. package/dist/viewer/assets/{search-DW-qhXLk.js → search-vw7ucoOs.js} +1 -1
  139. package/dist/viewer/assets/section-loader-C4hOfhQS.js +1 -0
  140. package/dist/viewer/assets/section-not-found-BnrXiPog.js +1 -0
  141. package/dist/viewer/assets/select-D9fbrr7O.js +1 -0
  142. package/dist/viewer/assets/{sequenceDiagram-WJ2MYXX4-1RbvcHwO.js → sequenceDiagram-WJ2MYXX4-CDRVvD30.js} +2 -2
  143. package/dist/viewer/assets/{service-context-C17u_Fw9.js → service-context-D5nBtU18.js} +1 -1
  144. package/dist/viewer/assets/{service-database-list-page-cYuDHIls.js → service-database-list-page-DBjaDLVy.js} +2 -2
  145. package/dist/viewer/assets/service-database-page-CenNCgwf.js +2 -0
  146. package/dist/viewer/assets/service-database-page-inner-gS51TQTZ.js +85 -0
  147. package/dist/viewer/assets/{service-doc-Dir8g83J.js → service-doc-C-jHqT1U.js} +4 -4
  148. package/dist/viewer/assets/{service-doc-preview-modal-bJ6tJ5YR.js → service-doc-preview-modal-5sX6FOu1.js} +2 -2
  149. package/dist/viewer/assets/service-layout-Bf0vZBCH.js +1 -0
  150. package/dist/viewer/assets/service-pages-CFikvX4t.js +1 -0
  151. package/dist/viewer/assets/{services-Crqkffr5.js → services-Ivav34WC.js} +4 -4
  152. package/dist/viewer/assets/{share-2-BmYmqN4k.js → share-2-CQEaWbfH.js} +1 -1
  153. package/dist/viewer/assets/sizeCapture-INFHLROL-BJ6ndnPM.js +1 -0
  154. package/dist/viewer/assets/stateDiagram-D77RDMKH-B_tNCX3o.js +1 -0
  155. package/dist/viewer/assets/stateDiagram-v2-MP3YSRHH-Dl9wqdli.js +1 -0
  156. package/dist/viewer/assets/{style-DgSU0bQl.js → style-BPesJvJr.js} +8 -8
  157. package/dist/viewer/assets/super-circle-loader-DSkos6uP.js +1 -0
  158. package/dist/viewer/assets/super-logo-loader-Cxlbn6MB.js +1 -0
  159. package/dist/viewer/assets/swimlanes-42K2YHIH-CzURzYwf.js +1 -0
  160. package/dist/viewer/assets/swimlanesDiagram-VR7AAH4N-DrIlwFtk.js +8 -0
  161. package/dist/viewer/assets/table-B4pFND-o.js +1 -0
  162. package/dist/viewer/assets/textarea-Clgdv3Oi.js +1 -0
  163. package/dist/viewer/assets/{timeline-definition-24CTP7MA-C4yuLwUH.js → timeline-definition-24CTP7MA-D0YXQE1U.js} +2 -2
  164. package/dist/viewer/assets/ui-graph-logo-gHowu5gP.js +1 -0
  165. package/dist/viewer/assets/{upload-CRsS43j9.js → upload-CYb3nN_5.js} +1 -1
  166. package/dist/viewer/assets/{uploads-BOQHX9l4.js → uploads-CX2kdXbM.js} +8 -8
  167. package/dist/viewer/assets/{use-debounced-value-Ba-kkCUY.js → use-debounced-value-BpNFJd3C.js} +1 -1
  168. package/dist/viewer/assets/{use-localstorage-DIisTx-J.js → use-localstorage-D233xVb0.js} +1 -1
  169. package/dist/viewer/assets/use-permissions-BvmxJJ5r.js +1 -0
  170. package/dist/viewer/assets/{use-scoped-storage-C4RzED-E.js → use-scoped-storage-DL1XVp1j.js} +1 -1
  171. package/dist/viewer/assets/useMutation-D5ZHwHsx.js +1 -0
  172. package/dist/viewer/assets/useQuery-Dhe6uxrL.js +1 -0
  173. package/dist/viewer/assets/{vennDiagram-4TSXK5OY-BCtqXZqe.js → vennDiagram-4TSXK5OY-SSjHlqCQ.js} +2 -2
  174. package/dist/viewer/assets/{wardleyDiagram-VM6X3IG4-D3OtZJoT.js → wardleyDiagram-VM6X3IG4-CZWNdQxH.js} +2 -2
  175. package/dist/viewer/assets/{xychartDiagram-S5SC5T6Z-DxLL2CHH.js → xychartDiagram-S5SC5T6Z-B2qAGeb0.js} +2 -2
  176. package/dist/viewer/assets/zod-BMU4UTQt.js +1 -0
  177. package/dist/viewer/index.html +10 -1
  178. package/package.json +57 -57
  179. package/dist/abort-signals-B4fc3ahg.mjs +0 -34
  180. package/dist/agents.md +0 -28
  181. package/dist/anthropic-messages-KPxCHqBN.mjs +0 -14327
  182. package/dist/auth-storage-BvNH97p9.mjs +0 -2180
  183. package/dist/azure-openai-config-BbeCSg4y.mjs +0 -55
  184. package/dist/azure-openai-responses-BRzy8RfL.mjs +0 -182
  185. package/dist/classifier-shared-DBUHiTGw.mjs +0 -105
  186. package/dist/cli-2R6QQFp1.mjs +0 -451
  187. package/dist/cloudflare-workers-ai-system-one-BfqwmRQf.mjs +0 -44
  188. package/dist/config-D8DMGzIq.mjs +0 -647
  189. package/dist/cross-spawn-B2jIQPlu.mjs +0 -404
  190. package/dist/diagnostics-xdSgQR8t.mjs +0 -131
  191. package/dist/dist-BRyghrKX.mjs +0 -404
  192. package/dist/dist-D0EzrblG.mjs +0 -12161
  193. package/dist/dist-EKhnHWHG.mjs +0 -140221
  194. package/dist/dist-pQtuusFv.mjs +0 -1243
  195. package/dist/easter-egg-3d-C9_btlWn.mjs +0 -1225
  196. package/dist/env-api-keys-uytNub6O.mjs +0 -122
  197. package/dist/error-body-FhmCtR7m.mjs +0 -101
  198. package/dist/esm-D5isprgl.mjs +0 -1533
  199. package/dist/esm-DnqE4pfM.mjs +0 -104876
  200. package/dist/execute-BoTKl80U.mjs +0 -1715
  201. package/dist/github-copilot-headers-DWcTgoXr.mjs +0 -22
  202. package/dist/google-generative-ai-Brs5YpJo.mjs +0 -332
  203. package/dist/google-shared-2CyYa4VE.mjs +0 -33438
  204. package/dist/google-vertex-DZDUQPKa.mjs +0 -378
  205. package/dist/hash-DN7ukSfd.mjs +0 -16
  206. package/dist/headers-GhQHLk-3.mjs +0 -17
  207. package/dist/jiti-9kWALm4Y.mjs +0 -5439
  208. package/dist/jiti-loader-f21DrY1K.mjs +0 -27
  209. package/dist/jiti-static-loader-BI_w28l7.mjs +0 -41704
  210. package/dist/json-parse-B2mHg7o7.mjs +0 -381
  211. package/dist/keybinding-hints-D0nLU3ZH.mjs +0 -17899
  212. package/dist/lib-Dj1gKQJc.mjs +0 -24379
  213. package/dist/llama-cpp-classify-C73BoMYd.mjs +0 -344
  214. package/dist/mistral-conversations-DXVR7znL.mjs +0 -698
  215. package/dist/models-DBdii9gQ.mjs +0 -1255
  216. package/dist/multipart-parser-DLw9Z0uJ.mjs +0 -298
  217. package/dist/node-B0NU8X55.mjs +0 -2479
  218. package/dist/node-B8gaKm9g.mjs +0 -23
  219. package/dist/openai-I3_AqKDX.mjs +0 -17357
  220. package/dist/openai-codex-responses-PcZHDuBD.mjs +0 -1198
  221. package/dist/openai-completions-a_mH01ii.mjs +0 -994
  222. package/dist/openai-decisions-Du8y4mQG.mjs +0 -142
  223. package/dist/openai-prompt-cache-Bc6qNWt0.mjs +0 -8
  224. package/dist/openai-responses-a9lV_U7O.mjs +0 -270
  225. package/dist/openai-responses-shared-CDs_PBiH.mjs +0 -598
  226. package/dist/openrouter-images-D0Zc8Cjs.mjs +0 -125
  227. package/dist/photon_rs-DCvMOMu0.mjs +0 -4252
  228. package/dist/pi-messages-B5ietIBq.mjs +0 -306
  229. package/dist/plan-prompt.md +0 -56
  230. package/dist/prompt.md +0 -44
  231. package/dist/provider-env-BJhgA66g.mjs +0 -37
  232. package/dist/provider-retry-DXYM7rVE.mjs +0 -79
  233. package/dist/runtime-DTkBxiaM.mjs +0 -2822
  234. package/dist/sanitize-unicode-CqChtoM6.mjs +0 -26
  235. package/dist/shell-836_JFnI.mjs +0 -162
  236. package/dist/source-CKPndhKl.mjs +0 -478
  237. package/dist/src-DNm2QRm3.mjs +0 -5028
  238. package/dist/system-one-shared-DUAFtNa8.mjs +0 -75
  239. package/dist/token-DEUkymby.mjs +0 -56
  240. package/dist/token-util-Cx5S4eKt.mjs +0 -3
  241. package/dist/tool-DHDYqsyG.mjs +0 -6673
  242. package/dist/transform-messages-BClk99Vn.mjs +0 -477
  243. package/dist/typesafe-system-one-D2d8j8hZ.mjs +0 -24
  244. package/dist/typescript-Br-vsRJV.mjs +0 -6737
  245. package/dist/uuid-CNCZqNBb.mjs +0 -49
  246. package/dist/v2-1z8ijsD3.mjs +0 -6120
  247. package/dist/viewer/assets/abnfDiagram-VCTEODGH-j5YaKnl9.js +0 -1
  248. package/dist/viewer/assets/actor-avatar-DqmoY8Xc.js +0 -1
  249. package/dist/viewer/assets/architectureDiagram-5GKGNRK7-D80cJKz_.js +0 -36
  250. package/dist/viewer/assets/avatar-BI7D-Aia.js +0 -43
  251. package/dist/viewer/assets/badge-870-A4Y6.js +0 -1
  252. package/dist/viewer/assets/better-delete-confirmation-modal-Dib31LVb.js +0 -1
  253. package/dist/viewer/assets/better-dialog-D3AAiahr.js +0 -1
  254. package/dist/viewer/assets/button-DadqadpO.js +0 -1
  255. package/dist/viewer/assets/channel-DRkt3LIn.js +0 -1
  256. package/dist/viewer/assets/checkbox-BXpR079x.js +0 -1
  257. package/dist/viewer/assets/classDiagram-ZZMXUADV-G5CebNaC.js +0 -1
  258. package/dist/viewer/assets/classDiagram-v2-VYDZK3BY-G5CebNaC.js +0 -1
  259. package/dist/viewer/assets/color-input-Efm-lxDy.js +0 -11
  260. package/dist/viewer/assets/cose-bilkent-JH36ORCC-CrSHFmnp.js +0 -1
  261. package/dist/viewer/assets/cross-button-5Sr5rWVP.js +0 -1
  262. package/dist/viewer/assets/cynefinDiagram-5FMLGOSQ-Bdl_eBdu.js +0 -62
  263. package/dist/viewer/assets/dashboard-diagrams-page-DMupOe1m.js +0 -2
  264. package/dist/viewer/assets/dashboard-diagrams-page-inner-Dh0yKh2A.js +0 -1
  265. package/dist/viewer/assets/dashboard-docs-page-DWJ1qOQz.js +0 -2
  266. package/dist/viewer/assets/dashboard-docs-page-inner-Fs6G3oGo.js +0 -67
  267. package/dist/viewer/assets/dashboard-layout-D36InAaB.js +0 -1
  268. package/dist/viewer/assets/dashboard-lens-layout-Cv1Xx3hY.js +0 -1
  269. package/dist/viewer/assets/dashboard-map-frame-page-CTn61NUO.js +0 -1
  270. package/dist/viewer/assets/dashboard-plans-page-DxFJkrgK.js +0 -1
  271. package/dist/viewer/assets/dashboard-service-apis-BHtD9s5z.js +0 -1
  272. package/dist/viewer/assets/dashboard-service-docs-Uv_1uxxO.js +0 -1
  273. package/dist/viewer/assets/dashboard-services-CUP-L4Jg.js +0 -1
  274. package/dist/viewer/assets/diagram-UQ7AKVKN-DhFcurW6.js +0 -41
  275. package/dist/viewer/assets/diagram-VX7I27RA-DE1nREE8.js +0 -24
  276. package/dist/viewer/assets/diagram-Z3DM3KII-CSrYcCbc.js +0 -24
  277. package/dist/viewer/assets/diagram-live-preview-i5doxXLH.js +0 -2
  278. package/dist/viewer/assets/dialog-D_HtNS17.js +0 -6
  279. package/dist/viewer/assets/ebnfDiagram-PWID7BFC-BfL8m_sf.js +0 -1
  280. package/dist/viewer/assets/flow-diagram-preview-T0Z4iMVU.js +0 -1
  281. package/dist/viewer/assets/ganttDiagram-EL5Y4UJY-CsITpniw.js +0 -292
  282. package/dist/viewer/assets/gitGraphDiagram-WWUBYQGX-B4eCBGoe.js +0 -106
  283. package/dist/viewer/assets/iconBase-BoDZfJgC.js +0 -1
  284. package/dist/viewer/assets/index-5E1tJ7yK.js +0 -125
  285. package/dist/viewer/assets/index-7XpV2DRw.js +0 -1
  286. package/dist/viewer/assets/index-C0Rs3s9Z.js +0 -1
  287. package/dist/viewer/assets/index-CzHjJWeV.js +0 -1
  288. package/dist/viewer/assets/index-DcEA6SIV.js +0 -74
  289. package/dist/viewer/assets/infoDiagram-27XIBGKW-lTebN5Ix.js +0 -2
  290. package/dist/viewer/assets/input-YvHTVS0E.js +0 -1
  291. package/dist/viewer/assets/lens-runs-page-DoAOObxx.js +0 -1
  292. package/dist/viewer/assets/linked-project-dot-Ds2uEmJ9.js +0 -543
  293. package/dist/viewer/assets/mermaid.core-BCRBv8Us.js +0 -312
  294. package/dist/viewer/assets/method-badge-DMYDKdDZ.js +0 -1
  295. package/dist/viewer/assets/nav-links-8vT2ixiI.js +0 -61
  296. package/dist/viewer/assets/not-found-page-CnfLlhS4.js +0 -1
  297. package/dist/viewer/assets/organization-dependency-graph-page-3xqIxjNx.js +0 -1
  298. package/dist/viewer/assets/pegDiagram-XKGWAZYB-CMXqeAum.js +0 -1
  299. package/dist/viewer/assets/popover-CN9ni1N3.js +0 -1
  300. package/dist/viewer/assets/railroadDiagram-O6MQD6OU-CfqToX3W.js +0 -1
  301. package/dist/viewer/assets/react-flow-wrapper-BPlRstyO.js +0 -276
  302. package/dist/viewer/assets/scroll-area-BodE-n7W.js +0 -6
  303. package/dist/viewer/assets/section-loader-BzpYM_Nx.js +0 -1
  304. package/dist/viewer/assets/select-DDtnmSET.js +0 -1
  305. package/dist/viewer/assets/service-database-page-CMi1wF4h.js +0 -2
  306. package/dist/viewer/assets/service-database-page-inner-CoqAj93L.js +0 -85
  307. package/dist/viewer/assets/service-layout-0NMm_bKG.js +0 -1
  308. package/dist/viewer/assets/service-pages-dfnc91SU.js +0 -1
  309. package/dist/viewer/assets/sizeCapture-INFHLROL-BRJi3gCg.js +0 -1
  310. package/dist/viewer/assets/stateDiagram-D77RDMKH-DdLsfxgy.js +0 -1
  311. package/dist/viewer/assets/stateDiagram-v2-MP3YSRHH-DFwg8Qki.js +0 -1
  312. package/dist/viewer/assets/super-circle-loader-D8MElOMh.js +0 -1
  313. package/dist/viewer/assets/super-logo-loader-DJYiRbCS.js +0 -1
  314. package/dist/viewer/assets/swimlanes-42K2YHIH-AuYjrPqh.js +0 -1
  315. package/dist/viewer/assets/swimlanesDiagram-VR7AAH4N-0nIGA8_4.js +0 -8
  316. package/dist/viewer/assets/table-Bi4Auk9Z.js +0 -1
  317. package/dist/viewer/assets/textarea-MgxZ5x6-.js +0 -1
  318. package/dist/viewer/assets/ui-graph-logo-D4jRhd4z.js +0 -1
  319. package/dist/viewer/assets/use-permissions-6JVET753.js +0 -1
  320. package/dist/viewer/assets/useMutation-CmVaR9zz.js +0 -1
  321. package/dist/viewer/assets/useQuery-B8yYhO0c.js +0 -1
  322. package/dist/viewer/assets/zod-Dc4H6VVJ.js +0 -1
  323. package/dist/virtual-modules-DnCx0Gdx.mjs +0 -340
@@ -1,2180 +0,0 @@
1
- import { a as __toESM, i as __require, t as __commonJSMin } from "./bin.mjs";
2
- import { P as stripBom, R as getFileRevision, V as normalizePath, d as getAgentDir } from "./config-D8DMGzIq.mjs";
3
- import { n as getShellConfig } from "./shell-836_JFnI.mjs";
4
- import { dirname, join } from "path";
5
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
6
- import { execSync, spawnSync } from "child_process";
7
- import { setTimeout as setTimeout$1 } from "timers/promises";
8
- //#region node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/polyfills.js
9
- var require_polyfills = /* @__PURE__ */ __commonJSMin(((exports, module) => {
10
- var constants$1 = __require("constants");
11
- var origCwd = process.cwd;
12
- var cwd = null;
13
- var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
14
- process.cwd = function() {
15
- if (!cwd) cwd = origCwd.call(process);
16
- return cwd;
17
- };
18
- try {
19
- process.cwd();
20
- } catch (er) {}
21
- if (typeof process.chdir === "function") {
22
- var chdir = process.chdir;
23
- process.chdir = function(d) {
24
- cwd = null;
25
- chdir.call(process, d);
26
- };
27
- if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
28
- }
29
- module.exports = patch;
30
- function patch(fs) {
31
- if (constants$1.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) patchLchmod(fs);
32
- if (!fs.lutimes) patchLutimes(fs);
33
- fs.chown = chownFix(fs.chown);
34
- fs.fchown = chownFix(fs.fchown);
35
- fs.lchown = chownFix(fs.lchown);
36
- fs.chmod = chmodFix(fs.chmod);
37
- fs.fchmod = chmodFix(fs.fchmod);
38
- fs.lchmod = chmodFix(fs.lchmod);
39
- fs.chownSync = chownFixSync(fs.chownSync);
40
- fs.fchownSync = chownFixSync(fs.fchownSync);
41
- fs.lchownSync = chownFixSync(fs.lchownSync);
42
- fs.chmodSync = chmodFixSync(fs.chmodSync);
43
- fs.fchmodSync = chmodFixSync(fs.fchmodSync);
44
- fs.lchmodSync = chmodFixSync(fs.lchmodSync);
45
- fs.stat = statFix(fs.stat);
46
- fs.fstat = statFix(fs.fstat);
47
- fs.lstat = statFix(fs.lstat);
48
- fs.statSync = statFixSync(fs.statSync);
49
- fs.fstatSync = statFixSync(fs.fstatSync);
50
- fs.lstatSync = statFixSync(fs.lstatSync);
51
- if (fs.chmod && !fs.lchmod) {
52
- fs.lchmod = function(path, mode, cb) {
53
- if (cb) process.nextTick(cb);
54
- };
55
- fs.lchmodSync = function() {};
56
- }
57
- if (fs.chown && !fs.lchown) {
58
- fs.lchown = function(path, uid, gid, cb) {
59
- if (cb) process.nextTick(cb);
60
- };
61
- fs.lchownSync = function() {};
62
- }
63
- if (platform === "win32") fs.rename = typeof fs.rename !== "function" ? fs.rename : (function(fs$rename) {
64
- function rename(from, to, cb) {
65
- var start = Date.now();
66
- var backoff = 0;
67
- fs$rename(from, to, function CB(er) {
68
- if (er && (er.code === "EACCES" || er.code === "EPERM" || er.code === "EBUSY") && Date.now() - start < 6e4) {
69
- setTimeout(function() {
70
- fs.stat(to, function(stater, st) {
71
- if (stater && stater.code === "ENOENT") fs$rename(from, to, CB);
72
- else cb(er);
73
- });
74
- }, backoff);
75
- if (backoff < 100) backoff += 10;
76
- return;
77
- }
78
- if (cb) cb(er);
79
- });
80
- }
81
- if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
82
- return rename;
83
- })(fs.rename);
84
- fs.read = typeof fs.read !== "function" ? fs.read : (function(fs$read) {
85
- function read(fd, buffer, offset, length, position, callback_) {
86
- var callback;
87
- if (callback_ && typeof callback_ === "function") {
88
- var eagCounter = 0;
89
- callback = function(er, _, __) {
90
- if (er && er.code === "EAGAIN" && eagCounter < 10) {
91
- eagCounter++;
92
- return fs$read.call(fs, fd, buffer, offset, length, position, callback);
93
- }
94
- callback_.apply(this, arguments);
95
- };
96
- }
97
- return fs$read.call(fs, fd, buffer, offset, length, position, callback);
98
- }
99
- if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
100
- return read;
101
- })(fs.read);
102
- fs.readSync = typeof fs.readSync !== "function" ? fs.readSync : (function(fs$readSync) {
103
- return function(fd, buffer, offset, length, position) {
104
- var eagCounter = 0;
105
- while (true) try {
106
- return fs$readSync.call(fs, fd, buffer, offset, length, position);
107
- } catch (er) {
108
- if (er.code === "EAGAIN" && eagCounter < 10) {
109
- eagCounter++;
110
- continue;
111
- }
112
- throw er;
113
- }
114
- };
115
- })(fs.readSync);
116
- function patchLchmod(fs) {
117
- fs.lchmod = function(path, mode, callback) {
118
- fs.open(path, constants$1.O_WRONLY | constants$1.O_SYMLINK, mode, function(err, fd) {
119
- if (err) {
120
- if (callback) callback(err);
121
- return;
122
- }
123
- fs.fchmod(fd, mode, function(err) {
124
- fs.close(fd, function(err2) {
125
- if (callback) callback(err || err2);
126
- });
127
- });
128
- });
129
- };
130
- fs.lchmodSync = function(path, mode) {
131
- var fd = fs.openSync(path, constants$1.O_WRONLY | constants$1.O_SYMLINK, mode);
132
- var threw = true;
133
- var ret;
134
- try {
135
- ret = fs.fchmodSync(fd, mode);
136
- threw = false;
137
- } finally {
138
- if (threw) try {
139
- fs.closeSync(fd);
140
- } catch (er) {}
141
- else fs.closeSync(fd);
142
- }
143
- return ret;
144
- };
145
- }
146
- function patchLutimes(fs) {
147
- if (constants$1.hasOwnProperty("O_SYMLINK") && fs.futimes) {
148
- fs.lutimes = function(path, at, mt, cb) {
149
- fs.open(path, constants$1.O_SYMLINK, function(er, fd) {
150
- if (er) {
151
- if (cb) cb(er);
152
- return;
153
- }
154
- fs.futimes(fd, at, mt, function(er) {
155
- fs.close(fd, function(er2) {
156
- if (cb) cb(er || er2);
157
- });
158
- });
159
- });
160
- };
161
- fs.lutimesSync = function(path, at, mt) {
162
- var fd = fs.openSync(path, constants$1.O_SYMLINK);
163
- var ret;
164
- var threw = true;
165
- try {
166
- ret = fs.futimesSync(fd, at, mt);
167
- threw = false;
168
- } finally {
169
- if (threw) try {
170
- fs.closeSync(fd);
171
- } catch (er) {}
172
- else fs.closeSync(fd);
173
- }
174
- return ret;
175
- };
176
- } else if (fs.futimes) {
177
- fs.lutimes = function(_a, _b, _c, cb) {
178
- if (cb) process.nextTick(cb);
179
- };
180
- fs.lutimesSync = function() {};
181
- }
182
- }
183
- function chmodFix(orig) {
184
- if (!orig) return orig;
185
- return function(target, mode, cb) {
186
- return orig.call(fs, target, mode, function(er) {
187
- if (chownErOk(er)) er = null;
188
- if (cb) cb.apply(this, arguments);
189
- });
190
- };
191
- }
192
- function chmodFixSync(orig) {
193
- if (!orig) return orig;
194
- return function(target, mode) {
195
- try {
196
- return orig.call(fs, target, mode);
197
- } catch (er) {
198
- if (!chownErOk(er)) throw er;
199
- }
200
- };
201
- }
202
- function chownFix(orig) {
203
- if (!orig) return orig;
204
- return function(target, uid, gid, cb) {
205
- return orig.call(fs, target, uid, gid, function(er) {
206
- if (chownErOk(er)) er = null;
207
- if (cb) cb.apply(this, arguments);
208
- });
209
- };
210
- }
211
- function chownFixSync(orig) {
212
- if (!orig) return orig;
213
- return function(target, uid, gid) {
214
- try {
215
- return orig.call(fs, target, uid, gid);
216
- } catch (er) {
217
- if (!chownErOk(er)) throw er;
218
- }
219
- };
220
- }
221
- function statFix(orig) {
222
- if (!orig) return orig;
223
- return function(target, options, cb) {
224
- if (typeof options === "function") {
225
- cb = options;
226
- options = null;
227
- }
228
- function callback(er, stats) {
229
- if (stats) {
230
- if (stats.uid < 0) stats.uid += 4294967296;
231
- if (stats.gid < 0) stats.gid += 4294967296;
232
- }
233
- if (cb) cb.apply(this, arguments);
234
- }
235
- return options ? orig.call(fs, target, options, callback) : orig.call(fs, target, callback);
236
- };
237
- }
238
- function statFixSync(orig) {
239
- if (!orig) return orig;
240
- return function(target, options) {
241
- var stats = options ? orig.call(fs, target, options) : orig.call(fs, target);
242
- if (stats) {
243
- if (stats.uid < 0) stats.uid += 4294967296;
244
- if (stats.gid < 0) stats.gid += 4294967296;
245
- }
246
- return stats;
247
- };
248
- }
249
- function chownErOk(er) {
250
- if (!er) return true;
251
- if (er.code === "ENOSYS") return true;
252
- if (!process.getuid || process.getuid() !== 0) {
253
- if (er.code === "EINVAL" || er.code === "EPERM") return true;
254
- }
255
- return false;
256
- }
257
- }
258
- }));
259
- //#endregion
260
- //#region node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/legacy-streams.js
261
- var require_legacy_streams = /* @__PURE__ */ __commonJSMin(((exports, module) => {
262
- var Stream = __require("stream").Stream;
263
- module.exports = legacy;
264
- function legacy(fs) {
265
- return {
266
- ReadStream,
267
- WriteStream
268
- };
269
- function ReadStream(path, options) {
270
- if (!(this instanceof ReadStream)) return new ReadStream(path, options);
271
- Stream.call(this);
272
- var self = this;
273
- this.path = path;
274
- this.fd = null;
275
- this.readable = true;
276
- this.paused = false;
277
- this.flags = "r";
278
- this.mode = 438;
279
- this.bufferSize = 65536;
280
- options = options || {};
281
- var keys = Object.keys(options);
282
- for (var index = 0, length = keys.length; index < length; index++) {
283
- var key = keys[index];
284
- this[key] = options[key];
285
- }
286
- if (this.encoding) this.setEncoding(this.encoding);
287
- if (this.start !== void 0) {
288
- if ("number" !== typeof this.start) throw TypeError("start must be a Number");
289
- if (this.end === void 0) this.end = Infinity;
290
- else if ("number" !== typeof this.end) throw TypeError("end must be a Number");
291
- if (this.start > this.end) throw new Error("start must be <= end");
292
- this.pos = this.start;
293
- }
294
- if (this.fd !== null) {
295
- process.nextTick(function() {
296
- self._read();
297
- });
298
- return;
299
- }
300
- fs.open(this.path, this.flags, this.mode, function(err, fd) {
301
- if (err) {
302
- self.emit("error", err);
303
- self.readable = false;
304
- return;
305
- }
306
- self.fd = fd;
307
- self.emit("open", fd);
308
- self._read();
309
- });
310
- }
311
- function WriteStream(path, options) {
312
- if (!(this instanceof WriteStream)) return new WriteStream(path, options);
313
- Stream.call(this);
314
- this.path = path;
315
- this.fd = null;
316
- this.writable = true;
317
- this.flags = "w";
318
- this.encoding = "binary";
319
- this.mode = 438;
320
- this.bytesWritten = 0;
321
- options = options || {};
322
- var keys = Object.keys(options);
323
- for (var index = 0, length = keys.length; index < length; index++) {
324
- var key = keys[index];
325
- this[key] = options[key];
326
- }
327
- if (this.start !== void 0) {
328
- if ("number" !== typeof this.start) throw TypeError("start must be a Number");
329
- if (this.start < 0) throw new Error("start must be >= zero");
330
- this.pos = this.start;
331
- }
332
- this.busy = false;
333
- this._queue = [];
334
- if (this.fd === null) {
335
- this._open = fs.open;
336
- this._queue.push([
337
- this._open,
338
- this.path,
339
- this.flags,
340
- this.mode,
341
- void 0
342
- ]);
343
- this.flush();
344
- }
345
- }
346
- }
347
- }));
348
- //#endregion
349
- //#region node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/clone.js
350
- var require_clone = /* @__PURE__ */ __commonJSMin(((exports, module) => {
351
- module.exports = clone;
352
- var getPrototypeOf = Object.getPrototypeOf || function(obj) {
353
- return obj.__proto__;
354
- };
355
- function clone(obj) {
356
- if (obj === null || typeof obj !== "object") return obj;
357
- if (obj instanceof Object) var copy = { __proto__: getPrototypeOf(obj) };
358
- else var copy = Object.create(null);
359
- Object.getOwnPropertyNames(obj).forEach(function(key) {
360
- Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
361
- });
362
- return copy;
363
- }
364
- }));
365
- //#endregion
366
- //#region node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/graceful-fs.js
367
- var require_graceful_fs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
368
- var fs = __require("fs");
369
- var polyfills = require_polyfills();
370
- var legacy = require_legacy_streams();
371
- var clone = require_clone();
372
- var util = __require("util");
373
- /* istanbul ignore next - node 0.x polyfill */
374
- var gracefulQueue;
375
- var previousSymbol;
376
- /* istanbul ignore else - node 0.x polyfill */
377
- if (typeof Symbol === "function" && typeof Symbol.for === "function") {
378
- gracefulQueue = Symbol.for("graceful-fs.queue");
379
- previousSymbol = Symbol.for("graceful-fs.previous");
380
- } else {
381
- gracefulQueue = "___graceful-fs.queue";
382
- previousSymbol = "___graceful-fs.previous";
383
- }
384
- function noop() {}
385
- function publishQueue(context, queue) {
386
- Object.defineProperty(context, gracefulQueue, { get: function() {
387
- return queue;
388
- } });
389
- }
390
- var debug = noop;
391
- if (util.debuglog) debug = util.debuglog("gfs4");
392
- else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) debug = function() {
393
- var m = util.format.apply(util, arguments);
394
- m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
395
- console.error(m);
396
- };
397
- if (!fs[gracefulQueue]) {
398
- publishQueue(fs, global[gracefulQueue] || []);
399
- fs.close = (function(fs$close) {
400
- function close(fd, cb) {
401
- return fs$close.call(fs, fd, function(err) {
402
- if (!err) resetQueue();
403
- if (typeof cb === "function") cb.apply(this, arguments);
404
- });
405
- }
406
- Object.defineProperty(close, previousSymbol, { value: fs$close });
407
- return close;
408
- })(fs.close);
409
- fs.closeSync = (function(fs$closeSync) {
410
- function closeSync(fd) {
411
- fs$closeSync.apply(fs, arguments);
412
- resetQueue();
413
- }
414
- Object.defineProperty(closeSync, previousSymbol, { value: fs$closeSync });
415
- return closeSync;
416
- })(fs.closeSync);
417
- if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) process.on("exit", function() {
418
- debug(fs[gracefulQueue]);
419
- __require("assert").equal(fs[gracefulQueue].length, 0);
420
- });
421
- }
422
- if (!global[gracefulQueue]) publishQueue(global, fs[gracefulQueue]);
423
- module.exports = patch(clone(fs));
424
- if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {
425
- module.exports = patch(fs);
426
- fs.__patched = true;
427
- }
428
- function patch(fs) {
429
- polyfills(fs);
430
- fs.gracefulify = patch;
431
- fs.createReadStream = createReadStream;
432
- fs.createWriteStream = createWriteStream;
433
- var fs$readFile = fs.readFile;
434
- fs.readFile = readFile;
435
- function readFile(path, options, cb) {
436
- if (typeof options === "function") cb = options, options = null;
437
- return go$readFile(path, options, cb);
438
- function go$readFile(path, options, cb, startTime) {
439
- return fs$readFile(path, options, function(err) {
440
- if (err && (err.code === "EMFILE" || err.code === "ENFILE")) enqueue([
441
- go$readFile,
442
- [
443
- path,
444
- options,
445
- cb
446
- ],
447
- err,
448
- startTime || Date.now(),
449
- Date.now()
450
- ]);
451
- else if (typeof cb === "function") cb.apply(this, arguments);
452
- });
453
- }
454
- }
455
- var fs$writeFile = fs.writeFile;
456
- fs.writeFile = writeFile;
457
- function writeFile(path, data, options, cb) {
458
- if (typeof options === "function") cb = options, options = null;
459
- return go$writeFile(path, data, options, cb);
460
- function go$writeFile(path, data, options, cb, startTime) {
461
- return fs$writeFile(path, data, options, function(err) {
462
- if (err && (err.code === "EMFILE" || err.code === "ENFILE")) enqueue([
463
- go$writeFile,
464
- [
465
- path,
466
- data,
467
- options,
468
- cb
469
- ],
470
- err,
471
- startTime || Date.now(),
472
- Date.now()
473
- ]);
474
- else if (typeof cb === "function") cb.apply(this, arguments);
475
- });
476
- }
477
- }
478
- var fs$appendFile = fs.appendFile;
479
- if (fs$appendFile) fs.appendFile = appendFile;
480
- function appendFile(path, data, options, cb) {
481
- if (typeof options === "function") cb = options, options = null;
482
- return go$appendFile(path, data, options, cb);
483
- function go$appendFile(path, data, options, cb, startTime) {
484
- return fs$appendFile(path, data, options, function(err) {
485
- if (err && (err.code === "EMFILE" || err.code === "ENFILE")) enqueue([
486
- go$appendFile,
487
- [
488
- path,
489
- data,
490
- options,
491
- cb
492
- ],
493
- err,
494
- startTime || Date.now(),
495
- Date.now()
496
- ]);
497
- else if (typeof cb === "function") cb.apply(this, arguments);
498
- });
499
- }
500
- }
501
- var fs$copyFile = fs.copyFile;
502
- if (fs$copyFile) fs.copyFile = copyFile;
503
- function copyFile(src, dest, flags, cb) {
504
- if (typeof flags === "function") {
505
- cb = flags;
506
- flags = 0;
507
- }
508
- return go$copyFile(src, dest, flags, cb);
509
- function go$copyFile(src, dest, flags, cb, startTime) {
510
- return fs$copyFile(src, dest, flags, function(err) {
511
- if (err && (err.code === "EMFILE" || err.code === "ENFILE")) enqueue([
512
- go$copyFile,
513
- [
514
- src,
515
- dest,
516
- flags,
517
- cb
518
- ],
519
- err,
520
- startTime || Date.now(),
521
- Date.now()
522
- ]);
523
- else if (typeof cb === "function") cb.apply(this, arguments);
524
- });
525
- }
526
- }
527
- var fs$readdir = fs.readdir;
528
- fs.readdir = readdir;
529
- var noReaddirOptionVersions = /^v[0-5]\./;
530
- function readdir(path, options, cb) {
531
- if (typeof options === "function") cb = options, options = null;
532
- var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir(path, options, cb, startTime) {
533
- return fs$readdir(path, fs$readdirCallback(path, options, cb, startTime));
534
- } : function go$readdir(path, options, cb, startTime) {
535
- return fs$readdir(path, options, fs$readdirCallback(path, options, cb, startTime));
536
- };
537
- return go$readdir(path, options, cb);
538
- function fs$readdirCallback(path, options, cb, startTime) {
539
- return function(err, files) {
540
- if (err && (err.code === "EMFILE" || err.code === "ENFILE")) enqueue([
541
- go$readdir,
542
- [
543
- path,
544
- options,
545
- cb
546
- ],
547
- err,
548
- startTime || Date.now(),
549
- Date.now()
550
- ]);
551
- else {
552
- if (files && files.sort) files.sort();
553
- if (typeof cb === "function") cb.call(this, err, files);
554
- }
555
- };
556
- }
557
- }
558
- if (process.version.substr(0, 4) === "v0.8") {
559
- var legStreams = legacy(fs);
560
- ReadStream = legStreams.ReadStream;
561
- WriteStream = legStreams.WriteStream;
562
- }
563
- var fs$ReadStream = fs.ReadStream;
564
- if (fs$ReadStream) {
565
- ReadStream.prototype = Object.create(fs$ReadStream.prototype);
566
- ReadStream.prototype.open = ReadStream$open;
567
- }
568
- var fs$WriteStream = fs.WriteStream;
569
- if (fs$WriteStream) {
570
- WriteStream.prototype = Object.create(fs$WriteStream.prototype);
571
- WriteStream.prototype.open = WriteStream$open;
572
- }
573
- Object.defineProperty(fs, "ReadStream", {
574
- get: function() {
575
- return ReadStream;
576
- },
577
- set: function(val) {
578
- ReadStream = val;
579
- },
580
- enumerable: true,
581
- configurable: true
582
- });
583
- Object.defineProperty(fs, "WriteStream", {
584
- get: function() {
585
- return WriteStream;
586
- },
587
- set: function(val) {
588
- WriteStream = val;
589
- },
590
- enumerable: true,
591
- configurable: true
592
- });
593
- var FileReadStream = ReadStream;
594
- Object.defineProperty(fs, "FileReadStream", {
595
- get: function() {
596
- return FileReadStream;
597
- },
598
- set: function(val) {
599
- FileReadStream = val;
600
- },
601
- enumerable: true,
602
- configurable: true
603
- });
604
- var FileWriteStream = WriteStream;
605
- Object.defineProperty(fs, "FileWriteStream", {
606
- get: function() {
607
- return FileWriteStream;
608
- },
609
- set: function(val) {
610
- FileWriteStream = val;
611
- },
612
- enumerable: true,
613
- configurable: true
614
- });
615
- function ReadStream(path, options) {
616
- if (this instanceof ReadStream) return fs$ReadStream.apply(this, arguments), this;
617
- else return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
618
- }
619
- function ReadStream$open() {
620
- var that = this;
621
- open(that.path, that.flags, that.mode, function(err, fd) {
622
- if (err) {
623
- if (that.autoClose) that.destroy();
624
- that.emit("error", err);
625
- } else {
626
- that.fd = fd;
627
- that.emit("open", fd);
628
- that.read();
629
- }
630
- });
631
- }
632
- function WriteStream(path, options) {
633
- if (this instanceof WriteStream) return fs$WriteStream.apply(this, arguments), this;
634
- else return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
635
- }
636
- function WriteStream$open() {
637
- var that = this;
638
- open(that.path, that.flags, that.mode, function(err, fd) {
639
- if (err) {
640
- that.destroy();
641
- that.emit("error", err);
642
- } else {
643
- that.fd = fd;
644
- that.emit("open", fd);
645
- }
646
- });
647
- }
648
- function createReadStream(path, options) {
649
- return new fs.ReadStream(path, options);
650
- }
651
- function createWriteStream(path, options) {
652
- return new fs.WriteStream(path, options);
653
- }
654
- var fs$open = fs.open;
655
- fs.open = open;
656
- function open(path, flags, mode, cb) {
657
- if (typeof mode === "function") cb = mode, mode = null;
658
- return go$open(path, flags, mode, cb);
659
- function go$open(path, flags, mode, cb, startTime) {
660
- return fs$open(path, flags, mode, function(err, fd) {
661
- if (err && (err.code === "EMFILE" || err.code === "ENFILE")) enqueue([
662
- go$open,
663
- [
664
- path,
665
- flags,
666
- mode,
667
- cb
668
- ],
669
- err,
670
- startTime || Date.now(),
671
- Date.now()
672
- ]);
673
- else if (typeof cb === "function") cb.apply(this, arguments);
674
- });
675
- }
676
- }
677
- return fs;
678
- }
679
- function enqueue(elem) {
680
- debug("ENQUEUE", elem[0].name, elem[1]);
681
- fs[gracefulQueue].push(elem);
682
- retry();
683
- }
684
- var retryTimer;
685
- function resetQueue() {
686
- var now = Date.now();
687
- for (var i = 0; i < fs[gracefulQueue].length; ++i) if (fs[gracefulQueue][i].length > 2) {
688
- fs[gracefulQueue][i][3] = now;
689
- fs[gracefulQueue][i][4] = now;
690
- }
691
- retry();
692
- }
693
- function retry() {
694
- clearTimeout(retryTimer);
695
- retryTimer = void 0;
696
- if (fs[gracefulQueue].length === 0) return;
697
- var elem = fs[gracefulQueue].shift();
698
- var fn = elem[0];
699
- var args = elem[1];
700
- var err = elem[2];
701
- var startTime = elem[3];
702
- var lastTime = elem[4];
703
- if (startTime === void 0) {
704
- debug("RETRY", fn.name, args);
705
- fn.apply(null, args);
706
- } else if (Date.now() - startTime >= 6e4) {
707
- debug("TIMEOUT", fn.name, args);
708
- var cb = args.pop();
709
- if (typeof cb === "function") cb.call(null, err);
710
- } else {
711
- var sinceAttempt = Date.now() - lastTime;
712
- var sinceStart = Math.max(lastTime - startTime, 1);
713
- if (sinceAttempt >= Math.min(sinceStart * 1.2, 100)) {
714
- debug("RETRY", fn.name, args);
715
- fn.apply(null, args.concat([startTime]));
716
- } else fs[gracefulQueue].push(elem);
717
- }
718
- if (retryTimer === void 0) retryTimer = setTimeout(retry, 0);
719
- }
720
- }));
721
- //#endregion
722
- //#region node_modules/.pnpm/retry@0.12.0/node_modules/retry/lib/retry_operation.js
723
- var require_retry_operation = /* @__PURE__ */ __commonJSMin(((exports, module) => {
724
- function RetryOperation(timeouts, options) {
725
- if (typeof options === "boolean") options = { forever: options };
726
- this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));
727
- this._timeouts = timeouts;
728
- this._options = options || {};
729
- this._maxRetryTime = options && options.maxRetryTime || Infinity;
730
- this._fn = null;
731
- this._errors = [];
732
- this._attempts = 1;
733
- this._operationTimeout = null;
734
- this._operationTimeoutCb = null;
735
- this._timeout = null;
736
- this._operationStart = null;
737
- if (this._options.forever) this._cachedTimeouts = this._timeouts.slice(0);
738
- }
739
- module.exports = RetryOperation;
740
- RetryOperation.prototype.reset = function() {
741
- this._attempts = 1;
742
- this._timeouts = this._originalTimeouts;
743
- };
744
- RetryOperation.prototype.stop = function() {
745
- if (this._timeout) clearTimeout(this._timeout);
746
- this._timeouts = [];
747
- this._cachedTimeouts = null;
748
- };
749
- RetryOperation.prototype.retry = function(err) {
750
- if (this._timeout) clearTimeout(this._timeout);
751
- if (!err) return false;
752
- var currentTime = (/* @__PURE__ */ new Date()).getTime();
753
- if (err && currentTime - this._operationStart >= this._maxRetryTime) {
754
- this._errors.unshift(/* @__PURE__ */ new Error("RetryOperation timeout occurred"));
755
- return false;
756
- }
757
- this._errors.push(err);
758
- var timeout = this._timeouts.shift();
759
- if (timeout === void 0) {
760
- if (this._cachedTimeouts) {
761
- this._errors.splice(this._errors.length - 1, this._errors.length);
762
- this._timeouts = this._cachedTimeouts.slice(0);
763
- timeout = this._timeouts.shift();
764
- } else return false;
765
- }
766
- var self = this;
767
- var timer = setTimeout(function() {
768
- self._attempts++;
769
- if (self._operationTimeoutCb) {
770
- self._timeout = setTimeout(function() {
771
- self._operationTimeoutCb(self._attempts);
772
- }, self._operationTimeout);
773
- if (self._options.unref) self._timeout.unref();
774
- }
775
- self._fn(self._attempts);
776
- }, timeout);
777
- if (this._options.unref) timer.unref();
778
- return true;
779
- };
780
- RetryOperation.prototype.attempt = function(fn, timeoutOps) {
781
- this._fn = fn;
782
- if (timeoutOps) {
783
- if (timeoutOps.timeout) this._operationTimeout = timeoutOps.timeout;
784
- if (timeoutOps.cb) this._operationTimeoutCb = timeoutOps.cb;
785
- }
786
- var self = this;
787
- if (this._operationTimeoutCb) this._timeout = setTimeout(function() {
788
- self._operationTimeoutCb();
789
- }, self._operationTimeout);
790
- this._operationStart = (/* @__PURE__ */ new Date()).getTime();
791
- this._fn(this._attempts);
792
- };
793
- RetryOperation.prototype.try = function(fn) {
794
- console.log("Using RetryOperation.try() is deprecated");
795
- this.attempt(fn);
796
- };
797
- RetryOperation.prototype.start = function(fn) {
798
- console.log("Using RetryOperation.start() is deprecated");
799
- this.attempt(fn);
800
- };
801
- RetryOperation.prototype.start = RetryOperation.prototype.try;
802
- RetryOperation.prototype.errors = function() {
803
- return this._errors;
804
- };
805
- RetryOperation.prototype.attempts = function() {
806
- return this._attempts;
807
- };
808
- RetryOperation.prototype.mainError = function() {
809
- if (this._errors.length === 0) return null;
810
- var counts = {};
811
- var mainError = null;
812
- var mainErrorCount = 0;
813
- for (var i = 0; i < this._errors.length; i++) {
814
- var error = this._errors[i];
815
- var message = error.message;
816
- var count = (counts[message] || 0) + 1;
817
- counts[message] = count;
818
- if (count >= mainErrorCount) {
819
- mainError = error;
820
- mainErrorCount = count;
821
- }
822
- }
823
- return mainError;
824
- };
825
- }));
826
- //#endregion
827
- //#region node_modules/.pnpm/retry@0.12.0/node_modules/retry/lib/retry.js
828
- var require_retry$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
829
- var RetryOperation = require_retry_operation();
830
- exports.operation = function(options) {
831
- return new RetryOperation(exports.timeouts(options), {
832
- forever: options && options.forever,
833
- unref: options && options.unref,
834
- maxRetryTime: options && options.maxRetryTime
835
- });
836
- };
837
- exports.timeouts = function(options) {
838
- if (options instanceof Array) return [].concat(options);
839
- var opts = {
840
- retries: 10,
841
- factor: 2,
842
- minTimeout: 1e3,
843
- maxTimeout: Infinity,
844
- randomize: false
845
- };
846
- for (var key in options) opts[key] = options[key];
847
- if (opts.minTimeout > opts.maxTimeout) throw new Error("minTimeout is greater than maxTimeout");
848
- var timeouts = [];
849
- for (var i = 0; i < opts.retries; i++) timeouts.push(this.createTimeout(i, opts));
850
- if (options && options.forever && !timeouts.length) timeouts.push(this.createTimeout(i, opts));
851
- timeouts.sort(function(a, b) {
852
- return a - b;
853
- });
854
- return timeouts;
855
- };
856
- exports.createTimeout = function(attempt, opts) {
857
- var random = opts.randomize ? Math.random() + 1 : 1;
858
- var timeout = Math.round(random * opts.minTimeout * Math.pow(opts.factor, attempt));
859
- timeout = Math.min(timeout, opts.maxTimeout);
860
- return timeout;
861
- };
862
- exports.wrap = function(obj, options, methods) {
863
- if (options instanceof Array) {
864
- methods = options;
865
- options = null;
866
- }
867
- if (!methods) {
868
- methods = [];
869
- for (var key in obj) if (typeof obj[key] === "function") methods.push(key);
870
- }
871
- for (var i = 0; i < methods.length; i++) {
872
- var method = methods[i];
873
- var original = obj[method];
874
- obj[method] = function retryWrapper(original) {
875
- var op = exports.operation(options);
876
- var args = Array.prototype.slice.call(arguments, 1);
877
- var callback = args.pop();
878
- args.push(function(err) {
879
- if (op.retry(err)) return;
880
- if (err) arguments[0] = op.mainError();
881
- callback.apply(this, arguments);
882
- });
883
- op.attempt(function() {
884
- original.apply(obj, args);
885
- });
886
- }.bind(obj, original);
887
- obj[method].options = options;
888
- }
889
- };
890
- }));
891
- //#endregion
892
- //#region node_modules/.pnpm/retry@0.12.0/node_modules/retry/index.js
893
- var require_retry = /* @__PURE__ */ __commonJSMin(((exports, module) => {
894
- module.exports = require_retry$1();
895
- }));
896
- //#endregion
897
- //#region node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js
898
- var require_signals = /* @__PURE__ */ __commonJSMin(((exports, module) => {
899
- module.exports = [
900
- "SIGABRT",
901
- "SIGALRM",
902
- "SIGHUP",
903
- "SIGINT",
904
- "SIGTERM"
905
- ];
906
- if (process.platform !== "win32") module.exports.push("SIGVTALRM", "SIGXCPU", "SIGXFSZ", "SIGUSR2", "SIGTRAP", "SIGSYS", "SIGQUIT", "SIGIOT");
907
- if (process.platform === "linux") module.exports.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT", "SIGUNUSED");
908
- }));
909
- //#endregion
910
- //#region node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js
911
- var require_signal_exit = /* @__PURE__ */ __commonJSMin(((exports, module) => {
912
- var process = global.process;
913
- const processOk = function(process) {
914
- return process && typeof process === "object" && typeof process.removeListener === "function" && typeof process.emit === "function" && typeof process.reallyExit === "function" && typeof process.listeners === "function" && typeof process.kill === "function" && typeof process.pid === "number" && typeof process.on === "function";
915
- };
916
- /* istanbul ignore if */
917
- if (!processOk(process)) module.exports = function() {
918
- return function() {};
919
- };
920
- else {
921
- var assert = __require("assert");
922
- var signals = require_signals();
923
- var isWin = /^win/i.test(process.platform);
924
- var EE = __require("events");
925
- /* istanbul ignore if */
926
- if (typeof EE !== "function") EE = EE.EventEmitter;
927
- var emitter;
928
- if (process.__signal_exit_emitter__) emitter = process.__signal_exit_emitter__;
929
- else {
930
- emitter = process.__signal_exit_emitter__ = new EE();
931
- emitter.count = 0;
932
- emitter.emitted = {};
933
- }
934
- if (!emitter.infinite) {
935
- emitter.setMaxListeners(Infinity);
936
- emitter.infinite = true;
937
- }
938
- module.exports = function(cb, opts) {
939
- /* istanbul ignore if */
940
- if (!processOk(global.process)) return function() {};
941
- assert.equal(typeof cb, "function", "a callback must be provided for exit handler");
942
- if (loaded === false) load();
943
- var ev = "exit";
944
- if (opts && opts.alwaysLast) ev = "afterexit";
945
- var remove = function() {
946
- emitter.removeListener(ev, cb);
947
- if (emitter.listeners("exit").length === 0 && emitter.listeners("afterexit").length === 0) unload();
948
- };
949
- emitter.on(ev, cb);
950
- return remove;
951
- };
952
- var unload = function unload() {
953
- if (!loaded || !processOk(global.process)) return;
954
- loaded = false;
955
- signals.forEach(function(sig) {
956
- try {
957
- process.removeListener(sig, sigListeners[sig]);
958
- } catch (er) {}
959
- });
960
- process.emit = originalProcessEmit;
961
- process.reallyExit = originalProcessReallyExit;
962
- emitter.count -= 1;
963
- };
964
- module.exports.unload = unload;
965
- var emit = function emit(event, code, signal) {
966
- /* istanbul ignore if */
967
- if (emitter.emitted[event]) return;
968
- emitter.emitted[event] = true;
969
- emitter.emit(event, code, signal);
970
- };
971
- var sigListeners = {};
972
- signals.forEach(function(sig) {
973
- sigListeners[sig] = function listener() {
974
- /* istanbul ignore if */
975
- if (!processOk(global.process)) return;
976
- if (process.listeners(sig).length === emitter.count) {
977
- unload();
978
- emit("exit", null, sig);
979
- /* istanbul ignore next */
980
- emit("afterexit", null, sig);
981
- /* istanbul ignore next */
982
- if (isWin && sig === "SIGHUP") sig = "SIGINT";
983
- /* istanbul ignore next */
984
- process.kill(process.pid, sig);
985
- }
986
- };
987
- });
988
- module.exports.signals = function() {
989
- return signals;
990
- };
991
- var loaded = false;
992
- var load = function load() {
993
- if (loaded || !processOk(global.process)) return;
994
- loaded = true;
995
- emitter.count += 1;
996
- signals = signals.filter(function(sig) {
997
- try {
998
- process.on(sig, sigListeners[sig]);
999
- return true;
1000
- } catch (er) {
1001
- return false;
1002
- }
1003
- });
1004
- process.emit = processEmit;
1005
- process.reallyExit = processReallyExit;
1006
- };
1007
- module.exports.load = load;
1008
- var originalProcessReallyExit = process.reallyExit;
1009
- var processReallyExit = function processReallyExit(code) {
1010
- /* istanbul ignore if */
1011
- if (!processOk(global.process)) return;
1012
- process.exitCode = code || /* istanbul ignore next */ 0;
1013
- emit("exit", process.exitCode, null);
1014
- /* istanbul ignore next */
1015
- emit("afterexit", process.exitCode, null);
1016
- /* istanbul ignore next */
1017
- originalProcessReallyExit.call(process, process.exitCode);
1018
- };
1019
- var originalProcessEmit = process.emit;
1020
- var processEmit = function processEmit(ev, arg) {
1021
- if (ev === "exit" && processOk(global.process)) {
1022
- /* istanbul ignore else */
1023
- if (arg !== void 0) process.exitCode = arg;
1024
- var ret = originalProcessEmit.apply(this, arguments);
1025
- /* istanbul ignore next */
1026
- emit("exit", process.exitCode, null);
1027
- /* istanbul ignore next */
1028
- emit("afterexit", process.exitCode, null);
1029
- /* istanbul ignore next */
1030
- return ret;
1031
- } else return originalProcessEmit.apply(this, arguments);
1032
- };
1033
- }
1034
- }));
1035
- //#endregion
1036
- //#region node_modules/.pnpm/proper-lockfile@4.1.2/node_modules/proper-lockfile/lib/mtime-precision.js
1037
- var require_mtime_precision = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1038
- const cacheSymbol = Symbol();
1039
- function probe(file, fs, callback) {
1040
- const cachedPrecision = fs[cacheSymbol];
1041
- if (cachedPrecision) return fs.stat(file, (err, stat) => {
1042
- /* istanbul ignore if */
1043
- if (err) return callback(err);
1044
- callback(null, stat.mtime, cachedPrecision);
1045
- });
1046
- const mtime = /* @__PURE__ */ new Date(Math.ceil(Date.now() / 1e3) * 1e3 + 5);
1047
- fs.utimes(file, mtime, mtime, (err) => {
1048
- /* istanbul ignore if */
1049
- if (err) return callback(err);
1050
- fs.stat(file, (err, stat) => {
1051
- /* istanbul ignore if */
1052
- if (err) return callback(err);
1053
- const precision = stat.mtime.getTime() % 1e3 === 0 ? "s" : "ms";
1054
- Object.defineProperty(fs, cacheSymbol, { value: precision });
1055
- callback(null, stat.mtime, precision);
1056
- });
1057
- });
1058
- }
1059
- function getMtime(precision) {
1060
- let now = Date.now();
1061
- if (precision === "s") now = Math.ceil(now / 1e3) * 1e3;
1062
- return new Date(now);
1063
- }
1064
- module.exports.probe = probe;
1065
- module.exports.getMtime = getMtime;
1066
- }));
1067
- //#endregion
1068
- //#region node_modules/.pnpm/proper-lockfile@4.1.2/node_modules/proper-lockfile/lib/lockfile.js
1069
- var require_lockfile = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1070
- const path$1 = __require("path");
1071
- const fs = require_graceful_fs();
1072
- const retry = require_retry();
1073
- const onExit = require_signal_exit();
1074
- const mtimePrecision = require_mtime_precision();
1075
- const locks = {};
1076
- function getLockFile(file, options) {
1077
- return options.lockfilePath || `${file}.lock`;
1078
- }
1079
- function resolveCanonicalPath(file, options, callback) {
1080
- if (!options.realpath) return callback(null, path$1.resolve(file));
1081
- options.fs.realpath(file, callback);
1082
- }
1083
- function acquireLock(file, options, callback) {
1084
- const lockfilePath = getLockFile(file, options);
1085
- options.fs.mkdir(lockfilePath, (err) => {
1086
- if (!err) return mtimePrecision.probe(lockfilePath, options.fs, (err, mtime, mtimePrecision) => {
1087
- /* istanbul ignore if */
1088
- if (err) {
1089
- options.fs.rmdir(lockfilePath, () => {});
1090
- return callback(err);
1091
- }
1092
- callback(null, mtime, mtimePrecision);
1093
- });
1094
- if (err.code !== "EEXIST") return callback(err);
1095
- if (options.stale <= 0) return callback(Object.assign(/* @__PURE__ */ new Error("Lock file is already being held"), {
1096
- code: "ELOCKED",
1097
- file
1098
- }));
1099
- options.fs.stat(lockfilePath, (err, stat) => {
1100
- if (err) {
1101
- if (err.code === "ENOENT") return acquireLock(file, {
1102
- ...options,
1103
- stale: 0
1104
- }, callback);
1105
- return callback(err);
1106
- }
1107
- if (!isLockStale(stat, options)) return callback(Object.assign(/* @__PURE__ */ new Error("Lock file is already being held"), {
1108
- code: "ELOCKED",
1109
- file
1110
- }));
1111
- removeLock(file, options, (err) => {
1112
- if (err) return callback(err);
1113
- acquireLock(file, {
1114
- ...options,
1115
- stale: 0
1116
- }, callback);
1117
- });
1118
- });
1119
- });
1120
- }
1121
- function isLockStale(stat, options) {
1122
- return stat.mtime.getTime() < Date.now() - options.stale;
1123
- }
1124
- function removeLock(file, options, callback) {
1125
- options.fs.rmdir(getLockFile(file, options), (err) => {
1126
- if (err && err.code !== "ENOENT") return callback(err);
1127
- callback();
1128
- });
1129
- }
1130
- function updateLock(file, options) {
1131
- const lock = locks[file];
1132
- /* istanbul ignore if */
1133
- if (lock.updateTimeout) return;
1134
- lock.updateDelay = lock.updateDelay || options.update;
1135
- lock.updateTimeout = setTimeout(() => {
1136
- lock.updateTimeout = null;
1137
- options.fs.stat(lock.lockfilePath, (err, stat) => {
1138
- const isOverThreshold = lock.lastUpdate + options.stale < Date.now();
1139
- if (err) {
1140
- if (err.code === "ENOENT" || isOverThreshold) return setLockAsCompromised(file, lock, Object.assign(err, { code: "ECOMPROMISED" }));
1141
- lock.updateDelay = 1e3;
1142
- return updateLock(file, options);
1143
- }
1144
- if (!(lock.mtime.getTime() === stat.mtime.getTime())) return setLockAsCompromised(file, lock, Object.assign(/* @__PURE__ */ new Error("Unable to update lock within the stale threshold"), { code: "ECOMPROMISED" }));
1145
- const mtime = mtimePrecision.getMtime(lock.mtimePrecision);
1146
- options.fs.utimes(lock.lockfilePath, mtime, mtime, (err) => {
1147
- const isOverThreshold = lock.lastUpdate + options.stale < Date.now();
1148
- if (lock.released) return;
1149
- if (err) {
1150
- if (err.code === "ENOENT" || isOverThreshold) return setLockAsCompromised(file, lock, Object.assign(err, { code: "ECOMPROMISED" }));
1151
- lock.updateDelay = 1e3;
1152
- return updateLock(file, options);
1153
- }
1154
- lock.mtime = mtime;
1155
- lock.lastUpdate = Date.now();
1156
- lock.updateDelay = null;
1157
- updateLock(file, options);
1158
- });
1159
- });
1160
- }, lock.updateDelay);
1161
- /* istanbul ignore else */
1162
- if (lock.updateTimeout.unref) lock.updateTimeout.unref();
1163
- }
1164
- function setLockAsCompromised(file, lock, err) {
1165
- lock.released = true;
1166
- /* istanbul ignore if */
1167
- if (lock.updateTimeout) clearTimeout(lock.updateTimeout);
1168
- if (locks[file] === lock) delete locks[file];
1169
- lock.options.onCompromised(err);
1170
- }
1171
- function lock(file, options, callback) {
1172
- /* istanbul ignore next */
1173
- options = {
1174
- stale: 1e4,
1175
- update: null,
1176
- realpath: true,
1177
- retries: 0,
1178
- fs,
1179
- onCompromised: (err) => {
1180
- throw err;
1181
- },
1182
- ...options
1183
- };
1184
- options.retries = options.retries || 0;
1185
- options.retries = typeof options.retries === "number" ? { retries: options.retries } : options.retries;
1186
- options.stale = Math.max(options.stale || 0, 2e3);
1187
- options.update = options.update == null ? options.stale / 2 : options.update || 0;
1188
- options.update = Math.max(Math.min(options.update, options.stale / 2), 1e3);
1189
- resolveCanonicalPath(file, options, (err, file) => {
1190
- if (err) return callback(err);
1191
- const operation = retry.operation(options.retries);
1192
- operation.attempt(() => {
1193
- acquireLock(file, options, (err, mtime, mtimePrecision) => {
1194
- if (operation.retry(err)) return;
1195
- if (err) return callback(operation.mainError());
1196
- const lock = locks[file] = {
1197
- lockfilePath: getLockFile(file, options),
1198
- mtime,
1199
- mtimePrecision,
1200
- options,
1201
- lastUpdate: Date.now()
1202
- };
1203
- updateLock(file, options);
1204
- callback(null, (releasedCallback) => {
1205
- if (lock.released) return releasedCallback && releasedCallback(Object.assign(/* @__PURE__ */ new Error("Lock is already released"), { code: "ERELEASED" }));
1206
- unlock(file, {
1207
- ...options,
1208
- realpath: false
1209
- }, releasedCallback);
1210
- });
1211
- });
1212
- });
1213
- });
1214
- }
1215
- function unlock(file, options, callback) {
1216
- options = {
1217
- fs,
1218
- realpath: true,
1219
- ...options
1220
- };
1221
- resolveCanonicalPath(file, options, (err, file) => {
1222
- if (err) return callback(err);
1223
- const lock = locks[file];
1224
- if (!lock) return callback(Object.assign(/* @__PURE__ */ new Error("Lock is not acquired/owned by you"), { code: "ENOTACQUIRED" }));
1225
- lock.updateTimeout && clearTimeout(lock.updateTimeout);
1226
- lock.released = true;
1227
- delete locks[file];
1228
- removeLock(file, options, callback);
1229
- });
1230
- }
1231
- function check(file, options, callback) {
1232
- options = {
1233
- stale: 1e4,
1234
- realpath: true,
1235
- fs,
1236
- ...options
1237
- };
1238
- options.stale = Math.max(options.stale || 0, 2e3);
1239
- resolveCanonicalPath(file, options, (err, file) => {
1240
- if (err) return callback(err);
1241
- options.fs.stat(getLockFile(file, options), (err, stat) => {
1242
- if (err) return err.code === "ENOENT" ? callback(null, false) : callback(err);
1243
- return callback(null, !isLockStale(stat, options));
1244
- });
1245
- });
1246
- }
1247
- function getLocks() {
1248
- return locks;
1249
- }
1250
- /* istanbul ignore next */
1251
- onExit(() => {
1252
- for (const file in locks) {
1253
- const options = locks[file].options;
1254
- try {
1255
- options.fs.rmdirSync(getLockFile(file, options));
1256
- } catch (e) {}
1257
- }
1258
- });
1259
- module.exports.lock = lock;
1260
- module.exports.unlock = unlock;
1261
- module.exports.check = check;
1262
- module.exports.getLocks = getLocks;
1263
- }));
1264
- //#endregion
1265
- //#region node_modules/.pnpm/proper-lockfile@4.1.2/node_modules/proper-lockfile/lib/adapter.js
1266
- var require_adapter = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1267
- const fs = require_graceful_fs();
1268
- function createSyncFs(fs) {
1269
- const methods = [
1270
- "mkdir",
1271
- "realpath",
1272
- "stat",
1273
- "rmdir",
1274
- "utimes"
1275
- ];
1276
- const newFs = { ...fs };
1277
- methods.forEach((method) => {
1278
- newFs[method] = (...args) => {
1279
- const callback = args.pop();
1280
- let ret;
1281
- try {
1282
- ret = fs[`${method}Sync`](...args);
1283
- } catch (err) {
1284
- return callback(err);
1285
- }
1286
- callback(null, ret);
1287
- };
1288
- });
1289
- return newFs;
1290
- }
1291
- function toPromise(method) {
1292
- return (...args) => new Promise((resolve, reject) => {
1293
- args.push((err, result) => {
1294
- if (err) reject(err);
1295
- else resolve(result);
1296
- });
1297
- method(...args);
1298
- });
1299
- }
1300
- function toSync(method) {
1301
- return (...args) => {
1302
- let err;
1303
- let result;
1304
- args.push((_err, _result) => {
1305
- err = _err;
1306
- result = _result;
1307
- });
1308
- method(...args);
1309
- if (err) throw err;
1310
- return result;
1311
- };
1312
- }
1313
- function toSyncOptions(options) {
1314
- options = { ...options };
1315
- options.fs = createSyncFs(options.fs || fs);
1316
- if (typeof options.retries === "number" && options.retries > 0 || options.retries && typeof options.retries.retries === "number" && options.retries.retries > 0) throw Object.assign(/* @__PURE__ */ new Error("Cannot use retries with the sync api"), { code: "ESYNC" });
1317
- return options;
1318
- }
1319
- module.exports = {
1320
- toPromise,
1321
- toSync,
1322
- toSyncOptions
1323
- };
1324
- }));
1325
- //#endregion
1326
- //#region node_modules/.pnpm/proper-lockfile@4.1.2/node_modules/proper-lockfile/index.js
1327
- var require_proper_lockfile = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1328
- const lockfile = require_lockfile();
1329
- const { toPromise, toSync, toSyncOptions } = require_adapter();
1330
- async function lock(file, options) {
1331
- const release = await toPromise(lockfile.lock)(file, options);
1332
- return toPromise(release);
1333
- }
1334
- function lockSync(file, options) {
1335
- const release = toSync(lockfile.lock)(file, toSyncOptions(options));
1336
- return toSync(release);
1337
- }
1338
- function unlock(file, options) {
1339
- return toPromise(lockfile.unlock)(file, options);
1340
- }
1341
- function unlockSync(file, options) {
1342
- return toSync(lockfile.unlock)(file, toSyncOptions(options));
1343
- }
1344
- function check(file, options) {
1345
- return toPromise(lockfile.check)(file, options);
1346
- }
1347
- function checkSync(file, options) {
1348
- return toSync(lockfile.check)(file, toSyncOptions(options));
1349
- }
1350
- module.exports = lock;
1351
- module.exports.lock = lock;
1352
- module.exports.unlock = unlock;
1353
- module.exports.lockSync = lockSync;
1354
- module.exports.unlockSync = unlockSync;
1355
- module.exports.check = check;
1356
- module.exports.checkSync = checkSync;
1357
- }));
1358
- //#endregion
1359
- //#region node_modules/.pnpm/@earendil-works+pi-coding-agent@1.2.0_@aws-sdk+credential-provider-node@3.972.86_@model_cb83c1bd7a7ff5cede8c43e329c5cf76/node_modules/@earendil-works/pi-coding-agent/dist/core/mcp-servers.js
1360
- /**
1361
- * MCP server configuration and the servers extensions register with `pi.registerMcpServer()`.
1362
- *
1363
- * The core only validates and stores registrations. The MCP extension (built in, or another
1364
- * extension that handles `mcp_servers_change`) connects them next to the servers from `mcp.json`.
1365
- */
1366
- /**
1367
- * Regular expression for a tool name pattern where `*` matches any characters, as `toolExposure`,
1368
- * `--tools`, and `--exclude-tools` accept them.
1369
- */
1370
- function toolPatternRegExp(pattern) {
1371
- const source = pattern.split("*").map((part) => part.replace(/[.+?^${}()|[\]\\]/g, "\\$&")).join(".*");
1372
- return new RegExp(`^${source}$`);
1373
- }
1374
- /** Whether a tool name matches any of the entries, each an exact name or a pattern. */
1375
- function createToolNameMatcher(entries) {
1376
- const names = new Set(entries.filter((entry) => !entry.includes("*")));
1377
- const patterns = entries.filter((entry) => entry.includes("*")).map(toolPatternRegExp);
1378
- return (name) => names.has(name) || patterns.some((pattern) => pattern.test(name));
1379
- }
1380
- /** MCP resource tools, which reach every server with resources. */
1381
- const LIST_MCP_RESOURCES_TOOL = "list_mcp_resources";
1382
- const LIST_MCP_RESOURCE_TEMPLATES_TOOL = "list_mcp_resource_templates";
1383
- const READ_MCP_RESOURCE_TOOL = "read_mcp_resource";
1384
- const MCP_RESOURCE_TOOLS = /* @__PURE__ */ new Set([
1385
- LIST_MCP_RESOURCES_TOOL,
1386
- LIST_MCP_RESOURCE_TEMPLATES_TOOL,
1387
- READ_MCP_RESOURCE_TOOL
1388
- ]);
1389
- /** Whether a tool comes from MCP: a server tool (`mcp__<server>__<tool>`) or a resource tool. */
1390
- function isMcpToolName(name) {
1391
- return name.startsWith("mcp__") || MCP_RESOURCE_TOOLS.has(name);
1392
- }
1393
- const MCP_EXPOSURES = [
1394
- "codemode",
1395
- "deferred",
1396
- "direct",
1397
- "hidden"
1398
- ];
1399
- /** Older exposure names, accepted in configs and replaced by their current name when validated. */
1400
- const MCP_EXPOSURE_ALIASES = { "codemode-deferred": "codemode" };
1401
- const LOOPBACK_HOSTS = [
1402
- "localhost",
1403
- "127.0.0.1",
1404
- "[::1]"
1405
- ];
1406
- /** Whether a redirect URI can be served by pi's loopback callback server. */
1407
- function isLoopbackRedirectUri(value) {
1408
- if (!URL.canParse(value)) return false;
1409
- const url = new URL(value);
1410
- return url.protocol === "http:" && LOOPBACK_HOSTS.includes(url.hostname) && url.search === "" && url.hash === "";
1411
- }
1412
- const SERVER_NAME = /^[A-Za-z0-9_-]+$/;
1413
- /** Namespace of a server's tools: `mcp__<server>` with `-` replaced by `_`, like the tool names. */
1414
- function mcpNamespace(server) {
1415
- return `mcp__${server.replace(/-/g, "_")}`;
1416
- }
1417
- function isRecord(value) {
1418
- return typeof value === "object" && value !== null && !Array.isArray(value);
1419
- }
1420
- function isStringRecord(value) {
1421
- return isRecord(value) && Object.values(value).every((entry) => typeof entry === "string");
1422
- }
1423
- function validateOAuth(value) {
1424
- if (value === void 0) return void 0;
1425
- if (!isRecord(value)) return "oauth must be an object";
1426
- if (value.clientId !== void 0 && typeof value.clientId !== "string") return "oauth.clientId must be a string";
1427
- if (value.clientSecret !== void 0 && typeof value.clientSecret !== "string") return "oauth.clientSecret must be a string";
1428
- const port = value.callbackPort;
1429
- if (port !== void 0 && (typeof port !== "number" || !Number.isInteger(port) || port < 1 || port > 65535)) return "oauth.callbackPort must be a port number";
1430
- if (value.callbackUrl !== void 0) {
1431
- if (typeof value.callbackUrl !== "string" || !isLoopbackRedirectUri(value.callbackUrl)) return "oauth.callbackUrl must be an http URI on localhost, 127.0.0.1, or [::1] without query or fragment";
1432
- const urlPort = new URL(value.callbackUrl).port;
1433
- if (urlPort && port !== void 0 && Number(urlPort) !== port) return "oauth.callbackUrl and oauth.callbackPort name different ports";
1434
- }
1435
- if (value.scope !== void 0 && typeof value.scope !== "string") return "oauth.scope must be a string";
1436
- if (value.clientName !== void 0 && (typeof value.clientName !== "string" || !value.clientName.trim())) return "oauth.clientName must be a non-empty string";
1437
- if (value.clientRegistration !== void 0 && value.clientRegistration !== "dcr") {
1438
- if (value.clientRegistration !== "cimd") return "oauth.clientRegistration must be \"dcr\" or \"cimd\"";
1439
- if (value.clientId !== void 0 || value.clientName !== void 0) return "oauth.clientRegistration \"cimd\" cannot be combined with oauth.clientId or oauth.clientName";
1440
- const callback = typeof value.callbackUrl === "string" ? new URL(value.callbackUrl) : void 0;
1441
- if (callback && (callback.hostname === "[::1]" || callback.pathname !== "/callback")) return "oauth.clientRegistration \"cimd\" requires oauth.callbackUrl on localhost or 127.0.0.1 with path /callback";
1442
- }
1443
- const metadataUrl = value.authServerMetadataUrl;
1444
- if (metadataUrl !== void 0) {
1445
- const url = typeof metadataUrl === "string" && URL.canParse(metadataUrl) ? new URL(metadataUrl) : void 0;
1446
- if (!url || !(url.protocol === "https:" || url.protocol === "http:" && LOOPBACK_HOSTS.includes(url.hostname))) return "oauth.authServerMetadataUrl must be an https URL, or http on localhost, 127.0.0.1, or [::1]";
1447
- }
1448
- }
1449
- function isExposure(value) {
1450
- return typeof value === "string" && MCP_EXPOSURES.includes(value);
1451
- }
1452
- /** The exposure an alias stands for; other values are returned unchanged. */
1453
- function resolveExposureAlias(value) {
1454
- return typeof value === "string" ? MCP_EXPOSURE_ALIASES[value] ?? value : value;
1455
- }
1456
- /** A copy of the server entry with exposure aliases replaced by their current names. */
1457
- function resolveExposureAliases(value) {
1458
- const { exposure, toolExposure } = value;
1459
- const resolved = { ...value };
1460
- if (exposure !== void 0) resolved.exposure = resolveExposureAlias(exposure);
1461
- if (isRecord(toolExposure)) resolved.toolExposure = Object.fromEntries(Object.entries(toolExposure).map(([tool, entry]) => [tool, resolveExposureAlias(entry)]));
1462
- return resolved;
1463
- }
1464
- /** Exposure of one tool of a server: its `toolExposure` entry, else the server's `exposure`. */
1465
- function getMcpToolExposure(config, toolName) {
1466
- const overrides = config.toolExposure ?? {};
1467
- const exact = overrides[toolName];
1468
- if (exact !== void 0) return exact;
1469
- for (const [pattern, exposure] of Object.entries(overrides)) if (pattern.includes("*") && toolPatternRegExp(pattern).test(toolName)) return exposure;
1470
- return config.exposure ?? "codemode";
1471
- }
1472
- /**
1473
- * Validate one server entry of the `mcpServers` shape. Returns a copy of the config with exposure
1474
- * aliases resolved, or an error message.
1475
- */
1476
- function validateMcpServerConfig(name, raw) {
1477
- if (!SERVER_NAME.test(name)) return `invalid server name "${name}" (use letters, digits, "_" and "-")`;
1478
- if (!isRecord(raw)) return `server "${name}" must be an object`;
1479
- const value = resolveExposureAliases(raw);
1480
- const { type, exposure, enabled, timeout, toolExposure, description } = value;
1481
- const exposures = MCP_EXPOSURES.map((value) => `"${value}"`).join(", ");
1482
- if (exposure !== void 0 && !isExposure(exposure)) return `server "${name}": exposure must be one of ${exposures}`;
1483
- if (toolExposure !== void 0) {
1484
- if (!isRecord(toolExposure)) return `server "${name}": toolExposure must map tool names to exposures`;
1485
- for (const [tool, value] of Object.entries(toolExposure)) if (!isExposure(value)) return `server "${name}": toolExposure "${tool}" must be one of ${exposures}`;
1486
- }
1487
- if (enabled !== void 0 && typeof enabled !== "boolean") return `server "${name}": enabled must be a boolean`;
1488
- if (description !== void 0 && typeof description !== "string") return `server "${name}": description must be a string`;
1489
- if (timeout !== void 0 && (typeof timeout !== "number" || !(timeout > 0))) return `server "${name}": timeout must be a positive number of seconds`;
1490
- if (type === "sse") return `server "${name}": legacy SSE transport is not supported; use the streamable HTTP URL`;
1491
- if (typeof value.url === "string" && (type === void 0 || type === "http" || type === "streamable-http")) {
1492
- if (!URL.canParse(value.url) || !/^https?:$/.test(new URL(value.url).protocol)) return `server "${name}": url must be an http or https URL`;
1493
- if (value.headers !== void 0 && !isStringRecord(value.headers)) return `server "${name}": headers must map names to strings`;
1494
- const oauthError = validateOAuth(value.oauth);
1495
- if (oauthError) return `server "${name}": ${oauthError}`;
1496
- if (value.auth !== void 0) {
1497
- if (!isRecord(value.auth) || typeof value.auth.provider !== "string" || !value.auth.provider) return `server "${name}": auth.provider must be a provider name`;
1498
- const url = new URL(value.url);
1499
- if (url.protocol !== "https:" && !LOOPBACK_HOSTS.includes(url.hostname)) return `server "${name}": auth requires an https URL, or http on localhost, 127.0.0.1, or [::1]`;
1500
- }
1501
- return value;
1502
- }
1503
- if (typeof value.command === "string" && (type === void 0 || type === "stdio")) {
1504
- if (value.args !== void 0 && !(Array.isArray(value.args) && value.args.every((arg) => typeof arg === "string"))) return `server "${name}": args must be an array of strings`;
1505
- if (value.env !== void 0 && !isStringRecord(value.env)) return `server "${name}": env must map names to strings`;
1506
- if (value.cwd !== void 0 && typeof value.cwd !== "string") return `server "${name}": cwd must be a string`;
1507
- return value;
1508
- }
1509
- return `server "${name}" needs either "command" (stdio) or "url" (streamable HTTP)`;
1510
- }
1511
- /** Servers registered by the extensions of one runtime. */
1512
- var McpServerRegistry = class {
1513
- servers = /* @__PURE__ */ new Map();
1514
- changeListener;
1515
- /** Register or replace a server. The caller checks ownership. */
1516
- register(server) {
1517
- this.servers.set(server.name, server);
1518
- this.changeListener?.();
1519
- }
1520
- /** Remove a server registered by `extensionPath`. Servers of other extensions are left alone. */
1521
- unregister(name, extensionPath) {
1522
- if (this.servers.get(name)?.extensionPath !== extensionPath) return;
1523
- this.servers.delete(name);
1524
- this.changeListener?.();
1525
- }
1526
- get(name) {
1527
- return this.servers.get(name);
1528
- }
1529
- /** Copies of the registered servers, in registration order. */
1530
- list() {
1531
- return [...this.servers.values()].map((server) => ({
1532
- ...server,
1533
- config: structuredClone(server.config)
1534
- }));
1535
- }
1536
- /** Called after every change. The runner sets it when it binds, to emit `mcp_servers_change`. */
1537
- setChangeListener(listener) {
1538
- this.changeListener = listener;
1539
- }
1540
- };
1541
- //#endregion
1542
- //#region node_modules/.pnpm/@earendil-works+pi-coding-agent@1.2.0_@aws-sdk+credential-provider-node@3.972.86_@model_cb83c1bd7a7ff5cede8c43e329c5cf76/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.js
1543
- var import_proper_lockfile = /* @__PURE__ */ __toESM(require_proper_lockfile(), 1);
1544
- /**
1545
- * Resolve configuration values that may be shell commands, environment variables, or literals.
1546
- * Used by auth-storage.ts and model-registry.ts.
1547
- */
1548
- const commandResultCache = /* @__PURE__ */ new Map();
1549
- const ENV_VAR_NAME_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;
1550
- const ENV_VAR_NAME_PREFIX_RE = /^[A-Za-z_][A-Za-z0-9_]*/;
1551
- function appendLiteral(parts, value) {
1552
- if (!value) return;
1553
- const previousPart = parts[parts.length - 1];
1554
- if (previousPart?.type === "literal") {
1555
- previousPart.value += value;
1556
- return;
1557
- }
1558
- parts.push({
1559
- type: "literal",
1560
- value
1561
- });
1562
- }
1563
- function parseConfigValueTemplate(config) {
1564
- const parts = [];
1565
- let index = 0;
1566
- while (index < config.length) {
1567
- const dollarIndex = config.indexOf("$", index);
1568
- if (dollarIndex < 0) {
1569
- appendLiteral(parts, config.slice(index));
1570
- break;
1571
- }
1572
- appendLiteral(parts, config.slice(index, dollarIndex));
1573
- const nextChar = config[dollarIndex + 1];
1574
- if (nextChar === "$" || nextChar === "!") {
1575
- appendLiteral(parts, nextChar);
1576
- index = dollarIndex + 2;
1577
- continue;
1578
- }
1579
- if (nextChar === "{") {
1580
- const endIndex = config.indexOf("}", dollarIndex + 2);
1581
- if (endIndex < 0) {
1582
- appendLiteral(parts, "$");
1583
- index = dollarIndex + 1;
1584
- continue;
1585
- }
1586
- const name = config.slice(dollarIndex + 2, endIndex);
1587
- if (ENV_VAR_NAME_RE.test(name)) parts.push({
1588
- type: "env",
1589
- name
1590
- });
1591
- else appendLiteral(parts, config.slice(dollarIndex, endIndex + 1));
1592
- index = endIndex + 1;
1593
- continue;
1594
- }
1595
- const match = config.slice(dollarIndex + 1).match(ENV_VAR_NAME_PREFIX_RE);
1596
- if (match) {
1597
- parts.push({
1598
- type: "env",
1599
- name: match[0]
1600
- });
1601
- index = dollarIndex + 1 + match[0].length;
1602
- continue;
1603
- }
1604
- appendLiteral(parts, "$");
1605
- index = dollarIndex + 1;
1606
- }
1607
- return parts;
1608
- }
1609
- function parseConfigValueReference(config) {
1610
- if (config.startsWith("!")) return {
1611
- type: "command",
1612
- config
1613
- };
1614
- return {
1615
- type: "template",
1616
- parts: parseConfigValueTemplate(config)
1617
- };
1618
- }
1619
- function resolveEnvConfigValue(name, env) {
1620
- return env?.[name] || process.env[name] || void 0;
1621
- }
1622
- function getTemplateEnvVarNames(parts) {
1623
- const names = [];
1624
- for (const part of parts) {
1625
- if (part.type !== "env" || names.includes(part.name)) continue;
1626
- names.push(part.name);
1627
- }
1628
- return names;
1629
- }
1630
- function resolveTemplate(parts, env) {
1631
- let resolved = "";
1632
- for (const part of parts) {
1633
- if (part.type === "literal") {
1634
- resolved += part.value;
1635
- continue;
1636
- }
1637
- const envValue = resolveEnvConfigValue(part.name, env);
1638
- if (envValue === void 0) return void 0;
1639
- resolved += envValue;
1640
- }
1641
- return resolved;
1642
- }
1643
- function getConfigValueEnvVarNames(config) {
1644
- const reference = parseConfigValueReference(config);
1645
- return reference.type === "template" ? getTemplateEnvVarNames(reference.parts) : [];
1646
- }
1647
- function getMissingConfigValueEnvVarNames(config, env) {
1648
- return getConfigValueEnvVarNames(config).filter((name) => resolveEnvConfigValue(name, env) === void 0);
1649
- }
1650
- function isCommandConfigValue(config) {
1651
- return parseConfigValueReference(config).type === "command";
1652
- }
1653
- function isConfigValueConfigured(config, env) {
1654
- return getMissingConfigValueEnvVarNames(config, env).length === 0;
1655
- }
1656
- /**
1657
- * Resolve a config value (API key, header value, etc.) to an actual value.
1658
- * - If starts with "!", executes the rest as a shell command and uses stdout (cached)
1659
- * - Interpolates "$ENV_VAR" or "${ENV_VAR}" references with the named environment variable
1660
- * - In non-command values, "$$" escapes a literal "$" and "$!" escapes a literal "!"
1661
- * - Otherwise treats the value as a literal
1662
- */
1663
- function resolveConfigValue(config, env) {
1664
- const reference = parseConfigValueReference(config);
1665
- if (reference.type === "command") return executeCommand(reference.config);
1666
- return resolveTemplate(reference.parts, env);
1667
- }
1668
- function executeWithConfiguredShell(command) {
1669
- try {
1670
- const { shell, args, commandTransport } = getShellConfig();
1671
- const commandFromStdin = commandTransport === "stdin";
1672
- const result = spawnSync(shell, commandFromStdin ? args : [...args, command], {
1673
- encoding: "utf-8",
1674
- input: commandFromStdin ? command : void 0,
1675
- timeout: 1e4,
1676
- stdio: [
1677
- commandFromStdin ? "pipe" : "ignore",
1678
- "pipe",
1679
- "ignore"
1680
- ],
1681
- shell: false,
1682
- windowsHide: true
1683
- });
1684
- if (result.error) {
1685
- if (result.error.code === "ENOENT") return {
1686
- executed: false,
1687
- value: void 0
1688
- };
1689
- return {
1690
- executed: true,
1691
- value: void 0
1692
- };
1693
- }
1694
- if (result.status !== 0) return {
1695
- executed: true,
1696
- value: void 0
1697
- };
1698
- return {
1699
- executed: true,
1700
- value: (result.stdout ?? "").trim() || void 0
1701
- };
1702
- } catch {
1703
- return {
1704
- executed: false,
1705
- value: void 0
1706
- };
1707
- }
1708
- }
1709
- function executeWithDefaultShell(command) {
1710
- try {
1711
- return execSync(command, {
1712
- encoding: "utf-8",
1713
- timeout: 1e4,
1714
- stdio: [
1715
- "ignore",
1716
- "pipe",
1717
- "ignore"
1718
- ]
1719
- }).trim() || void 0;
1720
- } catch {
1721
- return;
1722
- }
1723
- }
1724
- function executeCommandUncached(commandConfig) {
1725
- const command = commandConfig.slice(1);
1726
- return process.platform === "win32" ? (() => {
1727
- const configuredResult = executeWithConfiguredShell(command);
1728
- return configuredResult.executed ? configuredResult.value : executeWithDefaultShell(command);
1729
- })() : executeWithDefaultShell(command);
1730
- }
1731
- function executeCommand(commandConfig) {
1732
- if (commandResultCache.has(commandConfig)) return commandResultCache.get(commandConfig);
1733
- const result = executeCommandUncached(commandConfig);
1734
- commandResultCache.set(commandConfig, result);
1735
- return result;
1736
- }
1737
- /**
1738
- * Resolve all header values using the same resolution logic as API keys.
1739
- */
1740
- function resolveConfigValueUncached(config, env) {
1741
- const reference = parseConfigValueReference(config);
1742
- if (reference.type === "command") return executeCommandUncached(reference.config);
1743
- return resolveTemplate(reference.parts, env);
1744
- }
1745
- function resolveConfigValueOrThrow(config, description, env) {
1746
- const resolvedValue = resolveConfigValueUncached(config, env);
1747
- if (resolvedValue !== void 0) return resolvedValue;
1748
- const reference = parseConfigValueReference(config);
1749
- if (reference.type === "command") throw new Error(`Failed to resolve ${description} from shell command: ${reference.config.slice(1)}`);
1750
- if (reference.type === "template") {
1751
- const missingEnvVars = getMissingConfigValueEnvVarNames(config, env);
1752
- if (missingEnvVars.length === 1) throw new Error(`Failed to resolve ${description} from environment variable: ${missingEnvVars[0]}`);
1753
- if (missingEnvVars.length > 1) throw new Error(`Failed to resolve ${description} from environment variables: ${missingEnvVars.join(", ")}`);
1754
- }
1755
- throw new Error(`Failed to resolve ${description}`);
1756
- }
1757
- function resolveHeadersOrThrow(headers, description, env) {
1758
- if (!headers) return void 0;
1759
- const resolved = {};
1760
- for (const [key, value] of Object.entries(headers)) resolved[key] = resolveConfigValueOrThrow(value, `${description} header "${key}"`, env);
1761
- return Object.keys(resolved).length > 0 ? resolved : void 0;
1762
- }
1763
- //#endregion
1764
- //#region node_modules/.pnpm/@earendil-works+pi-coding-agent@1.2.0_@aws-sdk+credential-provider-node@3.972.86_@model_cb83c1bd7a7ff5cede8c43e329c5cf76/node_modules/@earendil-works/pi-coding-agent/dist/utils/abort.js
1765
- function abortReason(signal) {
1766
- if (signal.reason !== void 0) return signal.reason;
1767
- const error = /* @__PURE__ */ new Error("The operation was aborted");
1768
- error.name = "AbortError";
1769
- return error;
1770
- }
1771
- /** Normalize an optional public signal without imposing a deadline. */
1772
- function operationSignal(signal) {
1773
- return signal ?? new AbortController().signal;
1774
- }
1775
- /** Stop waiting on abort while observing the abandoned operation through settlement. */
1776
- function raceWithAbortSignal(operation, signal) {
1777
- if (!signal) return operation;
1778
- if (signal.aborted) {
1779
- operation.catch(() => {});
1780
- return Promise.reject(abortReason(signal));
1781
- }
1782
- return new Promise((resolve, reject) => {
1783
- let settled = false;
1784
- const cleanup = () => signal.removeEventListener("abort", onAbort);
1785
- const onAbort = () => {
1786
- if (settled) return;
1787
- settled = true;
1788
- cleanup();
1789
- reject(abortReason(signal));
1790
- };
1791
- signal.addEventListener("abort", onAbort, { once: true });
1792
- operation.then((value) => {
1793
- if (settled) return;
1794
- settled = true;
1795
- cleanup();
1796
- resolve(value);
1797
- }, (error) => {
1798
- if (settled) return;
1799
- settled = true;
1800
- cleanup();
1801
- reject(error);
1802
- });
1803
- if (signal.aborted) onAbort();
1804
- });
1805
- }
1806
- //#endregion
1807
- //#region node_modules/.pnpm/@earendil-works+pi-coding-agent@1.2.0_@aws-sdk+credential-provider-node@3.972.86_@model_cb83c1bd7a7ff5cede8c43e329c5cf76/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js
1808
- /**
1809
- * CredentialStore implementation backed by auth.json.
1810
- * Provider auth orchestration belongs to ModelRuntime and pi-ai Models.
1811
- */
1812
- const MAX_EPERM_RETRIES = 5;
1813
- function getRetryableLockErrorCode(error) {
1814
- const code = error instanceof Error && "code" in error ? error.code : void 0;
1815
- if (code === "ELOCKED") return code;
1816
- if (code === "EPERM" && process.platform === "win32") return code;
1817
- }
1818
- const AUTH_FILE_WRITE_OPTIONS = {
1819
- encoding: "utf-8",
1820
- mode: 384
1821
- };
1822
- let sharedAuthFileReadState;
1823
- var FileAuthStorageBackend = class {
1824
- authPath;
1825
- constructor(authPath = join(getAgentDir(), "auth.json")) {
1826
- this.authPath = normalizePath(authPath);
1827
- }
1828
- ensureParentDir() {
1829
- const dir = dirname(this.authPath);
1830
- if (!existsSync(dir)) mkdirSync(dir, {
1831
- recursive: true,
1832
- mode: 448
1833
- });
1834
- }
1835
- ensureFileExists() {
1836
- if (!existsSync(this.authPath)) writeFileSync(this.authPath, "{}", AUTH_FILE_WRITE_OPTIONS);
1837
- }
1838
- acquireLockSyncWithRetry(path) {
1839
- const maxAttempts = 10;
1840
- const delayMs = 20;
1841
- for (let attempt = 1;; attempt++) try {
1842
- return import_proper_lockfile.default.lockSync(path, { realpath: false });
1843
- } catch (error) {
1844
- if (!getRetryableLockErrorCode(error) || attempt === maxAttempts) throw error;
1845
- const start = Date.now();
1846
- while (Date.now() - start < delayMs);
1847
- }
1848
- }
1849
- withLock(fn) {
1850
- this.ensureParentDir();
1851
- this.ensureFileExists();
1852
- let release;
1853
- try {
1854
- release = this.acquireLockSyncWithRetry(this.authPath);
1855
- const { result, next } = fn(existsSync(this.authPath) ? readFileSync(this.authPath, "utf-8") : void 0);
1856
- if (next !== void 0) writeFileSync(this.authPath, next, AUTH_FILE_WRITE_OPTIONS);
1857
- return result;
1858
- } finally {
1859
- if (release) release();
1860
- }
1861
- }
1862
- async acquireLockAsync(signal, onCompromised) {
1863
- const staleMs = 3e4;
1864
- const maxDelayMs = 2e3;
1865
- const deadline = Date.now() + staleMs;
1866
- let retry = 0;
1867
- let epermRetries = 0;
1868
- while (true) {
1869
- signal?.throwIfAborted();
1870
- let release;
1871
- try {
1872
- release = await import_proper_lockfile.default.lock(this.authPath, {
1873
- realpath: false,
1874
- retries: 0,
1875
- stale: staleMs,
1876
- onCompromised
1877
- });
1878
- } catch (error) {
1879
- signal?.throwIfAborted();
1880
- const code = getRetryableLockErrorCode(error);
1881
- const remainingMs = deadline - Date.now();
1882
- if (!code || remainingMs <= 0) throw error;
1883
- if (code === "EPERM" && ++epermRetries > MAX_EPERM_RETRIES) throw error;
1884
- const baseDelayMs = Math.min(10 * 2 ** retry, maxDelayMs / 2);
1885
- retry++;
1886
- const delayMs = Math.min(Math.round(baseDelayMs * (1 + Math.random())), remainingMs);
1887
- if (signal) await setTimeout$1(delayMs, void 0, { signal });
1888
- else await setTimeout$1(delayMs);
1889
- continue;
1890
- }
1891
- if (signal?.aborted) {
1892
- await release();
1893
- signal.throwIfAborted();
1894
- }
1895
- return release;
1896
- }
1897
- }
1898
- async withLockAsync(fn, options) {
1899
- options?.signal?.throwIfAborted();
1900
- this.ensureParentDir();
1901
- this.ensureFileExists();
1902
- let release;
1903
- let lockCompromised = false;
1904
- let lockCompromisedError;
1905
- const throwIfCompromised = () => {
1906
- if (lockCompromised) throw lockCompromisedError ?? /* @__PURE__ */ new Error("Auth storage lock was compromised");
1907
- };
1908
- try {
1909
- release = await this.acquireLockAsync(options?.signal, (error) => {
1910
- lockCompromised = true;
1911
- lockCompromisedError = error;
1912
- });
1913
- throwIfCompromised();
1914
- options?.signal?.throwIfAborted();
1915
- const { result, next } = await fn(existsSync(this.authPath) ? readFileSync(this.authPath, "utf-8") : void 0);
1916
- throwIfCompromised();
1917
- options?.signal?.throwIfAborted();
1918
- if (next !== void 0) writeFileSync(this.authPath, next, AUTH_FILE_WRITE_OPTIONS);
1919
- throwIfCompromised();
1920
- return result;
1921
- } finally {
1922
- if (release) try {
1923
- await release();
1924
- } catch {}
1925
- }
1926
- }
1927
- };
1928
- var ReadOnlyAuthStorage = class {
1929
- authPath;
1930
- data;
1931
- constructor(authPath = join(getAgentDir(), "auth.json")) {
1932
- this.authPath = normalizePath(authPath);
1933
- }
1934
- load() {
1935
- if (this.data) return this.data;
1936
- let parsed;
1937
- try {
1938
- parsed = JSON.parse(stripBom(readFileSync(this.authPath, "utf-8")));
1939
- } catch (error) {
1940
- if (error.code === "ENOENT") {
1941
- this.data = {};
1942
- return this.data;
1943
- }
1944
- throw new Error(`Failed to read auth.json: ${error instanceof Error ? error.message : String(error)}`);
1945
- }
1946
- if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) throw new Error("Invalid auth.json: expected an object");
1947
- for (const [providerId, credential] of Object.entries(parsed)) {
1948
- if (typeof credential !== "object" || credential === null || Array.isArray(credential)) throw new Error(`Invalid auth.json credential for provider "${providerId}"`);
1949
- const value = credential;
1950
- if (value.type === "api_key") {
1951
- const validKey = value.key === void 0 || typeof value.key === "string";
1952
- const validEnv = value.env === void 0 || typeof value.env === "object" && value.env !== null && !Array.isArray(value.env) && Object.values(value.env).every((entry) => typeof entry === "string");
1953
- if (validKey && validEnv) continue;
1954
- } else if (value.type === "oauth" && typeof value.access === "string" && typeof value.refresh === "string" && typeof value.expires === "number" && Number.isFinite(value.expires)) continue;
1955
- throw new Error(`Invalid auth.json credential for provider "${providerId}"`);
1956
- }
1957
- this.data = parsed;
1958
- return this.data;
1959
- }
1960
- async read(providerId, options) {
1961
- options?.signal?.throwIfAborted();
1962
- const credential = this.load()[providerId];
1963
- options?.signal?.throwIfAborted();
1964
- if (!credential) return void 0;
1965
- if (credential.type !== "api_key" || !credential.key || isCommandConfigValue(credential.key)) return structuredClone(credential);
1966
- return {
1967
- ...credential,
1968
- key: resolveConfigValue(credential.key, credential.env)
1969
- };
1970
- }
1971
- async list(options) {
1972
- options?.signal?.throwIfAborted();
1973
- const credentials = Object.entries(this.load()).map(([providerId, credential]) => ({
1974
- providerId,
1975
- type: credential.type
1976
- }));
1977
- options?.signal?.throwIfAborted();
1978
- return credentials;
1979
- }
1980
- async modify(_providerId, _fn, _options) {
1981
- throw new Error("Read-only credential storage cannot modify auth.json");
1982
- }
1983
- async delete(_providerId, _options) {
1984
- throw new Error("Read-only credential storage cannot modify auth.json");
1985
- }
1986
- };
1987
- var InMemoryAuthStorageBackend = class {
1988
- value;
1989
- asyncChain = Promise.resolve();
1990
- withLock(fn) {
1991
- const { result, next } = fn(this.value);
1992
- if (next !== void 0) this.value = next;
1993
- return result;
1994
- }
1995
- withLockAsync(fn, options) {
1996
- const previous = this.asyncChain;
1997
- const operation = (async () => {
1998
- await previous.catch(() => {});
1999
- options?.signal?.throwIfAborted();
2000
- const { result, next } = await fn(this.value);
2001
- options?.signal?.throwIfAborted();
2002
- if (next !== void 0) this.value = next;
2003
- return result;
2004
- })();
2005
- this.asyncChain = operation.catch(() => {});
2006
- return raceWithAbortSignal(operation, options?.signal);
2007
- }
2008
- };
2009
- /**
2010
- * Credential storage backed by a JSON file.
2011
- */
2012
- var AuthStorage = class AuthStorage {
2013
- storage;
2014
- authPath;
2015
- readState;
2016
- constructor(storage, authPath) {
2017
- this.storage = storage;
2018
- this.authPath = authPath;
2019
- this.readState = authPath && sharedAuthFileReadState?.authPath === authPath ? sharedAuthFileReadState.readState : { data: {} };
2020
- if (authPath && !sharedAuthFileReadState) sharedAuthFileReadState = {
2021
- authPath,
2022
- readState: this.readState
2023
- };
2024
- if (authPath) {
2025
- const revision = getFileRevision(authPath);
2026
- if (revision !== void 0 && revision === this.readState.revision) return;
2027
- }
2028
- this.reload();
2029
- }
2030
- static create(authPath = join(getAgentDir(), "auth.json")) {
2031
- const normalizedAuthPath = normalizePath(authPath);
2032
- return new AuthStorage(new FileAuthStorageBackend(normalizedAuthPath), normalizedAuthPath);
2033
- }
2034
- static fromStorage(storage) {
2035
- return new AuthStorage(storage);
2036
- }
2037
- static inMemory(data = {}) {
2038
- const storage = new InMemoryAuthStorageBackend();
2039
- storage.withLock(() => ({
2040
- result: void 0,
2041
- next: JSON.stringify(data, null, 2)
2042
- }));
2043
- return AuthStorage.fromStorage(storage);
2044
- }
2045
- parseStorageData(content) {
2046
- if (!content) return {};
2047
- return JSON.parse(stripBom(content));
2048
- }
2049
- updateReadState(data, revision) {
2050
- this.readState.data = data;
2051
- this.readState.revision = revision;
2052
- }
2053
- /**
2054
- * Reload credentials from storage.
2055
- */
2056
- reload() {
2057
- let content;
2058
- let revision;
2059
- try {
2060
- this.storage.withLock((current) => {
2061
- content = current;
2062
- revision = this.authPath ? getFileRevision(this.authPath) : void 0;
2063
- return { result: void 0 };
2064
- });
2065
- this.updateReadState(this.parseStorageData(content), revision);
2066
- } catch {}
2067
- }
2068
- async reloadFromStorageAsync(options) {
2069
- return this.storage.withLockAsync(async (content) => {
2070
- const currentData = this.parseStorageData(content);
2071
- const revision = this.authPath ? getFileRevision(this.authPath) : void 0;
2072
- this.updateReadState(currentData, revision);
2073
- return { result: currentData };
2074
- }, options);
2075
- }
2076
- async readLatestData(options) {
2077
- options?.signal?.throwIfAborted();
2078
- if (!this.authPath) {
2079
- const reload = this.reloadFromStorageAsync(options);
2080
- return options?.signal ? reload : reload.catch(() => this.readState.data);
2081
- }
2082
- const revision = getFileRevision(this.authPath);
2083
- if (revision !== void 0 && revision === this.readState.revision) return this.readState.data;
2084
- if (!this.readState.reload) {
2085
- const controller = new AbortController();
2086
- const reload = {
2087
- controller,
2088
- promise: this.reloadFromStorageAsync({ signal: controller.signal }),
2089
- readers: 0
2090
- };
2091
- this.readState.reload = reload;
2092
- reload.promise.then(() => {
2093
- if (this.readState.reload === reload) this.readState.reload = void 0;
2094
- }, () => {
2095
- if (this.readState.reload === reload) this.readState.reload = void 0;
2096
- });
2097
- }
2098
- const reload = this.readState.reload;
2099
- reload.readers++;
2100
- try {
2101
- const result = raceWithAbortSignal(reload.promise, options?.signal);
2102
- return options?.signal ? await result : await result.catch(() => this.readState.data);
2103
- } finally {
2104
- reload.readers--;
2105
- if (reload.readers === 0 && this.readState.reload === reload) {
2106
- this.readState.reload = void 0;
2107
- reload.controller.abort();
2108
- }
2109
- }
2110
- }
2111
- async read(provider, options) {
2112
- const credential = (await this.readLatestData(options))[provider];
2113
- options?.signal?.throwIfAborted();
2114
- if (credential?.type !== "api_key") return credential;
2115
- if (credential.key === void 0) return credential;
2116
- return {
2117
- ...credential,
2118
- key: resolveConfigValue(credential.key, credential.env)
2119
- };
2120
- }
2121
- async modify(provider, fn, options) {
2122
- let latestData = this.readState.data;
2123
- let revision;
2124
- const result = await this.storage.withLockAsync(async (content) => {
2125
- const currentData = this.parseStorageData(content);
2126
- const next = await fn(currentData[provider]);
2127
- if (next === void 0) {
2128
- latestData = currentData;
2129
- revision = this.authPath ? getFileRevision(this.authPath) : void 0;
2130
- return { result: currentData[provider] };
2131
- }
2132
- const merged = {
2133
- ...currentData,
2134
- [provider]: next
2135
- };
2136
- latestData = merged;
2137
- return {
2138
- result: next,
2139
- next: JSON.stringify(merged, null, 2)
2140
- };
2141
- }, options);
2142
- this.updateReadState(latestData, revision);
2143
- return result;
2144
- }
2145
- async delete(provider, options) {
2146
- let latestData = this.readState.data;
2147
- await this.storage.withLockAsync(async (content) => {
2148
- const currentData = this.parseStorageData(content);
2149
- delete currentData[provider];
2150
- latestData = currentData;
2151
- return {
2152
- result: void 0,
2153
- next: JSON.stringify(currentData, null, 2)
2154
- };
2155
- }, options);
2156
- this.updateReadState(latestData);
2157
- }
2158
- /** List credential metadata without resolving configured key values. */
2159
- async list(options) {
2160
- const entries = Object.entries(await this.readLatestData(options));
2161
- options?.signal?.throwIfAborted();
2162
- return entries.map(([providerId, credential]) => ({
2163
- providerId,
2164
- type: credential.type
2165
- }));
2166
- }
2167
- };
2168
- /**
2169
- * One-off synchronous read of a stored credential from an auth.json file,
2170
- * without instantiating a store or resolving configured key values.
2171
- */
2172
- function readStoredCredential(providerId, authPath = join(getAgentDir(), "auth.json")) {
2173
- try {
2174
- return JSON.parse(stripBom(readFileSync(normalizePath(authPath), "utf-8")))[providerId];
2175
- } catch {
2176
- return;
2177
- }
2178
- }
2179
- //#endregion
2180
- export { getMcpToolExposure as _, operationSignal as a, validateMcpServerConfig as b, isCommandConfigValue as c, resolveHeadersOrThrow as d, LIST_MCP_RESOURCES_TOOL as f, createToolNameMatcher as g, READ_MCP_RESOURCE_TOOL as h, readStoredCredential as i, isConfigValueConfigured as l, McpServerRegistry as m, FileAuthStorageBackend as n, raceWithAbortSignal as o, LIST_MCP_RESOURCE_TEMPLATES_TOOL as p, ReadOnlyAuthStorage as r, getConfigValueEnvVarNames as s, AuthStorage as t, resolveConfigValueOrThrow as u, isMcpToolName as v, require_proper_lockfile as x, mcpNamespace as y };