@harperfast/harper 5.2.12 → 5.2.14

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 (269) hide show
  1. package/components/Application.ts +7 -7
  2. package/components/componentLoader.ts +70 -33
  3. package/dist/components/Application.js +1 -7
  4. package/dist/components/Application.js.map +1 -1
  5. package/dist/components/componentLoader.d.ts +6 -0
  6. package/dist/components/componentLoader.js +60 -31
  7. package/dist/components/componentLoader.js.map +1 -1
  8. package/dist/resources/RocksTransactionLogStore.d.ts +4 -2
  9. package/dist/resources/RocksTransactionLogStore.js +12 -6
  10. package/dist/resources/RocksTransactionLogStore.js.map +1 -1
  11. package/dist/resources/Table.d.ts +2 -2
  12. package/dist/resources/Table.js +222 -65
  13. package/dist/resources/Table.js.map +1 -1
  14. package/dist/resources/replayLogs.js +25 -21
  15. package/dist/resources/replayLogs.js.map +1 -1
  16. package/dist/resources/transactionBroadcast.js +4 -6
  17. package/dist/resources/transactionBroadcast.js.map +1 -1
  18. package/dist/security/certificateVerification/index.js +40 -11
  19. package/dist/security/certificateVerification/index.js.map +1 -1
  20. package/dist/security/certificateVerification/trustedIssuers.d.ts +24 -0
  21. package/dist/security/certificateVerification/trustedIssuers.js +79 -0
  22. package/dist/security/certificateVerification/trustedIssuers.js.map +1 -0
  23. package/dist/security/certificateVerification/types.d.ts +1 -0
  24. package/dist/security/keys.js +4 -0
  25. package/dist/security/keys.js.map +1 -1
  26. package/dist/server/loadRootComponents.js +4 -2
  27. package/dist/server/loadRootComponents.js.map +1 -1
  28. package/dist/server/threads/manageThreads.d.ts +1 -0
  29. package/dist/server/threads/manageThreads.js +175 -24
  30. package/dist/server/threads/manageThreads.js.map +1 -1
  31. package/dist/utility/errors/hdbError.d.ts +8 -0
  32. package/dist/utility/errors/hdbError.js +29 -0
  33. package/dist/utility/errors/hdbError.js.map +1 -1
  34. package/npm-shrinkwrap.json +2 -2
  35. package/package.json +1 -1
  36. package/resources/DESIGN.md +5 -0
  37. package/resources/RocksTransactionLogStore.ts +12 -6
  38. package/resources/Table.ts +216 -66
  39. package/resources/replayLogs.ts +25 -22
  40. package/resources/transactionBroadcast.ts +4 -4
  41. package/security/certificateVerification/index.ts +54 -13
  42. package/security/certificateVerification/trustedIssuers.ts +76 -0
  43. package/security/certificateVerification/types.ts +1 -0
  44. package/security/keys.ts +3 -0
  45. package/server/DESIGN.md +14 -13
  46. package/server/loadRootComponents.js +9 -2
  47. package/server/threads/manageThreads.js +176 -23
  48. package/studio/web/404.html +79 -0
  49. package/studio/web/assets/{Chat-CokJOjyX.js → Chat-C97PMlIn.js} +274 -247
  50. package/studio/web/assets/FloatingChat-BUlsFGMV.js +23 -0
  51. package/studio/web/assets/_basePickBy-QJXUw_pr.js +1 -0
  52. package/studio/web/assets/_baseUniq-DR4vVjyC.js +1 -0
  53. package/studio/web/assets/{abnfDiagram-VCTEODGH-B0BebmD2.js → abnfDiagram-O67JEVCF-DpPZWMOf.js} +1 -1
  54. package/studio/web/assets/{alertDialog-CQyAJJhl.js → alertDialog-UrbiMgQt.js} +1 -1
  55. package/studio/web/assets/{apiToken-B_g12QrM.js → apiToken-CPhbc_zN.js} +1 -1
  56. package/studio/web/assets/applications-D3Z6BVDl.js +296 -0
  57. package/studio/web/assets/architecture-7GRP2DOG-11l4Ny1l.js +1 -0
  58. package/studio/web/assets/architectureDiagram-NJMV4G6O-OmgLraID.js +36 -0
  59. package/studio/web/assets/authStore-5jSS5pTW.js +3 -0
  60. package/studio/web/assets/{blockDiagram-I7D4REHJ-BqguiadH.js → blockDiagram-BEXU5L5S-Cv7CD3Ai.js} +15 -4
  61. package/studio/web/assets/{button-BIsUKRZq.js → button-MFP9n8Ck.js} +1 -1
  62. package/studio/web/assets/c4Diagram-YGBWAQC7-Ds1vKYnN.js +38 -0
  63. package/studio/web/assets/channel-BDtouPd6.js +1 -0
  64. package/studio/web/assets/chevron-up-CFe8x5Bp.js +1 -0
  65. package/studio/web/assets/chunk-3FUC2YCW-DpnBPH8B.js +2 -0
  66. package/studio/web/assets/{chunk-GVQU2GXP-sbwVIQ8i.js → chunk-5DYCD2WN-LLLCQSzg.js} +1 -1
  67. package/studio/web/assets/{chunk-PWAF6VOD-1z1THyS5.js → chunk-742MDFTN-BL8J_pIO.js} +1 -1
  68. package/studio/web/assets/chunk-7INBJB4K-C-hJHiiK.js +62 -0
  69. package/studio/web/assets/chunk-7M6MHVWA-C6ZqkFbA.js +213 -0
  70. package/studio/web/assets/chunk-7PRAP22T-CUXM8BG6.js +1 -0
  71. package/studio/web/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
  72. package/studio/web/assets/{chunk-FOHPRMQF-DHwB1DNv.js → chunk-FOHPRMQF-DzxwRta7.js} +9 -9
  73. package/studio/web/assets/{chunk-SVP7TREG-jtdAHw0S.js → chunk-GTNCS2PH-DJ2BFvS1.js} +1 -1
  74. package/studio/web/assets/{chunk-F27PBJKO-BVA5EPhV.js → chunk-GWA4HPMP-C42bSqLL.js} +1 -1
  75. package/studio/web/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
  76. package/studio/web/assets/chunk-MBY4JIJT-C-5jz6Lo.js +72 -0
  77. package/studio/web/assets/chunk-NETBCI7D-D-bzlN4r.js +1 -0
  78. package/studio/web/assets/chunk-O7XYJQB3-ep14zA23.js +128 -0
  79. package/studio/web/assets/chunk-UA2S7LBM-BMRWRHED.js +1 -0
  80. package/studio/web/assets/{chunk-POPQ4Y6H-ClWhhkwW.js → chunk-WEXAMYUT-DdLYVdX1.js} +1 -1
  81. package/studio/web/assets/{chunk-XXDRQBXY-BoGZu3HH.js → chunk-XXDRQBXY-CbPh2l8S.js} +1 -1
  82. package/studio/web/assets/{chunk-OSK3NFVY-ByciRftO.js → chunk-Z7XXMR3K-BmKEDjcP.js} +3 -3
  83. package/studio/web/assets/{chunk-75Z2AOVW-QGQD6th2.js → chunk-ZIGJFQKS-DLZgdNxA.js} +2 -2
  84. package/studio/web/assets/classDiagram-v2-NBCMYWYE-DOI5vgKT.js +217 -0
  85. package/studio/web/assets/cose-bilkent-JH36ORCC-BSOszL11.js +1 -0
  86. package/studio/web/assets/createLucideIcon-bziYxJli.js +1 -0
  87. package/studio/web/assets/{css.worker-BD9HbRGW.js → css.worker-l1psR_wG.js} +13 -10
  88. package/studio/web/assets/{cssMode-DAjzPoBf.js → cssMode-DyLZPMjo.js} +1 -1
  89. package/studio/web/assets/cynefin-OW5HDTMX-BSW-DB7S.js +1 -0
  90. package/studio/web/assets/cynefinDiagram-VND7K2PF-CbAHEwxt.js +62 -0
  91. package/studio/web/assets/cytoscape.esm-BZkf-uXn.js +321 -0
  92. package/studio/web/assets/dagre-6A5THRUB-Csxewgs4.js +4 -0
  93. package/studio/web/assets/diagram-22UHCM2B-a0rt8tY4.js +200 -0
  94. package/studio/web/assets/{diagram-VX7I27RA-DccVJet6.js → diagram-3UASUU5V-lEj2SVNh.js} +2 -2
  95. package/studio/web/assets/{diagram-VSXAHHWV-fhEdmkwM.js → diagram-ATOU4E4O-HcrAeB-q.js} +3 -3
  96. package/studio/web/assets/{diagram-S7CK7UJ4-aoCVTtcy.js → diagram-CDSNMT55-CYxiuyEx.js} +3 -3
  97. package/studio/web/assets/{diagram-Z3DM3KII-D-RyJJb7.js → diagram-MLGK6HIB-ChbCJTgJ.js} +1 -1
  98. package/studio/web/assets/diagram-MPIPVDR6-DaX9Y-N3.js +41 -0
  99. package/studio/web/assets/dialog-DTepachC.js +1 -0
  100. package/studio/web/assets/{dist-kYfyPZP9.js → dist-BRuBKNNy.js} +1 -1
  101. package/studio/web/assets/{dist-DP8UjMB_.js → dist-Cz2Y6-6G.js} +2 -2
  102. package/studio/web/assets/download-CtostjYn.js +1 -0
  103. package/studio/web/assets/{ebnfDiagram-PWID7BFC-DJGpIpz_.js → ebnfDiagram-ZINNZB2B-CwAsENB1.js} +1 -1
  104. package/studio/web/assets/{editor-VUNQ-5Ye.js → editor-CFQ5kbiT.js} +1 -1
  105. package/studio/web/assets/editor.worker-CkkvdXvO.js +33 -0
  106. package/studio/web/assets/elk-276RUBZZ-Hexg9E4D.js +27 -0
  107. package/studio/web/assets/{erDiagram-RLTQ6QDP-CIfNlgkC.js → erDiagram-OPXOYQCR-CeC-wwO1.js} +15 -15
  108. package/studio/web/assets/eventmodeling-NTZA5JFV-CFb03e0o.js +1 -0
  109. package/studio/web/assets/flowDiagram-KWPJA3E3-Cidi00_Y.js +1 -0
  110. package/studio/web/assets/{ganttDiagram-EL5Y4UJY-BxToTzzD.js → ganttDiagram-FUAMR5RP-C2_Hhl1-.js} +2 -2
  111. package/studio/web/assets/{getAnalytics-GHK8ORfM.js → getAnalytics-CjthMQqF.js} +1 -1
  112. package/studio/web/assets/gitGraph-4MIJSDKK-xIk5Vuew.js +1 -0
  113. package/studio/web/assets/{gitGraphDiagram-WWUBYQGX-Dwntd4-x.js → gitGraphDiagram-X574FWY7-CMxJ34up.js} +4 -4
  114. package/studio/web/assets/graphlib-C9Tl7QrK.js +1 -0
  115. package/studio/web/assets/{html-CFqhtdfa.js → html-DdMBJEGu.js} +1 -1
  116. package/studio/web/assets/{html.worker-DsMmVtuG.js → html.worker-DdwM4IrA.js} +12 -9
  117. package/studio/web/assets/{htmlMode-CpgOTfjz.js → htmlMode-DNtBx3OV.js} +1 -1
  118. package/studio/web/assets/index-CPoDzQTe.css +1 -0
  119. package/studio/web/assets/index-zZCxAIEb.js +824 -0
  120. package/studio/web/assets/index.lazy-CKbsHbSN.js +2 -0
  121. package/studio/web/assets/info-A6RAGUB7-o49TEbj-.js +1 -0
  122. package/studio/web/assets/infoDiagram-VRGFBTTK-Cjhh7yzZ.js +2 -0
  123. package/studio/web/assets/{ishikawaDiagram-5VMMS53U-D9Xh2r6X.js → ishikawaDiagram-OU5B5YK6-C63aXRmh.js} +2 -2
  124. package/studio/web/assets/{javascript-9l5JXJwc.js → javascript-Dy6KbeHT.js} +1 -1
  125. package/studio/web/assets/{journeyDiagram-3NMN7TZE-CokIi6ll.js → journeyDiagram-ZHPQQLJL-D_o0P5Mu.js} +3 -3
  126. package/studio/web/assets/json.worker-CSi2hF-a.js +65 -0
  127. package/studio/web/assets/{jsonMode-BJBH-iR0.js → jsonMode-BiuDVrzl.js} +1 -1
  128. package/studio/web/assets/{kanban-definition-UXKFOSKX-CukSFJfX.js → kanban-definition-PNTS6WVX-CTI9SSxY.js} +7 -7
  129. package/studio/web/assets/{katex-CXMH3UgJ.js → katex-ZlcWpGUi.js} +2 -2
  130. package/studio/web/assets/languageServices-Dk8_6B25.js +1 -0
  131. package/studio/web/assets/linear-Ds1AeO4V.js +1 -0
  132. package/studio/web/assets/{lspLanguageFeatures-sNVDopx3.js → lspLanguageFeatures-DwJKXzQa.js} +2 -2
  133. package/studio/web/assets/{mermaid-parser.core-BlEsOWNO.js → mermaid-parser.core-C2lcH_jP.js} +3 -3
  134. package/studio/web/assets/mermaid.core-BG5bjfIG.js +44 -0
  135. package/studio/web/assets/{mindmap-definition-YA3MSWOX-IprMc_0j.js → mindmap-definition-NLK3R4M7-BK7ho6JD.js} +24 -24
  136. package/studio/web/assets/{notifications-BukjVuVe.js → notifications-DJqAtWxD.js} +1 -1
  137. package/studio/web/assets/{notifications-DvBJIIO0.js → notifications-DsDtb41c.js} +1 -1
  138. package/studio/web/assets/packet-AYTQ26CC-BHPy6KBV.js +1 -0
  139. package/studio/web/assets/{pegDiagram-XKGWAZYB-BNuPDLZY.js → pegDiagram-GJSIUBJH-DzjwG3jO.js} +1 -1
  140. package/studio/web/assets/pie-WAS4IAKB-D0cP-DTU.js +1 -0
  141. package/studio/web/assets/{pieDiagram-E7YTZNPT-DqNb6Ht2.js → pieDiagram-5QR66LMP-C_hOP9Lv.js} +2 -2
  142. package/studio/web/assets/profile-zTGUN51x.js +1 -0
  143. package/studio/web/assets/{quadrantDiagram-AXDQQJYC-BGH9E2YR.js → quadrantDiagram-O4NWA36T-CZW8PbV1.js} +3 -3
  144. package/studio/web/assets/radar-RG4KPBEZ-C8fk0U81.js +1 -0
  145. package/studio/web/assets/railroad-74A4TZTK-B60FWm17.js +1 -0
  146. package/studio/web/assets/railroad-abnf-HS5TGJTU-CLMVZvH0.js +1 -0
  147. package/studio/web/assets/railroad-ebnf-LZEXJU2U--tlwFoVB.js +1 -0
  148. package/studio/web/assets/railroad-peg-WCYAUIDC-Dpuslblm.js +1 -0
  149. package/studio/web/assets/{railroadDiagram-O6MQD6OU-DGTPh2KZ.js → railroadDiagram-XR7U4H2S-DyyNmgbU.js} +1 -1
  150. package/studio/web/assets/regions-SOtABPB9.js +1 -0
  151. package/studio/web/assets/{register-CU-gCfLP.js → register-7JezVakc.js} +39 -39
  152. package/studio/web/assets/{requirementDiagram-BXWQKSXE-BJnO6uLz.js → requirementDiagram-PLB6GJNP-C4H-mLKu.js} +11 -11
  153. package/studio/web/assets/{rolldown-runtime-hePW80VL.js → rolldown-runtime-Dd_uD5pT.js} +1 -1
  154. package/studio/web/assets/sankeyDiagram-IPEJSGJF-DHDyga4c.js +40 -0
  155. package/studio/web/assets/sequenceDiagram-PO4LG4MO-CdNcHXRI.js +169 -0
  156. package/studio/web/assets/setComponentFile-BavlhfY0.js +1 -0
  157. package/studio/web/assets/{setup-DG3Ws0Gg.js → setup-04yVzr2I.js} +2 -2
  158. package/studio/web/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
  159. package/studio/web/assets/{src-CMc7m_Ut.js → src-D0vMJQRr.js} +1 -1
  160. package/studio/web/assets/stateDiagram-v2-GCMORJYK-CpKuXq15.js +291 -0
  161. package/studio/web/assets/status-g_mNYE7j.js +61 -0
  162. package/studio/web/assets/swimlanes-2SLR337P-NRHa2D8I.js +1 -0
  163. package/studio/web/assets/swimlanesDiagram-TC7HE7FX-BBk4t4hO.js +8 -0
  164. package/studio/web/assets/{tabs-BrHu7gJi.js → tabs-CnQ_zenf.js} +1 -1
  165. package/studio/web/assets/{time-Cclkb7kQ.js → time-Ci1v4fvT.js} +1 -1
  166. package/studio/web/assets/timeline-definition-EJHVYXUP-D39Y-xpq.js +120 -0
  167. package/studio/web/assets/toggleHighContrast-i2FjCrzO.js +49 -0
  168. package/studio/web/assets/treeView-Q6P3EWNA-CRWR9OqD.js +1 -0
  169. package/studio/web/assets/treemap-WGGIJYW6-ZfXyJgLO.js +1 -0
  170. package/studio/web/assets/{ts.worker-DpaaFKhy.js → ts.worker-DDMUrpqh.js} +118 -115
  171. package/studio/web/assets/{tsMode-D3T_5QzW.js → tsMode-DGeWfx0W.js} +5 -5
  172. package/studio/web/assets/{typescript-BegjUvtB.js → typescript-62_1FUbs.js} +1 -1
  173. package/studio/web/assets/{useEntityRestURL-BicFpx_N.js → useEntityRestURL-DSVwev9J.js} +1 -1
  174. package/studio/web/assets/useLocalStorage-BYoZF60G.js +1 -0
  175. package/studio/web/assets/usecaseDiagram-POWQR4AR-jf-zIDZ_.js +328 -0
  176. package/studio/web/assets/vendor-core-BdkdbUek.js +63 -0
  177. package/studio/web/assets/vendor-datadog-fCQhBHGk.js +6 -0
  178. package/studio/web/assets/vendor-react-izWchTRL.js +9 -0
  179. package/studio/web/assets/vendor-tanstack-CQ1aRjVa.js +2 -0
  180. package/studio/web/assets/vendor-ui-aE1tHcW7.js +41 -0
  181. package/studio/web/assets/vennDiagram-UO4OBE2U-BKYAZUh_.js +34 -0
  182. package/studio/web/assets/wardley-WFR3VGLG-BO7f36ci.js +1 -0
  183. package/studio/web/assets/{wardleyDiagram-VM6X3IG4-CjrkKWUR.js → wardleyDiagram-VNRHLVJA-Djb0JDQc.js} +3 -3
  184. package/studio/web/assets/{workers-Bmx4l_9B.js → workers-Cs52GyHv.js} +1 -1
  185. package/studio/web/assets/x-vYntCxm4.js +1 -0
  186. package/studio/web/assets/{xml-Bg40Rcra.js → xml-Co5ow_Ix.js} +1 -1
  187. package/studio/web/assets/{xychartDiagram-S5SC5T6Z-Biok4GYV.js → xychartDiagram-PMCCYNJV-BQh9ubvb.js} +3 -3
  188. package/studio/web/assets/{yaml-DolDvfXE.js → yaml-BcngpXye.js} +1 -1
  189. package/studio/web/assets/yaml.worker-DAK2o_H1.js +479 -0
  190. package/studio/web/auth/fabric-globe-dark.png +0 -0
  191. package/studio/web/auth/fabric-globe-light.png +0 -0
  192. package/studio/web/auth/fabric-platform-dark.png +0 -0
  193. package/studio/web/auth/fabric-platform-light.png +0 -0
  194. package/studio/web/index.html +15 -15
  195. package/utility/errors/hdbError.ts +26 -0
  196. package/studio/web/assets/FloatingChat-h9BJo6YG.js +0 -23
  197. package/studio/web/assets/applications-Dlq5kJ2O.js +0 -296
  198. package/studio/web/assets/architecture-7GRP2DOG-LB-MLAAb.js +0 -1
  199. package/studio/web/assets/architectureDiagram-5GKGNRK7-7SW3GD-K.js +0 -36
  200. package/studio/web/assets/authStore-C3Nfubqr.js +0 -3
  201. package/studio/web/assets/c4Diagram-7LVT6UL2-LBNf8t_X.js +0 -38
  202. package/studio/web/assets/channel-yictG-U-.js +0 -1
  203. package/studio/web/assets/chevron-up-DtKGqDn3.js +0 -1
  204. package/studio/web/assets/chunk-4HAMMTFA-DWtTut21.js +0 -62
  205. package/studio/web/assets/chunk-DU6HZSFF-Chq20Ba5.js +0 -127
  206. package/studio/web/assets/chunk-GMAD6QVW-BeS7S07A.js +0 -72
  207. package/studio/web/assets/chunk-IMKFNOWR-Bnh3tAVd.js +0 -231
  208. package/studio/web/assets/chunk-L3NEJ4N5-COfUyKII.js +0 -1
  209. package/studio/web/assets/chunk-P2QGCYS3-CP1VhG_c.js +0 -1
  210. package/studio/web/assets/chunk-SHT3W25Y-LpQkMsah.js +0 -168
  211. package/studio/web/assets/chunk-TICWLB2K-VOwzetX-.js +0 -206
  212. package/studio/web/assets/classDiagram-ZZMXUADV-VaEwSy_g.js +0 -1
  213. package/studio/web/assets/classDiagram-v2-VYDZK3BY-VaEwSy_g.js +0 -1
  214. package/studio/web/assets/cose-bilkent-JH36ORCC-Cuuf67Bh.js +0 -1
  215. package/studio/web/assets/createLucideIcon-CzW9508A.js +0 -1
  216. package/studio/web/assets/cynefin-OW5HDTMX-BbdbCvub.js +0 -1
  217. package/studio/web/assets/cynefinDiagram-5FMLGOSQ-TP-aIqbt.js +0 -62
  218. package/studio/web/assets/cytoscape.esm-C2x7inlt.js +0 -321
  219. package/studio/web/assets/dagre-GXQ25YYZ-DShnGpGo.js +0 -4
  220. package/studio/web/assets/dagre-PrKaheQc.js +0 -1
  221. package/studio/web/assets/diagram-UQ7AKVKN-DglXtQ6x.js +0 -41
  222. package/studio/web/assets/dialog-Cn2uWgD4.js +0 -1
  223. package/studio/web/assets/download-B5T5r7ss.js +0 -1
  224. package/studio/web/assets/editor.worker-DwcOiOeP.js +0 -30
  225. package/studio/web/assets/eventmodeling-NTZA5JFV-CLxnp2CR.js +0 -1
  226. package/studio/web/assets/flowDiagram-HODETNUW-BIbhmz9f.js +0 -1
  227. package/studio/web/assets/gitGraph-4MIJSDKK-D2s2w8lE.js +0 -1
  228. package/studio/web/assets/graphlib-DS17s2tU.js +0 -1
  229. package/studio/web/assets/index-7RMEgVG1.css +0 -1
  230. package/studio/web/assets/index-ZQ1upnh7.js +0 -824
  231. package/studio/web/assets/index.lazy-HDafSRxx.js +0 -2
  232. package/studio/web/assets/info-A6RAGUB7-DYjkvb0C.js +0 -1
  233. package/studio/web/assets/infoDiagram-27XIBGKW-Bnp1FJE5.js +0 -2
  234. package/studio/web/assets/json.worker-fO_hOLCP.js +0 -62
  235. package/studio/web/assets/languageServices-0ZvgO63b.js +0 -1
  236. package/studio/web/assets/linear-Cnt8506Q.js +0 -1
  237. package/studio/web/assets/mermaid.core-BlkGaMIH.js +0 -44
  238. package/studio/web/assets/packet-AYTQ26CC-Bi3V04Zi.js +0 -1
  239. package/studio/web/assets/pie-WAS4IAKB-_6DoDbng.js +0 -1
  240. package/studio/web/assets/profile-B-jyYdzV.js +0 -1
  241. package/studio/web/assets/radar-RG4KPBEZ-DDdVczcL.js +0 -1
  242. package/studio/web/assets/railroad-74A4TZTK-BJUP4Jds.js +0 -1
  243. package/studio/web/assets/railroad-abnf-HS5TGJTU-Bm3L1L0h.js +0 -1
  244. package/studio/web/assets/railroad-ebnf-LZEXJU2U-CKzLGlkw.js +0 -1
  245. package/studio/web/assets/railroad-peg-WCYAUIDC-S8xLjslx.js +0 -1
  246. package/studio/web/assets/regions-GN6Mu5aH.js +0 -1
  247. package/studio/web/assets/sankeyDiagram-P5KCCOFB-0vSOdymH.js +0 -40
  248. package/studio/web/assets/sequenceDiagram-WJ2MYXX4-hETizDWE.js +0 -162
  249. package/studio/web/assets/setComponentFile-D7Fww0lC.js +0 -1
  250. package/studio/web/assets/sizeCapture-INFHLROL-B0uUizjq.js +0 -1
  251. package/studio/web/assets/stateDiagram-D77RDMKH-CdYQ_KtC.js +0 -1
  252. package/studio/web/assets/stateDiagram-v2-MP3YSRHH-CdKuzQMT.js +0 -1
  253. package/studio/web/assets/status-koJd66XF.js +0 -61
  254. package/studio/web/assets/swimlanes-42K2YHIH-B8cHIpU4.js +0 -1
  255. package/studio/web/assets/swimlanesDiagram-VR7AAH4N-DmOSJwaH.js +0 -8
  256. package/studio/web/assets/timeline-definition-24CTP7MA-BJWYSXqF.js +0 -120
  257. package/studio/web/assets/toggleHighContrast-CGksgPgv.js +0 -49
  258. package/studio/web/assets/treeView-Q6P3EWNA-qxe_v6CQ.js +0 -1
  259. package/studio/web/assets/treemap-WGGIJYW6-dDo97XXF.js +0 -1
  260. package/studio/web/assets/useLocalStorage-BqMR3D8_.js +0 -1
  261. package/studio/web/assets/vendor-core-c2JRRJpV.js +0 -58
  262. package/studio/web/assets/vendor-datadog-CLUcJXOo.js +0 -6
  263. package/studio/web/assets/vendor-react-CJV_K1u4.js +0 -9
  264. package/studio/web/assets/vendor-tanstack-DxzraizX.js +0 -1
  265. package/studio/web/assets/vendor-ui-BUjK0h8a.js +0 -41
  266. package/studio/web/assets/vennDiagram-4TSXK5OY-A3i-lCdl.js +0 -34
  267. package/studio/web/assets/wardley-WFR3VGLG-B0ik-_6g.js +0 -1
  268. package/studio/web/assets/x-DIzaLEdK.js +0 -1
  269. package/studio/web/assets/yaml.worker-BDL8_iuk.js +0 -454
@@ -1,2 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,f as n,l as r,n as i,s as a,u as o}from"./authStore-C3Nfubqr.js";import{n as s,t as c}from"./button-BIsUKRZq.js";import{a as l}from"./vendor-datadog-CLUcJXOo.js";import{r as u}from"./vendor-react-CJV_K1u4.js";import{L as d,k as f,x as p,z as m}from"./vendor-tanstack-DxzraizX.js";import{t as h}from"./createLucideIcon-CzW9508A.js";import{n as g}from"./chevron-up-DtKGqDn3.js";import{n as _}from"./setLocalStorage-D_kflv4U.js";import{t as v}from"./useLocalStorage-BqMR3D8_.js";import{$t as y,An as b,Ht as x,Jn as S,Mr as C,Qt as w,Vt as T,br as E,dt as D,en as O,hr as k,kr as A,mt as j,nn as ee,on as te,qn as M,sn as ne,sr as N,tn as re,un as ie,vn as P,wr as F,xn as I,xr as ae,xt as oe}from"./index-ZQ1upnh7.js";import{t as se}from"./useEntityRestURL-BicFpx_N.js";import{i as L,n as R,r as z,t as B}from"./tabs-BrHu7gJi.js";var V=h(`lock-open`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 9.9-1`,key:`1mm8w8`}]]),H=u(),ce={get:`text-blue border-blue/40 bg-blue/10`,post:`text-green border-green/40 bg-green/10`,put:`text-yellow border-yellow/40 bg-yellow/10`,patch:`text-pink border-pink/40 bg-pink/10`,delete:`text-red border-red/40 bg-red/10`,options:`text-muted-foreground border-border bg-muted`,head:`text-muted-foreground border-border bg-muted`,trace:`text-muted-foreground border-border bg-muted`};function U({method:e,className:t}){return(0,H.jsx)(`span`,{className:s(`inline-flex shrink-0 items-center justify-center rounded-md border font-mono text-[0.68rem] font-bold uppercase tracking-wide`,`min-w-14 px-1.5 py-0.5`,ce[e],t),children:e})}var W=e(l(),1),le={login:`Log in`,basic:`Basic`,bearer:`Bearer`,cookie:`Cookie`};function ue({tree:e,totalCount:t,filteredCount:n,isFiltering:r,selectedId:i,onSelect:a,filter:o,onFilterChange:c,method:l,authorized:u,settingsActive:d,onOpenSettings:f}){let[p,m]=(0,W.useState)(new Set),h=e=>m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n});return(0,H.jsxs)(`div`,{className:`flex max-h-[28rem] flex-col gap-3 lg:h-full lg:max-h-none lg:min-h-0`,children:[(0,H.jsxs)(`button`,{type:`button`,onClick:f,"aria-pressed":d,className:s(`flex w-full shrink-0 items-center gap-2 rounded-md border px-2.5 py-2 text-left text-sm transition-colors`,d?`border-primary bg-primary/10 text-foreground`:`border-border hover:bg-accent/60`),children:[u?(0,H.jsx)(F,{className:`text-green size-4 shrink-0`}):(0,H.jsx)(V,{className:`text-muted-foreground size-4 shrink-0`}),(0,H.jsx)(`span`,{className:`flex-1 font-medium`,children:`Authorize`}),(0,H.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:le[l]})]}),(0,H.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,H.jsx)(k,{className:`text-muted-foreground pointer-events-none absolute top-1/2 left-2.5 size-4 -translate-y-1/2`}),(0,H.jsx)(P,{value:o,onChange:e=>c(e.target.value),placeholder:`Filter endpoints…`,className:`pl-8`,"aria-label":`Filter endpoints`})]}),(0,H.jsx)(`div`,{className:`flex-1 overflow-y-auto overscroll-contain min-h-0 pr-1`,children:n===0?(0,H.jsx)(`p`,{className:`text-muted-foreground px-1 py-6 text-center text-sm`,children:t===0?`No endpoints found in this spec.`:`No endpoints match your filter.`}):(0,H.jsx)(`div`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,H.jsx)(de,{resource:e,expanded:r||!p.has(e.resource),onToggle:()=>h(e.resource),selectedId:i,onSelect:a},e.resource))})})]})}function de({resource:e,expanded:t,onToggle:n,selectedId:r,onSelect:i}){let a=(0,W.useMemo)(()=>e.paths.some(e=>e.operations.some(e=>e.id===r)),[e,r]);return(0,H.jsxs)(`div`,{children:[(0,H.jsxs)(`button`,{type:`button`,onClick:n,"aria-expanded":t,className:`text-foreground hover:bg-accent/60 flex w-full items-center gap-1.5 rounded-md px-1.5 py-1.5 text-left`,children:[t?(0,H.jsx)(g,{className:`size-4 shrink-0`}):(0,H.jsx)(C,{className:`size-4 shrink-0`}),(0,H.jsx)(`span`,{className:`flex-1 truncate text-sm font-semibold`,children:e.resource}),(0,H.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.operationCount})]}),t&&(0,H.jsx)(`div`,{className:`border-border/60 ml-3 flex flex-col gap-2 border-l pt-1 pl-2`,children:e.paths.map(e=>(0,H.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,H.jsx)(`span`,{className:s(`truncate px-1 font-mono text-xs`,a?`text-foreground`:`text-muted-foreground`),title:e.path,children:e.path}),(0,H.jsx)(`ul`,{className:`border-border/40 ml-2 flex flex-col gap-0.5 border-l pl-2`,children:e.operations.map(e=>(0,H.jsx)(`li`,{children:(0,H.jsxs)(`button`,{type:`button`,onClick:()=>i(e.id),className:s(`flex w-full items-center gap-2 rounded-md px-2 py-1 text-left transition-colors`,e.id===r?`bg-primary/10 ring-primary/30 ring-1`:`hover:bg-accent/60`),children:[(0,H.jsx)(U,{method:e.method,className:`min-w-14`}),e.operation.summary&&(0,H.jsx)(`span`,{className:`text-muted-foreground min-w-0 flex-1 truncate text-xs`,children:e.operation.summary})]})},e.id))})]},e.path))})]})}function G({code:e,className:t,label:n,maxHeightClassName:r=`max-h-96`}){let i=te();return(0,H.jsxs)(`div`,{className:s(`group bg-muted/60 relative rounded-md border`,t),children:[(0,H.jsx)(c,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":n?`Copy ${n}`:`Copy to clipboard`,className:`absolute top-1.5 right-1.5 z-10 size-7 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100`,onClick:()=>i(e),children:(0,H.jsx)(A,{className:`size-3.5`})}),(0,H.jsx)(`pre`,{className:s(`overflow-auto p-3 text-xs leading-relaxed`,r),children:(0,H.jsx)(`code`,{className:`font-mono`,children:e})})]})}var K=[`get`,`post`,`put`,`patch`,`delete`,`options`,`head`,`trace`],fe=`default`;function q(e){return e.split(`/`).find(Boolean)??`/`}function pe(e,t){let n=e.security??t?.security;return!Array.isArray(n)||n.length===0?!1:n.every(me)}function me(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;for(let t in e)return!0;return!1}function he(e){let t=e?.paths;if(!t)return[];let n=[];for(let[e,r]of Object.entries(t))if(r)for(let t of K){let i=r[t];if(!i)continue;let a=ge(r.parameters,i.parameters);n.push({id:`${t} ${e}`,method:t,path:e,operation:i,tag:i.tags?.[0]??fe,parameters:a,searchText:`${t} ${e} ${i.summary??``} ${i.description??``} ${i.operationId??``}`.toLowerCase()})}return n}function ge(e=[],t=[]){let n=new Map;for(let r of[...e,...t])r?.name&&r?.in&&n.set(`${r.in}:${r.name}`,r);return[...n.values()]}function _e(e){let t=new Map;for(let n of e){let e=q(n.path),r=t.get(e);r||(r=new Map,t.set(e,r));let i=r.get(n.path);i||(i=[],r.set(n.path,i)),i.push(n)}return[...t.entries()].map(([e,t])=>{let n=[...t.entries()].map(([e,t])=>({path:e,operations:t}));return{resource:e,operationCount:n.reduce((e,t)=>e+t.operations.length,0),paths:n}})}function ve(e,t){let n=t.trim().toLowerCase();return!n||e.searchText.includes(n)}function ye(e,t){let n=[],r=new Set,i=(e,t)=>{if(!e)return;let i=e.replace(/\/+$/,``);r.has(i)||(r.add(i),n.push({url:e,label:t}))};i(t??void 0,`Studio`);for(let t of e?.servers??[])i(t?.url,t?.description||`Declared in spec`);return n}var be=`#/components/schemas/`;function J(e,t){if(!e||!t||!t.startsWith(be))return;let n=t.slice(21),r=e.components?.schemas;return r&&Object.hasOwn(r,n)?r[n]:void 0}function xe(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function Se(e){if(!e)return;let t=Object.keys(e).find(e=>e.includes(`json`))??Object.keys(e)[0];return t?e[t]?.schema:void 0}var Ce=1e3;function Y(e,t,n=new Set,r=0,i={remaining:Ce}){if(!t||r>8||i.remaining<=0)return null;let a=t.$ref?J(e,t.$ref):t;if(!a||n.has(a))return{};if(i.remaining--,a.example!==void 0)return a.example;if(a.default!==void 0)return a.default;if(a.const!==void 0)return a.const;if(Array.isArray(a.enum)&&a.enum.length>0)return a.enum[0];let o=new Set(n).add(a),s=a.allOf??a.oneOf??a.anyOf;if(s?.length)return a.allOf?a.allOf.reduce((t,n)=>{let a=Y(e,n,o,r+1,i);return a&&typeof a==`object`&&!Array.isArray(a)?{...t,...a}:t},{}):Y(e,s[0],o,r+1,i);switch(Array.isArray(a.type)?a.type.find(e=>e!==`null`):a.type){case`object`:return we(e,a,o,r+1,i);case`array`:return[Y(e,a.items,o,r+1,i)];case`string`:return Te(a);case`integer`:case`number`:return 0;case`boolean`:return!1;case`null`:return null;default:return a.properties?we(e,a,o,r+1,i):null}}function we(e,t,n,r,i){let a={};for(let[o,s]of Object.entries(t.properties??{})){if(i.remaining<=0)break;a[o]=Y(e,s,n,r,i)}return a}function Te(e){switch(e.format){case`date-time`:case`Date`:return new Date().toISOString();case`date`:return new Date().toISOString().slice(0,10);case`uuid`:return`00000000-0000-0000-0000-000000000000`;default:return``}}function X(e){if(!e)return`any`;if(e.$ref)return xe(e.$ref);if(e.allOf||e.oneOf||e.anyOf){let t=e.allOf??e.oneOf??e.anyOf??[],n=e.allOf?` & `:` | `;return t.map(e=>X(e)).join(n)||`object`}let t=Array.isArray(e.type)?e.type.join(` | `):e.type;return t===`array`?`${X(e.items)}[]`:e.format&&t?`${t} <${e.format}>`:t??(e.properties?`object`:`any`)}function Ee(e,t){let n=[];return{path:e.replace(/\{([^}]+)\}/g,(e,r)=>{let i=t[r];return typeof i!=`string`||i===``?(n.push(r),`{${r}}`):encodeURIComponent(i)}),missing:n}}function De(e){let t=new Map(e.parameters.filter(e=>e.in===`path`).map(e=>[e.name,e]));return[...e.path.matchAll(/\{([^}]+)\}/g)].map(e=>e[1]).map(e=>t.get(e)??{name:e,in:`path`,required:!0,schema:{type:`string`}})}var Oe=6;function ke({spec:e,schema:t,className:n}){return t?(0,H.jsx)(`div`,{className:s(`text-sm`,n),children:(0,H.jsx)(Ae,{spec:e,schema:t,depth:0,seen:new Set})}):(0,H.jsx)(`p`,{className:s(`text-muted-foreground text-sm`,n),children:`No schema provided.`})}function Ae({spec:e,schema:t,depth:n,seen:r,required:i}){let a=t;if(t.$ref){let i=J(e,t.$ref);if(!i)return(0,H.jsx)(Ne,{label:xe(t.$ref),note:`(unresolved reference)`});if(r.has(i)||n>=Oe)return(0,H.jsx)(Ne,{label:X(t),note:`(nested)`});a=i}let o=Array.isArray(a.type)?a.type.find(e=>e!==`null`):a.type;if(o===`object`||a.properties){let i=Object.entries(a.properties??{}),o=new Set(a.required??[]);if(i.length===0)return(0,H.jsxs)(`p`,{className:`text-muted-foreground`,children:[X(t),a.additionalProperties?` (open — any additional properties allowed)`:``]});let s=new Set(r).add(a);return(0,H.jsx)(`ul`,{className:`border-border/70 flex flex-col gap-2 border-l pl-3`,children:i.map(([t,r])=>(0,H.jsxs)(`li`,{children:[(0,H.jsx)(je,{name:t,schema:r,spec:e,required:o.has(t)}),(0,H.jsx)(Me,{spec:e,schema:r,depth:n+1,seen:s})]},t))})}if(o===`array`){let t=new Set(r).add(a);return(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsxs)(`p`,{className:`text-muted-foreground`,children:[`array of `,X(a.items)]}),a.items&&n<Oe&&(0,H.jsx)(Ae,{spec:e,schema:a.items,depth:n+1,seen:t})]})}return(0,H.jsx)(Ne,{label:X(t),required:i,description:a.description,enumValues:a.enum})}function je({name:e,schema:t,spec:n,required:r}){let i=t.$ref?J(n,t.$ref)??t:t;return(0,H.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[(0,H.jsx)(`code`,{className:`text-foreground font-medium`,children:e}),(0,H.jsx)(`span`,{className:`text-muted-foreground font-mono text-xs`,children:X(t)}),r&&(0,H.jsx)(`span`,{className:`text-red text-xs font-medium`,children:`required`}),i.description&&(0,H.jsx)(`span`,{className:`text-muted-foreground w-full text-xs`,children:i.description}),Array.isArray(i.enum)&&i.enum.length>0&&(0,H.jsxs)(`span`,{className:`text-muted-foreground w-full text-xs`,children:[`allowed: `,i.enum.map(e=>JSON.stringify(e)).join(`, `)]})]})}function Me({spec:e,schema:t,depth:n,seen:r}){if(n>=Oe)return null;let i=t.$ref?J(e,t.$ref):t;if(!i||r.has(i))return null;let a=Array.isArray(i.type)?i.type.find(e=>e!==`null`):i.type,o=a===`object`||!!i.properties,s=i.items?.$ref?J(e,i.items.$ref):i.items,c=a===`array`&&!!s&&(s.type===`object`||!!s.properties);if(!o&&!c)return null;let l=c?i.items:i;return(0,H.jsx)(`div`,{className:`mt-1`,children:(0,H.jsx)(Ae,{spec:e,schema:l,depth:n,seen:r})})}function Ne({label:e,required:t,description:n,note:r,enumValues:i}){return(0,H.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[(0,H.jsx)(`span`,{className:`text-muted-foreground font-mono text-xs`,children:e}),r&&(0,H.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:r}),t&&(0,H.jsx)(`span`,{className:`text-red text-xs font-medium`,children:`required`}),n&&(0,H.jsx)(`span`,{className:`text-muted-foreground w-full text-xs`,children:n}),Array.isArray(i)&&i.length>0&&(0,H.jsxs)(`span`,{className:`text-muted-foreground w-full text-xs`,children:[`allowed: `,i.map(e=>JSON.stringify(e)).join(`, `)]})]})}var Pe=`text-muted-foreground border-border bg-muted`;function Fe(e){return!Number.isFinite(e)||e<=0?`text-red border-red/40 bg-red/10`:e<300?`text-green border-green/40 bg-green/10`:e<400?`text-blue border-blue/40 bg-blue/10`:e<500?`text-yellow border-yellow/40 bg-yellow/10`:`text-red border-red/40 bg-red/10`}function Ie({colorClass:e,children:t}){return(0,H.jsx)(`span`,{className:s(`rounded-md border px-2 py-0.5 font-mono text-xs font-bold`,e),children:t})}function Le(e){return e.type===`basic`&&typeof e.username==`string`&&e.username!==``||e.type===`bearer`&&typeof e.token==`string`&&e.token!==``}function Re(e){return e===`post`||e===`put`||e===`patch`}function ze(e,t){return e?`${e.replace(/\/+$/,``)}/${t.replace(/^\/+/,``)}`:t}function Be(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n)}function Ve(e){switch(e.type){case`basic`:return{Authorization:`Basic ${Be(`${e.username}:${e.password}`)}`};case`bearer`:return{Authorization:`Bearer ${e.token}`};default:return{}}}function He(e,t,n,r){let{path:i,missing:a}=Ee(e.path,n.pathParams),o=new URLSearchParams;for(let[e,t]of Object.entries(n.queryParams))t!==``&&o.append(e,t);let s=o.toString(),c=ze(t,i)+(s?`?${s}`:``),l={Accept:`application/json`};for(let[e,t]of Object.entries(n.headerParams))t!==``&&(l[e]=t);Object.assign(l,Ve(r));let u=Re(e.method)&&n.body.trim()!==``;return u&&(l[`Content-Type`]=`application/json`),{method:e.method,url:c,headers:l,body:u?n.body:void 0,missingPathParams:a}}async function Ue(e,t=()=>Date.now()){let n=t();try{let r=await fetch(e.url,{method:e.method.toUpperCase(),headers:e.headers,body:e.body,credentials:`include`}),{text:i,truncated:a}=await Ge(r),o=r.headers.get(`content-type`),s={};return r.headers.forEach((e,t)=>{s[t]=e}),{ok:r.ok,status:r.status,statusText:r.statusText,headers:s,body:Ke(i,o,a),contentType:o,durationMs:Math.round(t()-n)}}catch(e){return{ok:!1,status:0,statusText:``,headers:{},body:``,contentType:null,durationMs:Math.round(t()-n),networkError:e instanceof Error?e.message:String(e)}}}var We=512e3;async function Ge(e,t=We){let n=e.body?.getReader?.();if(!n){let n=await e.text();return n.length>t?{text:n.slice(0,t),truncated:!0}:{text:n,truncated:!1}}let r=new TextDecoder,i=``;try{for(;i.length<t;){let{done:e,value:t}=await n.read();if(e){i+=r.decode();break}i+=r.decode(t,{stream:!0})}}finally{await n.cancel().catch(()=>{})}return i.length>t?{text:i.slice(0,t),truncated:!0}:{text:i,truncated:!1}}function Ke(e,t,n=!1){return n||e.length>512e3?`${e.length>512e3?e.slice(0,We):e}\n\n… response truncated for display (first ${We} characters shown) …`:qe(e,t)}function qe(e,t){if(!e)return``;if(t&&!t.includes(`json`))return e;try{return JSON.stringify(JSON.parse(e),null,` `)}catch{return e}}function Je(e){let t=[],n=Object.entries(e.headers);if(t.push(`const response = await fetch(${JSON.stringify(e.url)}, {`),t.push(`\tmethod: ${JSON.stringify(e.method.toUpperCase())},`),t.push(` credentials: "include",`),n.length){t.push(` headers: {`);for(let[e,r]of n)t.push(`\t\t${JSON.stringify(e)}: ${JSON.stringify(r)},`);t.push(` },`)}if(e.body!==void 0){let n=e.body.replace(/\\/g,`\\\\`).replace(/`/g,"\\`").replace(/\$\{/g,"\\${");t.push(`\tbody: \`${n}\`,`)}return t.push(`});`),t.push(`const data = await response.json();`),t.push(`console.log(data);`),t.join(`
2
- `)}function Ye(e,t){if(!Re(t.method)||!t.operation.requestBody)return``;let n=Se(t.operation.requestBody.content);return n?JSON.stringify(Y(e,n),null,` `):``}function Xe({op:e,spec:t,baseURL:n,auth:r,authRequired:i,authorized:a,onOpenAuthorize:o}){let s=x(),l=De(e),u=e.parameters.filter(e=>e.in===`query`),d=e.parameters.filter(e=>e.in===`header`),[f,p]=(0,W.useState)({}),[m,h]=(0,W.useState)({}),[g,_]=(0,W.useState)({}),[v,y]=(0,W.useState)(()=>Ye(t,e)),[b,S]=(0,W.useState)(null),[C,w]=(0,W.useState)(!1),E={pathParams:f,queryParams:m,headerParams:g,body:v},D=(0,W.useMemo)(()=>He(e,n??``,E,r),[e,n,r,f,m,g,v]),O=Re(e.method)&&!!e.operation.requestBody,k=[...D.missingPathParams,...u.filter(e=>e.required&&!m[e.name]?.trim()).map(e=>e.name),...d.filter(e=>e.required&&!g[e.name]?.trim()).map(e=>e.name),...O&&e.operation.requestBody?.required&&v.trim()===``?[`request body`]:[]],A=!!n&&k.length===0&&!C;async function j(){w(!0),S(null);let e=await Ue(D);S(e),w(!1)}return(0,H.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[i&&!a&&(0,H.jsxs)(`div`,{className:`border-border bg-muted/40 text-muted-foreground flex flex-wrap items-center gap-1.5 rounded-md border px-3 py-2 text-xs`,children:[(0,H.jsx)(`span`,{children:`This endpoint requires authorization.`}),(0,H.jsx)(`button`,{type:`button`,onClick:o,className:`text-foreground font-medium underline underline-offset-2`,children:`Authorize →`})]}),l.length>0&&(0,H.jsx)(Z,{title:`Path parameters`,params:l,values:f,onChange:p}),u.length>0&&(0,H.jsx)(Z,{title:`Query parameters`,params:u,values:m,onChange:h}),d.length>0&&(0,H.jsx)(Z,{title:`Header parameters`,params:d,values:g,onChange:_}),O&&(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(`span`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:`Request body`}),(0,H.jsx)(`div`,{className:`h-56 overflow-hidden rounded-md border`,children:(0,H.jsx)(T,{className:`h-full w-full`,language:`json-worker-free`,theme:s,value:v,onChange:e=>y(e??``),options:{minimap:{enabled:!1},automaticLayout:!0,scrollBeyondLastLine:!1,fontSize:12,lineNumbers:`off`,folding:!1}})})]}),(0,H.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,H.jsxs)(c,{variant:`submit`,onClick:j,disabled:!A,children:[(0,H.jsx)(ae,{}),C?`Sending…`:`Send request`]}),!n&&(0,H.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`The REST API URL couldn't be determined for this instance.`}),n&&k.length>0&&(0,H.jsxs)(`span`,{className:`text-muted-foreground text-xs`,children:[`Fill in: `,k.join(`, `)]})]}),(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(`span`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:`Request`}),(0,H.jsxs)(`div`,{className:`bg-muted/60 flex items-center gap-2 overflow-x-auto rounded-md border px-3 py-2 font-mono text-xs`,children:[(0,H.jsx)(`span`,{className:`uppercase`,children:D.method}),(0,H.jsx)(`span`,{className:`text-muted-foreground`,children:D.url})]})]}),b&&(0,H.jsx)(Ze,{result:b}),(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(`span`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:`Code sample — fetch`}),(0,H.jsx)(G,{code:Je(D),label:`code sample`})]})]})}function Z({title:e,params:t,values:n,onChange:r}){return(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsx)(`span`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:e}),(0,H.jsx)(`div`,{className:`flex flex-col gap-3`,children:t.map(e=>(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsxs)(I,{htmlFor:`param-${e.in}-${e.name}`,className:`flex items-baseline gap-2`,children:[(0,H.jsx)(`code`,{children:e.name}),e.required&&(0,H.jsx)(`span`,{className:`text-red text-xs font-medium`,children:`required`}),e.schema&&(0,H.jsx)(`span`,{className:`text-muted-foreground font-mono text-xs font-normal`,children:Array.isArray(e.schema.type)?e.schema.type.join(` | `):e.schema.type??`string`})]}),(0,H.jsx)(P,{id:`param-${e.in}-${e.name}`,value:n[e.name]??``,placeholder:e.description||e.name,onChange:t=>r({...n,[e.name]:t.target.value})})]},`${e.in}:${e.name}`))})]})}function Ze({result:e}){return(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,H.jsx)(`span`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:`Response`}),(0,H.jsx)(Ie,{colorClass:Fe(e.status),children:e.networkError?`Failed`:`${e.status} ${e.statusText}`.trim()}),(0,H.jsxs)(`span`,{className:`text-muted-foreground text-xs`,children:[e.durationMs,` ms`]})]}),e.networkError?(0,H.jsxs)(`div`,{className:`border-red/40 bg-red/10 text-foreground rounded-md border p-3 text-sm`,children:[(0,H.jsx)(`p`,{className:`text-red font-medium`,children:`The request could not be completed.`}),(0,H.jsx)(`p`,{className:`text-muted-foreground mt-1 text-xs`,children:e.networkError}),(0,H.jsx)(`p`,{className:`text-muted-foreground mt-2 text-xs`,children:`This is usually a CORS or connectivity issue — check that CORS is enabled for this origin (see the banner above) and that the instance is reachable.`})]}):(0,H.jsx)(G,{code:e.body||`(empty response body)`,label:`response body`})]})}function Qe(e){let t=Number(e);return Number.isFinite(t)?Fe(t):Pe}function $e({op:e,spec:t,baseURL:n,auth:r,authorized:i,onOpenAuthorize:a}){let[o]=ne(e.path),s=pe(e.operation,t),l=e.operation.summary,u=e.operation.description;return(0,H.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,H.jsx)(U,{method:e.method}),(0,H.jsx)(`code`,{className:`text-foreground text-base font-medium break-all`,children:e.path}),(0,H.jsx)(c,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Copy path`,className:`size-7`,onClick:o,children:(0,H.jsx)(A,{className:`size-3.5`})}),e.operation.deprecated&&(0,H.jsx)(M,{variant:`warning`,children:`Deprecated`}),s&&(0,H.jsxs)(`button`,{type:`button`,onClick:a,className:`border-border hover:bg-accent/60 inline-flex items-center gap-1 rounded-md border px-2 py-0.5 text-xs transition-colors`,children:[i?(0,H.jsx)(F,{className:`text-green size-3`}):(0,H.jsx)(F,{className:`text-muted-foreground size-3`}),i?`Credential set`:`Auth required — Authorize`]})]}),l&&(0,H.jsx)(`h2`,{className:`text-lg font-medium`,children:l}),u&&u!==l&&(0,H.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:u})]}),(0,H.jsxs)(B,{defaultValue:`docs`,className:`gap-4`,children:[(0,H.jsxs)(z,{children:[(0,H.jsx)(L,{value:`docs`,children:`Documentation`}),(0,H.jsx)(L,{value:`try`,children:`Try it out`})]}),(0,H.jsxs)(R,{value:`docs`,className:`flex flex-col gap-6`,children:[(0,H.jsx)(tt,{parameters:e.parameters}),(0,H.jsx)(nt,{op:e,spec:t}),(0,H.jsx)(rt,{responses:e.operation.responses,spec:t})]}),(0,H.jsx)(R,{value:`try`,children:(0,H.jsx)(Xe,{op:e,spec:t,baseURL:n,auth:r,authRequired:s,authorized:i,onOpenAuthorize:a})})]})]})}function et({children:e}){return(0,H.jsx)(`h3`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:e})}function tt({parameters:e}){return e.length===0?null:(0,H.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,H.jsx)(et,{children:`Parameters`}),(0,H.jsx)(`ul`,{className:`flex flex-col gap-3`,children:e.map(e=>(0,H.jsxs)(`li`,{className:`flex flex-col gap-0.5`,children:[(0,H.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-2`,children:[(0,H.jsx)(`code`,{className:`text-foreground font-medium`,children:e.name}),(0,H.jsx)(M,{variant:`outline`,className:`text-[0.65rem]`,children:e.in}),(0,H.jsx)(`span`,{className:`text-muted-foreground font-mono text-xs`,children:Array.isArray(e.schema?.type)?e.schema?.type.join(` | `):e.schema?.type??`string`}),e.required&&(0,H.jsx)(`span`,{className:`text-red text-xs font-medium`,children:`required`})]}),e.description&&(0,H.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:e.description})]},`${e.in}:${e.name}`))})]})}function nt({op:e,spec:t}){let n=e.operation.requestBody,r=n?Se(n.content):void 0,i=(0,W.useMemo)(()=>r?JSON.stringify(Y(t,r),null,` `):``,[t,r]);return n?(0,H.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,H.jsxs)(et,{children:[`Request body`,n.required?` (required)`:``]}),n.description&&(0,H.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:n.description}),(0,H.jsx)(ke,{spec:t,schema:r}),i&&i!==`{}`&&i!==`null`&&(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Example`}),(0,H.jsx)(G,{code:i,label:`example request body`,maxHeightClassName:`max-h-72`})]})]}):null}function rt({responses:e,spec:t}){let n=Object.entries(e??{});return n.length===0?null:(0,H.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,H.jsx)(et,{children:`Responses`}),(0,H.jsx)(`div`,{className:`flex flex-col gap-4`,children:n.map(([e,n])=>{let r=Se(n.content);return(0,H.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,H.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,H.jsx)(Ie,{colorClass:Qe(e),children:e}),n.description&&(0,H.jsx)(`span`,{className:`text-muted-foreground text-sm`,children:n.description})]}),r&&(0,H.jsx)(`div`,{className:`pl-1`,children:(0,H.jsx)(ke,{spec:t,schema:r})})]},e)})})]})}function it(e){let t=Object.values(e?.components?.securitySchemes??{}),n=!1,r=!1;for(let e of t){let t=typeof e?.scheme==`string`?e.scheme.toLowerCase():void 0;t===`basic`&&(n=!0),(t===`bearer`||e?.type===`oauth2`)&&(r=!0)}return!n&&!r?{basic:!0,bearer:!0}:{basic:n,bearer:r}}function at({spec:e,method:t,auth:n,authorized:r,tab:i,onTabChange:a,onSelectMethod:o,onApplyBasic:s,onApplyBearer:l,onClearAuth:u,login:d,serverOptions:f,activeServer:p,onServerChange:m,onCopyServer:h}){let g=it(e);return(0,H.jsxs)(`div`,{className:`flex max-w-2xl flex-col gap-8`,children:[(0,H.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`h2`,{className:`text-lg font-medium`,children:`Server`}),(0,H.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`The base URL that "Try it out" requests target.`})]}),(0,H.jsx)(ft,{options:f,value:p,onChange:m,onCopy:h})]}),(0,H.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[r?(0,H.jsx)(F,{className:`text-green size-4`}):(0,H.jsx)(V,{className:`text-muted-foreground size-4`}),(0,H.jsx)(`h2`,{className:`text-lg font-medium`,children:`Authorization`})]}),(0,H.jsxs)(B,{value:i,onValueChange:e=>a(e),className:`gap-4`,children:[(0,H.jsxs)(z,{children:[(0,H.jsx)(L,{value:`docs`,children:`Documentation`}),(0,H.jsx)(L,{value:`try`,children:`Try it out`})]}),(0,H.jsx)(R,{value:`docs`,children:(0,H.jsx)(ot,{available:g})}),(0,H.jsxs)(R,{value:`try`,className:`flex flex-col gap-4`,children:[(0,H.jsx)(st,{method:t,available:g,onSelect:o}),r&&(0,H.jsxs)(`div`,{className:`border-green/40 bg-green/10 text-foreground flex flex-wrap items-center gap-2 rounded-md border p-3 text-sm`,children:[(0,H.jsx)(F,{className:`text-green size-4`}),(0,H.jsx)(`span`,{className:`flex-1`,children:`Credential set — "Try it out" requests will send it.`}),(0,H.jsx)(c,{type:`button`,variant:`outline`,size:`sm`,onClick:u,children:`Clear`})]}),t===`login`&&(0,H.jsx)(ct,{login:d,authorized:r},d.revocation),t===`basic`&&(0,H.jsx)(lt,{auth:n,onApply:s}),t===`bearer`&&(0,H.jsx)(ut,{auth:n,onApply:l}),t===`cookie`&&(0,H.jsx)(dt,{})]})]})]})]})}function ot({available:e}){return(0,H.jsxs)(`div`,{className:`text-muted-foreground flex max-w-prose flex-col gap-4 text-sm`,children:[(0,H.jsx)(`p`,{children:`How "Try it out" requests authenticate. Your selection is saved in this browser tab only (session storage) and cleared when the tab closes.`}),(0,H.jsxs)(`dl`,{className:`flex flex-col gap-3`,children:[(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`dt`,{className:`text-foreground font-medium`,children:`Log in (recommended)`}),(0,H.jsxs)(`dd`,{children:[`Exchanges your current Studio session — or a username and password — for a short-lived Bearer token, sent as an `,(0,H.jsx)(`code`,{children:`Authorization`}),` `,`header. This works even when the instance is on a different site than Studio and cookies aren't sent. Only the minted token is stored, never your password.`]})]}),e.basic&&(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`dt`,{className:`text-foreground font-medium`,children:`Basic`}),(0,H.jsxs)(`dd`,{children:[`Sends your username and password as an `,(0,H.jsx)(`code`,{children:`Authorization: Basic`}),` `,`header on every request. The username and password are stored in this browser tab until it closes.`]})]}),e.bearer&&(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`dt`,{className:`text-foreground font-medium`,children:`Bearer token`}),(0,H.jsxs)(`dd`,{children:[`Paste an existing operation token; it's sent as an `,(0,H.jsx)(`code`,{children:`Authorization: Bearer`}),` header.`]})]}),(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`dt`,{className:`text-foreground font-medium`,children:`Cookie`}),(0,H.jsxs)(`dd`,{children:[`Relies on your browser's instance session cookie (`,(0,H.jsx)(`code`,{children:`credentials: "include"`}),`). Whether the cookie is sent depends on how the instance is deployed relative to Studio (same site, cookie attributes, HTTPS), so it often won't work in a deployed environment — prefer Log in there.`]})]})]})]})}function st({method:e,available:t,onSelect:n}){return(0,H.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,H.jsx)(Q,{active:e===`login`,onClick:()=>n(`login`),children:`Log in`}),t.basic&&(0,H.jsx)(Q,{active:e===`basic`,onClick:()=>n(`basic`),children:`Basic`}),t.bearer&&(0,H.jsx)(Q,{active:e===`bearer`,onClick:()=>n(`bearer`),children:`Bearer token`}),(0,H.jsx)(Q,{active:e===`cookie`,onClick:()=>n(`cookie`),children:`Cookie`})]})}function ct({login:e,authorized:t}){let[n,r]=(0,W.useState)(``),[i,a]=(0,W.useState)(``),o=e.status===`pending`,s=(0,W.useRef)(0),l=e=>{let t=s.current;e().then(e=>{e===`applied`&&s.current===t&&(r(``),a(``))})};return(0,H.jsxs)(`div`,{className:`flex max-w-sm flex-col gap-4`,children:[(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(c,{type:`button`,variant:`submit`,disabled:o,onClick:()=>l(e.runSession),children:o?`Authorizing…`:`Authorize with your current session`}),(0,H.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Mints a token as the user you're signed in to Studio as — no credentials to retype.`})]}),e.runCredentials&&(0,H.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:t=>{t.preventDefault();let r=e.runCredentials;r&&l(()=>r({username:n,password:i}))},children:[(0,H.jsx)(`span`,{className:`text-muted-foreground text-xs font-semibold uppercase tracking-wide`,children:`Or use different credentials`}),(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(I,{htmlFor:`api-login-username`,children:`Username`}),(0,H.jsx)(P,{id:`api-login-username`,value:n,autoComplete:`username`,onChange:e=>{s.current++,r(e.target.value)}})]}),(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(I,{htmlFor:`api-login-password`,children:`Password`}),(0,H.jsx)(P,{id:`api-login-password`,type:`password`,value:i,autoComplete:`current-password`,onChange:e=>{s.current++,a(e.target.value)}})]}),(0,H.jsx)(c,{type:`submit`,variant:`outline`,disabled:o||!n||!i,children:o?`Authorizing…`:`Authorize`})]}),e.status===`error`&&e.error&&(0,H.jsx)(`p`,{className:`text-red text-sm`,children:e.error}),!t&&e.status===`idle`&&(0,H.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`Not signed in — authenticated requests will be rejected.`})]})}function lt({auth:e,onApply:t}){let[n,r]=(0,W.useState)(e.type===`basic`?e.username:``),[i,a]=(0,W.useState)(e.type===`basic`?e.password:``);return(0,W.useEffect)(()=>{r(e.type===`basic`?e.username:``),a(e.type===`basic`?e.password:``)},[e]),(0,H.jsxs)(`form`,{className:`flex max-w-sm flex-col gap-3`,onSubmit:e=>{e.preventDefault(),t(n,i)},children:[(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(I,{htmlFor:`api-auth-username`,children:`Username`}),(0,H.jsx)(P,{id:`api-auth-username`,value:n,autoComplete:`username`,onChange:e=>r(e.target.value)})]}),(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(I,{htmlFor:`api-auth-password`,children:`Password`}),(0,H.jsx)(P,{id:`api-auth-password`,type:`password`,value:i,autoComplete:`current-password`,onChange:e=>a(e.target.value)})]}),(0,H.jsx)(c,{type:`submit`,variant:`outline`,disabled:!n,children:`Authorize`})]})}function ut({auth:e,onApply:t}){let[n,r]=(0,W.useState)(e.type===`bearer`?e.token:``);return(0,W.useEffect)(()=>{r(e.type===`bearer`?e.token:``)},[e]),(0,H.jsxs)(`form`,{className:`flex max-w-sm flex-col gap-1.5`,onSubmit:e=>{e.preventDefault(),t(n)},children:[(0,H.jsx)(I,{htmlFor:`api-auth-token`,children:`Token`}),(0,H.jsx)(P,{id:`api-auth-token`,value:n,placeholder:`eyJhbGciOi…`,onChange:e=>r(e.target.value)}),(0,H.jsx)(c,{type:`submit`,variant:`outline`,className:`mt-2`,disabled:!n,children:`Authorize`})]})}function dt(){return(0,H.jsxs)(`p`,{className:`text-muted-foreground max-w-prose text-sm`,children:[`Requests are sent with your browser's instance session cookie (`,(0,H.jsx)(`code`,{children:`credentials: "include"`}),`). Whether it's sent depends on how the instance is deployed relative to Studio, so it often won't work in a deployed environment — use Log in if requests come back unauthorized.`]})}function ft({options:e,value:t,onChange:n,onCopy:r}){return e.length===0?(0,H.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`No server URL could be determined for this instance.`}):e.length===1?(0,H.jsxs)(`div`,{className:`flex items-center gap-1 text-sm`,children:[(0,H.jsx)(`span`,{className:`font-mono break-all`,children:e[0].url}),(0,H.jsx)(c,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Copy server URL`,className:`size-6`,onClick:r,children:(0,H.jsx)(A,{className:`size-3`})})]}):(0,H.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,H.jsxs)(w,{value:t,onValueChange:n,children:[(0,H.jsx)(re,{className:`max-w-md min-w-0 flex-1`,"aria-label":`Server`,children:(0,H.jsx)(ee,{})}),(0,H.jsx)(y,{children:e.map(e=>(0,H.jsxs)(O,{value:e.url,children:[(0,H.jsx)(`span`,{className:`font-mono text-xs`,children:e.url}),(0,H.jsxs)(`span`,{className:`text-muted-foreground text-xs`,children:[`— `,e.label]})]},e.url))})]}),(0,H.jsx)(c,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Copy server URL`,className:`size-6`,onClick:r,children:(0,H.jsx)(A,{className:`size-3`})})]})}function Q({active:e,onClick:t,children:n}){return(0,H.jsx)(`button`,{type:`button`,onClick:t,className:s(`rounded-md border px-3 py-1.5 text-sm transition-colors`,e?`border-primary bg-primary/10 text-foreground`:`border-border text-muted-foreground hover:bg-accent/60`),children:n})}var pt=10;function mt(e){return Math.max(240,Math.floor(e/2))}function $(e,t){return Math.round(Math.min(Math.max(Number.isFinite(e)?e:320,240),mt(t)))}function ht(){let[e,t]=v(_.ApiExplorerSidebarWidth,320),[n,r]=(0,W.useState)(!1),[i,a]=(0,W.useState)(()=>$(e,window.innerWidth)),o=(0,W.useRef)(i);o.current=i;let s=(0,W.useRef)(null);(0,W.useEffect)(()=>{n||a($(e,window.innerWidth))},[e,n]),(0,W.useEffect)(()=>{let t=()=>{n||a($(e,window.innerWidth))};return window.addEventListener(`resize`,t),()=>window.removeEventListener(`resize`,t)},[e,n]);let c=(0,W.useCallback)(e=>{e.preventDefault(),s.current={startX:e.clientX,startWidth:o.current},r(!0)},[]);return(0,W.useEffect)(()=>{if(!n)return;let e=e=>{let t=s.current;t&&a($(t.startWidth+(e.clientX-t.startX),window.innerWidth))},i=()=>{r(!1),t(o.current)},c=document.body.style.userSelect;return document.body.style.userSelect=`none`,window.addEventListener(`mousemove`,e),window.addEventListener(`mouseup`,i),()=>{document.body.style.userSelect=c,window.removeEventListener(`mousemove`,e),window.removeEventListener(`mouseup`,i)}},[n,t]),{width:i,isResizing:n,startResizing:c,handleKeyDown:(0,W.useCallback)(e=>{e.key===`ArrowLeft`?(e.preventDefault(),t(e=>$(e-pt,window.innerWidth))):e.key===`ArrowRight`&&(e.preventDefault(),t(e=>$(e+pt,window.innerWidth)))},[t])}}var gt={type:`cookie`};function _t({spec:e,baseURL:t,entityId:r,onSessionMint:a,onCredentialMint:c}){let l=(0,W.useMemo)(()=>he(e),[e]),u=(0,W.useMemo)(()=>ye(e,t),[e,t]),[d,f]=(0,W.useState)(``),[p,m]=(0,W.useState)(`operation`),[h,g]=(0,W.useState)(`docs`),[_,v]=(0,W.useState)(()=>l[0]?.id),y=e=>{g(e),m(`settings`)},[b,x]=(0,W.useState)(()=>o(r)),S=e=>{n(r,e),x(t=>({...t,...e}))},C=b.method??`login`,w=b.auth??{type:`cookie`},T=u.find(e=>e.url===b.server)?.url??u[0]?.url??t,E=(0,W.useRef)(0),D=(0,W.useRef)(!0);(0,W.useEffect)(()=>(D.current=!0,()=>{D.current=!1,E.current++}),[]);let[O,k]=(0,W.useState)(`idle`),[A,j]=(0,W.useState)(null),[ee,te]=(0,W.useState)(0),[N,re]=(0,W.useState)(()=>i.getExplorerAuthEpoch(r));(0,W.useEffect)(()=>{let e=i.onExplorerAuthInvalidated(r,()=>{E.current++,x(o(r)),k(`idle`),j(null),re(i.getExplorerAuthEpoch(r)),te(e=>e+1)});return re(i.getExplorerAuthEpoch(r)),e},[r]);let ie=async e=>{let n=++E.current,a=i.getExplorerAuthEpoch(r);k(`pending`),j(null);try{let o=await e();return!D.current||n!==E.current?`discarded`:i.getExplorerAuthEpoch(r)===a?typeof o!=`string`||o===``?(j(`The instance did not return a usable token.`),k(`error`),`failed`):(S({method:`login`,auth:{type:`bearer`,token:o},authServer:t??void 0,authGeneration:i.getExplorerAuthEpoch(r)}),k(`idle`),`applied`):(k(`idle`),`discarded`)}catch(e){return!D.current||n!==E.current?`discarded`:(j(e instanceof Error?e.message:`Log in failed.`),k(`error`),`failed`)}},P={status:O,error:A,revocation:ee,runSession:()=>ie(a),runCredentials:c?e=>ie(()=>c(e)):null},F=e=>{E.current++,e===`cookie`?S({method:`cookie`,auth:{type:`cookie`},authServer:void 0}):e===`basic`?S({method:`basic`,auth:w.type===`basic`?w:{type:`basic`,username:``,password:``}}):e===`bearer`?S({method:`bearer`,auth:w.type===`bearer`?w:{type:`bearer`,token:``}}):C===`login`&&w.type===`bearer`?S({method:`login`}):S({method:`login`,auth:{type:`cookie`},authServer:void 0}),k(`idle`),j(null)},I=(e,t)=>{E.current++,S({method:`basic`,auth:{type:`basic`,username:e,password:t},authServer:T??void 0,authGeneration:i.getExplorerAuthEpoch(r)})},ae=e=>{E.current++,S({method:`bearer`,auth:{type:`bearer`,token:e},authServer:T??void 0,authGeneration:i.getExplorerAuthEpoch(r)})},oe=()=>{E.current++,k(`idle`),j(null),S({auth:C===`basic`?{type:`basic`,username:``,password:``}:C===`bearer`?{type:`bearer`,token:``}:{type:`cookie`},authServer:void 0})},se=e=>S({server:e}),[L]=ne(T??``),R=b.authServer!=null&&b.authServer===T,z=b.authGeneration===N,B=Le(w)&&R&&z?w:gt,V=Le(B),{width:ce,isResizing:U,startResizing:le,handleKeyDown:de}=ht(),G={"--api-sidebar-width":`${ce}px`},K=(0,W.useMemo)(()=>l.filter(e=>ve(e,d)),[l,d]),fe=(0,W.useMemo)(()=>_e(K),[K]),q=l.find(e=>e.id===_)??l[0];function pe(e){v(e),m(`operation`)}return(0,H.jsxs)(`div`,{className:`flex flex-col gap-5 lg:min-h-0 lg:flex-1`,children:[(0,H.jsxs)(`header`,{className:`flex min-w-0 flex-col lg:shrink-0`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(`h1`,{className:`font-radioGrotesk truncate text-2xl`,children:e?.info?.title??`API Explorer`}),e?.info?.version&&(0,H.jsxs)(M,{variant:`secondary`,children:[`v`,e.info.version]})]}),e?.info?.description&&(0,H.jsx)(`p`,{className:`text-muted-foreground mt-1 text-sm`,children:e.info.description})]}),l.length===0?(0,H.jsx)(`div`,{className:`border-border text-muted-foreground rounded-md border border-dashed p-8 text-center text-sm`,children:`This spec doesn't define any endpoints yet.`}):(0,H.jsxs)(`div`,{className:`flex flex-col gap-6 lg:min-h-0 lg:flex-1 lg:flex-row lg:items-stretch`,children:[(0,H.jsxs)(`aside`,{style:G,className:`relative w-full shrink-0 overflow-y-clip lg:h-full lg:min-h-0 lg:w-[var(--api-sidebar-width)]`,children:[(0,H.jsx)(ue,{tree:fe,totalCount:l.length,filteredCount:K.length,isFiltering:d.trim()!==``,selectedId:p===`operation`?q?.id:void 0,onSelect:pe,filter:d,onFilterChange:f,method:C,authorized:V,settingsActive:p===`settings`,onOpenSettings:()=>y(`docs`)}),(0,H.jsx)(`div`,{role:`separator`,tabIndex:0,"aria-orientation":`vertical`,"aria-label":`Resize sidebar`,"aria-valuenow":ce,"aria-valuemin":240,"aria-valuemax":mt(window.innerWidth),onMouseDown:le,onKeyDown:de,className:`group absolute top-0 right-0 bottom-0 z-40 hidden w-4 translate-x-1/2 cursor-col-resize outline-none lg:block`,children:(0,H.jsx)(`div`,{className:s(`absolute inset-y-0 left-1/2 w-1 -translate-x-1/2 transition-colors`,`group-hover:bg-violet-400/60 dark:group-hover:bg-violet-500/60 group-focus-visible:bg-violet-500/80`,U&&`bg-violet-400/60 dark:bg-violet-500/60`)})})]}),(0,H.jsx)(`main`,{className:`min-w-0 flex-1 lg:min-h-0 lg:overflow-y-auto lg:overscroll-contain lg:pb-6`,children:p===`settings`?(0,H.jsx)(at,{spec:e,method:C,auth:w,authorized:V,tab:h,onTabChange:g,onSelectMethod:F,onApplyBasic:I,onApplyBearer:ae,onClearAuth:oe,login:P,serverOptions:u,activeServer:T??void 0,onServerChange:se,onCopyServer:L}):q?(0,H.jsx)($e,{op:q,spec:e,baseURL:T??null,auth:B,authorized:V,onOpenAuthorize:()=>y(`try`)},q.id):(0,H.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`Select an endpoint to see its documentation.`})})]})]})}function vt({entityId:e,instanceClient:t}){return d({queryKey:[`OpenAPI`,e],queryFn:async()=>{let{data:e}=await t.get(`/api/openapi/rest`);return e}})}function yt(){let{instanceId:e,clusterId:n}=f({strict:!1}),i=b(),{data:o,isLoading:s}=m(D(i)),{data:l,isLoading:u}=m(oe(i)),d=se(),{data:p,isLoading:h,error:g}=m(vt(i)),_=i.instanceClient.defaults.baseURL,v=(0,W.useCallback)(async()=>(await a({instanceClient:i.instanceClient})).operationToken,[i.instanceClient]),y=(0,W.useMemo)(()=>r(_)?e=>t({operationsUrl:_,...e}):null,[_]),x=o?.http,C=``,w=x?.cors===!1,T=x?.corsAccessList?.length!==void 0&&!x.corsAccessList.includes(`*`)&&!x.corsAccessList.includes(`null`)&&!x.corsAccessList.includes(window.location.origin);w?C=`This ${n&&!e?`cluster`:`instance`} has CORS disabled currently, so you won't be able to execute API requests from the browser.`:T&&(C=`This ${n&&!e?`cluster`:`instance`} has CORS enabled, but ${window.location.origin} is not allowed, so you won't be able to execute API requests from the browser.`);let{onConfigUpdate:O,isPending:k}=j(),A=(0,W.useCallback)(()=>{O({...w?{http_cors:!0}:{},...T?{http_corsAccessList:[...x?.corsAccessList??[],window.location.origin]}:{}})},[w,x?.corsAccessList,T,O]);if(s||u||h)return(0,H.jsx)(S,{centered:!0,text:`Looking up your instance configuration, one moment.`});if(g){let e;return e=l?.version&&!ie(`4.7.0-beta.7`,l?.version)?`API Docs are only available starting in version '4.7.0-beta.7' of Harper, please update your version ${l.version}!`:`We weren't able to look up your docs. Please check the Network tab of your developer tools to see why the docs were not accessible to Studio.`,(0,H.jsx)(N,{title:`API Docs Unavailable`,error:{message:e},showReturnToHome:!1})}return(0,H.jsxs)(`div`,{className:`flex flex-col px-4 pt-6 pb-12 md:px-8 lg:h-[calc(100vh-(--spacing(32)))] lg:pb-0`,children:[C&&(0,H.jsx)(N,{title:`CORS Disabled: HTTP API Not Accessible`,className:`mt-0 mb-6 shrink-0 border-yellow text-yellow`,error:{message:C},showReturnToHome:!1,children:(0,H.jsxs)(c,{type:`button`,disabled:k,variant:`warning`,onClick:A,children:[(0,H.jsx)(E,{}),k?`Enabling CORS...`:`Enable CORS for ${window.location.origin}`]})}),(0,H.jsx)(_t,{spec:p,baseURL:d,entityId:i.entityId,onSessionMint:v,onCredentialMint:y},i.entityId)]})}var bt=p(`/apis`)({component:yt});export{bt as route};
@@ -1 +0,0 @@
1
- import"./chunk-FOHPRMQF-DHwB1DNv.js";import{w as e}from"./mermaid-parser.core-BlEsOWNO.js";export{e as createInfoServices};
@@ -1,2 +0,0 @@
1
- import{n as e}from"./mermaid-parser.core-BlEsOWNO.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{n}from"./src-CMc7m_Ut.js";import{c as r}from"./chunk-DU6HZSFF-Chq20Ba5.js";import{f as i}from"./mermaid.core-BlkGaMIH.js";var a={parse:t(async t=>{let r=await e(`info`,t);n.debug(r)},`parse`)},o={version:`11.17.2`},s={parser:a,db:{getVersion:t(()=>o.version,`getVersion`)},renderer:{draw:t((e,t,a)=>{n.debug(`rendering info diagram
2
- `+e);let o=i(t);r(o,100,400,!0),o.append(`g`).append(`text`).attr(`x`,100).attr(`y`,40).attr(`class`,`version`).attr(`font-size`,32).style(`text-anchor`,`middle`).text(`v${a}`)},`draw`)}};export{s as diagram};