@scalar/api-client 2.38.4 → 2.39.1

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 (1912) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
  3. package/dist/assets/computer.ascii.virtual.js +6 -0
  4. package/dist/assets/computer.ascii.virtual.js.map +1 -0
  5. package/dist/assets/keycap.ascii.virtual.js +6 -0
  6. package/dist/assets/keycap.ascii.virtual.js.map +1 -0
  7. package/dist/assets/rabbit.ascii.virtual.js +6 -0
  8. package/dist/assets/rabbit.ascii.virtual.js.map +1 -0
  9. package/dist/assets/rabbitjump.ascii.virtual.js +6 -0
  10. package/dist/assets/rabbitjump.ascii.virtual.js.map +1 -0
  11. package/dist/components/AddressBar/AddressBar.vue.d.ts +1 -1
  12. package/dist/components/AddressBar/AddressBar.vue.js +9 -0
  13. package/dist/components/AddressBar/AddressBar.vue.js.map +1 -0
  14. package/dist/components/AddressBar/AddressBar.vue.script.js +204 -0
  15. package/dist/components/AddressBar/AddressBar.vue.script.js.map +1 -0
  16. package/dist/components/AddressBar/AddressBarHistory.vue.js +9 -0
  17. package/dist/components/AddressBar/AddressBarHistory.vue.js.map +1 -0
  18. package/dist/components/AddressBar/AddressBarHistory.vue.script.js +85 -0
  19. package/dist/components/AddressBar/AddressBarHistory.vue.script.js.map +1 -0
  20. package/dist/components/AddressBar/httpStatusCodeColors.js +20 -0
  21. package/dist/components/AddressBar/httpStatusCodeColors.js.map +1 -0
  22. package/dist/components/AddressBar/index.d.ts +1 -1
  23. package/dist/components/AddressBar/index.js +1 -4
  24. package/dist/components/CodeInput/CodeInput.vue.d.ts +1 -1
  25. package/dist/components/CodeInput/CodeInput.vue.js +10 -0
  26. package/dist/components/CodeInput/CodeInput.vue.js.map +1 -0
  27. package/dist/components/CodeInput/CodeInput.vue.script.js +294 -0
  28. package/dist/components/CodeInput/CodeInput.vue.script.js.map +1 -0
  29. package/dist/components/CodeInput/codeVariableWidget.d.ts +1 -1
  30. package/dist/components/CodeInput/codeVariableWidget.js +135 -0
  31. package/dist/components/CodeInput/codeVariableWidget.js.map +1 -0
  32. package/dist/components/CodeInput/index.d.ts +1 -1
  33. package/dist/components/CodeInput/index.js +1 -1
  34. package/dist/components/CommandPalette/CommandActionForm.vue.js +7 -0
  35. package/dist/components/CommandPalette/CommandActionForm.vue.js.map +1 -0
  36. package/dist/components/CommandPalette/CommandActionForm.vue.script.js +42 -0
  37. package/dist/components/CommandPalette/CommandActionForm.vue.script.js.map +1 -0
  38. package/dist/components/CommandPalette/CommandActionInput.vue.js +7 -0
  39. package/dist/components/CommandPalette/CommandActionInput.vue.js.map +1 -0
  40. package/dist/components/CommandPalette/CommandActionInput.vue.script.js +55 -0
  41. package/dist/components/CommandPalette/CommandActionInput.vue.script.js.map +1 -0
  42. package/dist/components/CommandPalette/CommandPaletteCollection.vue.js +7 -0
  43. package/dist/components/CommandPalette/CommandPaletteCollection.vue.js.map +1 -0
  44. package/dist/components/CommandPalette/CommandPaletteCollection.vue.script.js +78 -0
  45. package/dist/components/CommandPalette/CommandPaletteCollection.vue.script.js.map +1 -0
  46. package/dist/components/CommandPalette/CommandPaletteExample.vue.js +7 -0
  47. package/dist/components/CommandPalette/CommandPaletteExample.vue.js.map +1 -0
  48. package/dist/components/CommandPalette/CommandPaletteExample.vue.script.js +104 -0
  49. package/dist/components/CommandPalette/CommandPaletteExample.vue.script.js.map +1 -0
  50. package/dist/components/CommandPalette/CommandPaletteImport.vue.js +7 -0
  51. package/dist/components/CommandPalette/CommandPaletteImport.vue.js.map +1 -0
  52. package/dist/components/CommandPalette/CommandPaletteImport.vue.script.js +181 -0
  53. package/dist/components/CommandPalette/CommandPaletteImport.vue.script.js.map +1 -0
  54. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.js +9 -0
  55. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.js.map +1 -0
  56. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.script.js +108 -0
  57. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.script.js.map +1 -0
  58. package/dist/components/CommandPalette/CommandPaletteServer.vue.js +7 -0
  59. package/dist/components/CommandPalette/CommandPaletteServer.vue.js.map +1 -0
  60. package/dist/components/CommandPalette/CommandPaletteServer.vue.script.js +108 -0
  61. package/dist/components/CommandPalette/CommandPaletteServer.vue.script.js.map +1 -0
  62. package/dist/components/CommandPalette/CommandPaletteTag.vue.js +7 -0
  63. package/dist/components/CommandPalette/CommandPaletteTag.vue.js.map +1 -0
  64. package/dist/components/CommandPalette/CommandPaletteTag.vue.script.js +70 -0
  65. package/dist/components/CommandPalette/CommandPaletteTag.vue.script.js.map +1 -0
  66. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.js +7 -0
  67. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.js.map +1 -0
  68. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.script.js +49 -0
  69. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.script.js.map +1 -0
  70. package/dist/components/CommandPalette/TheCommandPalette.vue.js +9 -0
  71. package/dist/components/CommandPalette/TheCommandPalette.vue.js.map +1 -0
  72. package/dist/components/CommandPalette/TheCommandPalette.vue.script.js +323 -0
  73. package/dist/components/CommandPalette/TheCommandPalette.vue.script.js.map +1 -0
  74. package/dist/components/CommandPalette/WatchModeToggle.vue.js +7 -0
  75. package/dist/components/CommandPalette/WatchModeToggle.vue.js.map +1 -0
  76. package/dist/components/CommandPalette/WatchModeToggle.vue.script.js +40 -0
  77. package/dist/components/CommandPalette/WatchModeToggle.vue.script.js.map +1 -0
  78. package/dist/components/CommandPalette/index.d.ts +1 -1
  79. package/dist/components/CommandPalette/index.js +1 -2
  80. package/dist/components/DataTable/DataTable.vue.js +7 -0
  81. package/dist/components/DataTable/DataTable.vue.js.map +1 -0
  82. package/dist/components/DataTable/DataTable.vue.script.js +30 -0
  83. package/dist/components/DataTable/DataTable.vue.script.js.map +1 -0
  84. package/dist/components/DataTable/DataTableCell.vue.js +7 -0
  85. package/dist/components/DataTable/DataTableCell.vue.js.map +1 -0
  86. package/dist/components/DataTable/DataTableCell.vue.script.js +21 -0
  87. package/dist/components/DataTable/DataTableCell.vue.script.js.map +1 -0
  88. package/dist/components/DataTable/DataTableCheckbox.vue.js +7 -0
  89. package/dist/components/DataTable/DataTableCheckbox.vue.js.map +1 -0
  90. package/dist/components/DataTable/DataTableCheckbox.vue.script.js +43 -0
  91. package/dist/components/DataTable/DataTableCheckbox.vue.script.js.map +1 -0
  92. package/dist/components/DataTable/DataTableHeader.vue.js +7 -0
  93. package/dist/components/DataTable/DataTableHeader.vue.js.map +1 -0
  94. package/dist/components/DataTable/DataTableHeader.vue.script.js +20 -0
  95. package/dist/components/DataTable/DataTableHeader.vue.script.js.map +1 -0
  96. package/dist/components/DataTable/DataTableInput.vue.d.ts +1 -1
  97. package/dist/components/DataTable/DataTableInput.vue.js +9 -0
  98. package/dist/components/DataTable/DataTableInput.vue.js.map +1 -0
  99. package/dist/components/DataTable/DataTableInput.vue.script.js +164 -0
  100. package/dist/components/DataTable/DataTableInput.vue.script.js.map +1 -0
  101. package/dist/components/DataTable/DataTableInputSelect.vue.js +7 -0
  102. package/dist/components/DataTable/DataTableInputSelect.vue.js.map +1 -0
  103. package/dist/components/DataTable/DataTableInputSelect.vue.script.js +150 -0
  104. package/dist/components/DataTable/DataTableInputSelect.vue.script.js.map +1 -0
  105. package/dist/components/DataTable/DataTableRow.vue.js +13 -0
  106. package/dist/components/DataTable/DataTableRow.vue.js.map +1 -0
  107. package/dist/components/DataTable/DataTableText.vue.js +7 -0
  108. package/dist/components/DataTable/DataTableText.vue.js.map +1 -0
  109. package/dist/components/DataTable/DataTableText.vue.script.js +20 -0
  110. package/dist/components/DataTable/DataTableText.vue.script.js.map +1 -0
  111. package/dist/components/DataTable/index.d.ts +8 -8
  112. package/dist/components/DataTable/index.js +8 -5
  113. package/dist/components/EmptyState.vue.js +9 -0
  114. package/dist/components/EmptyState.vue.js.map +1 -0
  115. package/dist/components/EmptyState.vue.script.js +41 -0
  116. package/dist/components/EmptyState.vue.script.js.map +1 -0
  117. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.js +7 -0
  118. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.js.map +1 -0
  119. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.script.js +111 -0
  120. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.script.js.map +1 -0
  121. package/dist/components/Form/Form.vue.js +7 -0
  122. package/dist/components/Form/Form.vue.js.map +1 -0
  123. package/dist/components/Form/Form.vue.script.js +82 -0
  124. package/dist/components/Form/Form.vue.script.js.map +1 -0
  125. package/dist/components/Form/LabelInput.vue.d.ts +1 -1
  126. package/dist/components/Form/LabelInput.vue.js +9 -0
  127. package/dist/components/Form/LabelInput.vue.js.map +1 -0
  128. package/dist/components/Form/LabelInput.vue.script.js +39 -0
  129. package/dist/components/Form/LabelInput.vue.script.js.map +1 -0
  130. package/dist/components/HelpfulLink.vue.js +7 -0
  131. package/dist/components/HelpfulLink.vue.js.map +1 -0
  132. package/dist/components/HelpfulLink.vue.script.js +21 -0
  133. package/dist/components/HelpfulLink.vue.script.js.map +1 -0
  134. package/dist/components/HttpMethod/HttpMethod.vue.js +9 -0
  135. package/dist/components/HttpMethod/HttpMethod.vue.js.map +1 -0
  136. package/dist/components/HttpMethod/HttpMethod.vue.script.js +76 -0
  137. package/dist/components/HttpMethod/HttpMethod.vue.script.js.map +1 -0
  138. package/dist/components/HttpMethod/index.d.ts +1 -1
  139. package/dist/components/HttpMethod/index.js +1 -1
  140. package/dist/components/IconSelector.vue.js +7 -0
  141. package/dist/components/IconSelector.vue.js.map +1 -0
  142. package/dist/components/IconSelector.vue.script.js +65 -0
  143. package/dist/components/IconSelector.vue.script.js.map +1 -0
  144. package/dist/components/ImportCollection/DropEventListener.vue.js +7 -0
  145. package/dist/components/ImportCollection/DropEventListener.vue.js.map +1 -0
  146. package/dist/components/ImportCollection/DropEventListener.vue.script.js +91 -0
  147. package/dist/components/ImportCollection/DropEventListener.vue.script.js.map +1 -0
  148. package/dist/components/ImportCollection/ImportCollectionListener.vue.js +7 -0
  149. package/dist/components/ImportCollection/ImportCollectionListener.vue.js.map +1 -0
  150. package/dist/components/ImportCollection/ImportCollectionListener.vue.script.js +102 -0
  151. package/dist/components/ImportCollection/ImportCollectionListener.vue.script.js.map +1 -0
  152. package/dist/components/ImportCollection/ImportCollectionModal.vue.d.ts.map +1 -1
  153. package/dist/components/ImportCollection/ImportCollectionModal.vue.js +8 -0
  154. package/dist/components/ImportCollection/ImportCollectionModal.vue.js.map +1 -0
  155. package/dist/components/ImportCollection/ImportCollectionModal.vue.script.js +206 -0
  156. package/dist/components/ImportCollection/ImportCollectionModal.vue.script.js.map +1 -0
  157. package/dist/components/ImportCollection/ImportNowButton.vue.js +7 -0
  158. package/dist/components/ImportCollection/ImportNowButton.vue.js.map +1 -0
  159. package/dist/components/ImportCollection/ImportNowButton.vue.script.js +82 -0
  160. package/dist/components/ImportCollection/ImportNowButton.vue.script.js.map +1 -0
  161. package/dist/components/ImportCollection/IntegrationLogo.vue.js +7 -0
  162. package/dist/components/ImportCollection/IntegrationLogo.vue.js.map +1 -0
  163. package/dist/components/ImportCollection/IntegrationLogo.vue.script.js +50 -0
  164. package/dist/components/ImportCollection/IntegrationLogo.vue.script.js.map +1 -0
  165. package/dist/components/ImportCollection/PasteEventListener.vue.js +7 -0
  166. package/dist/components/ImportCollection/PasteEventListener.vue.js.map +1 -0
  167. package/dist/components/ImportCollection/PasteEventListener.vue.script.js +31 -0
  168. package/dist/components/ImportCollection/PasteEventListener.vue.script.js.map +1 -0
  169. package/dist/components/ImportCollection/PrefetchError.vue.js +7 -0
  170. package/dist/components/ImportCollection/PrefetchError.vue.js.map +1 -0
  171. package/dist/components/ImportCollection/PrefetchError.vue.script.js +32 -0
  172. package/dist/components/ImportCollection/PrefetchError.vue.script.js.map +1 -0
  173. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.js +7 -0
  174. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.js.map +1 -0
  175. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.script.js +21 -0
  176. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.script.js.map +1 -0
  177. package/dist/components/ImportCollection/WorkspaceSelector.vue.js +7 -0
  178. package/dist/components/ImportCollection/WorkspaceSelector.vue.js.map +1 -0
  179. package/dist/components/ImportCollection/WorkspaceSelector.vue.script.js +114 -0
  180. package/dist/components/ImportCollection/WorkspaceSelector.vue.script.js.map +1 -0
  181. package/dist/components/ImportCollection/hooks/useUrlPrefetcher.js +109 -0
  182. package/dist/components/ImportCollection/hooks/useUrlPrefetcher.js.map +1 -0
  183. package/dist/components/ImportCollection/index.d.ts +1 -1
  184. package/dist/components/ImportCollection/index.js +1 -1
  185. package/dist/components/ImportCollection/utils/get-openapi-version.js +26 -0
  186. package/dist/components/ImportCollection/utils/get-openapi-version.js.map +1 -0
  187. package/dist/components/ImportCollection/utils/import-collection.js +23 -0
  188. package/dist/components/ImportCollection/utils/import-collection.js.map +1 -0
  189. package/dist/components/ImportCollection/utils/is-document.js +12 -0
  190. package/dist/components/ImportCollection/utils/is-document.js.map +1 -0
  191. package/dist/components/ImportCollection/utils/is-url.js +14 -0
  192. package/dist/components/ImportCollection/utils/is-url.js.map +1 -0
  193. package/dist/components/ImportCollection/utils/workspace-store-is-empty.js +13 -0
  194. package/dist/components/ImportCollection/utils/workspace-store-is-empty.js.map +1 -0
  195. package/dist/components/OpenApiClientButton.vue.js +9 -0
  196. package/dist/components/OpenApiClientButton.vue.js.map +1 -0
  197. package/dist/components/OpenApiClientButton.vue.script.js +58 -0
  198. package/dist/components/OpenApiClientButton.vue.script.js.map +1 -0
  199. package/dist/components/ScalarAsciiArt.vue.js +9 -0
  200. package/dist/components/ScalarAsciiArt.vue.js.map +1 -0
  201. package/dist/components/ScalarAsciiArt.vue.script.js +42 -0
  202. package/dist/components/ScalarAsciiArt.vue.script.js.map +1 -0
  203. package/dist/components/Search/useSearch.js +110 -0
  204. package/dist/components/Search/useSearch.js.map +1 -0
  205. package/dist/components/SectionFilter.vue.js +9 -0
  206. package/dist/components/SectionFilter.vue.js.map +1 -0
  207. package/dist/components/SectionFilter.vue.script.js +69 -0
  208. package/dist/components/SectionFilter.vue.script.js.map +1 -0
  209. package/dist/components/SectionFilterButton.vue.js +7 -0
  210. package/dist/components/SectionFilterButton.vue.js.map +1 -0
  211. package/dist/components/SectionFilterButton.vue.script.js +30 -0
  212. package/dist/components/SectionFilterButton.vue.script.js.map +1 -0
  213. package/dist/components/Server/ServerDropdown.vue.js +7 -0
  214. package/dist/components/Server/ServerDropdown.vue.js.map +1 -0
  215. package/dist/components/Server/ServerDropdown.vue.script.js +133 -0
  216. package/dist/components/Server/ServerDropdown.vue.script.js.map +1 -0
  217. package/dist/components/Server/ServerDropdownItem.vue.js +9 -0
  218. package/dist/components/Server/ServerDropdownItem.vue.js.map +1 -0
  219. package/dist/components/Server/ServerDropdownItem.vue.script.js +90 -0
  220. package/dist/components/Server/ServerDropdownItem.vue.script.js.map +1 -0
  221. package/dist/components/Server/ServerSelector.vue.js +7 -0
  222. package/dist/components/Server/ServerSelector.vue.js.map +1 -0
  223. package/dist/components/Server/ServerSelector.vue.script.js +87 -0
  224. package/dist/components/Server/ServerSelector.vue.script.js.map +1 -0
  225. package/dist/components/Server/ServerVariablesForm.vue.js +7 -0
  226. package/dist/components/Server/ServerVariablesForm.vue.js.map +1 -0
  227. package/dist/components/Server/ServerVariablesForm.vue.script.js +64 -0
  228. package/dist/components/Server/ServerVariablesForm.vue.script.js.map +1 -0
  229. package/dist/components/Server/ServerVariablesSelect.vue.js +7 -0
  230. package/dist/components/Server/ServerVariablesSelect.vue.js.map +1 -0
  231. package/dist/components/Server/ServerVariablesSelect.vue.script.js +53 -0
  232. package/dist/components/Server/ServerVariablesSelect.vue.script.js.map +1 -0
  233. package/dist/components/Server/ServerVariablesTextbox.vue.js +7 -0
  234. package/dist/components/Server/ServerVariablesTextbox.vue.js.map +1 -0
  235. package/dist/components/Server/ServerVariablesTextbox.vue.script.js +34 -0
  236. package/dist/components/Server/ServerVariablesTextbox.vue.script.js.map +1 -0
  237. package/dist/components/Server/index.d.ts +3 -3
  238. package/dist/components/Server/index.js +3 -2
  239. package/dist/components/SideNav/DownloadAppButton.vue.js +9 -0
  240. package/dist/components/SideNav/DownloadAppButton.vue.js.map +1 -0
  241. package/dist/components/SideNav/DownloadAppButton.vue.script.js +31 -0
  242. package/dist/components/SideNav/DownloadAppButton.vue.script.js.map +1 -0
  243. package/dist/components/SideNav/SideHelp.vue.js +7 -0
  244. package/dist/components/SideNav/SideHelp.vue.js.map +1 -0
  245. package/dist/components/SideNav/SideHelp.vue.script.js +102 -0
  246. package/dist/components/SideNav/SideHelp.vue.script.js.map +1 -0
  247. package/dist/components/SideNav/SideNav.vue.js +7 -0
  248. package/dist/components/SideNav/SideNav.vue.js.map +1 -0
  249. package/dist/components/SideNav/SideNav.vue.script.js +80 -0
  250. package/dist/components/SideNav/SideNav.vue.script.js.map +1 -0
  251. package/dist/components/SideNav/SideNavGroup.vue.js +7 -0
  252. package/dist/components/SideNav/SideNavGroup.vue.js.map +1 -0
  253. package/dist/components/SideNav/SideNavGroup.vue.script.js +16 -0
  254. package/dist/components/SideNav/SideNavGroup.vue.script.js.map +1 -0
  255. package/dist/components/SideNav/SideNavLink.vue.js +7 -0
  256. package/dist/components/SideNav/SideNavLink.vue.js.map +1 -0
  257. package/dist/components/SideNav/SideNavLink.vue.script.js +32 -0
  258. package/dist/components/SideNav/SideNavLink.vue.script.js.map +1 -0
  259. package/dist/components/SideNav/SideNavRouterLink.vue.js +7 -0
  260. package/dist/components/SideNav/SideNavRouterLink.vue.js.map +1 -0
  261. package/dist/components/SideNav/SideNavRouterLink.vue.script.js +34 -0
  262. package/dist/components/SideNav/SideNavRouterLink.vue.script.js.map +1 -0
  263. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.js +7 -0
  264. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.js.map +1 -0
  265. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.script.js +38 -0
  266. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.script.js.map +1 -0
  267. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.js +7 -0
  268. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.js.map +1 -0
  269. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.script.js +56 -0
  270. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.script.js.map +1 -0
  271. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.js +7 -0
  272. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.js.map +1 -0
  273. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.script.js +31 -0
  274. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.script.js.map +1 -0
  275. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.js +7 -0
  276. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.js.map +1 -0
  277. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.script.js +41 -0
  278. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.script.js.map +1 -0
  279. package/dist/components/Sidebar/Sidebar.vue.js +9 -0
  280. package/dist/components/Sidebar/Sidebar.vue.js.map +1 -0
  281. package/dist/components/Sidebar/Sidebar.vue.script.js +71 -0
  282. package/dist/components/Sidebar/Sidebar.vue.script.js.map +1 -0
  283. package/dist/components/Sidebar/SidebarButton.vue.js +7 -0
  284. package/dist/components/Sidebar/SidebarButton.vue.js.map +1 -0
  285. package/dist/components/Sidebar/SidebarButton.vue.script.js +36 -0
  286. package/dist/components/Sidebar/SidebarButton.vue.script.js.map +1 -0
  287. package/dist/components/Sidebar/SidebarList.vue.js +13 -0
  288. package/dist/components/Sidebar/SidebarList.vue.js.map +1 -0
  289. package/dist/components/Sidebar/SidebarListElement.vue.js +10 -0
  290. package/dist/components/Sidebar/SidebarListElement.vue.js.map +1 -0
  291. package/dist/components/Sidebar/SidebarListElement.vue.script.js +128 -0
  292. package/dist/components/Sidebar/SidebarListElement.vue.script.js.map +1 -0
  293. package/dist/components/Sidebar/SidebarListElementActions.vue.js +7 -0
  294. package/dist/components/Sidebar/SidebarListElementActions.vue.js.map +1 -0
  295. package/dist/components/Sidebar/SidebarListElementActions.vue.script.js +97 -0
  296. package/dist/components/Sidebar/SidebarListElementActions.vue.script.js.map +1 -0
  297. package/dist/components/Sidebar/SidebarToggle.vue.js +7 -0
  298. package/dist/components/Sidebar/SidebarToggle.vue.js.map +1 -0
  299. package/dist/components/Sidebar/SidebarToggle.vue.script.js +47 -0
  300. package/dist/components/Sidebar/SidebarToggle.vue.script.js.map +1 -0
  301. package/dist/components/Sidebar/index.d.ts +1 -1
  302. package/dist/components/Sidebar/index.js +1 -1
  303. package/dist/components/TopNav/TopNav.vue.js +7 -0
  304. package/dist/components/TopNav/TopNav.vue.js.map +1 -0
  305. package/dist/components/TopNav/TopNav.vue.script.js +232 -0
  306. package/dist/components/TopNav/TopNav.vue.script.js.map +1 -0
  307. package/dist/components/TopNav/TopNavItem.vue.d.ts.map +1 -1
  308. package/dist/components/TopNav/TopNavItem.vue.js +9 -0
  309. package/dist/components/TopNav/TopNavItem.vue.js.map +1 -0
  310. package/dist/components/TopNav/TopNavItem.vue.script.js +129 -0
  311. package/dist/components/TopNav/TopNavItem.vue.script.js.map +1 -0
  312. package/dist/components/ViewLayout/ViewLayout.vue.js +7 -0
  313. package/dist/components/ViewLayout/ViewLayout.vue.js.map +1 -0
  314. package/dist/components/ViewLayout/ViewLayout.vue.script.js +16 -0
  315. package/dist/components/ViewLayout/ViewLayout.vue.script.js.map +1 -0
  316. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.js +7 -0
  317. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.js.map +1 -0
  318. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.script.js +84 -0
  319. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.script.js.map +1 -0
  320. package/dist/components/ViewLayout/ViewLayoutContent.vue.js +13 -0
  321. package/dist/components/ViewLayout/ViewLayoutContent.vue.js.map +1 -0
  322. package/dist/components/ViewLayout/ViewLayoutSection.vue.js +7 -0
  323. package/dist/components/ViewLayout/ViewLayoutSection.vue.js.map +1 -0
  324. package/dist/components/ViewLayout/ViewLayoutSection.vue.script.js +21 -0
  325. package/dist/components/ViewLayout/ViewLayoutSection.vue.script.js.map +1 -0
  326. package/dist/components/ViewLayout/index.d.ts +1 -1
  327. package/dist/components/ViewLayout/index.js +1 -1
  328. package/dist/components/index.d.ts +1 -1
  329. package/dist/components/index.js +3 -6
  330. package/dist/constants.js +27 -0
  331. package/dist/constants.js.map +1 -0
  332. package/dist/data/httpHeaders.js +539 -0
  333. package/dist/data/httpHeaders.js.map +1 -0
  334. package/dist/hooks/index.d.ts +4 -4
  335. package/dist/hooks/index.js +4 -2
  336. package/dist/hooks/useClientConfig.d.ts +18 -0
  337. package/dist/hooks/useClientConfig.d.ts.map +1 -1
  338. package/dist/hooks/useClientConfig.js +10 -0
  339. package/dist/hooks/useClientConfig.js.map +1 -0
  340. package/dist/hooks/useFileDialog.js +33 -0
  341. package/dist/hooks/useFileDialog.js.map +1 -0
  342. package/dist/hooks/useLayout.js +13 -0
  343. package/dist/hooks/useLayout.js.map +1 -0
  344. package/dist/hooks/useResponseBody.js +32 -0
  345. package/dist/hooks/useResponseBody.js.map +1 -0
  346. package/dist/hooks/useSidebar.d.ts +1 -1
  347. package/dist/hooks/useSidebar.js +36 -0
  348. package/dist/hooks/useSidebar.js.map +1 -0
  349. package/dist/index.d.ts +1 -1
  350. package/dist/index.js +5 -7
  351. package/dist/layouts/App/ApiClientApp.vue.js +8 -0
  352. package/dist/layouts/App/ApiClientApp.vue.js.map +1 -0
  353. package/dist/layouts/App/ApiClientApp.vue.script.js +80 -0
  354. package/dist/layouts/App/ApiClientApp.vue.script.js.map +1 -0
  355. package/dist/layouts/App/MainLayout.vue.js +7 -0
  356. package/dist/layouts/App/MainLayout.vue.js.map +1 -0
  357. package/dist/layouts/App/MainLayout.vue.script.js +22 -0
  358. package/dist/layouts/App/MainLayout.vue.script.js.map +1 -0
  359. package/dist/layouts/App/create-api-client-app.d.ts +1 -1
  360. package/dist/layouts/App/create-api-client-app.d.ts.map +1 -1
  361. package/dist/layouts/App/create-api-client-app.js +36 -0
  362. package/dist/layouts/App/create-api-client-app.js.map +1 -0
  363. package/dist/layouts/App/hotkeys.js +74 -0
  364. package/dist/layouts/App/hotkeys.js.map +1 -0
  365. package/dist/layouts/App/index.d.ts +2 -2
  366. package/dist/layouts/App/index.js +2 -4
  367. package/dist/layouts/Modal/ApiClientModal.vue.js +7 -0
  368. package/dist/layouts/Modal/ApiClientModal.vue.js.map +1 -0
  369. package/dist/layouts/Modal/ApiClientModal.vue.script.js +41 -0
  370. package/dist/layouts/Modal/ApiClientModal.vue.script.js.map +1 -0
  371. package/dist/layouts/Modal/create-api-client-modal.js +34 -0
  372. package/dist/layouts/Modal/create-api-client-modal.js.map +1 -0
  373. package/dist/layouts/Modal/index.d.ts +1 -1
  374. package/dist/layouts/Modal/index.js +1 -2
  375. package/dist/layouts/Web/ApiClientWeb.vue.js +8 -0
  376. package/dist/layouts/Web/ApiClientWeb.vue.js.map +1 -0
  377. package/dist/layouts/Web/ApiClientWeb.vue.script.js +68 -0
  378. package/dist/layouts/Web/ApiClientWeb.vue.script.js.map +1 -0
  379. package/dist/layouts/Web/create-api-client-web.d.ts +1 -1
  380. package/dist/layouts/Web/create-api-client-web.d.ts.map +1 -1
  381. package/dist/layouts/Web/create-api-client-web.js +33 -0
  382. package/dist/layouts/Web/create-api-client-web.js.map +1 -0
  383. package/dist/layouts/Web/index.d.ts +2 -2
  384. package/dist/layouts/Web/index.js +2 -101
  385. package/dist/libs/create-client.d.ts +9 -9
  386. package/dist/libs/create-client.js +178 -0
  387. package/dist/libs/create-client.js.map +1 -0
  388. package/dist/libs/electron.js +9 -0
  389. package/dist/libs/electron.js.map +1 -0
  390. package/dist/libs/env-helpers.js +9 -0
  391. package/dist/libs/env-helpers.js.map +1 -0
  392. package/dist/libs/environment-parser.d.ts +1 -1
  393. package/dist/libs/environment-parser.js +19 -0
  394. package/dist/libs/environment-parser.js.map +1 -0
  395. package/dist/libs/errors.js +34 -0
  396. package/dist/libs/errors.js.map +1 -0
  397. package/dist/libs/event-bus.js +43 -0
  398. package/dist/libs/event-bus.js.map +1 -0
  399. package/dist/libs/extractAttachmentFilename.js +23 -0
  400. package/dist/libs/extractAttachmentFilename.js.map +1 -0
  401. package/dist/libs/find-request.js +40 -0
  402. package/dist/libs/find-request.js.map +1 -0
  403. package/dist/libs/formatters.js +36 -0
  404. package/dist/libs/formatters.js.map +1 -0
  405. package/dist/libs/get-request-uid-by-path-method.d.ts +1 -1
  406. package/dist/libs/get-request-uid-by-path-method.js +19 -0
  407. package/dist/libs/get-request-uid-by-path-method.js.map +1 -0
  408. package/dist/libs/getOpenApiDocumentDetails.js +45 -0
  409. package/dist/libs/getOpenApiDocumentDetails.js.map +1 -0
  410. package/dist/libs/hot-keys.js +92 -0
  411. package/dist/libs/hot-keys.js.map +1 -0
  412. package/dist/libs/importers/curl.js +54 -0
  413. package/dist/libs/importers/curl.js.map +1 -0
  414. package/dist/libs/importers/index.d.ts +1 -1
  415. package/dist/libs/importers/index.js +1 -1
  416. package/dist/libs/index.d.ts +14 -14
  417. package/dist/libs/index.js +17 -5
  418. package/dist/libs/isUrl.js +12 -0
  419. package/dist/libs/isUrl.js.map +1 -0
  420. package/dist/libs/local-storage.js +40 -0
  421. package/dist/libs/local-storage.js.map +1 -0
  422. package/dist/libs/normalize-headers.js +55 -0
  423. package/dist/libs/normalize-headers.js.map +1 -0
  424. package/dist/libs/parse-curl.js +106 -0
  425. package/dist/libs/parse-curl.js.map +1 -0
  426. package/dist/libs/postman.js +40 -0
  427. package/dist/libs/postman.js.map +1 -0
  428. package/dist/libs/send-request/build-request-security.js +41 -0
  429. package/dist/libs/send-request/build-request-security.js.map +1 -0
  430. package/dist/libs/send-request/create-fetch-body.js +44 -0
  431. package/dist/libs/send-request/create-fetch-body.js.map +1 -0
  432. package/dist/libs/send-request/create-fetch-headers.js +15 -0
  433. package/dist/libs/send-request/create-fetch-headers.js.map +1 -0
  434. package/dist/libs/send-request/create-fetch-query-params.js +43 -0
  435. package/dist/libs/send-request/create-fetch-query-params.js.map +1 -0
  436. package/dist/libs/send-request/create-request-operation.d.ts +2 -2
  437. package/dist/libs/send-request/create-request-operation.js +172 -0
  438. package/dist/libs/send-request/create-request-operation.js.map +1 -0
  439. package/dist/libs/send-request/decode-buffer.js +13 -0
  440. package/dist/libs/send-request/decode-buffer.js.map +1 -0
  441. package/dist/libs/send-request/index.d.ts +3 -3
  442. package/dist/libs/send-request/index.js +3 -2
  443. package/dist/libs/send-request/set-request-cookies.js +82 -0
  444. package/dist/libs/send-request/set-request-cookies.js.map +1 -0
  445. package/dist/libs/string-template.js +64 -0
  446. package/dist/libs/string-template.js.map +1 -0
  447. package/dist/libs/validate-parameters.js +35 -0
  448. package/dist/libs/validate-parameters.js.map +1 -0
  449. package/dist/plugins/hooks/usePluginManager.d.ts +1 -1
  450. package/dist/plugins/hooks/usePluginManager.js +16 -0
  451. package/dist/plugins/hooks/usePluginManager.js.map +1 -0
  452. package/dist/plugins/index.d.ts +2 -2
  453. package/dist/plugins/index.js +2 -1
  454. package/dist/plugins/plugin-manager.js +38 -0
  455. package/dist/plugins/plugin-manager.js.map +1 -0
  456. package/dist/routes.js +225 -0
  457. package/dist/routes.js.map +1 -0
  458. package/dist/store/active-entities.js +139 -0
  459. package/dist/store/active-entities.js.map +1 -0
  460. package/dist/store/collections.js +76 -0
  461. package/dist/store/collections.js.map +1 -0
  462. package/dist/store/cookies.js +16 -0
  463. package/dist/store/cookies.js.map +1 -0
  464. package/dist/store/environment.js +38 -0
  465. package/dist/store/environment.js.map +1 -0
  466. package/dist/store/events.d.ts +7 -7
  467. package/dist/store/events.js +17 -0
  468. package/dist/store/events.js.map +1 -0
  469. package/dist/store/import-spec.js +56 -0
  470. package/dist/store/import-spec.js.map +1 -0
  471. package/dist/store/index.d.ts +2 -2
  472. package/dist/store/index.js +2 -1
  473. package/dist/store/request-example.js +43 -0
  474. package/dist/store/request-example.js.map +1 -0
  475. package/dist/store/requests.d.ts +1 -1
  476. package/dist/store/requests.js +104 -0
  477. package/dist/store/requests.js.map +1 -0
  478. package/dist/store/router-params.js +27 -0
  479. package/dist/store/router-params.js.map +1 -0
  480. package/dist/store/security-schemes.js +45 -0
  481. package/dist/store/security-schemes.js.map +1 -0
  482. package/dist/store/servers.js +41 -0
  483. package/dist/store/servers.js.map +1 -0
  484. package/dist/store/store.d.ts +1 -1
  485. package/dist/store/store.js +180 -0
  486. package/dist/store/store.js.map +1 -0
  487. package/dist/store/tags.js +54 -0
  488. package/dist/store/tags.js.map +1 -0
  489. package/dist/store/workspace.js +57 -0
  490. package/dist/store/workspace.js.map +1 -0
  491. package/dist/style.css +2804 -2650
  492. package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts +4 -2
  493. package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts.map +1 -1
  494. package/dist/v2/blocks/operation-block/OperationBlock.vue.js +7 -0
  495. package/dist/v2/blocks/operation-block/OperationBlock.vue.js.map +1 -0
  496. package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js +306 -0
  497. package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js.map +1 -0
  498. package/dist/v2/blocks/operation-block/components/Header.vue.js +9 -0
  499. package/dist/v2/blocks/operation-block/components/Header.vue.js.map +1 -0
  500. package/dist/v2/blocks/operation-block/components/Header.vue.script.js +126 -0
  501. package/dist/v2/blocks/operation-block/components/Header.vue.script.js.map +1 -0
  502. package/dist/v2/blocks/operation-block/helpers/apply-allow-reserved-to-url.js +58 -0
  503. package/dist/v2/blocks/operation-block/helpers/apply-allow-reserved-to-url.js.map +1 -0
  504. package/dist/v2/blocks/operation-block/helpers/build-request-body.d.ts +3 -1
  505. package/dist/v2/blocks/operation-block/helpers/build-request-body.d.ts.map +1 -1
  506. package/dist/v2/blocks/operation-block/helpers/build-request-body.js +65 -0
  507. package/dist/v2/blocks/operation-block/helpers/build-request-body.js.map +1 -0
  508. package/dist/v2/blocks/operation-block/helpers/build-request-cookie-header.js +55 -0
  509. package/dist/v2/blocks/operation-block/helpers/build-request-cookie-header.js.map +1 -0
  510. package/dist/v2/blocks/operation-block/helpers/build-request-parameters.js +159 -0
  511. package/dist/v2/blocks/operation-block/helpers/build-request-parameters.js.map +1 -0
  512. package/dist/v2/blocks/operation-block/helpers/build-request-security.d.ts +1 -1
  513. package/dist/v2/blocks/operation-block/helpers/build-request-security.js +53 -0
  514. package/dist/v2/blocks/operation-block/helpers/build-request-security.js.map +1 -0
  515. package/dist/v2/blocks/operation-block/helpers/build-request.d.ts +4 -2
  516. package/dist/v2/blocks/operation-block/helpers/build-request.d.ts.map +1 -1
  517. package/dist/v2/blocks/operation-block/helpers/build-request.js +102 -0
  518. package/dist/v2/blocks/operation-block/helpers/build-request.js.map +1 -0
  519. package/dist/v2/blocks/operation-block/helpers/de-serialize-parameter.js +41 -0
  520. package/dist/v2/blocks/operation-block/helpers/de-serialize-parameter.js.map +1 -0
  521. package/dist/v2/blocks/operation-block/helpers/decode-buffer.js +17 -0
  522. package/dist/v2/blocks/operation-block/helpers/decode-buffer.js.map +1 -0
  523. package/dist/v2/blocks/operation-block/helpers/filter-global-cookies.js +20 -0
  524. package/dist/v2/blocks/operation-block/helpers/filter-global-cookies.js.map +1 -0
  525. package/dist/v2/blocks/operation-block/helpers/get-cookie-header-keys.js +22 -0
  526. package/dist/v2/blocks/operation-block/helpers/get-cookie-header-keys.js.map +1 -0
  527. package/dist/v2/blocks/operation-block/helpers/get-environment-variables.js +17 -0
  528. package/dist/v2/blocks/operation-block/helpers/get-environment-variables.js.map +1 -0
  529. package/dist/v2/blocks/operation-block/helpers/get-example.js +41 -0
  530. package/dist/v2/blocks/operation-block/helpers/get-example.js.map +1 -0
  531. package/dist/v2/blocks/operation-block/helpers/get-resolved-url.js +32 -0
  532. package/dist/v2/blocks/operation-block/helpers/get-resolved-url.js.map +1 -0
  533. package/dist/v2/blocks/operation-block/helpers/get-selected-body-content-type.js +15 -0
  534. package/dist/v2/blocks/operation-block/helpers/get-selected-body-content-type.js.map +1 -0
  535. package/dist/v2/blocks/operation-block/helpers/get-server-url.js +18 -0
  536. package/dist/v2/blocks/operation-block/helpers/get-server-url.js.map +1 -0
  537. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.js +80 -0
  538. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.js.map +1 -0
  539. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-response.d.ts +1 -1
  540. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-response.js +109 -0
  541. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-response.js.map +1 -0
  542. package/dist/v2/blocks/operation-block/helpers/response-cache.js +34 -0
  543. package/dist/v2/blocks/operation-block/helpers/response-cache.js.map +1 -0
  544. package/dist/v2/blocks/operation-block/helpers/send-request.d.ts +1 -1
  545. package/dist/v2/blocks/operation-block/helpers/send-request.js +149 -0
  546. package/dist/v2/blocks/operation-block/helpers/send-request.js.map +1 -0
  547. package/dist/v2/blocks/operation-block/helpers/serialize-parameter.js +160 -0
  548. package/dist/v2/blocks/operation-block/helpers/serialize-parameter.js.map +1 -0
  549. package/dist/v2/blocks/operation-block/helpers/validate-path-parameters.js +34 -0
  550. package/dist/v2/blocks/operation-block/helpers/validate-path-parameters.js.map +1 -0
  551. package/dist/v2/blocks/operation-block/index.d.ts +4 -4
  552. package/dist/v2/blocks/operation-block/index.js +4 -19
  553. package/dist/v2/blocks/operation-code-sample/components/ExamplePicker.vue.js +7 -0
  554. package/dist/v2/blocks/operation-code-sample/components/ExamplePicker.vue.js.map +1 -0
  555. package/dist/v2/blocks/operation-code-sample/components/ExamplePicker.vue.script.js +52 -0
  556. package/dist/v2/blocks/operation-code-sample/components/ExamplePicker.vue.script.js.map +1 -0
  557. package/dist/v2/blocks/operation-code-sample/components/HttpMethod.vue.js +7 -0
  558. package/dist/v2/blocks/operation-code-sample/components/HttpMethod.vue.js.map +1 -0
  559. package/dist/v2/blocks/operation-code-sample/components/HttpMethod.vue.script.js +33 -0
  560. package/dist/v2/blocks/operation-code-sample/components/HttpMethod.vue.script.js.map +1 -0
  561. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.d.ts +5 -0
  562. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.d.ts.map +1 -1
  563. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.js +9 -0
  564. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.js.map +1 -0
  565. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.script.js +249 -0
  566. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.script.js.map +1 -0
  567. package/dist/v2/blocks/operation-code-sample/helpers/filter-clients-by-query.d.ts +9 -0
  568. package/dist/v2/blocks/operation-code-sample/helpers/filter-clients-by-query.d.ts.map +1 -0
  569. package/dist/v2/blocks/operation-code-sample/helpers/filter-clients-by-query.js +37 -0
  570. package/dist/v2/blocks/operation-code-sample/helpers/filter-clients-by-query.js.map +1 -0
  571. package/dist/v2/blocks/operation-code-sample/helpers/find-client.js +55 -0
  572. package/dist/v2/blocks/operation-code-sample/helpers/find-client.js.map +1 -0
  573. package/dist/v2/blocks/operation-code-sample/helpers/generate-client-options.d.ts.map +1 -1
  574. package/dist/v2/blocks/operation-code-sample/helpers/generate-client-options.js +40 -0
  575. package/dist/v2/blocks/operation-code-sample/helpers/generate-client-options.js.map +1 -0
  576. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.d.ts +4 -2
  577. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.d.ts.map +1 -1
  578. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.js +37 -0
  579. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.js.map +1 -0
  580. package/dist/v2/blocks/operation-code-sample/helpers/get-clients.d.ts.map +1 -1
  581. package/dist/v2/blocks/operation-code-sample/helpers/get-clients.js +31 -0
  582. package/dist/v2/blocks/operation-code-sample/helpers/get-clients.js.map +1 -0
  583. package/dist/v2/blocks/operation-code-sample/helpers/get-custom-code-samples.js +18 -0
  584. package/dist/v2/blocks/operation-code-sample/helpers/get-custom-code-samples.js.map +1 -0
  585. package/dist/v2/blocks/operation-code-sample/helpers/get-example-from-schema.d.ts +5 -1
  586. package/dist/v2/blocks/operation-code-sample/helpers/get-example-from-schema.d.ts.map +1 -1
  587. package/dist/v2/blocks/operation-code-sample/helpers/get-example-from-schema.js +437 -0
  588. package/dist/v2/blocks/operation-code-sample/helpers/get-example-from-schema.js.map +1 -0
  589. package/dist/v2/blocks/operation-code-sample/helpers/get-resolved-ref-deep.js +41 -0
  590. package/dist/v2/blocks/operation-code-sample/helpers/get-resolved-ref-deep.js.map +1 -0
  591. package/dist/v2/blocks/operation-code-sample/helpers/get-secrets.js +18 -0
  592. package/dist/v2/blocks/operation-code-sample/helpers/get-secrets.js.map +1 -0
  593. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.d.ts +6 -1
  594. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.d.ts.map +1 -1
  595. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js +107 -0
  596. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js.map +1 -0
  597. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.d.ts +3 -3
  598. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.d.ts.map +1 -1
  599. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js +114 -0
  600. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js.map +1 -0
  601. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-parameters.js +216 -0
  602. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-parameters.js.map +1 -0
  603. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-security-schemes.js +65 -0
  604. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-security-schemes.js.map +1 -0
  605. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-server-url.js +19 -0
  606. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-server-url.js.map +1 -0
  607. package/dist/v2/blocks/operation-code-sample/index.d.ts +7 -6
  608. package/dist/v2/blocks/operation-code-sample/index.d.ts.map +1 -1
  609. package/dist/v2/blocks/operation-code-sample/index.js +8 -2
  610. package/dist/v2/blocks/operation-code-sample/types.d.ts +7 -6
  611. package/dist/v2/blocks/operation-code-sample/types.d.ts.map +1 -1
  612. package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts +1 -0
  613. package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts.map +1 -1
  614. package/dist/v2/blocks/request-block/RequestBlock.vue.js +9 -0
  615. package/dist/v2/blocks/request-block/RequestBlock.vue.js.map +1 -0
  616. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js +415 -0
  617. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js.map +1 -0
  618. package/dist/v2/blocks/request-block/components/RequestBody.vue.d.ts +2 -0
  619. package/dist/v2/blocks/request-block/components/RequestBody.vue.d.ts.map +1 -1
  620. package/dist/v2/blocks/request-block/components/RequestBody.vue.js +9 -0
  621. package/dist/v2/blocks/request-block/components/RequestBody.vue.js.map +1 -0
  622. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js +189 -0
  623. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js.map +1 -0
  624. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.js +7 -0
  625. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.js.map +1 -0
  626. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.script.js +98 -0
  627. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.script.js.map +1 -0
  628. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.d.ts +1 -1
  629. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.js +7 -0
  630. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.js.map +1 -0
  631. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js +129 -0
  632. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js.map +1 -0
  633. package/dist/v2/blocks/request-block/components/RequestParams.vue.d.ts +1 -1
  634. package/dist/v2/blocks/request-block/components/RequestParams.vue.js +7 -0
  635. package/dist/v2/blocks/request-block/components/RequestParams.vue.js.map +1 -0
  636. package/dist/v2/blocks/request-block/components/RequestParams.vue.script.js +97 -0
  637. package/dist/v2/blocks/request-block/components/RequestParams.vue.script.js.map +1 -0
  638. package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts +1 -1
  639. package/dist/v2/blocks/request-block/components/RequestTable.vue.js +9 -0
  640. package/dist/v2/blocks/request-block/components/RequestTable.vue.js.map +1 -0
  641. package/dist/v2/blocks/request-block/components/RequestTable.vue.script.js +113 -0
  642. package/dist/v2/blocks/request-block/components/RequestTable.vue.script.js.map +1 -0
  643. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.js +7 -0
  644. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.js.map +1 -0
  645. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js +226 -0
  646. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js.map +1 -0
  647. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.js +9 -0
  648. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.js.map +1 -0
  649. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js +68 -0
  650. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js.map +1 -0
  651. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.d.ts +1 -1
  652. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js +47 -0
  653. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js.map +1 -0
  654. package/dist/v2/blocks/request-block/helpers/files.js +11 -0
  655. package/dist/v2/blocks/request-block/helpers/files.js.map +1 -0
  656. package/dist/v2/blocks/request-block/helpers/get-default-headers.js +61 -0
  657. package/dist/v2/blocks/request-block/helpers/get-default-headers.js.map +1 -0
  658. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.d.ts +1 -1
  659. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js +46 -0
  660. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js.map +1 -0
  661. package/dist/v2/blocks/request-block/helpers/get-parameter-content.js +17 -0
  662. package/dist/v2/blocks/request-block/helpers/get-parameter-content.js.map +1 -0
  663. package/dist/v2/blocks/request-block/helpers/get-parameter-schema.js +14 -0
  664. package/dist/v2/blocks/request-block/helpers/get-parameter-schema.js.map +1 -0
  665. package/dist/v2/blocks/request-block/helpers/get-request-body-example.d.ts +1 -1
  666. package/dist/v2/blocks/request-block/helpers/get-request-body-example.d.ts.map +1 -1
  667. package/dist/v2/blocks/request-block/helpers/get-request-body-example.js +25 -0
  668. package/dist/v2/blocks/request-block/helpers/get-request-body-example.js.map +1 -0
  669. package/dist/v2/blocks/request-block/helpers/group-by.js +15 -0
  670. package/dist/v2/blocks/request-block/helpers/group-by.js.map +1 -0
  671. package/dist/v2/blocks/request-block/helpers/is-param-disabled.js +20 -0
  672. package/dist/v2/blocks/request-block/helpers/is-param-disabled.js.map +1 -0
  673. package/dist/v2/blocks/request-block/helpers/validate-parameter.js +49 -0
  674. package/dist/v2/blocks/request-block/helpers/validate-parameter.js.map +1 -0
  675. package/dist/v2/blocks/request-block/index.d.ts +1 -1
  676. package/dist/v2/blocks/request-block/index.js +1 -8
  677. package/dist/v2/blocks/response-block/ResponseBlock.vue.js +9 -0
  678. package/dist/v2/blocks/response-block/ResponseBlock.vue.js.map +1 -0
  679. package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js +204 -0
  680. package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js.map +1 -0
  681. package/dist/v2/blocks/response-block/components/Headers.vue.js +7 -0
  682. package/dist/v2/blocks/response-block/components/Headers.vue.js.map +1 -0
  683. package/dist/v2/blocks/response-block/components/Headers.vue.script.js +77 -0
  684. package/dist/v2/blocks/response-block/components/Headers.vue.script.js.map +1 -0
  685. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js +9 -0
  686. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js.map +1 -0
  687. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js +90 -0
  688. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js.map +1 -0
  689. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.js +7 -0
  690. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.js.map +1 -0
  691. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.script.js +35 -0
  692. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.script.js.map +1 -0
  693. package/dist/v2/blocks/response-block/components/ResponseBodyInfo.vue.js +14 -0
  694. package/dist/v2/blocks/response-block/components/ResponseBodyInfo.vue.js.map +1 -0
  695. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js +9 -0
  696. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js.map +1 -0
  697. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js +64 -0
  698. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js.map +1 -0
  699. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js +9 -0
  700. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js.map +1 -0
  701. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js +49 -0
  702. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js.map +1 -0
  703. package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue.js +7 -0
  704. package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue.js.map +1 -0
  705. package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue.script.js +111 -0
  706. package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue.script.js.map +1 -0
  707. package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue.js +7 -0
  708. package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue.js.map +1 -0
  709. package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue.script.js +25 -0
  710. package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue.script.js.map +1 -0
  711. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.js +8 -0
  712. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.js.map +1 -0
  713. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.script.js +50 -0
  714. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.script.js.map +1 -0
  715. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.js +7 -0
  716. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.js.map +1 -0
  717. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.script.js +42 -0
  718. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.script.js.map +1 -0
  719. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js +9 -0
  720. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js.map +1 -0
  721. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js +69 -0
  722. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js.map +1 -0
  723. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js +9 -0
  724. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js.map +1 -0
  725. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.js +52 -0
  726. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.js.map +1 -0
  727. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.js +7 -0
  728. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.js.map +1 -0
  729. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.script.js +68 -0
  730. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.script.js.map +1 -0
  731. package/dist/v2/blocks/response-block/helpers/extract-filename.js +26 -0
  732. package/dist/v2/blocks/response-block/helpers/extract-filename.js.map +1 -0
  733. package/dist/v2/blocks/response-block/helpers/get-content-length.js +12 -0
  734. package/dist/v2/blocks/response-block/helpers/get-content-length.js.map +1 -0
  735. package/dist/v2/blocks/response-block/helpers/media-types.js +227 -0
  736. package/dist/v2/blocks/response-block/helpers/media-types.js.map +1 -0
  737. package/dist/v2/blocks/response-block/helpers/parse-set-cookie.js +30 -0
  738. package/dist/v2/blocks/response-block/helpers/parse-set-cookie.js.map +1 -0
  739. package/dist/v2/blocks/response-block/helpers/process-response-body.js +26 -0
  740. package/dist/v2/blocks/response-block/helpers/process-response-body.js.map +1 -0
  741. package/dist/v2/blocks/response-block/index.d.ts +1 -1
  742. package/dist/v2/blocks/response-block/index.js +1 -5
  743. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts +1 -1
  744. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js +9 -0
  745. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js.map +1 -0
  746. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js +248 -0
  747. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js.map +1 -0
  748. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.js +9 -0
  749. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.js.map +1 -0
  750. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js +84 -0
  751. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js.map +1 -0
  752. package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue.js +7 -0
  753. package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue.js.map +1 -0
  754. package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue.script.js +141 -0
  755. package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue.script.js.map +1 -0
  756. package/dist/v2/blocks/scalar-address-bar-block/components/httpStatusCodeColors.js +20 -0
  757. package/dist/v2/blocks/scalar-address-bar-block/components/httpStatusCodeColors.js.map +1 -0
  758. package/dist/v2/blocks/scalar-address-bar-block/hooks/use-loading-animation.js +84 -0
  759. package/dist/v2/blocks/scalar-address-bar-block/hooks/use-loading-animation.js.map +1 -0
  760. package/dist/v2/blocks/scalar-address-bar-block/index.d.ts +2 -2
  761. package/dist/v2/blocks/scalar-address-bar-block/index.js +1 -4
  762. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts +3 -3
  763. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.js +7 -0
  764. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.js.map +1 -0
  765. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js +227 -0
  766. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js.map +1 -0
  767. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.js +7 -0
  768. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.js.map +1 -0
  769. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.script.js +48 -0
  770. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.script.js.map +1 -0
  771. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js +7 -0
  772. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js.map +1 -0
  773. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js +285 -0
  774. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js.map +1 -0
  775. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js +9 -0
  776. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js.map +1 -0
  777. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js +71 -0
  778. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js.map +1 -0
  779. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.js +8 -0
  780. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.js.map +1 -0
  781. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js +141 -0
  782. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js.map +1 -0
  783. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.js +7 -0
  784. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.js.map +1 -0
  785. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.script.js +89 -0
  786. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.script.js.map +1 -0
  787. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts +1 -1
  788. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.js +7 -0
  789. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.js.map +1 -0
  790. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js +95 -0
  791. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js.map +1 -0
  792. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.js +7 -0
  793. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.js.map +1 -0
  794. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.script.js +69 -0
  795. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.script.js.map +1 -0
  796. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.js +7 -0
  797. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.js.map +1 -0
  798. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js +296 -0
  799. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js.map +1 -0
  800. package/dist/v2/blocks/scalar-auth-selector-block/helpers/auth-options.js +92 -0
  801. package/dist/v2/blocks/scalar-auth-selector-block/helpers/auth-options.js.map +1 -0
  802. package/dist/v2/blocks/scalar-auth-selector-block/helpers/extract-security-scheme-secrets.js +141 -0
  803. package/dist/v2/blocks/scalar-auth-selector-block/helpers/extract-security-scheme-secrets.js.map +1 -0
  804. package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.d.ts +1 -1
  805. package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.js +45 -0
  806. package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.js.map +1 -0
  807. package/dist/v2/blocks/scalar-auth-selector-block/helpers/is-auth-optional.js +10 -0
  808. package/dist/v2/blocks/scalar-auth-selector-block/helpers/is-auth-optional.js.map +1 -0
  809. package/dist/v2/blocks/scalar-auth-selector-block/helpers/merge-security.js +27 -0
  810. package/dist/v2/blocks/scalar-auth-selector-block/helpers/merge-security.js.map +1 -0
  811. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts +1 -1
  812. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js +183 -0
  813. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js.map +1 -0
  814. package/dist/v2/blocks/scalar-auth-selector-block/helpers/openid-discovery-to-flows.d.ts +1 -1
  815. package/dist/v2/blocks/scalar-auth-selector-block/helpers/openid-discovery-to-flows.js +39 -0
  816. package/dist/v2/blocks/scalar-auth-selector-block/helpers/openid-discovery-to-flows.js.map +1 -0
  817. package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.js +109 -0
  818. package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.js.map +1 -0
  819. package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts +4 -4
  820. package/dist/v2/blocks/scalar-auth-selector-block/index.js +3 -5
  821. package/dist/v2/components/callout/Callout.vue.js +9 -0
  822. package/dist/v2/components/callout/Callout.vue.js.map +1 -0
  823. package/dist/v2/components/callout/Callout.vue.script.js +35 -0
  824. package/dist/v2/components/callout/Callout.vue.script.js.map +1 -0
  825. package/dist/v2/components/code-input/CodeInput.vue.js +10 -0
  826. package/dist/v2/components/code-input/CodeInput.vue.js.map +1 -0
  827. package/dist/v2/components/code-input/CodeInput.vue.script.js +380 -0
  828. package/dist/v2/components/code-input/CodeInput.vue.script.js.map +1 -0
  829. package/dist/v2/components/code-input/code-variable-widget.js +132 -0
  830. package/dist/v2/components/code-input/code-variable-widget.js.map +1 -0
  831. package/dist/v2/components/code-input/index.d.ts +1 -1
  832. package/dist/v2/components/code-input/index.js +1 -1
  833. package/dist/v2/components/context-menu/ContextMenu.vue.d.ts +27 -0
  834. package/dist/v2/components/context-menu/ContextMenu.vue.d.ts.map +1 -0
  835. package/dist/v2/components/context-menu/ContextMenu.vue.js +8 -0
  836. package/dist/v2/components/context-menu/ContextMenu.vue.js.map +1 -0
  837. package/dist/v2/components/context-menu/ContextMenu.vue.script.js +53 -0
  838. package/dist/v2/components/context-menu/ContextMenu.vue.script.js.map +1 -0
  839. package/dist/v2/components/context-menu/index.d.ts +2 -0
  840. package/dist/v2/components/context-menu/index.d.ts.map +1 -0
  841. package/dist/v2/components/context-menu/index.js +2 -0
  842. package/dist/v2/components/data-table/DataTable.vue.js +7 -0
  843. package/dist/v2/components/data-table/DataTable.vue.js.map +1 -0
  844. package/dist/v2/components/data-table/DataTable.vue.script.js +30 -0
  845. package/dist/v2/components/data-table/DataTable.vue.script.js.map +1 -0
  846. package/dist/v2/components/data-table/DataTableCell.vue.js +7 -0
  847. package/dist/v2/components/data-table/DataTableCell.vue.js.map +1 -0
  848. package/dist/v2/components/data-table/DataTableCell.vue.script.js +21 -0
  849. package/dist/v2/components/data-table/DataTableCell.vue.script.js.map +1 -0
  850. package/dist/v2/components/data-table/DataTableCheckbox.vue.js +7 -0
  851. package/dist/v2/components/data-table/DataTableCheckbox.vue.js.map +1 -0
  852. package/dist/v2/components/data-table/DataTableCheckbox.vue.script.js +43 -0
  853. package/dist/v2/components/data-table/DataTableCheckbox.vue.script.js.map +1 -0
  854. package/dist/v2/components/data-table/DataTableHeader.vue.js +7 -0
  855. package/dist/v2/components/data-table/DataTableHeader.vue.js.map +1 -0
  856. package/dist/v2/components/data-table/DataTableHeader.vue.script.js +20 -0
  857. package/dist/v2/components/data-table/DataTableHeader.vue.script.js.map +1 -0
  858. package/dist/v2/components/data-table/DataTableInput.vue.js +9 -0
  859. package/dist/v2/components/data-table/DataTableInput.vue.js.map +1 -0
  860. package/dist/v2/components/data-table/DataTableInput.vue.script.js +160 -0
  861. package/dist/v2/components/data-table/DataTableInput.vue.script.js.map +1 -0
  862. package/dist/v2/components/data-table/DataTableInputSelect.vue.d.ts +1 -1
  863. package/dist/v2/components/data-table/DataTableInputSelect.vue.js +7 -0
  864. package/dist/v2/components/data-table/DataTableInputSelect.vue.js.map +1 -0
  865. package/dist/v2/components/data-table/DataTableInputSelect.vue.script.js +161 -0
  866. package/dist/v2/components/data-table/DataTableInputSelect.vue.script.js.map +1 -0
  867. package/dist/v2/components/data-table/DataTableRow.vue.js +13 -0
  868. package/dist/v2/components/data-table/DataTableRow.vue.js.map +1 -0
  869. package/dist/v2/components/data-table/DataTableText.vue.js +7 -0
  870. package/dist/v2/components/data-table/DataTableText.vue.js.map +1 -0
  871. package/dist/v2/components/data-table/DataTableText.vue.script.js +20 -0
  872. package/dist/v2/components/data-table/DataTableText.vue.script.js.map +1 -0
  873. package/dist/v2/components/data-table/index.d.ts +8 -8
  874. package/dist/v2/components/data-table/index.js +8 -2
  875. package/dist/v2/components/forms/ConfirmationForm.vue.js +7 -0
  876. package/dist/v2/components/forms/ConfirmationForm.vue.js.map +1 -0
  877. package/dist/v2/components/forms/ConfirmationForm.vue.script.js +40 -0
  878. package/dist/v2/components/forms/ConfirmationForm.vue.script.js.map +1 -0
  879. package/dist/v2/components/forms/index.d.ts +1 -1
  880. package/dist/v2/components/forms/index.js +1 -1
  881. package/dist/v2/components/layout/CollapsibleSection.vue.js +7 -0
  882. package/dist/v2/components/layout/CollapsibleSection.vue.js.map +1 -0
  883. package/dist/v2/components/layout/CollapsibleSection.vue.script.js +79 -0
  884. package/dist/v2/components/layout/CollapsibleSection.vue.script.js.map +1 -0
  885. package/dist/v2/components/layout/ValueEmitter.vue.js +7 -0
  886. package/dist/v2/components/layout/ValueEmitter.vue.js.map +1 -0
  887. package/dist/v2/components/layout/ValueEmitter.vue.script.js +18 -0
  888. package/dist/v2/components/layout/ValueEmitter.vue.script.js.map +1 -0
  889. package/dist/v2/components/layout/index.d.ts +1 -1
  890. package/dist/v2/components/layout/index.js +1 -1
  891. package/dist/v2/components/modals/DeleteModal.vue.js +7 -0
  892. package/dist/v2/components/modals/DeleteModal.vue.js.map +1 -0
  893. package/dist/v2/components/modals/DeleteModal.vue.script.js +36 -0
  894. package/dist/v2/components/modals/DeleteModal.vue.script.js.map +1 -0
  895. package/dist/v2/components/modals/ModalClientContainer.vue.js +9 -0
  896. package/dist/v2/components/modals/ModalClientContainer.vue.js.map +1 -0
  897. package/dist/v2/components/modals/ModalClientContainer.vue.script.js +62 -0
  898. package/dist/v2/components/modals/ModalClientContainer.vue.script.js.map +1 -0
  899. package/dist/v2/components/modals/index.d.ts +1 -1
  900. package/dist/v2/components/modals/index.js +1 -37
  901. package/dist/v2/components/resize/Resize.vue.js +10 -0
  902. package/dist/v2/components/resize/Resize.vue.js.map +1 -0
  903. package/dist/v2/components/resize/Resize.vue.script.js +52 -0
  904. package/dist/v2/components/resize/Resize.vue.script.js.map +1 -0
  905. package/dist/v2/components/resize/index.d.ts +2 -2
  906. package/dist/v2/components/resize/index.js +2 -1
  907. package/dist/v2/components/resize/use-split-resize.js +62 -0
  908. package/dist/v2/components/resize/use-split-resize.js.map +1 -0
  909. package/dist/v2/components/server/ServerDropdown.vue.js +7 -0
  910. package/dist/v2/components/server/ServerDropdown.vue.js.map +1 -0
  911. package/dist/v2/components/server/ServerDropdown.vue.script.js +95 -0
  912. package/dist/v2/components/server/ServerDropdown.vue.script.js.map +1 -0
  913. package/dist/v2/components/server/ServerDropdownItem.vue.js +9 -0
  914. package/dist/v2/components/server/ServerDropdownItem.vue.js.map +1 -0
  915. package/dist/v2/components/server/ServerDropdownItem.vue.script.js +46 -0
  916. package/dist/v2/components/server/ServerDropdownItem.vue.script.js.map +1 -0
  917. package/dist/v2/components/server/index.d.ts +1 -1
  918. package/dist/v2/components/server/index.js +1 -1
  919. package/dist/v2/components/sidebar/Sidebar.vue.js +7 -0
  920. package/dist/v2/components/sidebar/Sidebar.vue.js.map +1 -0
  921. package/dist/v2/components/sidebar/Sidebar.vue.script.js +117 -0
  922. package/dist/v2/components/sidebar/Sidebar.vue.script.js.map +1 -0
  923. package/dist/v2/components/sidebar/SidebarMenu.vue.js +7 -0
  924. package/dist/v2/components/sidebar/SidebarMenu.vue.js.map +1 -0
  925. package/dist/v2/components/sidebar/SidebarMenu.vue.script.js +52 -0
  926. package/dist/v2/components/sidebar/SidebarMenu.vue.script.js.map +1 -0
  927. package/dist/v2/components/sidebar/SidebarToggle.vue.js +7 -0
  928. package/dist/v2/components/sidebar/SidebarToggle.vue.js.map +1 -0
  929. package/dist/v2/components/sidebar/SidebarToggle.vue.script.js +54 -0
  930. package/dist/v2/components/sidebar/SidebarToggle.vue.script.js.map +1 -0
  931. package/dist/v2/components/sidebar/index.d.ts +3 -3
  932. package/dist/v2/components/sidebar/index.js +3 -2
  933. package/dist/v2/constants.js +7 -0
  934. package/dist/v2/constants.js.map +1 -0
  935. package/dist/v2/features/app/App.vue.d.ts +2 -2
  936. package/dist/v2/features/app/App.vue.d.ts.map +1 -1
  937. package/dist/v2/features/app/App.vue.js +8 -0
  938. package/dist/v2/features/app/App.vue.js.map +1 -0
  939. package/dist/v2/features/app/App.vue.script.js +177 -0
  940. package/dist/v2/features/app/App.vue.script.js.map +1 -0
  941. package/dist/v2/features/app/app-events.js +242 -0
  942. package/dist/v2/features/app/app-events.js.map +1 -0
  943. package/dist/v2/features/app/app-state.d.ts +3 -1
  944. package/dist/v2/features/app/app-state.d.ts.map +1 -1
  945. package/dist/v2/features/app/app-state.js +629 -0
  946. package/dist/v2/features/app/app-state.js.map +1 -0
  947. package/dist/v2/features/app/components/AppSidebar.vue.js +9 -0
  948. package/dist/v2/features/app/components/AppSidebar.vue.js.map +1 -0
  949. package/dist/v2/features/app/components/AppSidebar.vue.script.js +318 -0
  950. package/dist/v2/features/app/components/AppSidebar.vue.script.js.map +1 -0
  951. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js +7 -0
  952. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js.map +1 -0
  953. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js +58 -0
  954. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js.map +1 -0
  955. package/dist/v2/features/app/components/DesktopTab.vue.d.ts.map +1 -1
  956. package/dist/v2/features/app/components/DesktopTab.vue.js +9 -0
  957. package/dist/v2/features/app/components/DesktopTab.vue.js.map +1 -0
  958. package/dist/v2/features/app/components/DesktopTab.vue.script.js +121 -0
  959. package/dist/v2/features/app/components/DesktopTab.vue.script.js.map +1 -0
  960. package/dist/v2/features/app/components/DesktopTabs.vue.js +7 -0
  961. package/dist/v2/features/app/components/DesktopTabs.vue.js.map +1 -0
  962. package/dist/v2/features/app/components/DesktopTabs.vue.script.js +75 -0
  963. package/dist/v2/features/app/components/DesktopTabs.vue.script.js.map +1 -0
  964. package/dist/v2/features/app/components/DownloadAppButton.vue.js +9 -0
  965. package/dist/v2/features/app/components/DownloadAppButton.vue.js.map +1 -0
  966. package/dist/v2/features/app/components/DownloadAppButton.vue.script.js +21 -0
  967. package/dist/v2/features/app/components/DownloadAppButton.vue.script.js.map +1 -0
  968. package/dist/v2/features/app/components/SidebarItemMenu.vue.js +7 -0
  969. package/dist/v2/features/app/components/SidebarItemMenu.vue.js.map +1 -0
  970. package/dist/v2/features/app/components/SidebarItemMenu.vue.script.js +175 -0
  971. package/dist/v2/features/app/components/SidebarItemMenu.vue.script.js.map +1 -0
  972. package/dist/v2/features/app/components/SplashScreen.vue.js +9 -0
  973. package/dist/v2/features/app/components/SplashScreen.vue.js.map +1 -0
  974. package/dist/v2/features/app/components/SplashScreen.vue.script.js +20 -0
  975. package/dist/v2/features/app/components/SplashScreen.vue.script.js.map +1 -0
  976. package/dist/v2/features/app/components/index.d.ts +1 -1
  977. package/dist/v2/features/app/components/index.js +1 -9
  978. package/dist/v2/features/app/helpers/create-api-client-app.d.ts +6 -2
  979. package/dist/v2/features/app/helpers/create-api-client-app.d.ts.map +1 -1
  980. package/dist/v2/features/app/helpers/create-api-client-app.js +54 -0
  981. package/dist/v2/features/app/helpers/create-api-client-app.js.map +1 -0
  982. package/dist/v2/features/app/helpers/filter-workspaces.js +55 -0
  983. package/dist/v2/features/app/helpers/filter-workspaces.js.map +1 -0
  984. package/dist/v2/features/app/helpers/get-route-param.d.ts +1 -1
  985. package/dist/v2/features/app/helpers/get-route-param.js +12 -0
  986. package/dist/v2/features/app/helpers/get-route-param.js.map +1 -0
  987. package/dist/v2/features/app/helpers/group-workspaces.js +38 -0
  988. package/dist/v2/features/app/helpers/group-workspaces.js.map +1 -0
  989. package/dist/v2/features/app/helpers/routes.d.ts +9 -3
  990. package/dist/v2/features/app/helpers/routes.d.ts.map +1 -1
  991. package/dist/v2/features/app/helpers/routes.js +133 -0
  992. package/dist/v2/features/app/helpers/routes.js.map +1 -0
  993. package/dist/v2/features/app/hooks/use-document-watcher.js +168 -0
  994. package/dist/v2/features/app/hooks/use-document-watcher.js.map +1 -0
  995. package/dist/v2/features/app/hooks/use-theme.d.ts +1 -1
  996. package/dist/v2/features/app/hooks/use-theme.js +94 -0
  997. package/dist/v2/features/app/hooks/use-theme.js.map +1 -0
  998. package/dist/v2/features/app/index.d.ts +7 -7
  999. package/dist/v2/features/app/index.js +7 -3161
  1000. package/dist/v2/features/collection/DocumentCollection.vue.d.ts +1 -1
  1001. package/dist/v2/features/collection/DocumentCollection.vue.d.ts.map +1 -1
  1002. package/dist/v2/features/collection/DocumentCollection.vue.js +8 -0
  1003. package/dist/v2/features/collection/DocumentCollection.vue.js.map +1 -0
  1004. package/dist/v2/features/collection/DocumentCollection.vue.script.js +362 -0
  1005. package/dist/v2/features/collection/DocumentCollection.vue.script.js.map +1 -0
  1006. package/dist/v2/features/collection/OperationCollection.vue.d.ts +1 -1
  1007. package/dist/v2/features/collection/OperationCollection.vue.js +7 -0
  1008. package/dist/v2/features/collection/OperationCollection.vue.js.map +1 -0
  1009. package/dist/v2/features/collection/OperationCollection.vue.script.js +94 -0
  1010. package/dist/v2/features/collection/OperationCollection.vue.script.js.map +1 -0
  1011. package/dist/v2/features/collection/WorkspaceCollection.vue.d.ts +1 -1
  1012. package/dist/v2/features/collection/WorkspaceCollection.vue.js +7 -0
  1013. package/dist/v2/features/collection/WorkspaceCollection.vue.js.map +1 -0
  1014. package/dist/v2/features/collection/WorkspaceCollection.vue.script.js +73 -0
  1015. package/dist/v2/features/collection/WorkspaceCollection.vue.script.js.map +1 -0
  1016. package/dist/v2/features/collection/components/Authentication.vue.d.ts +4 -4
  1017. package/dist/v2/features/collection/components/Authentication.vue.js +9 -0
  1018. package/dist/v2/features/collection/components/Authentication.vue.js.map +1 -0
  1019. package/dist/v2/features/collection/components/Authentication.vue.script.js +166 -0
  1020. package/dist/v2/features/collection/components/Authentication.vue.script.js.map +1 -0
  1021. package/dist/v2/features/collection/components/Cookies.vue.d.ts +4 -4
  1022. package/dist/v2/features/collection/components/Cookies.vue.js +7 -0
  1023. package/dist/v2/features/collection/components/Cookies.vue.js.map +1 -0
  1024. package/dist/v2/features/collection/components/Cookies.vue.script.js +57 -0
  1025. package/dist/v2/features/collection/components/Cookies.vue.script.js.map +1 -0
  1026. package/dist/v2/features/collection/components/Editor/Editor.vue.d.ts +4 -4
  1027. package/dist/v2/features/collection/components/Editor/Editor.vue.js +9 -0
  1028. package/dist/v2/features/collection/components/Editor/Editor.vue.js.map +1 -0
  1029. package/dist/v2/features/collection/components/Editor/Editor.vue.script.js +360 -0
  1030. package/dist/v2/features/collection/components/Editor/Editor.vue.script.js.map +1 -0
  1031. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js +7 -0
  1032. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js.map +1 -0
  1033. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.script.js +69 -0
  1034. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.script.js.map +1 -0
  1035. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js +7 -0
  1036. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js.map +1 -0
  1037. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.script.js +91 -0
  1038. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.script.js.map +1 -0
  1039. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js +22 -0
  1040. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js.map +1 -0
  1041. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js +17 -0
  1042. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js.map +1 -0
  1043. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js +17 -0
  1044. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js.map +1 -0
  1045. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js +34 -0
  1046. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js.map +1 -0
  1047. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js +18 -0
  1048. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js.map +1 -0
  1049. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js +36 -0
  1050. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js.map +1 -0
  1051. package/dist/v2/features/collection/components/Editor/index.d.ts +1 -1
  1052. package/dist/v2/features/collection/components/Editor/index.js +1 -1
  1053. package/dist/v2/features/collection/components/Environment.vue.d.ts +4 -4
  1054. package/dist/v2/features/collection/components/Environment.vue.js +7 -0
  1055. package/dist/v2/features/collection/components/Environment.vue.js.map +1 -0
  1056. package/dist/v2/features/collection/components/Environment.vue.script.js +60 -0
  1057. package/dist/v2/features/collection/components/Environment.vue.script.js.map +1 -0
  1058. package/dist/v2/features/collection/components/Form.vue.js +7 -0
  1059. package/dist/v2/features/collection/components/Form.vue.js.map +1 -0
  1060. package/dist/v2/features/collection/components/Form.vue.script.js +75 -0
  1061. package/dist/v2/features/collection/components/Form.vue.script.js.map +1 -0
  1062. package/dist/v2/features/collection/components/LabelInput.vue.js +9 -0
  1063. package/dist/v2/features/collection/components/LabelInput.vue.js.map +1 -0
  1064. package/dist/v2/features/collection/components/LabelInput.vue.script.js +38 -0
  1065. package/dist/v2/features/collection/components/LabelInput.vue.script.js.map +1 -0
  1066. package/dist/v2/features/collection/components/Overview.vue.d.ts +4 -4
  1067. package/dist/v2/features/collection/components/Overview.vue.js +9 -0
  1068. package/dist/v2/features/collection/components/Overview.vue.js.map +1 -0
  1069. package/dist/v2/features/collection/components/Overview.vue.script.js +203 -0
  1070. package/dist/v2/features/collection/components/Overview.vue.script.js.map +1 -0
  1071. package/dist/v2/features/collection/components/Servers.vue.d.ts +4 -4
  1072. package/dist/v2/features/collection/components/Servers.vue.js +7 -0
  1073. package/dist/v2/features/collection/components/Servers.vue.js.map +1 -0
  1074. package/dist/v2/features/collection/components/Servers.vue.script.js +217 -0
  1075. package/dist/v2/features/collection/components/Servers.vue.script.js.map +1 -0
  1076. package/dist/v2/features/collection/components/Settings.vue.d.ts +4 -4
  1077. package/dist/v2/features/collection/components/Settings.vue.d.ts.map +1 -1
  1078. package/dist/v2/features/collection/components/Settings.vue.js +7 -0
  1079. package/dist/v2/features/collection/components/Settings.vue.js.map +1 -0
  1080. package/dist/v2/features/collection/components/Settings.vue.script.js +80 -0
  1081. package/dist/v2/features/collection/components/Settings.vue.script.js.map +1 -0
  1082. package/dist/v2/features/collection/components/SyncConflictResolutionEditor.vue.js +9 -0
  1083. package/dist/v2/features/collection/components/SyncConflictResolutionEditor.vue.js.map +1 -0
  1084. package/dist/v2/features/collection/components/SyncConflictResolutionEditor.vue.script.js +136 -0
  1085. package/dist/v2/features/collection/components/SyncConflictResolutionEditor.vue.script.js.map +1 -0
  1086. package/dist/v2/features/collection/components/Tabs.vue.d.ts +1 -1
  1087. package/dist/v2/features/collection/components/Tabs.vue.js +7 -0
  1088. package/dist/v2/features/collection/components/Tabs.vue.js.map +1 -0
  1089. package/dist/v2/features/collection/components/Tabs.vue.script.js +53 -0
  1090. package/dist/v2/features/collection/components/Tabs.vue.script.js.map +1 -0
  1091. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js +19 -0
  1092. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js.map +1 -0
  1093. package/dist/v2/features/command-palette/TheCommandPalette.vue.d.ts +1 -1
  1094. package/dist/v2/features/command-palette/TheCommandPalette.vue.js +9 -0
  1095. package/dist/v2/features/command-palette/TheCommandPalette.vue.js.map +1 -0
  1096. package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js +189 -0
  1097. package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js.map +1 -0
  1098. package/dist/v2/features/command-palette/components/CommandActionForm.vue.js +7 -0
  1099. package/dist/v2/features/command-palette/components/CommandActionForm.vue.js.map +1 -0
  1100. package/dist/v2/features/command-palette/components/CommandActionForm.vue.script.js +47 -0
  1101. package/dist/v2/features/command-palette/components/CommandActionForm.vue.script.js.map +1 -0
  1102. package/dist/v2/features/command-palette/components/CommandActionInput.vue.js +7 -0
  1103. package/dist/v2/features/command-palette/components/CommandActionInput.vue.js.map +1 -0
  1104. package/dist/v2/features/command-palette/components/CommandActionInput.vue.script.js +73 -0
  1105. package/dist/v2/features/command-palette/components/CommandActionInput.vue.script.js.map +1 -0
  1106. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js +7 -0
  1107. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js.map +1 -0
  1108. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.script.js +207 -0
  1109. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.script.js.map +1 -0
  1110. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts +3 -23
  1111. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts.map +1 -1
  1112. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js +7 -0
  1113. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js.map +1 -0
  1114. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js +206 -0
  1115. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js.map +1 -0
  1116. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js +9 -0
  1117. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js.map +1 -0
  1118. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.script.js +125 -0
  1119. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.script.js.map +1 -0
  1120. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts +30 -0
  1121. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts.map +1 -0
  1122. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js +7 -0
  1123. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js.map +1 -0
  1124. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js +151 -0
  1125. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js.map +1 -0
  1126. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js +7 -0
  1127. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js.map +1 -0
  1128. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js +89 -0
  1129. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js.map +1 -0
  1130. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js +7 -0
  1131. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js.map +1 -0
  1132. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.script.js +226 -0
  1133. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.script.js.map +1 -0
  1134. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js +7 -0
  1135. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js.map +1 -0
  1136. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.script.js +126 -0
  1137. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.script.js.map +1 -0
  1138. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.d.ts +58 -0
  1139. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.d.ts.map +1 -0
  1140. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js +9 -0
  1141. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js.map +1 -0
  1142. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js +142 -0
  1143. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js.map +1 -0
  1144. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.d.ts +23 -0
  1145. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.d.ts.map +1 -0
  1146. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.js +9 -0
  1147. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.js.map +1 -0
  1148. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.script.js +138 -0
  1149. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.script.js.map +1 -0
  1150. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js +7 -0
  1151. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js.map +1 -0
  1152. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.script.js +39 -0
  1153. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.script.js.map +1 -0
  1154. package/dist/v2/features/command-palette/helpers/generate-unique-slug.js +29 -0
  1155. package/dist/v2/features/command-palette/helpers/generate-unique-slug.js.map +1 -0
  1156. package/dist/v2/features/command-palette/helpers/get-merge-key.d.ts +11 -0
  1157. package/dist/v2/features/command-palette/helpers/get-merge-key.d.ts.map +1 -0
  1158. package/dist/v2/features/command-palette/helpers/get-merge-key.js +32 -0
  1159. package/dist/v2/features/command-palette/helpers/get-merge-key.js.map +1 -0
  1160. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js +56 -0
  1161. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js.map +1 -0
  1162. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.d.ts +2 -1
  1163. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.d.ts.map +1 -1
  1164. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js +22 -0
  1165. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js.map +1 -0
  1166. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js +119 -0
  1167. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js.map +1 -0
  1168. package/dist/v2/features/command-palette/helpers/get-postman-document-details.d.ts +4 -0
  1169. package/dist/v2/features/command-palette/helpers/get-postman-document-details.d.ts.map +1 -1
  1170. package/dist/v2/features/command-palette/helpers/get-postman-document-details.js +36 -0
  1171. package/dist/v2/features/command-palette/helpers/get-postman-document-details.js.map +1 -0
  1172. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js +70 -0
  1173. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js.map +1 -0
  1174. package/dist/v2/features/command-palette/helpers/is-postman-collection.js +24 -0
  1175. package/dist/v2/features/command-palette/helpers/is-postman-collection.js.map +1 -0
  1176. package/dist/v2/features/command-palette/helpers/load-document-from-source.js +71 -0
  1177. package/dist/v2/features/command-palette/helpers/load-document-from-source.js.map +1 -0
  1178. package/dist/v2/features/command-palette/helpers/postman-request-collisions.d.ts +11 -0
  1179. package/dist/v2/features/command-palette/helpers/postman-request-collisions.d.ts.map +1 -0
  1180. package/dist/v2/features/command-palette/helpers/postman-request-collisions.js +35 -0
  1181. package/dist/v2/features/command-palette/helpers/postman-request-collisions.js.map +1 -0
  1182. package/dist/v2/features/command-palette/helpers/postman-request-tree.d.ts +41 -0
  1183. package/dist/v2/features/command-palette/helpers/postman-request-tree.d.ts.map +1 -0
  1184. package/dist/v2/features/command-palette/helpers/postman-request-tree.js +139 -0
  1185. package/dist/v2/features/command-palette/helpers/postman-request-tree.js.map +1 -0
  1186. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts +38 -2
  1187. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts.map +1 -1
  1188. package/dist/v2/features/command-palette/hooks/use-command-palette-state.js +207 -0
  1189. package/dist/v2/features/command-palette/hooks/use-command-palette-state.js.map +1 -0
  1190. package/dist/v2/features/command-palette/index.d.ts +2 -2
  1191. package/dist/v2/features/command-palette/index.js +2 -2
  1192. package/dist/v2/features/editor/config.js +19 -0
  1193. package/dist/v2/features/editor/config.js.map +1 -0
  1194. package/dist/v2/features/editor/helpers/configure-language-support.js +48 -0
  1195. package/dist/v2/features/editor/helpers/configure-language-support.js.map +1 -0
  1196. package/dist/v2/features/editor/helpers/ensure-monaco-environment.js +21 -0
  1197. package/dist/v2/features/editor/helpers/ensure-monaco-environment.js.map +1 -0
  1198. package/dist/v2/features/editor/helpers/json/create-json-model.js +31 -0
  1199. package/dist/v2/features/editor/helpers/json/create-json-model.js.map +1 -0
  1200. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts +1 -1
  1201. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js +22 -0
  1202. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js.map +1 -0
  1203. package/dist/v2/features/editor/helpers/json/json-ast.js +32 -0
  1204. package/dist/v2/features/editor/helpers/json/json-ast.js.map +1 -0
  1205. package/dist/v2/features/editor/helpers/json/json-pointer-links.js +104 -0
  1206. package/dist/v2/features/editor/helpers/json/json-pointer-links.js.map +1 -0
  1207. package/dist/v2/features/editor/helpers/json/json-pointer-path.d.ts +1 -1
  1208. package/dist/v2/features/editor/helpers/json/json-pointer-path.js +27 -0
  1209. package/dist/v2/features/editor/helpers/json/json-pointer-path.js.map +1 -0
  1210. package/dist/v2/features/editor/helpers/range-to-whole-line.js +27 -0
  1211. package/dist/v2/features/editor/helpers/range-to-whole-line.js.map +1 -0
  1212. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js +84 -0
  1213. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js.map +1 -0
  1214. package/dist/v2/features/editor/helpers/theme/load-css-variables.js +41 -0
  1215. package/dist/v2/features/editor/helpers/theme/load-css-variables.js.map +1 -0
  1216. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js +32 -0
  1217. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js.map +1 -0
  1218. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js +70 -0
  1219. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js.map +1 -0
  1220. package/dist/v2/features/editor/hooks/use-editor-markers.js +37 -0
  1221. package/dist/v2/features/editor/hooks/use-editor-markers.js.map +1 -0
  1222. package/dist/v2/features/editor/hooks/use-editor.js +133 -0
  1223. package/dist/v2/features/editor/hooks/use-editor.js.map +1 -0
  1224. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js +45 -0
  1225. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js.map +1 -0
  1226. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js +396 -0
  1227. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js.map +1 -0
  1228. package/dist/v2/features/editor/index.d.ts +4 -4
  1229. package/dist/v2/features/editor/index.js +4 -1
  1230. package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js +51 -0
  1231. package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js.map +1 -0
  1232. package/dist/v2/features/environments/EnvironmentsList.vue.js +7 -0
  1233. package/dist/v2/features/environments/EnvironmentsList.vue.js.map +1 -0
  1234. package/dist/v2/features/environments/EnvironmentsList.vue.script.js +96 -0
  1235. package/dist/v2/features/environments/EnvironmentsList.vue.script.js.map +1 -0
  1236. package/dist/v2/features/environments/components/Environment.vue.js +7 -0
  1237. package/dist/v2/features/environments/components/Environment.vue.js.map +1 -0
  1238. package/dist/v2/features/environments/components/Environment.vue.script.js +65 -0
  1239. package/dist/v2/features/environments/components/Environment.vue.script.js.map +1 -0
  1240. package/dist/v2/features/environments/components/EnvironmentColors.vue.js +7 -0
  1241. package/dist/v2/features/environments/components/EnvironmentColors.vue.js.map +1 -0
  1242. package/dist/v2/features/environments/components/EnvironmentColors.vue.script.js +158 -0
  1243. package/dist/v2/features/environments/components/EnvironmentColors.vue.script.js.map +1 -0
  1244. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.js +7 -0
  1245. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.js.map +1 -0
  1246. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.script.js +97 -0
  1247. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.script.js.map +1 -0
  1248. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.js +7 -0
  1249. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.js.map +1 -0
  1250. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.script.js +50 -0
  1251. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.script.js.map +1 -0
  1252. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.js +7 -0
  1253. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.js.map +1 -0
  1254. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.script.js +113 -0
  1255. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.script.js.map +1 -0
  1256. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.js +9 -0
  1257. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.js.map +1 -0
  1258. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.script.js +152 -0
  1259. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.script.js.map +1 -0
  1260. package/dist/v2/features/environments/index.d.ts +1 -1
  1261. package/dist/v2/features/environments/index.js +1 -3
  1262. package/dist/v2/features/global-cookies/components/CookiesTable.vue.js +9 -0
  1263. package/dist/v2/features/global-cookies/components/CookiesTable.vue.js.map +1 -0
  1264. package/dist/v2/features/global-cookies/components/CookiesTable.vue.script.js +186 -0
  1265. package/dist/v2/features/global-cookies/components/CookiesTable.vue.script.js.map +1 -0
  1266. package/dist/v2/features/global-cookies/index.d.ts +1 -1
  1267. package/dist/v2/features/global-cookies/index.js +1 -3
  1268. package/dist/v2/features/modal/Modal.vue.d.ts +4 -2
  1269. package/dist/v2/features/modal/Modal.vue.d.ts.map +1 -1
  1270. package/dist/v2/features/modal/Modal.vue.js +7 -0
  1271. package/dist/v2/features/modal/Modal.vue.js.map +1 -0
  1272. package/dist/v2/features/modal/Modal.vue.script.js +151 -0
  1273. package/dist/v2/features/modal/Modal.vue.script.js.map +1 -0
  1274. package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts +2 -2
  1275. package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts.map +1 -1
  1276. package/dist/v2/features/modal/helpers/create-api-client-modal.js +103 -0
  1277. package/dist/v2/features/modal/helpers/create-api-client-modal.js.map +1 -0
  1278. package/dist/v2/features/modal/helpers/map-hidden-clients-config.js +32 -0
  1279. package/dist/v2/features/modal/helpers/map-hidden-clients-config.js.map +1 -0
  1280. package/dist/v2/features/modal/helpers/resolve-route-parameters.js +92 -0
  1281. package/dist/v2/features/modal/helpers/resolve-route-parameters.js.map +1 -0
  1282. package/dist/v2/features/modal/helpers/restore-workspace-state.js +51 -0
  1283. package/dist/v2/features/modal/helpers/restore-workspace-state.js.map +1 -0
  1284. package/dist/v2/features/modal/hooks/use-modal-sidebar.d.ts +1 -1
  1285. package/dist/v2/features/modal/hooks/use-modal-sidebar.js +142 -0
  1286. package/dist/v2/features/modal/hooks/use-modal-sidebar.js.map +1 -0
  1287. package/dist/v2/features/modal/index.d.ts +3 -3
  1288. package/dist/v2/features/modal/index.js +3 -639
  1289. package/dist/v2/features/modal/modal-events.d.ts +3 -2
  1290. package/dist/v2/features/modal/modal-events.d.ts.map +1 -1
  1291. package/dist/v2/features/modal/modal-events.js +43 -0
  1292. package/dist/v2/features/modal/modal-events.js.map +1 -0
  1293. package/dist/v2/features/operation/Operation.vue.d.ts +6 -2
  1294. package/dist/v2/features/operation/Operation.vue.d.ts.map +1 -1
  1295. package/dist/v2/features/operation/Operation.vue.js +7 -0
  1296. package/dist/v2/features/operation/Operation.vue.js.map +1 -0
  1297. package/dist/v2/features/operation/Operation.vue.script.js +185 -0
  1298. package/dist/v2/features/operation/Operation.vue.script.js.map +1 -0
  1299. package/dist/v2/features/operation/helpers/combine-params.js +20 -0
  1300. package/dist/v2/features/operation/helpers/combine-params.js.map +1 -0
  1301. package/dist/v2/features/operation/helpers/get-security-requirements.js +17 -0
  1302. package/dist/v2/features/operation/helpers/get-security-requirements.js.map +1 -0
  1303. package/dist/v2/features/operation/helpers/get-selected-security.js +41 -0
  1304. package/dist/v2/features/operation/helpers/get-selected-security.js.map +1 -0
  1305. package/dist/v2/features/operation/helpers/get-selected-server.js +21 -0
  1306. package/dist/v2/features/operation/helpers/get-selected-server.js.map +1 -0
  1307. package/dist/v2/features/operation/index.d.ts +5 -5
  1308. package/dist/v2/features/operation/index.js +5 -18
  1309. package/dist/v2/features/search/helpers/create-fuse-instance.js +52 -0
  1310. package/dist/v2/features/search/helpers/create-fuse-instance.js.map +1 -0
  1311. package/dist/v2/features/search/helpers/create-search-index.js +76 -0
  1312. package/dist/v2/features/search/helpers/create-search-index.js.map +1 -0
  1313. package/dist/v2/features/search/hooks/use-search-index.js +31 -0
  1314. package/dist/v2/features/search/hooks/use-search-index.js.map +1 -0
  1315. package/dist/v2/features/search/index.d.ts +1 -1
  1316. package/dist/v2/features/search/index.js +1 -1
  1317. package/dist/v2/features/settings/CollectionSettings.vue.d.ts +4 -0
  1318. package/dist/v2/features/settings/CollectionSettings.vue.d.ts.map +1 -1
  1319. package/dist/v2/features/settings/CollectionSettings.vue.js +7 -0
  1320. package/dist/v2/features/settings/CollectionSettings.vue.js.map +1 -0
  1321. package/dist/v2/features/settings/CollectionSettings.vue.script.js +229 -0
  1322. package/dist/v2/features/settings/CollectionSettings.vue.script.js.map +1 -0
  1323. package/dist/v2/features/settings/DocumentSettings.vue.js +7 -0
  1324. package/dist/v2/features/settings/DocumentSettings.vue.js.map +1 -0
  1325. package/dist/v2/features/settings/DocumentSettings.vue.script.js +92 -0
  1326. package/dist/v2/features/settings/DocumentSettings.vue.script.js.map +1 -0
  1327. package/dist/v2/features/settings/components/Appearance.vue.js +7 -0
  1328. package/dist/v2/features/settings/components/Appearance.vue.js.map +1 -0
  1329. package/dist/v2/features/settings/components/Appearance.vue.script.js +63 -0
  1330. package/dist/v2/features/settings/components/Appearance.vue.script.js.map +1 -0
  1331. package/dist/v2/features/settings/components/Section.vue.js +7 -0
  1332. package/dist/v2/features/settings/components/Section.vue.js.map +1 -0
  1333. package/dist/v2/features/settings/components/Section.vue.script.js +30 -0
  1334. package/dist/v2/features/settings/components/Section.vue.script.js.map +1 -0
  1335. package/dist/v2/features/settings/helpers/get-theme-colors.js +68 -0
  1336. package/dist/v2/features/settings/helpers/get-theme-colors.js.map +1 -0
  1337. package/dist/v2/features/settings/index.d.ts +2 -2
  1338. package/dist/v2/features/settings/index.js +2 -1
  1339. package/dist/v2/helpers/download-document.d.ts +2 -0
  1340. package/dist/v2/helpers/download-document.d.ts.map +1 -0
  1341. package/dist/v2/helpers/download-document.js +42 -0
  1342. package/dist/v2/helpers/download-document.js.map +1 -0
  1343. package/dist/v2/helpers/drag-handle-factory.d.ts.map +1 -1
  1344. package/dist/v2/helpers/drag-handle-factory.js +258 -0
  1345. package/dist/v2/helpers/drag-handle-factory.js.map +1 -0
  1346. package/dist/v2/helpers/generate-location-id.js +25 -0
  1347. package/dist/v2/helpers/generate-location-id.js.map +1 -0
  1348. package/dist/v2/helpers/get-active-environment.js +19 -0
  1349. package/dist/v2/helpers/get-active-environment.js.map +1 -0
  1350. package/dist/v2/helpers/get-active-proxy-url.js +26 -0
  1351. package/dist/v2/helpers/get-active-proxy-url.js.map +1 -0
  1352. package/dist/v2/helpers/get-servers.js +106 -0
  1353. package/dist/v2/helpers/get-servers.js.map +1 -0
  1354. package/dist/v2/helpers/get-tab-details.d.ts +1 -1
  1355. package/dist/v2/helpers/get-tab-details.js +54 -0
  1356. package/dist/v2/helpers/get-tab-details.js.map +1 -0
  1357. package/dist/v2/helpers/handle-hotkeys.js +151 -0
  1358. package/dist/v2/helpers/handle-hotkeys.js.map +1 -0
  1359. package/dist/v2/helpers/index.d.ts +2 -2
  1360. package/dist/v2/helpers/index.js +2 -2
  1361. package/dist/v2/helpers/is-url.js +9 -0
  1362. package/dist/v2/helpers/is-url.js.map +1 -0
  1363. package/dist/v2/helpers/slugify.js +15 -0
  1364. package/dist/v2/helpers/slugify.js.map +1 -0
  1365. package/dist/v2/helpers/storage.d.ts +8 -0
  1366. package/dist/v2/helpers/storage.d.ts.map +1 -1
  1367. package/dist/v2/helpers/storage.js +37 -0
  1368. package/dist/v2/helpers/storage.js.map +1 -0
  1369. package/dist/v2/hooks/use-color-mode.js +72 -0
  1370. package/dist/v2/hooks/use-color-mode.js.map +1 -0
  1371. package/dist/v2/hooks/use-global-hot-keys.js +22 -0
  1372. package/dist/v2/hooks/use-global-hot-keys.js.map +1 -0
  1373. package/dist/v2/hooks/use-scroll-lock.js +58 -0
  1374. package/dist/v2/hooks/use-scroll-lock.js.map +1 -0
  1375. package/dist/v2/posthog.d.ts +3 -0
  1376. package/dist/v2/posthog.d.ts.map +1 -0
  1377. package/dist/v2/posthog.js +19 -0
  1378. package/dist/v2/posthog.js.map +1 -0
  1379. package/dist/v2/workspace-events.js +109 -0
  1380. package/dist/v2/workspace-events.js.map +1 -0
  1381. package/dist/views/Collection/Collection.vue.js +7 -0
  1382. package/dist/views/Collection/Collection.vue.js.map +1 -0
  1383. package/dist/views/Collection/Collection.vue.script.js +46 -0
  1384. package/dist/views/Collection/Collection.vue.script.js.map +1 -0
  1385. package/dist/views/Collection/CollectionAuthentication.vue.js +9 -0
  1386. package/dist/views/Collection/CollectionAuthentication.vue.js.map +1 -0
  1387. package/dist/views/Collection/CollectionAuthentication.vue.script.js +52 -0
  1388. package/dist/views/Collection/CollectionAuthentication.vue.script.js.map +1 -0
  1389. package/dist/views/Collection/CollectionCookies.vue.js +7 -0
  1390. package/dist/views/Collection/CollectionCookies.vue.js.map +1 -0
  1391. package/dist/views/Collection/CollectionCookies.vue.script.js +18 -0
  1392. package/dist/views/Collection/CollectionCookies.vue.script.js.map +1 -0
  1393. package/dist/views/Collection/CollectionEnvironment.vue.js +8 -0
  1394. package/dist/views/Collection/CollectionEnvironment.vue.js.map +1 -0
  1395. package/dist/views/Collection/CollectionEnvironment.vue.script.js +238 -0
  1396. package/dist/views/Collection/CollectionEnvironment.vue.script.js.map +1 -0
  1397. package/dist/views/Collection/CollectionInfoForm.vue.js +9 -0
  1398. package/dist/views/Collection/CollectionInfoForm.vue.js.map +1 -0
  1399. package/dist/views/Collection/CollectionInfoForm.vue.script.js +73 -0
  1400. package/dist/views/Collection/CollectionInfoForm.vue.script.js.map +1 -0
  1401. package/dist/views/Collection/CollectionNavigation.vue.js +7 -0
  1402. package/dist/views/Collection/CollectionNavigation.vue.js.map +1 -0
  1403. package/dist/views/Collection/CollectionNavigation.vue.script.js +75 -0
  1404. package/dist/views/Collection/CollectionNavigation.vue.script.js.map +1 -0
  1405. package/dist/views/Collection/CollectionOverview.vue.js +7 -0
  1406. package/dist/views/Collection/CollectionOverview.vue.js.map +1 -0
  1407. package/dist/views/Collection/CollectionOverview.vue.script.js +42 -0
  1408. package/dist/views/Collection/CollectionOverview.vue.script.js.map +1 -0
  1409. package/dist/views/Collection/CollectionScripts.vue.js +7 -0
  1410. package/dist/views/Collection/CollectionScripts.vue.js.map +1 -0
  1411. package/dist/views/Collection/CollectionScripts.vue.script.js +18 -0
  1412. package/dist/views/Collection/CollectionScripts.vue.script.js.map +1 -0
  1413. package/dist/views/Collection/CollectionServerForm.vue.js +7 -0
  1414. package/dist/views/Collection/CollectionServerForm.vue.js.map +1 -0
  1415. package/dist/views/Collection/CollectionServerForm.vue.script.js +76 -0
  1416. package/dist/views/Collection/CollectionServerForm.vue.script.js.map +1 -0
  1417. package/dist/views/Collection/CollectionServers.vue.js +7 -0
  1418. package/dist/views/Collection/CollectionServers.vue.js.map +1 -0
  1419. package/dist/views/Collection/CollectionServers.vue.script.js +95 -0
  1420. package/dist/views/Collection/CollectionServers.vue.script.js.map +1 -0
  1421. package/dist/views/Collection/CollectionSettings.vue.js +7 -0
  1422. package/dist/views/Collection/CollectionSettings.vue.js.map +1 -0
  1423. package/dist/views/Collection/CollectionSettings.vue.script.js +87 -0
  1424. package/dist/views/Collection/CollectionSettings.vue.script.js.map +1 -0
  1425. package/dist/views/Collection/CollectionSync.vue.js +7 -0
  1426. package/dist/views/Collection/CollectionSync.vue.js.map +1 -0
  1427. package/dist/views/Collection/CollectionSync.vue.script.js +18 -0
  1428. package/dist/views/Collection/CollectionSync.vue.script.js.map +1 -0
  1429. package/dist/views/Collection/components/EnvironmentForm.vue.d.ts +1 -1
  1430. package/dist/views/Collection/components/EnvironmentForm.vue.js +9 -0
  1431. package/dist/views/Collection/components/EnvironmentForm.vue.js.map +1 -0
  1432. package/dist/views/Collection/components/EnvironmentForm.vue.script.js +284 -0
  1433. package/dist/views/Collection/components/EnvironmentForm.vue.script.js.map +1 -0
  1434. package/dist/views/Collection/components/MarkdownInput.vue.d.ts +1 -1
  1435. package/dist/views/Collection/components/MarkdownInput.vue.js +9 -0
  1436. package/dist/views/Collection/components/MarkdownInput.vue.js.map +1 -0
  1437. package/dist/views/Collection/components/MarkdownInput.vue.script.js +92 -0
  1438. package/dist/views/Collection/components/MarkdownInput.vue.script.js.map +1 -0
  1439. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.d.ts +1 -1
  1440. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.js +7 -0
  1441. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.js.map +1 -0
  1442. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.script.js +74 -0
  1443. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.script.js.map +1 -0
  1444. package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.js +66 -0
  1445. package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.js.map +1 -0
  1446. package/dist/views/Components/CodeSnippet/helpers/get-har-request.d.ts +1 -1
  1447. package/dist/views/Components/CodeSnippet/helpers/get-har-request.js +86 -0
  1448. package/dist/views/Components/CodeSnippet/helpers/get-har-request.js.map +1 -0
  1449. package/dist/views/Components/CodeSnippet/helpers/get-snippet.d.ts +1 -1
  1450. package/dist/views/Components/CodeSnippet/helpers/get-snippet.js +39 -0
  1451. package/dist/views/Components/CodeSnippet/helpers/get-snippet.js.map +1 -0
  1452. package/dist/views/Components/CodeSnippet/index.d.ts +4 -4
  1453. package/dist/views/Components/CodeSnippet/index.js +4 -2
  1454. package/dist/views/Cookies/CookieForm.vue.js +7 -0
  1455. package/dist/views/Cookies/CookieForm.vue.js.map +1 -0
  1456. package/dist/views/Cookies/CookieForm.vue.script.js +50 -0
  1457. package/dist/views/Cookies/CookieForm.vue.script.js.map +1 -0
  1458. package/dist/views/Cookies/CookieModal.vue.js +9 -0
  1459. package/dist/views/Cookies/CookieModal.vue.js.map +1 -0
  1460. package/dist/views/Cookies/CookieModal.vue.script.js +83 -0
  1461. package/dist/views/Cookies/CookieModal.vue.script.js.map +1 -0
  1462. package/dist/views/Cookies/Cookies.vue.js +7 -0
  1463. package/dist/views/Cookies/Cookies.vue.js.map +1 -0
  1464. package/dist/views/Cookies/Cookies.vue.script.js +156 -0
  1465. package/dist/views/Cookies/Cookies.vue.script.js.map +1 -0
  1466. package/dist/views/Environment/Environment.vue.js +7 -0
  1467. package/dist/views/Environment/Environment.vue.js.map +1 -0
  1468. package/dist/views/Environment/Environment.vue.script.js +384 -0
  1469. package/dist/views/Environment/Environment.vue.script.js.map +1 -0
  1470. package/dist/views/Environment/EnvironmentColorModal.vue.js +7 -0
  1471. package/dist/views/Environment/EnvironmentColorModal.vue.js.map +1 -0
  1472. package/dist/views/Environment/EnvironmentColorModal.vue.script.js +47 -0
  1473. package/dist/views/Environment/EnvironmentColorModal.vue.script.js.map +1 -0
  1474. package/dist/views/Environment/EnvironmentColors.vue.js +7 -0
  1475. package/dist/views/Environment/EnvironmentColors.vue.js.map +1 -0
  1476. package/dist/views/Environment/EnvironmentColors.vue.script.js +126 -0
  1477. package/dist/views/Environment/EnvironmentColors.vue.script.js.map +1 -0
  1478. package/dist/views/Environment/EnvironmentModal.vue.js +7 -0
  1479. package/dist/views/Environment/EnvironmentModal.vue.js.map +1 -0
  1480. package/dist/views/Environment/EnvironmentModal.vue.script.js +122 -0
  1481. package/dist/views/Environment/EnvironmentModal.vue.script.js.map +1 -0
  1482. package/dist/views/Environment/EnvironmentVariableDropdown.vue.d.ts +1 -1
  1483. package/dist/views/Environment/EnvironmentVariableDropdown.vue.js +7 -0
  1484. package/dist/views/Environment/EnvironmentVariableDropdown.vue.js.map +1 -0
  1485. package/dist/views/Environment/EnvironmentVariableDropdown.vue.script.js +133 -0
  1486. package/dist/views/Environment/EnvironmentVariableDropdown.vue.script.js.map +1 -0
  1487. package/dist/views/Environment/handle-drag.d.ts +1 -1
  1488. package/dist/views/Environment/handle-drag.js +38 -0
  1489. package/dist/views/Environment/handle-drag.js.map +1 -0
  1490. package/dist/views/Request/Request.vue.d.ts +1 -1
  1491. package/dist/views/Request/Request.vue.js +9 -0
  1492. package/dist/views/Request/Request.vue.js.map +1 -0
  1493. package/dist/views/Request/Request.vue.script.js +117 -0
  1494. package/dist/views/Request/Request.vue.script.js.map +1 -0
  1495. package/dist/views/Request/RequestRoot.vue.d.ts.map +1 -1
  1496. package/dist/views/Request/RequestRoot.vue.js +9 -0
  1497. package/dist/views/Request/RequestRoot.vue.js.map +1 -0
  1498. package/dist/views/Request/RequestRoot.vue.script.js +158 -0
  1499. package/dist/views/Request/RequestRoot.vue.script.js.map +1 -0
  1500. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.js +7 -0
  1501. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.js.map +1 -0
  1502. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.script.js +52 -0
  1503. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.script.js.map +1 -0
  1504. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.d.ts +1 -1
  1505. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.js +7 -0
  1506. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.js.map +1 -0
  1507. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.script.js +204 -0
  1508. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.script.js.map +1 -0
  1509. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.js +7 -0
  1510. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.js.map +1 -0
  1511. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.script.js +106 -0
  1512. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.script.js.map +1 -0
  1513. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.d.ts +1 -1
  1514. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.js +9 -0
  1515. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.js.map +1 -0
  1516. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.script.js +216 -0
  1517. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.script.js.map +1 -0
  1518. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.d.ts +1 -1
  1519. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.js +9 -0
  1520. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.js.map +1 -0
  1521. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.script.js +116 -0
  1522. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.script.js.map +1 -0
  1523. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.d.ts +1 -1
  1524. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.js +7 -0
  1525. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.js.map +1 -0
  1526. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.script.js +73 -0
  1527. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.script.js.map +1 -0
  1528. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.d.ts +1 -1
  1529. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.js +7 -0
  1530. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.js.map +1 -0
  1531. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.script.js +205 -0
  1532. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.script.js.map +1 -0
  1533. package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.d.ts +1 -1
  1534. package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.js +39 -0
  1535. package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.js.map +1 -0
  1536. package/dist/views/Request/RequestSection/RequestAuth/index.d.ts +3 -3
  1537. package/dist/views/Request/RequestSection/RequestAuth/index.js +3 -3
  1538. package/dist/views/Request/RequestSection/RequestBody.vue.d.ts +1 -1
  1539. package/dist/views/Request/RequestSection/RequestBody.vue.js +9 -0
  1540. package/dist/views/Request/RequestSection/RequestBody.vue.js.map +1 -0
  1541. package/dist/views/Request/RequestSection/RequestBody.vue.script.js +477 -0
  1542. package/dist/views/Request/RequestSection/RequestBody.vue.script.js.map +1 -0
  1543. package/dist/views/Request/RequestSection/RequestCodeExample.vue.d.ts +1 -1
  1544. package/dist/views/Request/RequestSection/RequestCodeExample.vue.js +9 -0
  1545. package/dist/views/Request/RequestSection/RequestCodeExample.vue.js.map +1 -0
  1546. package/dist/views/Request/RequestSection/RequestCodeExample.vue.script.js +187 -0
  1547. package/dist/views/Request/RequestSection/RequestCodeExample.vue.script.js.map +1 -0
  1548. package/dist/views/Request/RequestSection/RequestParams.vue.d.ts +1 -1
  1549. package/dist/views/Request/RequestSection/RequestParams.vue.js +7 -0
  1550. package/dist/views/Request/RequestSection/RequestParams.vue.js.map +1 -0
  1551. package/dist/views/Request/RequestSection/RequestParams.vue.script.js +180 -0
  1552. package/dist/views/Request/RequestSection/RequestParams.vue.script.js.map +1 -0
  1553. package/dist/views/Request/RequestSection/RequestPathParams.vue.d.ts +1 -1
  1554. package/dist/views/Request/RequestSection/RequestPathParams.vue.js +7 -0
  1555. package/dist/views/Request/RequestSection/RequestPathParams.vue.js.map +1 -0
  1556. package/dist/views/Request/RequestSection/RequestPathParams.vue.script.js +115 -0
  1557. package/dist/views/Request/RequestSection/RequestPathParams.vue.script.js.map +1 -0
  1558. package/dist/views/Request/RequestSection/RequestSection.vue.d.ts +1 -1
  1559. package/dist/views/Request/RequestSection/RequestSection.vue.js +9 -0
  1560. package/dist/views/Request/RequestSection/RequestSection.vue.js.map +1 -0
  1561. package/dist/views/Request/RequestSection/RequestSection.vue.script.js +297 -0
  1562. package/dist/views/Request/RequestSection/RequestSection.vue.script.js.map +1 -0
  1563. package/dist/views/Request/RequestSection/RequestTable.vue.d.ts +1 -1
  1564. package/dist/views/Request/RequestSection/RequestTable.vue.js +9 -0
  1565. package/dist/views/Request/RequestSection/RequestTable.vue.js.map +1 -0
  1566. package/dist/views/Request/RequestSection/RequestTable.vue.script.js +266 -0
  1567. package/dist/views/Request/RequestSection/RequestTable.vue.script.js.map +1 -0
  1568. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.js +9 -0
  1569. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.js.map +1 -0
  1570. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.script.js +64 -0
  1571. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.script.js.map +1 -0
  1572. package/dist/views/Request/RequestSection/helpers/filter-security-requirements.js +38 -0
  1573. package/dist/views/Request/RequestSection/helpers/filter-security-requirements.js.map +1 -0
  1574. package/dist/views/Request/RequestSection/helpers/getting-started.js +17 -0
  1575. package/dist/views/Request/RequestSection/helpers/getting-started.js.map +1 -0
  1576. package/dist/views/Request/RequestSection/helpers/update-scheme.d.ts +1 -1
  1577. package/dist/views/Request/RequestSection/helpers/update-scheme.js +22 -0
  1578. package/dist/views/Request/RequestSection/helpers/update-scheme.js.map +1 -0
  1579. package/dist/views/Request/RequestSection/index.d.ts +2 -2
  1580. package/dist/views/Request/RequestSection/index.js +2 -42
  1581. package/dist/views/Request/RequestSidebar.vue.js +9 -0
  1582. package/dist/views/Request/RequestSidebar.vue.js.map +1 -0
  1583. package/dist/views/Request/RequestSidebar.vue.script.js +307 -0
  1584. package/dist/views/Request/RequestSidebar.vue.script.js.map +1 -0
  1585. package/dist/views/Request/RequestSidebarItem.vue.js +10 -0
  1586. package/dist/views/Request/RequestSidebarItem.vue.js.map +1 -0
  1587. package/dist/views/Request/RequestSidebarItem.vue.script.js +475 -0
  1588. package/dist/views/Request/RequestSidebarItem.vue.script.js.map +1 -0
  1589. package/dist/views/Request/RequestSidebarItemMenu.vue.js +9 -0
  1590. package/dist/views/Request/RequestSidebarItemMenu.vue.js.map +1 -0
  1591. package/dist/views/Request/RequestSidebarItemMenu.vue.script.js +222 -0
  1592. package/dist/views/Request/RequestSidebarItemMenu.vue.script.js.map +1 -0
  1593. package/dist/views/Request/RequestSubpageHeader.vue.d.ts +1 -1
  1594. package/dist/views/Request/RequestSubpageHeader.vue.js +9 -0
  1595. package/dist/views/Request/RequestSubpageHeader.vue.js.map +1 -0
  1596. package/dist/views/Request/RequestSubpageHeader.vue.script.js +92 -0
  1597. package/dist/views/Request/RequestSubpageHeader.vue.script.js.map +1 -0
  1598. package/dist/views/Request/ResponseSection/RequestHeaders.vue.js +7 -0
  1599. package/dist/views/Request/ResponseSection/RequestHeaders.vue.js.map +1 -0
  1600. package/dist/views/Request/ResponseSection/RequestHeaders.vue.script.js +77 -0
  1601. package/dist/views/Request/ResponseSection/RequestHeaders.vue.script.js.map +1 -0
  1602. package/dist/views/Request/ResponseSection/ResponseBody.vue.js +9 -0
  1603. package/dist/views/Request/ResponseSection/ResponseBody.vue.js.map +1 -0
  1604. package/dist/views/Request/ResponseSection/ResponseBody.vue.script.js +91 -0
  1605. package/dist/views/Request/ResponseSection/ResponseBody.vue.script.js.map +1 -0
  1606. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.js +7 -0
  1607. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.js.map +1 -0
  1608. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.script.js +35 -0
  1609. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.script.js.map +1 -0
  1610. package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.js +14 -0
  1611. package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.js.map +1 -0
  1612. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.js +9 -0
  1613. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.js.map +1 -0
  1614. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.script.js +64 -0
  1615. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.script.js.map +1 -0
  1616. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.js +9 -0
  1617. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.js.map +1 -0
  1618. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.script.js +54 -0
  1619. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.script.js.map +1 -0
  1620. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.js +7 -0
  1621. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.js.map +1 -0
  1622. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.script.js +85 -0
  1623. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.script.js.map +1 -0
  1624. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.js +7 -0
  1625. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.js.map +1 -0
  1626. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.script.js +25 -0
  1627. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.script.js.map +1 -0
  1628. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.js +8 -0
  1629. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.js.map +1 -0
  1630. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.script.js +51 -0
  1631. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.script.js.map +1 -0
  1632. package/dist/views/Request/ResponseSection/ResponseCookies.vue.js +7 -0
  1633. package/dist/views/Request/ResponseSection/ResponseCookies.vue.js.map +1 -0
  1634. package/dist/views/Request/ResponseSection/ResponseCookies.vue.script.js +39 -0
  1635. package/dist/views/Request/ResponseSection/ResponseCookies.vue.script.js.map +1 -0
  1636. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.js +9 -0
  1637. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.js.map +1 -0
  1638. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.script.js +98 -0
  1639. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.script.js.map +1 -0
  1640. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.js +7 -0
  1641. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.js.map +1 -0
  1642. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.script.js +77 -0
  1643. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.script.js.map +1 -0
  1644. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.js +9 -0
  1645. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.js.map +1 -0
  1646. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.script.js +44 -0
  1647. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.script.js.map +1 -0
  1648. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.js +7 -0
  1649. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.js.map +1 -0
  1650. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.script.js +64 -0
  1651. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.script.js.map +1 -0
  1652. package/dist/views/Request/ResponseSection/ResponseSection.vue.d.ts +1 -1
  1653. package/dist/views/Request/ResponseSection/ResponseSection.vue.js +9 -0
  1654. package/dist/views/Request/ResponseSection/ResponseSection.vue.js.map +1 -0
  1655. package/dist/views/Request/ResponseSection/ResponseSection.vue.script.js +206 -0
  1656. package/dist/views/Request/ResponseSection/ResponseSection.vue.script.js.map +1 -0
  1657. package/dist/views/Request/ResponseSection/index.d.ts +2 -2
  1658. package/dist/views/Request/ResponseSection/index.js +2 -6
  1659. package/dist/views/Request/components/WorkspaceDropdown.vue.js +7 -0
  1660. package/dist/views/Request/components/WorkspaceDropdown.vue.js.map +1 -0
  1661. package/dist/views/Request/components/WorkspaceDropdown.vue.script.js +182 -0
  1662. package/dist/views/Request/components/WorkspaceDropdown.vue.script.js.map +1 -0
  1663. package/dist/views/Request/components/index.d.ts +1 -1
  1664. package/dist/views/Request/components/index.js +1 -1
  1665. package/dist/views/Request/consts/index.d.ts +2 -2
  1666. package/dist/views/Request/consts/index.js +2 -1
  1667. package/dist/views/Request/consts/mediaTypes.js +231 -0
  1668. package/dist/views/Request/consts/mediaTypes.js.map +1 -0
  1669. package/dist/views/Request/consts/new-auth-options.js +90 -0
  1670. package/dist/views/Request/consts/new-auth-options.js.map +1 -0
  1671. package/dist/views/Request/handle-drag.d.ts +1 -1
  1672. package/dist/views/Request/handle-drag.js +51 -0
  1673. package/dist/views/Request/handle-drag.js.map +1 -0
  1674. package/dist/views/Request/hooks/useOpenApiWatcher.js +96 -0
  1675. package/dist/views/Request/hooks/useOpenApiWatcher.js.map +1 -0
  1676. package/dist/views/Request/libs/auth.js +74 -0
  1677. package/dist/views/Request/libs/auth.js.map +1 -0
  1678. package/dist/views/Request/libs/index.d.ts +3 -3
  1679. package/dist/views/Request/libs/index.js +3 -2
  1680. package/dist/views/Request/libs/oauth2.d.ts +1 -1
  1681. package/dist/views/Request/libs/oauth2.js +178 -0
  1682. package/dist/views/Request/libs/oauth2.js.map +1 -0
  1683. package/dist/views/Request/libs/request.js +46 -0
  1684. package/dist/views/Request/libs/request.js.map +1 -0
  1685. package/dist/views/Request/libs/watch-mode.d.ts +1 -1
  1686. package/dist/views/Request/libs/watch-mode.js +375 -0
  1687. package/dist/views/Request/libs/watch-mode.js.map +1 -0
  1688. package/dist/views/Settings/Settings.vue.js +7 -0
  1689. package/dist/views/Settings/Settings.vue.js.map +1 -0
  1690. package/dist/views/Settings/Settings.vue.script.js +28 -0
  1691. package/dist/views/Settings/Settings.vue.script.js.map +1 -0
  1692. package/dist/views/Settings/SettingsGeneral.vue.js +7 -0
  1693. package/dist/views/Settings/SettingsGeneral.vue.js.map +1 -0
  1694. package/dist/views/Settings/SettingsGeneral.vue.script.js +241 -0
  1695. package/dist/views/Settings/SettingsGeneral.vue.script.js.map +1 -0
  1696. package/dist/views/Settings/components/SettingsAppearance.vue.js +7 -0
  1697. package/dist/views/Settings/components/SettingsAppearance.vue.js.map +1 -0
  1698. package/dist/views/Settings/components/SettingsAppearance.vue.script.js +62 -0
  1699. package/dist/views/Settings/components/SettingsAppearance.vue.script.js.map +1 -0
  1700. package/dist/views/Settings/components/SettingsSection.vue.js +7 -0
  1701. package/dist/views/Settings/components/SettingsSection.vue.js.map +1 -0
  1702. package/dist/views/Settings/components/SettingsSection.vue.script.js +27 -0
  1703. package/dist/views/Settings/components/SettingsSection.vue.script.js.map +1 -0
  1704. package/package.json +20 -15
  1705. package/dist/AddressBar-BOZGKSoz.js +0 -302
  1706. package/dist/AddressBar-BOZGKSoz.js.map +0 -1
  1707. package/dist/App-Ckirvnv1.js +0 -2510
  1708. package/dist/App-Ckirvnv1.js.map +0 -1
  1709. package/dist/App-DHBmpWJI.js +0 -533
  1710. package/dist/App-DHBmpWJI.js.map +0 -1
  1711. package/dist/CodeInput-BTN8cC5h.js +0 -694
  1712. package/dist/CodeInput-BTN8cC5h.js.map +0 -1
  1713. package/dist/CodeSnippet-D7Heh1nd.js +0 -218
  1714. package/dist/CodeSnippet-D7Heh1nd.js.map +0 -1
  1715. package/dist/Collection-BsAG7ms5.js +0 -219
  1716. package/dist/Collection-BsAG7ms5.js.map +0 -1
  1717. package/dist/CollectionAuthentication-BMGhRnpo.js +0 -56
  1718. package/dist/CollectionAuthentication-BMGhRnpo.js.map +0 -1
  1719. package/dist/CollectionCookies-DyjPPMdt.js +0 -19
  1720. package/dist/CollectionCookies-DyjPPMdt.js.map +0 -1
  1721. package/dist/CollectionEnvironment-BY9Gcnln.js +0 -514
  1722. package/dist/CollectionEnvironment-BY9Gcnln.js.map +0 -1
  1723. package/dist/CollectionOverview-C3GvN8GY.js +0 -131
  1724. package/dist/CollectionOverview-C3GvN8GY.js.map +0 -1
  1725. package/dist/CollectionScripts-CMNlBlby.js +0 -19
  1726. package/dist/CollectionScripts-CMNlBlby.js.map +0 -1
  1727. package/dist/CollectionServers-DuOLysNB.js +0 -168
  1728. package/dist/CollectionServers-DuOLysNB.js.map +0 -1
  1729. package/dist/CollectionSettings-FtXNetOh.js +0 -87
  1730. package/dist/CollectionSettings-FtXNetOh.js.map +0 -1
  1731. package/dist/CollectionSync-CAflc5yW.js +0 -19
  1732. package/dist/CollectionSync-CAflc5yW.js.map +0 -1
  1733. package/dist/CommandActionInput-TkcAx6E8.js +0 -97
  1734. package/dist/CommandActionInput-TkcAx6E8.js.map +0 -1
  1735. package/dist/CommandPalette-BxoEK8TY.js +0 -964
  1736. package/dist/CommandPalette-BxoEK8TY.js.map +0 -1
  1737. package/dist/CommandPaletteImport-Diu5dDIY.js +0 -622
  1738. package/dist/CommandPaletteImport-Diu5dDIY.js.map +0 -1
  1739. package/dist/Cookies-BYTv1YIA.js +0 -284
  1740. package/dist/Cookies-BYTv1YIA.js.map +0 -1
  1741. package/dist/DataTable-BqbZKW3K.js +0 -62
  1742. package/dist/DataTable-BqbZKW3K.js.map +0 -1
  1743. package/dist/DataTableHeader-DJVB0jCZ.js +0 -21
  1744. package/dist/DataTableHeader-DJVB0jCZ.js.map +0 -1
  1745. package/dist/DataTableInput-RydMDjn2.js +0 -166
  1746. package/dist/DataTableInput-RydMDjn2.js.map +0 -1
  1747. package/dist/DataTableRow-c3XveEUO.js +0 -57
  1748. package/dist/DataTableRow-c3XveEUO.js.map +0 -1
  1749. package/dist/DeleteSidebarListElement-C-p87d03.js +0 -78
  1750. package/dist/DeleteSidebarListElement-C-p87d03.js.map +0 -1
  1751. package/dist/EditSidebarListElement-CodWPnM6.js +0 -32
  1752. package/dist/EditSidebarListElement-CodWPnM6.js.map +0 -1
  1753. package/dist/Editor-BomsGWHx.js +0 -909
  1754. package/dist/Editor-BomsGWHx.js.map +0 -1
  1755. package/dist/EmptyState-Cnm7hGW5.js +0 -46
  1756. package/dist/EmptyState-Cnm7hGW5.js.map +0 -1
  1757. package/dist/Environment-BIxG7DaO.js +0 -416
  1758. package/dist/Environment-BIxG7DaO.js.map +0 -1
  1759. package/dist/EnvironmentModal-C0lYytkh.js +0 -288
  1760. package/dist/EnvironmentModal-C0lYytkh.js.map +0 -1
  1761. package/dist/Form-KFcdRQp1.js +0 -83
  1762. package/dist/Form-KFcdRQp1.js.map +0 -1
  1763. package/dist/HttpMethod-rnWEgC3T.js +0 -78
  1764. package/dist/HttpMethod-rnWEgC3T.js.map +0 -1
  1765. package/dist/IconSelector-BDC_GQXv.js +0 -67
  1766. package/dist/IconSelector-BDC_GQXv.js.map +0 -1
  1767. package/dist/ImportCollection-CGjySEzP.js +0 -804
  1768. package/dist/ImportCollection-CGjySEzP.js.map +0 -1
  1769. package/dist/IntegrationLogo-B9EDW8db.js +0 -51
  1770. package/dist/IntegrationLogo-B9EDW8db.js.map +0 -1
  1771. package/dist/MainLayout-BnLwst16.js +0 -281
  1772. package/dist/MainLayout-BnLwst16.js.map +0 -1
  1773. package/dist/Modal-CTZ8UNds.js +0 -67
  1774. package/dist/Modal-CTZ8UNds.js.map +0 -1
  1775. package/dist/ModalClientContainer-qHsZi4wQ.js +0 -65
  1776. package/dist/ModalClientContainer-qHsZi4wQ.js.map +0 -1
  1777. package/dist/Request-d0RY0ZhC.js +0 -212
  1778. package/dist/Request-d0RY0ZhC.js.map +0 -1
  1779. package/dist/RequestAuth-1cRH3DDn.js +0 -989
  1780. package/dist/RequestAuth-1cRH3DDn.js.map +0 -1
  1781. package/dist/RequestRoot-pW0yXesG.js +0 -1611
  1782. package/dist/RequestRoot-pW0yXesG.js.map +0 -1
  1783. package/dist/RequestSection-D2BLvDTr.js +0 -1582
  1784. package/dist/RequestSection-D2BLvDTr.js.map +0 -1
  1785. package/dist/ResponseSection-B_YF7l_E.js +0 -949
  1786. package/dist/ResponseSection-B_YF7l_E.js.map +0 -1
  1787. package/dist/ScalarAsciiArt-BjuSnj8e.js +0 -45
  1788. package/dist/ScalarAsciiArt-BjuSnj8e.js.map +0 -1
  1789. package/dist/SectionFilter-hrtoRLwj.js +0 -99
  1790. package/dist/SectionFilter-hrtoRLwj.js.map +0 -1
  1791. package/dist/Server-CEKGIEfE.js +0 -303
  1792. package/dist/Server-CEKGIEfE.js.map +0 -1
  1793. package/dist/ServerVariablesForm-BRZ9XC8o.js +0 -145
  1794. package/dist/ServerVariablesForm-BRZ9XC8o.js.map +0 -1
  1795. package/dist/Settings-BaPvhJ8Y.js +0 -347
  1796. package/dist/Settings-BaPvhJ8Y.js.map +0 -1
  1797. package/dist/Sidebar-CRxdl38Y.js +0 -73
  1798. package/dist/Sidebar-CRxdl38Y.js.map +0 -1
  1799. package/dist/SidebarButton-BAagdMDe.js +0 -37
  1800. package/dist/SidebarButton-BAagdMDe.js.map +0 -1
  1801. package/dist/SidebarListElement-BfTPiihc.js +0 -232
  1802. package/dist/SidebarListElement-BfTPiihc.js.map +0 -1
  1803. package/dist/TheCommandPalette-Dl9TAeke.js +0 -204
  1804. package/dist/TheCommandPalette-Dl9TAeke.js.map +0 -1
  1805. package/dist/ValueEmitter-QYkZ9Hdc.js +0 -20
  1806. package/dist/ValueEmitter-QYkZ9Hdc.js.map +0 -1
  1807. package/dist/ViewLayout-BOXN0IYo.js +0 -17
  1808. package/dist/ViewLayout-BOXN0IYo.js.map +0 -1
  1809. package/dist/ViewLayoutCollapse-CiTb-Uml.js +0 -86
  1810. package/dist/ViewLayoutCollapse-CiTb-Uml.js.map +0 -1
  1811. package/dist/ViewLayoutContent-CvMoJYPF.js +0 -13
  1812. package/dist/ViewLayoutContent-CvMoJYPF.js.map +0 -1
  1813. package/dist/ViewLayoutSection-mUqKbQry.js +0 -23
  1814. package/dist/ViewLayoutSection-mUqKbQry.js.map +0 -1
  1815. package/dist/WatchModeToggle-D_eAiTWJ.js +0 -41
  1816. package/dist/WatchModeToggle-D_eAiTWJ.js.map +0 -1
  1817. package/dist/_plugin-vue_export-helper-BmmBcIzD.js +0 -8
  1818. package/dist/analytics-BZimCWcw.js +0 -7
  1819. package/dist/analytics-BZimCWcw.js.map +0 -1
  1820. package/dist/analytics.d.ts +0 -18
  1821. package/dist/analytics.d.ts.map +0 -1
  1822. package/dist/build-request-security-BQjNr2MD.js +0 -41
  1823. package/dist/build-request-security-BQjNr2MD.js.map +0 -1
  1824. package/dist/code-input-iq-moLxi.js +0 -775
  1825. package/dist/code-input-iq-moLxi.js.map +0 -1
  1826. package/dist/components-B0BwUDFw.js +0 -183
  1827. package/dist/components-B0BwUDFw.js.map +0 -1
  1828. package/dist/components-ChixwQhN.js +0 -61
  1829. package/dist/components-ChixwQhN.js.map +0 -1
  1830. package/dist/computer-D7VW3Ruy.js +0 -562
  1831. package/dist/computer-D7VW3Ruy.js.map +0 -1
  1832. package/dist/consts-CyGRb9dl.js +0 -318
  1833. package/dist/consts-CyGRb9dl.js.map +0 -1
  1834. package/dist/curl-nbw1OxbV.js +0 -54
  1835. package/dist/curl-nbw1OxbV.js.map +0 -1
  1836. package/dist/data-table-PL7e8NRO.js +0 -282
  1837. package/dist/data-table-PL7e8NRO.js.map +0 -1
  1838. package/dist/editor-BZ_J0eze.js +0 -466
  1839. package/dist/editor-BZ_J0eze.js.map +0 -1
  1840. package/dist/environments-ByLK9lnC.js +0 -592
  1841. package/dist/environments-ByLK9lnC.js.map +0 -1
  1842. package/dist/formatters-DOGXZq9R.js +0 -36
  1843. package/dist/formatters-DOGXZq9R.js.map +0 -1
  1844. package/dist/forms-CZX6cFDS.js +0 -42
  1845. package/dist/forms-CZX6cFDS.js.map +0 -1
  1846. package/dist/get-active-environment-CkxyQ1dM.js +0 -19
  1847. package/dist/get-active-environment-CkxyQ1dM.js.map +0 -1
  1848. package/dist/get-resolved-url-SybDPV0U.js +0 -85
  1849. package/dist/get-resolved-url-SybDPV0U.js.map +0 -1
  1850. package/dist/get-server-url-UVN-dx79.js +0 -32
  1851. package/dist/get-server-url-UVN-dx79.js.map +0 -1
  1852. package/dist/get-servers-B_WNlQWB.js +0 -106
  1853. package/dist/get-servers-B_WNlQWB.js.map +0 -1
  1854. package/dist/get-snippet-DBRUSfZ2.js +0 -39
  1855. package/dist/get-snippet-DBRUSfZ2.js.map +0 -1
  1856. package/dist/global-cookies-D3ZS9ON3.js +0 -184
  1857. package/dist/global-cookies-D3ZS9ON3.js.map +0 -1
  1858. package/dist/hooks/useAnalytics.d.ts +0 -19
  1859. package/dist/hooks/useAnalytics.d.ts.map +0 -1
  1860. package/dist/hooks-BvZxH4XB.js +0 -80
  1861. package/dist/hooks-BvZxH4XB.js.map +0 -1
  1862. package/dist/layout-BWiL7dfb.js +0 -81
  1863. package/dist/layout-BWiL7dfb.js.map +0 -1
  1864. package/dist/layouts/Web/index.js.map +0 -1
  1865. package/dist/libs-spbv4P0g.js +0 -249
  1866. package/dist/libs-spbv4P0g.js.map +0 -1
  1867. package/dist/operation-block-B1B3lJPx.js +0 -1674
  1868. package/dist/operation-block-B1B3lJPx.js.map +0 -1
  1869. package/dist/operation-code-sample-DOzAPxLQ.js +0 -1738
  1870. package/dist/operation-code-sample-DOzAPxLQ.js.map +0 -1
  1871. package/dist/parse-curl-BtypQT3D.js +0 -106
  1872. package/dist/parse-curl-BtypQT3D.js.map +0 -1
  1873. package/dist/plugins-B52hCIyZ.js +0 -50
  1874. package/dist/plugins-B52hCIyZ.js.map +0 -1
  1875. package/dist/rabbitjump-CMZXAR6d.js +0 -9
  1876. package/dist/rabbitjump-CMZXAR6d.js.map +0 -1
  1877. package/dist/request-block-C1kLLMEd.js +0 -1466
  1878. package/dist/request-block-C1kLLMEd.js.map +0 -1
  1879. package/dist/resize-D2IYvVdh.js +0 -114
  1880. package/dist/resize-D2IYvVdh.js.map +0 -1
  1881. package/dist/response-block-DmkaDZYs.js +0 -1188
  1882. package/dist/response-block-DmkaDZYs.js.map +0 -1
  1883. package/dist/scalar-address-bar-block-BbysOhkE.js +0 -425
  1884. package/dist/scalar-address-bar-block-BbysOhkE.js.map +0 -1
  1885. package/dist/scalar-auth-selector-block-Bs79QOMA.js +0 -1889
  1886. package/dist/scalar-auth-selector-block-Bs79QOMA.js.map +0 -1
  1887. package/dist/search-CmsQQkjn.js +0 -151
  1888. package/dist/search-CmsQQkjn.js.map +0 -1
  1889. package/dist/send-request-BsTfRiBC.js +0 -348
  1890. package/dist/send-request-BsTfRiBC.js.map +0 -1
  1891. package/dist/server-tcI-OCyx.js +0 -140
  1892. package/dist/server-tcI-OCyx.js.map +0 -1
  1893. package/dist/set-request-cookies-BJJhsU4A.js +0 -88
  1894. package/dist/set-request-cookies-BJJhsU4A.js.map +0 -1
  1895. package/dist/settings-BKk_1lcH.js +0 -455
  1896. package/dist/settings-BKk_1lcH.js.map +0 -1
  1897. package/dist/sidebar-ceSbYmnt.js +0 -217
  1898. package/dist/sidebar-ceSbYmnt.js.map +0 -1
  1899. package/dist/store-DnlAQK5d.js +0 -1512
  1900. package/dist/store-DnlAQK5d.js.map +0 -1
  1901. package/dist/string-template-sS5PtY6T.js +0 -64
  1902. package/dist/string-template-sS5PtY6T.js.map +0 -1
  1903. package/dist/use-global-hot-keys-D8Ai8Qbm.js +0 -274
  1904. package/dist/use-global-hot-keys-D8Ai8Qbm.js.map +0 -1
  1905. package/dist/useSidebar-DLTwHDI-.js +0 -45
  1906. package/dist/useSidebar-DLTwHDI-.js.map +0 -1
  1907. package/dist/v2/components/modals/index.js.map +0 -1
  1908. package/dist/v2/features/app/index.js.map +0 -1
  1909. package/dist/v2/features/modal/index.js.map +0 -1
  1910. package/dist/views/Request/RequestSection/index.js.map +0 -1
  1911. package/dist/watch-mode-Dbaqd9bG.js +0 -375
  1912. package/dist/watch-mode-Dbaqd9bG.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"operation-code-sample-DOzAPxLQ.js","names":["$attrs","$slots"],"sources":["../src/v2/blocks/operation-code-sample/helpers/get-resolved-ref-deep.ts","../src/v2/blocks/operation-block/helpers/get-example.ts","../src/v2/constants.ts","../src/v2/blocks/request-block/helpers/get-default-headers.ts","../src/v2/blocks/operation-code-sample/helpers/get-example-from-schema.ts","../src/v2/blocks/operation-block/helpers/filter-global-cookies.ts","../src/v2/blocks/operation-block/helpers/de-serialize-parameter.ts","../src/v2/blocks/request-block/helpers/is-param-disabled.ts","../src/v2/blocks/operation-block/helpers/serialize-parameter.ts","../src/v2/blocks/operation-code-sample/components/ExamplePicker.vue","../src/v2/blocks/operation-code-sample/components/ExamplePicker.vue","../src/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.ts","../src/v2/blocks/operation-code-sample/helpers/operation-to-har/process-parameters.ts","../src/v2/blocks/operation-code-sample/helpers/operation-to-har/process-security-schemes.ts","../src/v2/blocks/operation-code-sample/helpers/operation-to-har/process-server-url.ts","../src/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.ts","../src/v2/blocks/operation-code-sample/components/HttpMethod.vue","../src/v2/blocks/operation-code-sample/components/HttpMethod.vue","../src/v2/blocks/operation-code-sample/helpers/find-client.ts","../src/v2/blocks/operation-code-sample/helpers/generate-client-options.ts","../src/v2/blocks/operation-code-sample/helpers/get-clients.ts","../src/v2/blocks/operation-code-sample/helpers/get-custom-code-samples.ts","../src/v2/blocks/operation-code-sample/helpers/get-secrets.ts","../src/v2/blocks/operation-code-sample/helpers/generate-code-snippet.ts","../src/v2/blocks/operation-code-sample/components/OperationCodeSample.vue","../src/v2/blocks/operation-code-sample/components/OperationCodeSample.vue"],"sourcesContent":["import { isObject } from '@scalar/helpers/object/is-object'\nimport { type Dereference, getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\n\ntype RefNode<Node> = Partial<Node> & { $ref: string; '$ref-value': Node | RefNode<Node> }\ntype NodeInput<Node> = Node | RefNode<Node>\n\n/**\n * Recursively resolves $ref objects\n * This type helper ensures proper typing for deeply nested ref resolution.\n * Properties that could contain $ref objects may resolve to '[circular]' if we have a circular reference.\n */\ntype DeepDereference<T> = Dereference<T> extends T\n ? T extends readonly (infer U)[]\n ? DeepDereference<U>[]\n : T extends object\n ? { [K in keyof T]: T[K] extends RefNode<any> ? DeepDereference<T[K]> | '[circular]' : DeepDereference<T[K]> }\n : T\n : Dereference<T> extends object\n ? {\n [K in keyof Dereference<T>]: Dereference<T>[K] extends RefNode<any>\n ? DeepDereference<Dereference<T>[K]> | '[circular]'\n : DeepDereference<Dereference<T>[K]>\n }\n : Dereference<T>\n\n/**\n * Recursively resolves all $ref objects in a data structure to their actual values.\n * Traverses through objects, arrays, and nested structures to find and resolve\n * any $ref references at any depth level.\n *\n * Handles circular references gracefully by detecting them and returning '[circular]'\n * to prevent infinite loops.\n */\nexport const getResolvedRefDeep = <Node>(node: NodeInput<Node>): DeepDereference<NodeInput<Node>> => {\n const visited = new WeakSet<object>()\n const cachedResults = new WeakMap<object, any>()\n\n const resolveNode = (current: any): any => {\n // Only recurse into objects and arrays; return primitives as-is\n if (!isObject(current) && !Array.isArray(current)) {\n return current\n }\n\n const rawValue = unpackProxyObject(current, { depth: 1 })\n\n // We don't have to recurse into the same object again\n // This helps us having to manually remove the tracked node after we recurse into the tree\n if (cachedResults.has(rawValue)) {\n return cachedResults.get(rawValue)\n }\n\n // Break circular references\n if (visited.has(rawValue)) {\n return '[circular]'\n }\n\n // Track visited nodes\n visited.add(rawValue)\n\n if ('$ref' in current) {\n const resolved = getResolvedRef(current)\n const result = resolveNode(resolved)\n cachedResults.set(rawValue, result)\n return result\n }\n\n // For arrays\n if (Array.isArray(current)) {\n const result = current.map(resolveNode)\n cachedResults.set(rawValue, result)\n return result\n }\n\n const result = Object.fromEntries(Object.entries(current).map(([key, value]) => [key, resolveNode(value)]))\n cachedResults.set(rawValue, result)\n return result\n }\n\n return resolveNode(node)\n}\n","import type {\n ExampleObject,\n MediaTypeObject,\n ParameterObject,\n RequestBodyObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { getResolvedRefDeep } from '@/v2/blocks/operation-code-sample/helpers/get-resolved-ref-deep'\n\n/** Helper to get example from examples object with fallback to example field */\nconst getExampleFromExamples = (\n examples: MediaTypeObject['examples'],\n exampleField: MediaTypeObject['example'],\n exampleKey: string | undefined,\n): ExampleObject | undefined => {\n if (!examples && !exampleField) {\n return undefined\n }\n\n const hasExamples = !!examples && Object.keys(examples).length > 0\n\n // Grab the example key\n const key = exampleKey || Object.keys(examples ?? {})[0] || ''\n const example = getResolvedRefDeep(examples?.[key])\n if (example !== undefined) {\n return example\n }\n\n // Fallback to example field when no examples map exists,\n // or when no specific example key was requested.\n if ((!hasExamples || !exampleKey) && exampleField !== undefined) {\n return { value: getResolvedRefDeep(exampleField) }\n }\n\n return undefined\n}\n\n/**\n * Resolve an example value for a parameter or requestBody from either `examples` or `content.*.examples`.\n * Or the [deprecated] `example` field.\n * If no exampleKey is provided it will fallback to the first example in the examples object then the [deprecated]\n * `example` field.\n * Used both for send-request and generating code snippets.\n */\nexport const getExample = (\n param: ParameterObject | RequestBodyObject | MediaTypeObject,\n exampleKey: string | undefined,\n contentType: string | undefined,\n): ExampleObject | undefined => {\n // Content based parameters\n if ('content' in param) {\n const content = param.content?.[contentType ?? Object.keys(param.content)[0] ?? '']\n const result = getExampleFromExamples(content?.examples, content?.example, exampleKey)\n if (result !== undefined) {\n return result\n }\n }\n\n // Schema based parameters\n if ('examples' in param || 'example' in param) {\n const result = getExampleFromExamples(param.examples, param.example, exampleKey)\n if (result !== undefined) {\n return result\n }\n }\n\n // Derive value from the schema\n const resolvedParam = getResolvedRefDeep(param)\n if ('schema' in resolvedParam && resolvedParam.schema) {\n const schema = resolvedParam.schema\n\n // Default value\n if ('default' in schema && schema.default !== undefined) {\n return { value: schema.default }\n }\n\n // Enum value\n if ('enum' in schema && schema.enum?.[0] !== undefined) {\n return { value: schema.enum[0] }\n }\n\n // Examples value\n if ('examples' in schema && schema.examples?.[0] !== undefined) {\n return { value: schema.examples[0] }\n }\n\n // Example value\n if ('example' in schema && schema.example !== undefined) {\n return { value: schema.example }\n }\n }\n\n return undefined\n}\n","/** The version number taken from the package.json. Consumers can override at build time via define (e.g. OVERRIDE_PACKAGE_VERSION: JSON.stringify('1.2.3')). */\nexport const APP_VERSION = typeof OVERRIDE_PACKAGE_VERSION !== 'undefined' ? OVERRIDE_PACKAGE_VERSION : PACKAGE_VERSION\n","import { canMethodHaveBody } from '@scalar/helpers/http/can-method-have-body'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { OperationObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { isElectron } from '@/libs/electron'\nimport { APP_VERSION } from '@/v2/constants'\n\n/** Default Accept header value to accept all response types. */\nconst DEFAULT_ACCEPT = '*/*'\n\n/**\n * Represents a default header with its value and override status.\n * Used to track headers that are automatically added to requests.\n */\ntype DefaultHeader = {\n /** The header name (e.g., \"Content-Type\", \"Accept\"). */\n name: string\n /** The default value for this header. */\n defaultValue: string\n /** Whether this header is explicitly defined in the OpenAPI operation parameters. */\n isOverridden: boolean\n}\n\n/**\n * Creates a default header object with the override status determined by existing headers.\n *\n * @param name The header name\n * @param defaultValue The header value\n * @param existingHeaders Set of existing header names (lowercase) from the operation\n * @returns A DefaultHeader object\n */\nconst createDefaultHeader = (name: string, defaultValue: string, existingHeaders: Set<string>): DefaultHeader => ({\n name,\n defaultValue,\n isOverridden: existingHeaders.has(name.toLowerCase()),\n})\n\n/**\n * Generates a list of default headers for an OpenAPI operation and HTTP method.\n *\n * This function intelligently adds standard HTTP headers based on the request context:\n * - Content-Type: Added only if the HTTP method supports a request body and the OpenAPI operation\n * defines a request body content type. Uses the selected content type from the operation or the\n * first defined request body content type.\n * - Accept: Derived from the 2xx response content types in the spec (joined as a comma-separated list), falling back to a wildcard.\n * - User-Agent: Added in Electron environments (desktop app or proxy) to identify the client.\n *\n * The function respects OpenAPI operation parameters and marks headers as overridden\n * if they are explicitly defined in the operation. It also supports hiding disabled\n * headers for specific request examples using x-scalar-disable-parameters.\n *\n * @param method The HTTP method of the operation (GET, POST, etc.)\n * @param operation The OpenAPI OperationObject describing the endpoint\n * @param exampleKey The current request example key\n * @param hideDisabledHeaders If true, filters out headers marked as disabled for this example\n * @returns Array of default header objects with their values and override status\n */\nexport const getDefaultHeaders = ({\n method,\n operation,\n exampleKey,\n hideDisabledHeaders = false,\n}: {\n method: HttpMethod\n operation: OperationObject\n exampleKey: string\n hideDisabledHeaders?: boolean\n}): DefaultHeader[] => {\n const existingHeaders = new Set(\n operation.parameters\n ?.filter((param) => getResolvedRef(param).in === 'header')\n .map((param) => getResolvedRef(param).name.toLowerCase()) ?? [],\n )\n\n const disabledHeaders = operation['x-scalar-disable-parameters']?.['default-headers']?.[exampleKey] ?? {}\n const headers: DefaultHeader[] = []\n const requestBody = getResolvedRef(operation.requestBody)\n\n // Add Content-Type header only for methods that support a request body\n if (canMethodHaveBody(method) && requestBody) {\n const contentType =\n requestBody['x-scalar-selected-content-type']?.[exampleKey] ?? Object.keys(requestBody.content ?? {})[0]\n\n // We never want to add a content type of 'none' or invent one when the schema defines no body.\n if (contentType && contentType !== 'none') {\n headers.push(createDefaultHeader('Content-Type', contentType, existingHeaders))\n }\n }\n\n // Derive Accept from the 2xx response content types so the server can pick the best match.\n const successResponseKey = Object.keys(operation.responses ?? {}).find((k) => k.startsWith('2'))\n const successResponse = successResponseKey ? getResolvedRef(operation.responses![successResponseKey]) : null\n const acceptValue = Object.keys(successResponse?.content ?? {}).join(', ') || DEFAULT_ACCEPT\n\n headers.push(createDefaultHeader('Accept', acceptValue, existingHeaders))\n\n // Add User-Agent in Electron environments for client identification\n if (isElectron() && APP_VERSION) {\n headers.push(createDefaultHeader('User-Agent', `Scalar/${APP_VERSION}`, existingHeaders))\n }\n\n // Filter out disabled headers if requested\n if (hideDisabledHeaders) {\n return headers.filter((header) => disabledHeaders[header.name.toLowerCase()] !== true)\n }\n\n return headers\n}\n","import { isDefined } from '@scalar/helpers/array/is-defined'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\n/** Maximum recursion depth to prevent infinite loops in circular references */\nconst MAX_LEVELS_DEEP = 10\n\n/** Default name used for additional properties when no custom name is provided */\nconst DEFAULT_ADDITIONAL_PROPERTIES_NAME = 'additionalProperty'\n\n/**\n * Pre-computed date/time values to avoid expensive Date operations on every call.\n * These are calculated once at module load time for better performance.\n */\nconst currentISOString = new Date().toISOString()\nconst currentDateString = currentISOString.split('T')[0]!\nconst currentTimeString = currentISOString.split('T')[1]!.split('.')[0]!\n\n/**\n * Mapping of OpenAPI string formats to example values.\n * Used to generate realistic examples for different string formats.\n */\nconst genericExampleValues: Record<string, string> = {\n 'date-time': currentISOString,\n 'date': currentDateString,\n 'email': 'hello@example.com',\n 'hostname': 'example.com',\n // https://tools.ietf.org/html/rfc6531#section-3.3\n 'idn-email': 'jane.doe@example.com',\n // https://tools.ietf.org/html/rfc5890#section-2.3.2.3\n 'idn-hostname': 'example.com',\n 'ipv4': '127.0.0.1',\n 'ipv6': '51d4:7fab:bfbf:b7d7:b2cb:d4b4:3dad:d998',\n 'iri-reference': '/entitiy/1',\n // https://tools.ietf.org/html/rfc3987\n 'iri': 'https://example.com/entity/123',\n 'json-pointer': '/nested/objects',\n 'password': 'super-secret',\n 'regex': '/[a-z]/',\n // https://tools.ietf.org/html/draft-handrews-relative-json-pointer-01\n 'relative-json-pointer': '1/nested/objects',\n // full-time in https://tools.ietf.org/html/rfc3339#section-5.6\n 'time': currentTimeString,\n // either a URI or relative-reference https://tools.ietf.org/html/rfc3986#section-4.1\n 'uri-reference': '../folder',\n 'uri-template': 'https://example.com/{id}',\n 'uri': 'https://example.com',\n 'uuid': '123e4567-e89b-12d3-a456-426614174000',\n 'object-id': '6592008029c8c3e4dc76256c',\n}\n\n/**\n * Extract enum values from the propertyNames keyword of an object schema.\n * JSON Schema's propertyNames constrains which keys are valid in a map/dict.\n */\nconst getPropertyNamesEnumValues = (schema: SchemaObject): unknown[] | undefined => {\n if (!('propertyNames' in schema) || !schema.propertyNames) {\n return undefined\n }\n\n const resolved = resolve.schema(schema.propertyNames as SchemaObject)\n if (resolved && 'enum' in resolved && Array.isArray(resolved.enum) && resolved.enum.length > 0) {\n return resolved.enum\n }\n\n return undefined\n}\n\n/**\n * Generate example values for string types based on their format.\n * Special handling for binary format which returns a File object.\n */\nconst guessFromFormat = (\n schema: SchemaObject,\n makeUpRandomData: boolean = false,\n fallback: string = '',\n): string | File => {\n // Handle binary format specially - return a File object\n if ('type' in schema && schema.type === 'string' && 'format' in schema && schema.format === 'binary') {\n return '@filename'\n }\n\n // Return format-specific example if we have one and are making up data\n if (makeUpRandomData && 'format' in schema && schema.format) {\n return genericExampleValues[schema.format] ?? fallback\n }\n\n return fallback\n}\n\n/**\n * WeakMap cache for memoizing resolved example results.\n * Uses the resolved schema object as the key for efficient lookups.\n */\nconst resultCache = new WeakMap<object, Map<string, unknown>>()\n\n/** Cache required property names per parent schema for O(1) membership checks */\nconst requiredNamesCache = new WeakMap<object, ReadonlySet<string>>()\n\n/** Normalize schema identity for cache and cycle tracking */\nconst getSchemaCacheTarget = (schema: SchemaObject): object => unpackProxyObject(schema, { depth: 1 }) as object\n\n/**\n * Retrieves the set of required property names from a schema.\n * Caches the result in a WeakMap for efficient lookups.\n */\nconst getRequiredNames = (parentSchema: SchemaObject | undefined): ReadonlySet<string> | undefined => {\n if (!parentSchema) {\n return undefined\n }\n\n const cached = requiredNamesCache.get(parentSchema)\n if (cached) {\n return cached\n }\n\n if ('required' in parentSchema) {\n const required = parentSchema.required\n if (Array.isArray(required) && required.length > 0) {\n const set = new Set<string>(required)\n requiredNamesCache.set(parentSchema, set)\n return set\n }\n }\n\n return undefined\n}\n\n/**\n * Cache the result for a schema if it is an object type.\n * Primitive values are not cached to avoid unnecessary WeakMap operations.\n * Stores a map of cacheKey strings which is made up of the options object.\n */\nconst cache = (schema: SchemaObject, result: unknown, cacheKey: string) => {\n if (typeof result !== 'object' || result === null) {\n return result\n }\n const rawSchema = getSchemaCacheTarget(schema)\n\n const cacheMap = resultCache.get(rawSchema) ?? new Map()\n if (cacheMap) {\n cacheMap.set(cacheKey, result)\n }\n resultCache.set(rawSchema, cacheMap)\n return result\n}\n\n/**\n * Check if a schema uses composition keywords (allOf, oneOf, anyOf).\n * These require special handling for merging or selecting schemas.\n */\nconst isComposed = (schema: SchemaObject): boolean => !!(schema.allOf || schema.oneOf || schema.anyOf)\n\n/**\n * Determine if a property should be omitted based on the options.\n * Properties are omitted if they are not required and the option is enabled.\n */\nconst shouldOmitProperty = (\n schema: SchemaObject,\n parentSchema: SchemaObject | undefined,\n propertyName: string | undefined,\n options: Pick<GetExampleFromSchemaOptions, 'omitEmptyAndOptionalProperties' | 'mode'> | undefined,\n): boolean => {\n // Early exits for schemas that should not be included (deprecated, readOnly, writeOnly)\n if (\n schema.deprecated ||\n (options?.mode === 'write' && schema.readOnly) ||\n (options?.mode === 'read' && schema.writeOnly)\n ) {\n return true\n }\n\n if (options?.omitEmptyAndOptionalProperties !== true) {\n return false\n }\n\n // Never omit container types (objects/arrays) or composed schemas\n const isContainer = ('type' in schema && (schema.type === 'object' || schema.type === 'array')) || isComposed(schema)\n if (isContainer) {\n return false\n }\n\n // Do not omit if explicit example-like values are present\n if (\n ('examples' in schema && Array.isArray(schema.examples) && schema.examples.length > 0) ||\n ('example' in schema && schema.example !== undefined) ||\n ('default' in schema && schema.default !== undefined) ||\n ('const' in schema && schema.const !== undefined) ||\n ('enum' in schema && Array.isArray(schema.enum) && schema.enum.length > 0)\n ) {\n return false\n }\n\n // Check if the property is required\n const name = propertyName ?? schema.title ?? ''\n const requiredNames = getRequiredNames(parentSchema)\n const isRequired = requiredNames ? requiredNames.has(name) : false\n\n return !isRequired\n}\n\n/**\n * Merge two example values with predictable semantics.\n * Arrays are concatenated, objects are merged, otherwise the new value wins.\n */\nconst mergeExamples = (baseValue: unknown, newValue: unknown): unknown => {\n if (Array.isArray(baseValue) && Array.isArray(newValue)) {\n return [...baseValue, ...newValue]\n }\n if (baseValue && typeof baseValue === 'object' && newValue && typeof newValue === 'object') {\n return { ...(baseValue as Record<string, unknown>), ...(newValue as Record<string, unknown>) }\n }\n return newValue\n}\n\n/**\n * Build an example for an object schema, including properties, patternProperties,\n * additionalProperties, and composition (allOf/oneOf/anyOf) merging.\n */\nconst handleObjectSchema = (\n schema: SchemaObject,\n options: Parameters<typeof getExampleFromSchema>[1],\n level: number,\n seen: WeakSet<object>,\n cacheKey: string,\n): unknown => {\n const response: Record<string, unknown> = {}\n\n if ('properties' in schema && schema.properties) {\n const propertyNames = Object.keys(schema.properties)\n const limit = propertyNames.length\n\n for (let i = 0; i < limit; i++) {\n const propertyName = propertyNames[i]!\n const propertySchema = resolve.schema(schema.properties[propertyName])\n if (!propertySchema) {\n continue\n }\n\n const propertyXmlName = options?.xml && 'xml' in propertySchema ? propertySchema.xml?.name : undefined\n const value = getExampleFromSchema(propertySchema, options, {\n level: level + 1,\n parentSchema: schema,\n name: propertyName,\n seen,\n })\n\n if (typeof value !== 'undefined') {\n response[propertyXmlName ?? propertyName] = value\n }\n }\n }\n\n if ('patternProperties' in schema && schema.patternProperties) {\n for (const pattern of Object.keys(schema.patternProperties)) {\n const propertySchema = resolve.schema(schema.patternProperties[pattern])\n if (!propertySchema) {\n continue\n }\n response[pattern] = getExampleFromSchema(propertySchema, options, {\n level: level + 1,\n parentSchema: schema,\n name: pattern,\n seen,\n })\n }\n }\n\n if ('additionalProperties' in schema && schema.additionalProperties) {\n const additional =\n typeof schema.additionalProperties === 'boolean'\n ? schema.additionalProperties\n : resolve.schema(schema.additionalProperties)\n const isAnyType =\n schema.additionalProperties === true ||\n (typeof schema.additionalProperties === 'object' && Object.keys(schema.additionalProperties).length === 0)\n\n // Check for explicit x-additionalPropertiesName first\n const hasCustomName =\n typeof additional === 'object' &&\n 'x-additionalPropertiesName' in additional &&\n typeof additional['x-additionalPropertiesName'] === 'string' &&\n additional['x-additionalPropertiesName'].trim().length > 0\n\n // Use propertyNames enum values as example keys when no custom name is set\n const propertyNamesEnum = hasCustomName ? undefined : getPropertyNamesEnumValues(schema)\n\n const additionalName = hasCustomName\n ? (additional as unknown as Record<string, string>)['x-additionalPropertiesName']!.trim()\n : DEFAULT_ADDITIONAL_PROPERTIES_NAME\n\n const additionalValue = isAnyType\n ? 'anything'\n : typeof additional === 'object'\n ? getExampleFromSchema(additional, options, {\n level: level + 1,\n seen,\n })\n : 'anything'\n\n if (propertyNamesEnum && propertyNamesEnum.length > 0) {\n // Use the first enum value as a realistic example key\n response[String(propertyNamesEnum[0])] = additionalValue\n } else {\n response[additionalName] = additionalValue\n }\n }\n\n // onOf\n if (schema.oneOf?.[0]) {\n Object.assign(\n response,\n getExampleFromSchema(resolve.schema(schema.oneOf[0]), options, {\n level: level + 1,\n seen,\n }),\n )\n }\n // anyOf\n else if (schema.anyOf?.[0]) {\n Object.assign(\n response,\n getExampleFromSchema(resolve.schema(schema.anyOf[0]), options, {\n level: level + 1,\n seen,\n }),\n )\n }\n // allOf\n else if (Array.isArray(schema.allOf) && schema.allOf.length > 0) {\n let merged: unknown = response\n for (const item of schema.allOf) {\n const ex = getExampleFromSchema(resolve.schema(item), options, {\n level: level + 1,\n parentSchema: schema,\n seen,\n })\n merged = mergeExamples(merged, ex)\n }\n if (merged && typeof merged === 'object') {\n Object.assign(response, merged as Record<string, unknown>)\n }\n }\n\n if (options?.xml && 'xml' in schema && schema.xml?.name && level === 0) {\n const wrapped: Record<string, unknown> = {}\n wrapped[schema.xml.name] = response\n return cache(schema, wrapped, cacheKey)\n }\n\n return cache(schema, response, cacheKey)\n}\n\n/** Build an example for an array schema, including items, allOf, oneOf/anyOf, and XML wrapping */\nconst handleArraySchema = (\n schema: SchemaObject,\n options: Parameters<typeof getExampleFromSchema>[1],\n level: number,\n seen: WeakSet<object>,\n cacheKey: string,\n) => {\n const items = 'items' in schema ? resolve.schema(schema.items) : undefined\n const itemsXmlTagName = items && typeof items === 'object' && 'xml' in items ? items.xml?.name : undefined\n const wrapItems = !!(options?.xml && 'xml' in schema && schema.xml?.wrapped && itemsXmlTagName)\n\n if (schema.example !== undefined) {\n return cache(schema, wrapItems ? { [itemsXmlTagName as string]: schema.example } : schema.example, cacheKey)\n }\n\n if (items && typeof items === 'object') {\n if (Array.isArray(items.allOf) && items.allOf.length > 0) {\n const allOf = items.allOf.filter(isDefined)\n const first = resolve.schema(allOf[0])\n\n if (first && typeof first === 'object' && 'type' in first && first.type === 'object') {\n const combined: SchemaObject = { type: 'object', allOf }\n const merged = getExampleFromSchema(combined, options, {\n level: level + 1,\n parentSchema: schema,\n seen,\n })\n return cache(schema, wrapItems ? [{ [itemsXmlTagName as string]: merged }] : [merged], cacheKey)\n }\n\n const examples = allOf\n .map((s) =>\n getExampleFromSchema(resolve.schema(s), options, {\n level: level + 1,\n parentSchema: schema,\n seen,\n }),\n )\n .filter(isDefined)\n return cache(\n schema,\n wrapItems ? (examples as unknown[]).map((e) => ({ [itemsXmlTagName as string]: e })) : examples,\n cacheKey,\n )\n }\n\n const union = items.anyOf || items.oneOf\n if (union && union.length > 0) {\n const first = union[0]!\n const ex = getExampleFromSchema(resolve.schema(first), options, {\n level: level + 1,\n parentSchema: schema,\n seen,\n })\n return cache(schema, wrapItems ? [{ [itemsXmlTagName as string]: ex }] : [ex], cacheKey)\n }\n }\n\n const isObject =\n items && typeof items === 'object' && (('type' in items && items.type === 'object') || 'properties' in items)\n const isArray =\n items && typeof items === 'object' && (('type' in items && items.type === 'array') || 'items' in items)\n\n if (items && typeof items === 'object' && (('type' in items && items.type) || isObject || isArray)) {\n const ex = getExampleFromSchema(items as SchemaObject, options, {\n level: level + 1,\n seen,\n })\n return cache(schema, wrapItems ? [{ [itemsXmlTagName as string]: ex }] : [ex], cacheKey)\n }\n\n return cache(schema, [], cacheKey)\n}\n\n/** Return primitive example value for single-type schemas, or undefined if not primitive */\nconst getPrimitiveValue = (schema: SchemaObject, makeUpRandomData: boolean, emptyString: string | undefined) => {\n if ('type' in schema && schema.type && !Array.isArray(schema.type)) {\n switch (schema.type) {\n case 'string':\n return guessFromFormat(schema, makeUpRandomData, emptyString ?? '')\n case 'boolean':\n return true\n case 'integer':\n return 'minimum' in schema && typeof schema.minimum === 'number' ? schema.minimum : 1\n case 'number':\n return 'minimum' in schema && typeof schema.minimum === 'number' ? schema.minimum : 1\n case 'array':\n return []\n default:\n return undefined\n }\n }\n return undefined\n}\n\n/** Return primitive example value for union-type schemas (type: string[]) */\nconst getUnionPrimitiveValue = (schema: SchemaObject, makeUpRandomData: boolean, emptyString: string | undefined) => {\n if ('type' in schema && Array.isArray(schema.type)) {\n if (schema.type.includes('null')) {\n return null\n }\n\n const first = schema.type[0]\n if (first) {\n switch (first) {\n case 'string':\n return guessFromFormat(schema, makeUpRandomData, emptyString ?? '')\n case 'boolean':\n return true\n case 'integer':\n return 'minimum' in schema && typeof schema.minimum === 'number' ? schema.minimum : 1\n case 'number':\n return 'minimum' in schema && typeof schema.minimum === 'number' ? schema.minimum : 1\n case 'null':\n return null\n default:\n return undefined\n }\n }\n }\n return undefined\n}\n\ntype GetExampleFromSchemaOptions = {\n /** Fallback string for empty string values. */\n emptyString?: string\n /** Whether to use XML tag names as keys. */\n xml?: boolean\n /** Whether to show read-only/write-only properties. */\n mode?: 'read' | 'write'\n /** Dynamic variables which can replace values via x-variable. */\n variables?: Record<string, unknown>\n /** Whether to omit empty and optional properties. */\n omitEmptyAndOptionalProperties?: boolean\n}\n\n/** Create stable cache key from the options object */\nconst createOptionsCacheKey = (options: GetExampleFromSchemaOptions | undefined) =>\n JSON.stringify({\n emptyString: options?.emptyString,\n xml: options?.xml,\n mode: options?.mode,\n variables: options?.variables,\n omitEmptyAndOptionalProperties: options?.omitEmptyAndOptionalProperties,\n })\n\n/**\n * Generate an example value from a given OpenAPI SchemaObject.\n *\n * This function recursively processes OpenAPI schemas to create realistic example data.\n * It handles all OpenAPI schema types including primitives, objects, arrays, and\n * composition schemas (allOf, oneOf, anyOf).\n * Uses a tonne of caching for maximum performance.\n *\n * @param schema - The OpenAPI SchemaObject to generate an example from.\n * @param options - Options to customize example generation.\n * @param level - The current recursion depth.\n * @param parentSchema - The parent schema, if any.\n * @param name - The name of the property being processed.\n * @returns An example value for the given schema.\n */\nexport const getExampleFromSchema = (\n schema: SchemaObject,\n options?: GetExampleFromSchemaOptions,\n {\n level = 0,\n parentSchema,\n name,\n seen = new WeakSet(),\n }: Partial<{\n level: number\n parentSchema: SchemaObject\n name: string\n seen: WeakSet<object>\n }> = {},\n): unknown => {\n // Resolve any $ref references to get the actual schema\n const _schema = resolve.schema(schema)\n if (!isDefined(_schema)) {\n return undefined\n }\n\n // Unpack from all proxies to get the raw schema object for cycle detection\n const targetValue = getSchemaCacheTarget(_schema)\n if (seen.has(targetValue)) {\n return undefined\n }\n seen.add(targetValue)\n\n /** Make the cache key unique per options */\n const cacheKey = createOptionsCacheKey(options)\n\n // Check cache first for performance - avoid recomputing the same schema\n const cached = resultCache.get(targetValue)?.get(cacheKey)\n if (typeof cached !== 'undefined') {\n seen.delete(targetValue)\n return cached\n }\n\n // Prevent infinite recursion in circular references\n if (level > MAX_LEVELS_DEEP) {\n seen.delete(targetValue)\n return '[Max Depth Exceeded]'\n }\n\n // Determine if we should generate realistic example data\n const makeUpRandomData = !!options?.emptyString\n\n // Early exits for schemas that should not be included (deprecated, readOnly, writeOnly, omitEmptyAndOptionalProperties)\n if (shouldOmitProperty(_schema, parentSchema, name, options)) {\n seen.delete(targetValue)\n return undefined\n }\n\n // Handle custom variables (x-variable extension)\n if ('x-variable' in _schema && _schema['x-variable']) {\n const value = options?.variables?.[_schema['x-variable']]\n if (value !== undefined) {\n // Type coercion for numeric types\n if ('type' in _schema && (_schema.type === 'number' || _schema.type === 'integer')) {\n seen.delete(targetValue)\n return cache(_schema, Number(value), cacheKey)\n }\n seen.delete(targetValue)\n return cache(_schema, value, cacheKey)\n }\n }\n\n // Priority order: examples > example > default > const > enum\n if (Array.isArray(_schema.examples) && _schema.examples.length > 0) {\n seen.delete(targetValue)\n return cache(_schema, _schema.examples[0], cacheKey)\n }\n if (_schema.example !== undefined) {\n seen.delete(targetValue)\n return cache(_schema, _schema.example, cacheKey)\n }\n if (_schema.default !== undefined) {\n seen.delete(targetValue)\n return cache(_schema, _schema.default, cacheKey)\n }\n if (_schema.const !== undefined) {\n seen.delete(targetValue)\n return cache(_schema, _schema.const, cacheKey)\n }\n if (Array.isArray(_schema.enum) && _schema.enum.length > 0) {\n seen.delete(targetValue)\n return cache(_schema, _schema.enum[0], cacheKey)\n }\n\n // Handle object types - check for properties to identify objects\n if ('properties' in _schema || ('type' in _schema && _schema.type === 'object')) {\n const result = handleObjectSchema(_schema, options, level, seen, cacheKey)\n seen.delete(targetValue)\n return result\n }\n\n // Handle array types\n if (('type' in _schema && _schema.type === 'array') || 'items' in _schema) {\n const result = handleArraySchema(_schema, options, level, seen, cacheKey)\n seen.delete(targetValue)\n return result\n }\n\n // Handle primitive types without allocating temporary objects\n const primitive = getPrimitiveValue(_schema, makeUpRandomData, options?.emptyString)\n if (primitive !== undefined) {\n seen.delete(targetValue)\n return cache(_schema, primitive, cacheKey)\n }\n\n // Handle composition schemas (oneOf, anyOf) at root level\n const discriminate = _schema.oneOf || _schema.anyOf\n if (Array.isArray(discriminate) && discriminate.length > 0) {\n // Find the first non-null type without allocating intermediate arrays\n for (const item of discriminate) {\n const resolved = resolve.schema(item)\n if (resolved && (!('type' in resolved) || resolved.type !== 'null')) {\n seen.delete(targetValue)\n return cache(\n _schema,\n getExampleFromSchema(resolved, options, {\n level: level + 1,\n seen,\n }),\n cacheKey,\n )\n }\n }\n seen.delete(targetValue)\n return cache(_schema, null, cacheKey)\n }\n\n // Handle allOf at root level (non-object/array schemas)\n if (Array.isArray(_schema.allOf) && _schema.allOf.length > 0) {\n let merged: unknown = undefined\n const items = _schema.allOf\n for (const item of items) {\n const ex = getExampleFromSchema(item as SchemaObject, options, {\n level: level + 1,\n parentSchema: _schema,\n seen,\n })\n if (merged === undefined) {\n merged = ex\n } else if (merged && typeof merged === 'object' && ex && typeof ex === 'object') {\n merged = mergeExamples(merged, ex)\n } else if (ex !== undefined) {\n // Prefer the latest defined primitive value\n merged = ex\n }\n }\n seen.delete(targetValue)\n return cache(_schema, merged ?? null, cacheKey)\n }\n\n // Handle union types (array of types)\n const unionPrimitive = getUnionPrimitiveValue(_schema, makeUpRandomData, options?.emptyString)\n if (unionPrimitive !== undefined) {\n seen.delete(targetValue)\n return cache(_schema, unionPrimitive, cacheKey)\n }\n\n // Default fallback\n seen.delete(targetValue)\n return cache(_schema, null, cacheKey)\n}\n","import type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'\n\nimport { matchesDomain } from '@/libs/send-request/set-request-cookies'\n\n/**\n * Filter a global cookie to determine if it should be included with a request to the given URL.\n * - Returns false if the cookie is disabled, in the disabledGlobalCookies map, or missing a name.\n * - Returns false if the domain does not match.\n * - Returns false if the path is specified and does not match the URL pathname.\n * - Returns true otherwise.\n */\nexport const filterGlobalCookie = ({\n cookie,\n url,\n disabledGlobalCookies,\n}: {\n cookie: XScalarCookie\n url: string\n disabledGlobalCookies: Record<string, boolean>\n}): boolean => {\n // Filter out disabled cookies, those disabled globally, or those missing a name.\n if (cookie.isDisabled || disabledGlobalCookies[cookie.name.toLowerCase()] === true || !cookie.name) {\n return false\n }\n\n // Parse the URL to extract the pathname for path matching.\n const urlObject = new URL(url, 'https://example.com')\n\n // If a domain restriction exists, ensure the cookie is only sent for matching domains.\n if (cookie.domain && !matchesDomain(url, cookie.domain)) {\n return false\n }\n\n // If a path restriction exists, ensure the cookie is only sent for URLs with a matching prefix.\n if (cookie.path && !urlObject.pathname.startsWith(cookie.path)) {\n return false\n }\n\n // Cookie passed all checks; include it in the request.\n return true\n}\n","import { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n ParameterObject,\n ParameterWithSchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\n/** Helper that de-serializes the example value based on the parameter type */\nexport const deSerializeParameter = (example: unknown, param: ParameterObject) => {\n if ('content' in param) {\n return deSerializeContentExample(example, Object.keys(param.content ?? {})[0] ?? '')\n }\n if ('schema' in param) {\n return deSerializeSchemaExample(example, param.schema)\n }\n\n return example\n}\n\n/** De-serialize the example value based on the content type */\nconst deSerializeContentExample = (example: unknown, contentType: string) => {\n if (typeof example === 'string' && contentType.includes('json')) {\n try {\n return JSON.parse(example)\n } catch {\n // Ignore the error and return the original example\n }\n }\n return example\n}\n\n/** Create a set of all the types we wish to parse as JSON */\nconst parseableTypesSet = new Set(['array', 'object', 'boolean', 'number', 'integer', 'null'])\n\n/** De-serialize the example value based on the schema type */\nconst deSerializeSchemaExample = (example: unknown, schema: ParameterWithSchemaObject['schema']) => {\n const resolvedSchema = getResolvedRef(schema)\n\n if (typeof example === 'string' && resolvedSchema && 'type' in resolvedSchema) {\n const type = Array.isArray(resolvedSchema.type) ? resolvedSchema.type[0] : resolvedSchema.type\n\n if (type && parseableTypesSet.has(type)) {\n try {\n return JSON.parse(example)\n } catch {\n // For array types, fall back to splitting comma-separated values.\n // Users commonly enter array values as \"foo,bar\" or \"foo, bar\" in the UI\n // text field, which is not valid JSON. Per the OpenAPI spec, the default\n // serialization for query array parameters is style=form + explode=true,\n // meaning each value should be sent as a separate query parameter.\n if (type === 'array') {\n return example.split(/,\\s?/).filter((v) => v !== '')\n }\n // Ignore the error and return the original example for other types\n }\n }\n }\n\n return example\n}\n","import type { ExampleObject, ParameterObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\n/**\n * Determines if a parameter is disabled\n *\n * First we explicitly check if its been disabled via the `x-disabled` extension.\n * Then we check if its an optional parameter and not a path parameter.\n *\n * @param param - The parameter to check.\n * @param example - The example to check.\n * @returns true if the parameter is disabled, false otherwise.\n */\nexport const isParamDisabled = (param: ParameterObject, example: ExampleObject | undefined) => {\n const xDisabled = example?.['x-disabled']\n\n // If x-disabled is explicitly set (true or false), use that value\n if (typeof xDisabled === 'boolean') {\n return xDisabled\n }\n\n // Otherwise, disable optional parameters (except path parameters which are always required)\n return !param.required && param.in !== 'path'\n}\n","/**\n * Shared parameter serialization utilities for OpenAPI style values.\n * Used by both build-request-parameters and process-parameters.\n *\n * @see https://spec.openapis.org/oas/v3.1.1.html#style-values\n */\n\n/**\n * Serializes a value based on the content type for content-based query parameters.\n * Content-based query parameters do not use style serialization and instead follow\n * their content type specification (e.g., application/json should be JSON.stringified).\n *\n * @param value - The value to serialize\n * @param contentType - The content type to use for serialization\n * @returns The serialized value as a string\n */\nexport const serializeContentValue = (value: unknown, contentType: string): string => {\n // If already a string, return as is\n if (typeof value === 'string') {\n return value\n }\n\n // Handle JSON content types\n if (contentType.includes('json') || (typeof value === 'object' && value !== null && !Array.isArray(value))) {\n return JSON.stringify(value)\n }\n\n // Default: convert to string\n return String(value)\n}\n\n/**\n * Serializes a value according to OpenAPI simple style.\n * Used for path and header parameters.\n *\n * Simple style with explode: false\n * - Primitive: blue\n * - Array: blue,black,brown\n * - Object: R,100,G,200,B,150\n *\n * Simple style with explode: true\n * - Primitive: blue\n * - Array: blue,black,brown\n * - Object: R=100,G=200,B=150\n */\nexport const serializeSimpleStyle = (value: unknown, explode: boolean): unknown => {\n // Handle arrays\n if (Array.isArray(value)) {\n return value.join(',')\n }\n\n // Handle objects\n if (typeof value === 'object' && value !== null) {\n const entries = Object.entries(value as Record<string, unknown>)\n\n if (explode) {\n // Simple explode object: R=100,G=200,B=150\n return entries.map(([k, v]) => `${k}=${v}`).join(',')\n }\n\n // Simple no explode object: R,100,G,200,B,150\n return entries.map(([k, v]) => `${k},${v}`).join(',')\n }\n\n // Handle primitives - return as-is to preserve type\n return value\n}\n\n/**\n * Serializes a value according to OpenAPI form style.\n * Used for query and cookie parameters.\n *\n * Form style with explode: true (default for query)\n * - Primitive: color=blue\n * - Array: color=blue&color=black&color=brown (multiple entries)\n * - Object: R=100&G=200&B=150 (multiple entries)\n *\n * Form style with explode: false\n * - Primitive: color=blue\n * - Array: color=blue,black,brown\n * - Object: color=R,100,G,200,B,150\n */\nexport const serializeFormStyle = (\n value: unknown,\n explode: boolean,\n): unknown | Array<{ key: string; value: unknown }> => {\n // Handle arrays with explode\n if (Array.isArray(value) && explode) {\n return value.map((v) => ({ key: '', value: v }))\n }\n\n // Handle arrays without explode\n if (Array.isArray(value)) {\n return value.join(',')\n }\n\n // Handle objects with explode\n if (typeof value === 'object' && value !== null && explode) {\n return Object.entries(value as Record<string, unknown>).map(([k, v]) => ({\n key: k,\n value: v,\n }))\n }\n\n // Handle objects without explode\n if (typeof value === 'object' && value !== null) {\n return Object.entries(value as Record<string, unknown>)\n .map(([k, v]) => `${k},${v}`)\n .join(',')\n }\n\n // Handle primitives - return as-is to preserve type\n return value\n}\n\n/**\n * Serializes a value according to OpenAPI form style for cookies.\n * This is similar to serializeFormStyle but handles nested objects recursively\n * and treats null values specially for cookie serialization.\n *\n * Form style with explode: true (default for cookies)\n * - Primitive: color=blue\n * - Array: color=blue&color=black&color=brown (multiple entries)\n * - Object: R=100&G=200&B=150 (multiple entries)\n *\n * Form style with explode: false\n * - Primitive: color=blue\n * - Array: color=blue,black,brown (null becomes \"null\")\n * - Object: color=R,100,G,200,B,150 (recursively flattened)\n */\nexport const serializeFormStyleForCookies = (\n value: unknown,\n explode: boolean,\n): unknown | Array<{ key: string; value: unknown }> => {\n // Handle arrays with explode\n if (Array.isArray(value) && explode) {\n return value.map((v) => ({ key: '', value: v }))\n }\n\n // Handle arrays without explode - convert null to \"null\" string\n if (Array.isArray(value)) {\n return value.map((v) => (v === null ? 'null' : String(v))).join(',')\n }\n\n // Handle objects with explode\n if (typeof value === 'object' && value !== null && explode) {\n return Object.entries(value as Record<string, unknown>).map(([k, v]) => ({\n key: k,\n value: v,\n }))\n }\n\n // Handle objects without explode - recursively flatten nested objects\n if (typeof value === 'object' && value !== null) {\n const flattenObject = (obj: Record<string, unknown>): string[] => {\n const result: string[] = []\n\n for (const [key, val] of Object.entries(obj)) {\n // Recursively flatten nested objects\n if (typeof val === 'object' && val !== null && !Array.isArray(val)) {\n result.push(key, ...flattenObject(val as Record<string, unknown>))\n }\n // Handle primitive values\n else {\n result.push(key, val === null ? 'null' : String(val))\n }\n }\n\n return result\n }\n\n return flattenObject(value as Record<string, unknown>).join(',')\n }\n\n // Handle primitives - return as-is to preserve type\n return value\n}\n\n/**\n * Serializes a value according to OpenAPI spaceDelimited style.\n * Only valid for query parameters with array or object values.\n *\n * SpaceDelimited array: blue black brown\n * SpaceDelimited object: R 100 G 200 B 150\n */\nexport const serializeSpaceDelimitedStyle = (value: unknown): string => {\n // Handle arrays\n if (Array.isArray(value)) {\n return value.join(' ')\n }\n\n // Handle objects\n if (typeof value === 'object' && value !== null) {\n return Object.entries(value as Record<string, unknown>)\n .map(([k, v]) => `${k} ${v}`)\n .join(' ')\n }\n\n // Handle primitives (shouldn't happen for spaceDelimited)\n return String(value)\n}\n\n/**\n * Serializes a value according to OpenAPI pipeDelimited style.\n * Only valid for query parameters with array or object values.\n *\n * PipeDelimited array: blue|black|brown\n * PipeDelimited object: R|100|G|200|B|150\n */\nexport const serializePipeDelimitedStyle = (value: unknown): string => {\n // Handle arrays\n if (Array.isArray(value)) {\n return value.join('|')\n }\n\n // Handle objects\n if (typeof value === 'object' && value !== null) {\n return Object.entries(value as Record<string, unknown>)\n .flat()\n .join('|')\n }\n\n // Handle primitives (shouldn't happen for pipeDelimited)\n return String(value)\n}\n\n/**\n * Serializes a value according to OpenAPI deepObject style.\n * Only valid for query parameters with explode: true.\n *\n * DeepObject: color[R]=100&color[G]=200&color[B]=150\n * Nested: user[name][first]=Alex&user[name][last]=Smith&user[role]=admin\n */\nexport const serializeDeepObjectStyle = (paramName: string, value: unknown): Array<{ key: string; value: string }> => {\n const result: Array<{ key: string; value: string }> = []\n\n /**\n * Recursively flattens nested objects into deepObject notation.\n */\n const flatten = (obj: Record<string, unknown>, prefix: string): void => {\n for (const [key, val] of Object.entries(obj)) {\n const fullKey = `${prefix}[${key}]`\n\n if (typeof val === 'object' && val !== null && !Array.isArray(val)) {\n // Recursively flatten nested objects\n flatten(val as Record<string, unknown>, fullKey)\n } else {\n // Add primitive values\n result.push({ key: fullKey, value: String(val) })\n }\n }\n }\n\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n flatten(value as Record<string, unknown>, paramName)\n }\n\n return result\n}\n","<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarListbox,\n type ScalarListboxOption,\n} from '@scalar/components'\nimport { ScalarIconCaretDown } from '@scalar/icons'\nimport type { MediaTypeObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nconst { examples = {} } = defineProps<{\n examples?: MediaTypeObject['examples'] | Record<string, string>\n}>()\n\nconst selectedExampleKey = defineModel<string>({\n required: true,\n})\n\ndefineOptions({ inheritAttrs: false })\n\nconst exampleOptions = computed<ScalarListboxOption[]>(() =>\n Object.entries(examples).map(([key, example]) => ({\n id: key,\n label: example?.summary ?? key,\n })),\n)\n\nconst selectedExample = computed<ScalarListboxOption | undefined>({\n get: () =>\n exampleOptions.value.find(({ id }) => id === selectedExampleKey.value),\n set: (v) => (selectedExampleKey.value = v?.id ?? ''),\n})\n</script>\n\n<template>\n <ScalarListbox\n v-model=\"selectedExample\"\n class=\"w-fit min-w-32\"\n :options=\"exampleOptions\"\n placement=\"bottom-start\"\n teleport>\n <ScalarButton\n class=\"text-c-2 hover:text-c-1 flex h-full w-fit min-w-0 gap-1.5 px-1.5 py-0.75 text-base font-normal\"\n data-testid=\"example-picker\"\n variant=\"ghost\"\n v-bind=\"$attrs\">\n <div class=\"min-w-0 flex-1 truncate\">\n {{ selectedExample?.label ?? 'Select an example' }}\n </div>\n <ScalarIconCaretDown\n class=\"ui-open:rotate-180 mt-0.25 size-3 transition-transform duration-100\"\n weight=\"bold\" />\n </ScalarButton>\n </ScalarListbox>\n</template>\n","<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarListbox,\n type ScalarListboxOption,\n} from '@scalar/components'\nimport { ScalarIconCaretDown } from '@scalar/icons'\nimport type { MediaTypeObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nconst { examples = {} } = defineProps<{\n examples?: MediaTypeObject['examples'] | Record<string, string>\n}>()\n\nconst selectedExampleKey = defineModel<string>({\n required: true,\n})\n\ndefineOptions({ inheritAttrs: false })\n\nconst exampleOptions = computed<ScalarListboxOption[]>(() =>\n Object.entries(examples).map(([key, example]) => ({\n id: key,\n label: example?.summary ?? key,\n })),\n)\n\nconst selectedExample = computed<ScalarListboxOption | undefined>({\n get: () =>\n exampleOptions.value.find(({ id }) => id === selectedExampleKey.value),\n set: (v) => (selectedExampleKey.value = v?.id ?? ''),\n})\n</script>\n\n<template>\n <ScalarListbox\n v-model=\"selectedExample\"\n class=\"w-fit min-w-32\"\n :options=\"exampleOptions\"\n placement=\"bottom-start\"\n teleport>\n <ScalarButton\n class=\"text-c-2 hover:text-c-1 flex h-full w-fit min-w-0 gap-1.5 px-1.5 py-0.75 text-base font-normal\"\n data-testid=\"example-picker\"\n variant=\"ghost\"\n v-bind=\"$attrs\">\n <div class=\"min-w-0 flex-1 truncate\">\n {{ selectedExample?.label ?? 'Select an example' }}\n </div>\n <ScalarIconCaretDown\n class=\"ui-open:rotate-180 mt-0.25 size-3 transition-transform duration-100\"\n weight=\"bold\" />\n </ScalarButton>\n </ScalarListbox>\n</template>\n","import { json2xml } from '@scalar/helpers/file/json2xml'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport type { MediaTypeObject, RequestBodyObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { getExampleFromSchema } from '@v2/blocks/operation-code-sample/helpers/get-example-from-schema'\nimport type { Param, PostData } from 'har-format'\n\nimport { getExample } from '@/v2/blocks/operation-block/helpers/get-example'\n\nimport type { OperationToHarProps } from './operation-to-har'\n\ntype ProcessBodyProps = Pick<OperationToHarProps, 'contentType' | 'example'> & {\n requestBody: RequestBodyObject\n}\n\ntype MultipartEncodingMap = MediaTypeObject['encoding']\n\n/**\n * Converts an object to an array of form parameters\n * @param obj - The object to convert\n * @returns Array of form parameters with name and value properties\n */\nconst objectToFormParams = (\n obj: object | { name: string; value: unknown; isDisabled: boolean }[],\n encoding?: MultipartEncodingMap,\n parentKey?: string,\n): Param[] => {\n const params: Param[] = []\n\n /** Ensure we do not include disabled items */\n const entries = Array.isArray(obj)\n ? obj.filter((item) => !item.isDisabled).map((item) => [item.name, item.value])\n : Object.entries(obj)\n\n for (const [key, value] of entries) {\n if (value === undefined || value === null) {\n continue\n }\n\n const partContentType = parentKey ? undefined : encoding?.[key]?.contentType\n\n // Handle File objects by converting them to 'BINARY'\n if (value instanceof File) {\n const file = unpackProxyObject(value)\n params.push({ name: key, value: `@${file.name}`, ...(partContentType ? { contentType: partContentType } : {}) })\n }\n // Multipart encodings can override the entire top-level part payload\n else if (partContentType && typeof value === 'object') {\n params.push({\n name: key,\n value: JSON.stringify(unpackProxyObject(value)),\n contentType: partContentType,\n })\n }\n // Handle arrays by adding each item with the same key\n else if (Array.isArray(value)) {\n for (const item of value) {\n // Check if array item is a File\n if (item instanceof File) {\n const file = unpackProxyObject(item)\n params.push({ name: key, value: `@${file.name}` })\n } else {\n params.push({ name: key, value: String(item) })\n }\n }\n }\n // Handle nested objects by flattening them\n else if (typeof value === 'object') {\n const nestedParams = objectToFormParams(value, undefined, key)\n\n for (const param of nestedParams) {\n params.push({ name: `${key}.${param.name}`, value: param.value })\n }\n } else {\n params.push({ name: key, value: String(value), ...(partContentType ? { contentType: partContentType } : {}) })\n }\n }\n\n return params\n}\n\n/**\n * Processes the request body and returns the processed data\n * Returns undefined if no example is found\n */\nexport const processBody = ({ requestBody, contentType, example }: ProcessBodyProps): PostData | undefined => {\n const _contentType = contentType || Object.keys(requestBody.content)[0] || ''\n const formatBinaryFile = (file: File) => {\n const unwrappedFile = unpackProxyObject(file)\n return `@${unwrappedFile.name || 'filename'}`\n }\n const encoding = requestBody.content[_contentType]?.encoding\n\n // Check if this is a form data content type\n const isFormData = _contentType === 'multipart/form-data' || _contentType === 'application/x-www-form-urlencoded'\n\n // Check if this is an XML content type\n const isXml = _contentType === 'application/xml'\n\n // Get the example value\n const _example = getExample(requestBody, example, contentType)?.value\n\n // Return the provided top level example\n if (typeof _example !== 'undefined') {\n const exampleValue = _example !== null && typeof _example === 'object' ? unpackProxyObject(_example) : _example\n\n if (isFormData && typeof exampleValue === 'object' && exampleValue !== null) {\n return {\n mimeType: _contentType,\n params: objectToFormParams(exampleValue, _contentType === 'multipart/form-data' ? encoding : undefined),\n }\n }\n\n if (isXml && typeof exampleValue === 'object' && exampleValue !== null) {\n return {\n mimeType: _contentType,\n text: json2xml(exampleValue),\n }\n }\n\n if (exampleValue instanceof File) {\n return {\n mimeType: _contentType,\n text: formatBinaryFile(exampleValue),\n }\n }\n\n return {\n mimeType: _contentType,\n text: typeof exampleValue === 'string' ? exampleValue : JSON.stringify(exampleValue),\n }\n }\n\n // Try to extract examples from the schema\n const contentSchema = getResolvedRef(requestBody.content[_contentType]?.schema)\n if (typeof contentSchema !== 'undefined') {\n const extractedExample = getExampleFromSchema(contentSchema, {\n mode: 'write',\n xml: isXml,\n })\n\n if (extractedExample !== undefined) {\n if (isFormData && typeof extractedExample === 'object' && extractedExample !== null) {\n return {\n mimeType: _contentType,\n params: objectToFormParams(extractedExample, _contentType === 'multipart/form-data' ? encoding : undefined),\n }\n }\n\n if (isXml && typeof extractedExample === 'object' && extractedExample !== null) {\n return {\n mimeType: _contentType,\n text: json2xml(extractedExample),\n }\n }\n\n return {\n mimeType: _contentType,\n text: typeof extractedExample === 'string' ? extractedExample : JSON.stringify(extractedExample),\n }\n }\n }\n\n return undefined\n}\n","import { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { OperationObject, ParameterObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { getExampleFromSchema } from '@v2/blocks/operation-code-sample/helpers/get-example-from-schema'\nimport type { Request as HarRequest } from 'har-format'\n\nimport { deSerializeParameter } from '@/v2/blocks/operation-block/helpers/de-serialize-parameter'\nimport { getExample } from '@/v2/blocks/operation-block/helpers/get-example'\nimport {\n serializeContentValue,\n serializeDeepObjectStyle,\n serializeFormStyle,\n serializeFormStyleForCookies,\n serializePipeDelimitedStyle,\n serializeSimpleStyle,\n serializeSpaceDelimitedStyle,\n} from '@/v2/blocks/operation-block/helpers/serialize-parameter'\nimport { isParamDisabled } from '@/v2/blocks/request-block/helpers/is-param-disabled'\n\ntype ProcessedParameters = {\n url: string\n headers: HarRequest['headers']\n queryString: HarRequest['queryString']\n cookies: HarRequest['cookies']\n}\n\n/** Ensures we don't have any references in the parameters */\nconst deReferenceParams = (params: OperationObject['parameters']): ParameterObject[] =>\n (params ?? []).map((param) => getResolvedRef(param))\n\n/**\n * Get the style and explode values for a parameter according to OpenAPI 3.1.1 specification.\n * Handles defaults and validation for parameter location restrictions.\n */\nconst getParameterStyleAndExplode = (param: ParameterObject): { style: string; explode: boolean } => {\n // Headers only support 'simple' style\n if (param.in === 'header') {\n const explode = 'explode' in param && param.explode !== undefined ? param.explode : false\n return { style: 'simple', explode }\n }\n\n // Cookies only support 'form' style\n if (param.in === 'cookie') {\n const explode = 'explode' in param && param.explode !== undefined ? param.explode : true\n return { style: 'form', explode }\n }\n\n const defaultStyle = {\n path: 'simple',\n query: 'form',\n header: 'simple',\n cookie: 'form',\n }[param.in]\n\n // Use provided style or default based on location\n const style = 'style' in param && param.style ? param.style : defaultStyle\n\n // Determine explode value: use provided value or default based on style\n const explode = 'explode' in param && param.explode !== undefined ? param.explode : style === 'form'\n\n return { style, explode }\n}\n\n/**\n * Extract the value for a parameter from example data or schema.\n * Prioritizes example data over schema examples.\n * Returns null if the parameter is disabled so we can skip it.\n */\nconst getParameterValue = (\n param: ParameterObject,\n example: string | undefined,\n contentType: string | undefined,\n): unknown => {\n // Try to get value from example first\n const exampleValue = getExample(param, example, contentType)\n\n // If the parameter is disabled, return undefined so we can skip it.\n if (isParamDisabled(param, exampleValue)) {\n return undefined\n }\n\n // If the example value is set, return it.\n if (exampleValue?.value !== undefined) {\n return deSerializeParameter(exampleValue.value, param)\n }\n\n // Fall back to schema example if available\n if (!('schema' in param) || !param.schema) {\n return undefined\n }\n\n const options = param.in === 'path' ? { emptyString: `{${param.name}}` } : {}\n return getExampleFromSchema(getResolvedRef(param.schema), options)\n}\n\n/**\n * Process OpenAPI parameters and return the updated properties.\n * Handles path, query, and header parameters with various styles and explode options.\n *\n * @see https://spec.openapis.org/oas/latest.html#style-values\n */\nexport const processParameters = ({\n harRequest,\n parameters,\n example,\n}: {\n harRequest: HarRequest\n parameters: OperationObject['parameters']\n /** The name of the example to use */\n example?: string | undefined\n}): ProcessedParameters => {\n // Create copies of the arrays to avoid modifying the input\n const newHeaders = [...harRequest.headers]\n const newQueryString = [...harRequest.queryString]\n let newUrl = harRequest.url\n\n // Filter out references\n const deReferencedParams = deReferenceParams(parameters)\n\n for (const param of deReferencedParams) {\n if (!param.in || !param.name) {\n continue\n }\n\n const paramValue = getParameterValue(param, example, undefined)\n if (paramValue === undefined) {\n continue\n }\n\n const { style, explode } = getParameterStyleAndExplode(param)\n\n switch (param.in) {\n case 'path': {\n newUrl = processPathParameters(newUrl, param, paramValue, style, explode)\n break\n }\n\n case 'query': {\n // Content type parameters should be serialized according to the parameter's own content type\n if ('content' in param && param.content) {\n // We grab the first for now but eventually we should support selecting the content type per parameter\n const paramContentType = Object.keys(param.content)[0] ?? 'application/json'\n const serializedValue = serializeContentValue(paramValue, paramContentType)\n newQueryString.push({ name: param.name, value: serializedValue })\n break\n }\n\n // Handle query parameters\n switch (style) {\n case 'form': {\n const serialized = serializeFormStyle(paramValue, explode)\n\n // If serialized is an array of key-value pairs (exploded object or array)\n if (Array.isArray(serialized)) {\n for (const entry of serialized) {\n const key = entry.key || param.name\n newQueryString.push({ name: key, value: String(entry.value) })\n }\n }\n // Otherwise, convert to string\n else {\n newQueryString.push({ name: param.name, value: String(serialized) })\n }\n break\n }\n case 'spaceDelimited': {\n const serialized = serializeSpaceDelimitedStyle(paramValue)\n newQueryString.push({ name: param.name, value: serialized })\n break\n }\n case 'pipeDelimited': {\n const serialized = serializePipeDelimitedStyle(paramValue)\n newQueryString.push({ name: param.name, value: serialized })\n break\n }\n case 'deepObject': {\n if (explode) {\n const entries = serializeDeepObjectStyle(param.name, paramValue)\n for (const entry of entries) {\n newQueryString.push({ name: entry.key, value: entry.value })\n }\n }\n break\n }\n\n // Default to form style\n default:\n newQueryString.push({ name: param.name, value: String(paramValue) })\n }\n break\n }\n\n // Headers only support 'simple' style according to OpenAPI 3.1.1\n // For arrays, simple style always produces comma-separated values regardless of explode\n // The explode parameter only affects object serialization\n case 'header': {\n const serialized = serializeSimpleStyle(paramValue, explode)\n newHeaders.push({ name: param.name, value: String(serialized) })\n break\n }\n\n // Cookies only support 'form' style according to OpenAPI 3.1.1\n case 'cookie': {\n const serialized = serializeFormStyleForCookies(paramValue, explode)\n\n // If serialized is an array of key-value pairs (exploded object or array)\n if (Array.isArray(serialized)) {\n for (const entry of serialized) {\n const key = entry.key || param.name\n const value = entry.value === null ? 'null' : String(entry.value)\n harRequest.cookies.push({ name: key, value })\n }\n }\n // Otherwise, convert to string\n else {\n const value = serialized === null ? 'null' : String(serialized)\n harRequest.cookies.push({ name: param.name, value })\n }\n break\n }\n }\n }\n\n return {\n url: newUrl,\n headers: newHeaders,\n queryString: newQueryString,\n cookies: harRequest.cookies,\n }\n}\n\n/**\n * Process path parameters according to OpenAPI specification.\n * Handles matrix, label, and simple styles with explode options.\n *\n * @param url - The URL to process\n * @param param - The parameter object\n * @param paramValue - The value of the parameter\n * @param style - The style of the parameter (matrix, label, simple)\n * @param explode - Whether to explode the parameter\n * @returns The updated URL with processed path parameters\n */\nconst processPathParameters = (\n url: string,\n param: ParameterObject,\n paramValue: unknown,\n style: string,\n explode: boolean,\n): string => {\n switch (style) {\n case 'matrix': {\n if (explode) {\n // Matrix explode array: ;color=blue;color=black;color=brown\n if (Array.isArray(paramValue)) {\n const values = (paramValue as unknown[]).map((v) => `${param.name}=${v}`).join(';')\n return url.replace(`{;${param.name}}`, `;${values}`)\n }\n\n // Matrix explode object: ;R=100;G=200;B=150\n if (typeof paramValue === 'object' && paramValue !== null) {\n const values = Object.entries(paramValue as Record<string, unknown>)\n .map(([k, v]) => `${k}=${v}`)\n .join(';')\n return url.replace(`{;${param.name}}`, `;${values}`)\n }\n\n // Matrix explode primitive: ;color=blue\n return url.replace(`{;${param.name}}`, `;${param.name}=${paramValue}`)\n }\n\n // Matrix no explode array: ;color=blue,black,brown\n if (Array.isArray(paramValue)) {\n return url.replace(`{;${param.name}}`, `;${param.name}=${(paramValue as unknown[]).join(',')}`)\n }\n\n // Matrix no explode object: ;color=R,100,G,200,B,150\n if (typeof paramValue === 'object' && paramValue !== null) {\n const values = Object.entries(paramValue as Record<string, unknown>)\n .map(([k, v]) => `${k},${v}`)\n .join(',')\n return url.replace(`{;${param.name}}`, `;${param.name}=${values}`)\n }\n\n // Matrix no explode primitive: ;color=blue\n return url.replace(`{;${param.name}}`, `;${param.name}=${paramValue}`)\n }\n case 'label': {\n if (explode) {\n // Label explode array: .blue.black.brown\n if (Array.isArray(paramValue)) {\n return url.replace(`{.${param.name}}`, `.${(paramValue as unknown[]).join('.')}`)\n }\n\n // Label explode object: .R=100.G=200.B=150\n if (typeof paramValue === 'object' && paramValue !== null) {\n const values = Object.entries(paramValue as Record<string, unknown>)\n .map(([k, v]) => `${k}=${v}`)\n .join('.')\n\n return url.replace(`{.${param.name}}`, `.${values}`)\n }\n\n // Label explode primitive: .blue\n return url.replace(`{.${param.name}}`, `.${paramValue}`)\n }\n\n // Label no explode array: .blue,black,brown\n if (Array.isArray(paramValue)) {\n return url.replace(`{.${param.name}}`, `.${(paramValue as unknown[]).join(',')}`)\n }\n\n // Label no explode object: .R,100,G,200,B,150\n if (typeof paramValue === 'object' && paramValue !== null) {\n const values = Object.entries(paramValue as Record<string, unknown>)\n .map(([k, v]) => `${k},${v}`)\n .join(',')\n\n return url.replace(`{.${param.name}}`, `.${values}`)\n }\n\n // Label no explode primitive: .blue\n return url.replace(`{.${param.name}}`, `.${paramValue}`)\n }\n\n case 'simple': {\n const serialized = serializeSimpleStyle(paramValue, explode)\n return url.replace(`{${param.name}}`, String(serialized))\n }\n\n // Default to simple style\n default:\n return url.replace(`{${param.name}}`, String(paramValue))\n }\n}\n","import type { Request as HarRequest } from 'har-format'\nimport { encode } from 'js-base64'\n\nimport type { SecuritySchemeObjectSecret } from '@/v2/blocks/scalar-auth-selector-block/helpers/secret-types'\n\ntype ProcessedSecuritySchemesReturn = {\n headers: HarRequest['headers']\n queryString: HarRequest['queryString']\n cookies: HarRequest['cookies']\n}\n\n/**\n * Process security schemes into whichever parameters they are applicable to\n *\n * TODO: we probably want to be able to disable YOUR_SECRET_TOKEN placeholder text + or allow it to be customzied\n */\nexport const processSecuritySchemes = (\n securitySchemes: SecuritySchemeObjectSecret[],\n): ProcessedSecuritySchemesReturn => {\n const result: ProcessedSecuritySchemesReturn = {\n headers: [],\n queryString: [],\n cookies: [],\n }\n\n for (const scheme of securitySchemes) {\n // Handle apiKey type\n if (scheme.type === 'apiKey') {\n const value = scheme['x-scalar-secret-token'] || 'YOUR_SECRET_TOKEN'\n if (!scheme.name) {\n continue\n }\n\n const param = { name: scheme.name, value }\n\n switch (scheme.in) {\n case 'header':\n result.headers.push(param)\n break\n case 'query':\n result.queryString.push(param)\n break\n case 'cookie':\n result.cookies.push(param)\n break\n }\n continue\n }\n\n // Handle http type\n if (scheme.type === 'http') {\n if (scheme.scheme === 'basic') {\n const username = scheme['x-scalar-secret-username'] || ''\n const password = scheme['x-scalar-secret-password'] || ''\n\n const value = `${username}:${password}`\n const auth = value === ':' ? 'username:password' : encode(value)\n\n result.headers.push({\n name: 'Authorization',\n value: `Basic ${auth}`,\n })\n } else if (scheme.scheme === 'bearer') {\n const token = scheme['x-scalar-secret-token'] || 'YOUR_SECRET_TOKEN'\n\n result.headers.push({\n name: 'Authorization',\n value: `Bearer ${token}`,\n })\n }\n continue\n }\n\n // Handle oauth2 type\n if (scheme.type === 'oauth2' && scheme.flows) {\n const flows = Object.values(scheme.flows)\n\n // Find the first flow with a token\n const flow = flows.find((f) => f['x-scalar-secret-token'])\n const token = flow?.['x-scalar-secret-token'] || 'YOUR_SECRET_TOKEN'\n\n result.headers.push({\n name: 'Authorization',\n value: `Bearer ${token}`,\n })\n }\n }\n\n return result\n}\n","import { replaceVariables } from '@scalar/helpers/regex/replace-variables'\nimport { mergeUrls } from '@scalar/helpers/url/merge-urls'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\n/**\n * Processes a server URL by replacing variables with their default values and merging with the path\n */\nexport const processServerUrl = (server: ServerObject | null, path: string): string => {\n if (!server?.url) {\n return path\n }\n const serverUrl = server.url\n\n // Replace server variables with their default values\n if (server.variables) {\n const variables = Object.entries(server.variables)\n\n // Extract default values from server variables\n const defaultValues = variables.reduce(\n (defaults, [variableName, variableConfig]) => {\n if (variableConfig.default !== undefined) {\n defaults[variableName] = variableConfig.default\n }\n return defaults\n },\n {} as Record<string, string | number>,\n )\n\n // Replace variables in the server URL with their default values\n const serverUrlWithVars = replaceVariables(serverUrl, defaultValues)\n\n return mergeUrls(serverUrlWithVars, path)\n }\n\n return mergeUrls(serverUrl, path)\n}\n","import type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'\nimport type { OperationObject, ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport type { Request as HarRequest } from 'har-format'\n\nimport { filterGlobalCookie } from '@/v2/blocks/operation-block/helpers/filter-global-cookies'\nimport { getDefaultHeaders } from '@/v2/blocks/request-block/helpers/get-default-headers'\nimport type { SecuritySchemeObjectSecret } from '@/v2/blocks/scalar-auth-selector-block/helpers/secret-types'\n\nimport { processBody } from './process-body'\nimport { processParameters } from './process-parameters'\nimport { processSecuritySchemes } from './process-security-schemes'\nimport { processServerUrl } from './process-server-url'\n\nexport type OperationToHarProps = {\n /** OpenAPI Operation object */\n operation: OperationObject\n /** HTTP method of the operation */\n method: HttpMethod\n /** Path of the operation */\n path: string\n /**\n * Name of the currently selected operation example\n *\n * Applies to both the body and the parameters\n */\n example?: string\n /**\n * Content type of the operation\n *\n * Applies to both the body and the parameters (if applicable)\n * @defaults to the first content type in the MediaTypeObject\n */\n contentType?: string\n /** OpenAPI Server object */\n server?: ServerObject | null\n /** OpenAPI SecurityScheme objects which are applicable to the operation */\n securitySchemes?: SecuritySchemeObjectSecret[]\n /** Workspace + document cookies */\n globalCookies?: XScalarCookie[]\n /**\n * Whether to include default headers (e.g., Accept, Content-Type) automatically.\n * If false, default headers will be omitted from the HAR request.\n * @default true\n */\n includeDefaultHeaders?: boolean\n}\n\n/**\n * Converts an OpenAPI Operation to a HarRequest format for generating HTTP request snippets.\n *\n * This function transforms OpenAPI 3.1 operation objects into HAR (HTTP Archive) format requests,\n * which can be used to generate code snippets for various programming languages and HTTP clients.\n *\n * The conversion handles:\n * - Server URL processing and path parameter substitution\n * - Query parameter formatting based on OpenAPI parameter styles\n * - Request body processing with content type handling\n * - Security scheme integration (API keys, etc.)\n *\n * The resulting HarRequest object follows the HAR specification and includes:\n * - HTTP method and URL\n * - Headers and query parameters\n * - Request body (if present)\n * - Cookie information\n * - Size calculations for headers and body\n *\n * @see https://w3c.github.io/web-performance/specs/HAR/Overview.html\n * @see https://spec.openapis.org/oas/v3.1.0#operation-object\n */\nexport const operationToHar = ({\n includeDefaultHeaders = false,\n operation,\n contentType,\n method,\n path,\n server = null,\n example,\n securitySchemes,\n globalCookies,\n}: OperationToHarProps): HarRequest => {\n const defaultHeaders = includeDefaultHeaders\n ? getDefaultHeaders({\n method,\n operation,\n exampleKey: example ?? 'default',\n hideDisabledHeaders: true,\n }).filter((header) => !header.isOverridden)\n : []\n\n const disabledGlobalCookies =\n operation['x-scalar-disable-parameters']?.['global-cookies']?.[example ?? 'default'] ?? {}\n\n const serverUrl = processServerUrl(server, path)\n\n // Initialize the HAR request with basic properties\n const harRequest: HarRequest = {\n method,\n url: serverUrl,\n headers: defaultHeaders.map((header) => ({ name: header.name, value: header.defaultValue })),\n queryString: [],\n postData: undefined,\n httpVersion: 'HTTP/1.1',\n cookies: [],\n headersSize: -1,\n bodySize: -1,\n }\n\n // Handle parameters\n if (operation.parameters) {\n const { url, headers, queryString, cookies } = processParameters({\n harRequest,\n parameters: operation.parameters,\n example,\n })\n\n // Correctly filter the global cookies by the processed url\n const filteredGlobalCookies =\n globalCookies\n ?.filter((cookie) => filterGlobalCookie({ cookie, url, disabledGlobalCookies }))\n ?.map((cookie) => ({ name: cookie.name, value: cookie.value })) ?? []\n\n harRequest.url = url\n harRequest.headers = headers\n harRequest.queryString = queryString\n harRequest.cookies = [...filteredGlobalCookies, ...cookies]\n }\n\n const body = getResolvedRef(operation.requestBody)\n\n // Handle request body\n if (body?.content) {\n const postData = processBody({ requestBody: body, contentType, example })\n\n if (postData) {\n harRequest.postData = postData\n harRequest.bodySize = postData.text?.length ?? -1\n\n // Add or update Content-Type header\n if (postData.mimeType) {\n const existingContentTypeHeader = harRequest.headers.find(\n (header) => header.name.toLowerCase() === 'content-type',\n )\n // Update existing header if it has an empty value\n if (existingContentTypeHeader && !existingContentTypeHeader.value) {\n existingContentTypeHeader.value = postData.mimeType\n }\n // Add new header if none exists\n else if (!existingContentTypeHeader) {\n harRequest.headers.push({\n name: 'Content-Type',\n value: postData.mimeType,\n })\n }\n }\n }\n }\n\n // Handle security schemes\n if (securitySchemes) {\n const { headers, queryString, cookies } = processSecuritySchemes(securitySchemes)\n harRequest.headers.push(...headers)\n harRequest.queryString.push(...queryString)\n harRequest.cookies.push(...cookies)\n }\n\n // Calculate headers size without allocating a large joined string\n let headersSize = 0\n for (const h of harRequest.headers) {\n // name + \": \" + value + \"\\r\\n\"\n headersSize += (h.name?.length ?? 0) + 2 + (h.value?.length ?? 0) + 2\n }\n harRequest.headersSize = headersSize\n\n return harRequest\n}\n","<script setup lang=\"ts\">\nimport { getHttpMethodInfo } from '@scalar/helpers/http/http-info'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { normalizeHttpMethod } from '@scalar/helpers/http/normalize-http-method'\nimport { computed, type Component } from 'vue'\n\nconst props = defineProps<{\n /** The type of element to render as, defaults to `span` */\n as?: Component | string\n /** The css style property or variable that will be set to the request method color, defaults to `color` */\n property?: string\n /** Whether or not to abbreviated the slot content */\n short?: boolean\n /** The HTTP method to show */\n method: HttpMethod | string\n}>()\n\n/** Grabs the method info object which contains abbreviation, color, and background color etc */\nconst httpMethodInfo = computed(() =>\n getHttpMethodInfo(String(props.method || '')),\n)\n\n/** Full method name */\nconst normalized = computed(() => normalizeHttpMethod(props.method))\n</script>\n\n<template>\n <component\n :is=\"as ?? 'span'\"\n class=\"uppercase\"\n :style=\"{ [property || 'color']: httpMethodInfo.colorVar }\">\n <slot />\n {{ short ? httpMethodInfo.short : normalized }}\n </component>\n</template>\n","<script setup lang=\"ts\">\nimport { getHttpMethodInfo } from '@scalar/helpers/http/http-info'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { normalizeHttpMethod } from '@scalar/helpers/http/normalize-http-method'\nimport { computed, type Component } from 'vue'\n\nconst props = defineProps<{\n /** The type of element to render as, defaults to `span` */\n as?: Component | string\n /** The css style property or variable that will be set to the request method color, defaults to `color` */\n property?: string\n /** Whether or not to abbreviated the slot content */\n short?: boolean\n /** The HTTP method to show */\n method: HttpMethod | string\n}>()\n\n/** Grabs the method info object which contains abbreviation, color, and background color etc */\nconst httpMethodInfo = computed(() =>\n getHttpMethodInfo(String(props.method || '')),\n)\n\n/** Full method name */\nconst normalized = computed(() => normalizeHttpMethod(props.method))\n</script>\n\n<template>\n <component\n :is=\"as ?? 'span'\"\n class=\"uppercase\"\n :style=\"{ [property || 'color']: httpMethodInfo.colorVar }\">\n <slot />\n {{ short ? httpMethodInfo.short : normalized }}\n </component>\n</template>\n","import { AVAILABLE_CLIENTS, type AvailableClients } from '@scalar/snippetz'\n\nimport type { ClientOption, CustomClientOption, CustomClientOptionGroup } from '@/v2/blocks/operation-code-sample/types'\n\nexport const DEFAULT_CLIENT = 'shell/curl'\n\n/** Type guard to check if a string is a valid client id */\nexport const isClient = (id: any): id is AvailableClients[number] => AVAILABLE_CLIENTS.includes(id)\n\n/**\n * Finds and returns the appropriate client option from a list of client option groups.\n *\n * This function is used to determine which client should be initially selected in the\n * request example block. It prioritizes a specific client ID if provided, otherwise\n * falls back to the first available option.\n *\n * @param options - Array of client option groups, each containing a label and array of client options\n * @param id - Optional client identifier to search for (e.g., 'js/fetch', 'python/requests')\n\n * @returns The selected client option. If a specific ID is provided and found, returns that client.\n * If the ID is not found or not provided, returns the first available client option.\n *\n * @example\n * ```typescript\n * const clientGroups = [\n * {\n * label: 'JavaScript',\n * options: [\n * { id: 'js/fetch', label: 'Fetch API', lang: 'js' },\n * { id: 'js/axios', label: 'Axios', lang: 'js' }\n * ]\n * }\n * ]\n *\n * // Find specific client\n * const client = findClient(clientGroups, 'js/fetch')\n * // Returns: { id: 'js/fetch', label: 'Fetch API', lang: 'js' }\n *\n * // Find first available client\n * const firstClient = findClient(clientGroups)\n * // Returns: { id: 'js/fetch', label: 'Fetch API', lang: 'js' }\n * ```\n */\nexport const findClient = (\n clientGroups: CustomClientOptionGroup[],\n clientId?: AvailableClients[number] | undefined,\n): ClientOption | CustomClientOption | undefined => {\n const firstOption = clientGroups[0]?.options[0]\n\n // Client ID is passed in\n if (clientId) {\n for (const group of clientGroups) {\n const option = group.options.find((option) => option.id === clientId)\n if (option) {\n return option\n }\n }\n }\n\n // If we dont have any custom examples, lets select the default client\n if (!firstOption?.id.startsWith('custom')) {\n for (const group of clientGroups) {\n const option = group.options.find((option) => option.id === DEFAULT_CLIENT)\n if (option) {\n return option\n }\n }\n }\n\n return firstOption\n}\n","import { AVAILABLE_CLIENTS, type AvailableClients, snippetz } from '@scalar/snippetz'\nimport type { XCodeSample } from '@scalar/workspace-store/schemas/extensions/operation'\nimport { capitalize } from 'vue'\n\nimport type { ClientOptionGroup } from '@/v2/blocks/operation-code-sample/types'\n\n/** Type of custom code sample IDs */\nexport type CustomCodeSampleId = `custom/${string}`\n\n/** Helper to generate an ID for custom code samples */\nexport const generateCustomId = (example: XCodeSample): CustomCodeSampleId => `custom/${example.lang}`\n\n/**\n * Generate client options for the request example block by filtering by allowed clients\n *\n * @param allowedClients - The list of allowed clients to include in the options\n * @returns A list of client option groups\n */\nexport const generateClientOptions = (allowedClients: AvailableClients = AVAILABLE_CLIENTS): ClientOptionGroup[] => {\n /** Create set of allowlist for quicker lookups */\n const allowedClientsSet = new Set(allowedClients)\n\n const options = snippetz()\n .clients()\n .flatMap((group) => {\n const options = group.clients.flatMap((plugin) => {\n const id = `${group.key}/${plugin.client}` as AvailableClients[number]\n\n // If the client is not allowed, skip it\n if (!allowedClientsSet.has(id)) {\n return []\n }\n\n return {\n id,\n lang: plugin.client === 'curl' ? ('curl' as const) : group.key,\n title: `${capitalize(group.title)} ${plugin.title}`,\n label: plugin.title,\n targetKey: group.key,\n targetTitle: group.title,\n clientKey: plugin.client,\n }\n })\n\n // If no clients are allowed, skip this group\n if (options.length === 0) {\n return []\n }\n\n return {\n label: group.title,\n options,\n }\n })\n\n return options\n}\n","import type { TargetId } from '@scalar/types/snippetz'\nimport type { XCodeSample } from '@scalar/workspace-store/schemas/extensions/operation'\n\nimport type { ClientOptionGroup, CustomClientOption } from '@/v2/blocks/operation-code-sample'\nimport { generateCustomId } from '@/v2/blocks/operation-code-sample/helpers/generate-client-options'\nimport type { CustomClientOptionGroup } from '@/v2/blocks/operation-code-sample/types'\n\n/**\n * Merges custom code samples with the client options\n *\n * @param customCodeSamples - The custom code samples from the operation to merge with the client options\n * @param clientOptions - The client options to merge with the custom code samples\n * @returns A list of client option groups\n */\nexport const getClients = (\n customCodeSamples: XCodeSample[],\n clientOptions: ClientOptionGroup[],\n): CustomClientOptionGroup[] => {\n // Handle custom code examples\n if (customCodeSamples.length) {\n const customClients = customCodeSamples.map((sample) => {\n const id = generateCustomId(sample)\n const label = sample.label || sample.lang || id\n const lang = (sample.lang as TargetId) || 'plaintext'\n\n return {\n id,\n lang,\n title: label,\n label,\n clientKey: 'custom',\n } satisfies CustomClientOption\n })\n\n return [\n {\n label: 'Code Examples',\n options: customClients,\n },\n ...clientOptions,\n ]\n }\n\n return clientOptions\n}\n","import type { XCodeSample } from '@scalar/workspace-store/schemas/extensions/operation'\nimport type { OperationObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\n/**\n * Grabs any custom code samples from the operation\n *\n * @param operation - The operation to get the custom code samples from\n * @returns An array of custom code samples which exist in the operation\n */\nexport const getCustomCodeSamples = (operation: OperationObject): XCodeSample[] => {\n const customCodeKeys = ['x-custom-examples', 'x-codeSamples', 'x-code-samples'] as const\n return customCodeKeys.flatMap((key) => operation[key] ?? [])\n}\n","import { encode } from 'js-base64'\n\nimport type { SecuritySchemeObjectSecret } from '@/v2/blocks/scalar-auth-selector-block/helpers/secret-types'\n\n/** Extract secrets from security schemes */\nexport const getSecrets = (securitySchemes: SecuritySchemeObjectSecret[]): string[] =>\n securitySchemes\n .flatMap((scheme) => {\n if (scheme.type === 'apiKey') {\n return scheme['x-scalar-secret-token']\n }\n if (scheme?.type === 'http') {\n return [\n scheme['x-scalar-secret-token'],\n scheme['x-scalar-secret-username'],\n scheme['x-scalar-secret-password'],\n encode(`${scheme['x-scalar-secret-username']}:${scheme['x-scalar-secret-password']}`),\n ]\n }\n if (scheme.type === 'oauth2') {\n const flows = Object.values(scheme.flows)\n return flows.map((flow) => flow['x-scalar-secret-token'])\n }\n\n return []\n })\n .filter(Boolean)\n","import type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport type { AvailableClient, ClientId, TargetId } from '@scalar/snippetz'\nimport type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'\nimport type { XCodeSample } from '@scalar/workspace-store/schemas/extensions/operation'\nimport type { OperationObject, ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { operationToHar } from '@/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har'\nimport type { SecuritySchemeObjectSecret } from '@/v2/blocks/scalar-auth-selector-block/helpers/secret-types'\nimport { getSnippet } from '@/views/Components/CodeSnippet/helpers/get-snippet'\n\nimport { type CustomCodeSampleId, generateCustomId } from './generate-client-options'\n\ntype GenerateCodeSnippetProps = {\n /** The selected client/language for code generation (e.g., 'node/fetch') or a custom code sample ID. */\n clientId: AvailableClient | CustomCodeSampleId | undefined\n /** The Content-Type header value for the request body (e.g., 'application/json'). */\n contentType: string | undefined\n /** Array of custom code samples defined in the OpenAPI x-codeSamples extension. */\n customCodeSamples: XCodeSample[]\n /** The specific example value to use when generating the code snippet. */\n example: string | undefined\n /** The HTTP method for the operation (e.g., GET, POST, PUT). */\n method: HttpMethod\n /** The OpenAPI operation object containing request/response details. */\n operation: OperationObject\n /** The API endpoint path (e.g., '/users/{id}'). */\n path: string\n /** Array of security schemes to apply to the request (e.g., API keys, OAuth). */\n securitySchemes: SecuritySchemeObjectSecret[]\n /** The server object defining the base URL for the API request. */\n server: ServerObject | null\n /** Workspace + document cookies */\n globalCookies?: XScalarCookie[]\n /** Whether to include default headers (e.g., Accept, Content-Type) automatically. */\n includeDefaultHeaders?: boolean\n}\n\n/** Generate the code snippet for the selected example OR operation */\nexport const generateCodeSnippet = ({\n clientId,\n customCodeSamples,\n includeDefaultHeaders = false,\n operation,\n method,\n path,\n example,\n contentType,\n server,\n securitySchemes,\n globalCookies,\n}: GenerateCodeSnippetProps): string => {\n try {\n if (!clientId) {\n return ''\n }\n\n // Use the selected custom example\n if (clientId.startsWith('custom')) {\n return (\n customCodeSamples.find((example) => generateCustomId(example) === clientId)?.source ??\n 'Custom example not found'\n )\n }\n\n const harRequest = operationToHar({\n operation,\n contentType,\n method,\n path,\n server,\n securitySchemes,\n example,\n globalCookies,\n includeDefaultHeaders,\n })\n\n const [targetKey, clientKey] = clientId.split('/') as [TargetId, ClientId<TargetId>]\n\n const [error, payload] = getSnippet(targetKey, clientKey, harRequest)\n if (error) {\n console.error('[generateCodeSnippet]', error)\n return error.message ?? 'Error generating code snippet'\n }\n\n return payload\n } catch (error) {\n console.error('[generateCodeSnippet]', error)\n return 'Error generating code snippet'\n }\n}\n","<script lang=\"ts\">\nexport type OperationCodeSampleProps = {\n /**\n * Integration type: determines if the code sample is displayed in a client environment\n * or in an API reference environment.\n */\n integration?: 'client' | 'reference'\n /**\n * List of all http clients formatted into option groups for the client selector\n */\n clientOptions: ClientOptionGroup[]\n /**\n * Pre-selected client, this will determine which client is initially selected in the dropdown\n *\n * @defaults to shell/curl or a custom sample if one is available\n */\n selectedClient?: AvailableClients[number]\n /**\n * Which server from the spec to use for the code example\n */\n selectedServer?: ServerObject | null\n /**\n * The selected content type from the requestBody.content, this will determine which examples are available\n * as well as the content type of the code example\n *\n * @defaults to the first content type if not provided\n */\n selectedContentType?: string\n /**\n * Example name to use for resolving example values for parameters AND requestBody\n *\n * @example \"limited\"\n * ```ts\n * parameters: {\n * name: 'foobar',\n * in: 'query',\n * examples: {\n * limited: {\n * dataValue: 10,\n * }\n * }\n * },\n * body: {\n * content: {\n * 'application/json': {\n * examples: {\n * limited: {\n * dataValue: { foo: 'bar' },\n * }\n * }\n * }\n * }\n * }\n *\n * ```\n */\n selectedExample?: string\n /**\n * Event bus\n */\n eventBus: WorkspaceEventBus\n /**\n * The security schemes which are applicable to this operation\n */\n securitySchemes: SecuritySchemeObjectSecret[]\n /**\n * HTTP method of the operation\n */\n method: HttpMethodType\n /**\n * Path of the operation\n */\n path: string\n /**\n * De-referenced OpenAPI Operation object\n */\n operation: OperationObject\n /**\n * If true and there's no example, we will display a small card with the method and path only\n */\n fallback?: boolean\n /**\n * A method to generate the label of the block, should return an html string\n */\n generateLabel?: () => string\n /**\n * If true, render this as a webhook request example\n */\n isWebhook?: boolean\n /**\n * Workspace + document cookies\n */\n globalCookies?: XScalarCookie[]\n}\n\n/**\n * Request Example\n *\n * The core component for rendering a request example block,\n * this component does not have much of its own state but operates on props and custom events\n *\n * @event workspace:update:selected-client - Emitted when the selected client changes\n * @event scalar-update-selected-example - removed for now, we can bring it back when we need it\n */\nexport default {}\n</script>\n\n<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarCard,\n ScalarCardFooter,\n ScalarCardHeader,\n ScalarCardSection,\n ScalarCodeBlock,\n ScalarCombobox,\n ScalarVirtualText,\n} from '@scalar/components'\nimport { freezeElement } from '@scalar/helpers/dom/freeze-element'\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { ScalarIconCaretDown } from '@scalar/icons'\nimport { type AvailableClients } from '@scalar/snippetz'\nimport { type WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'\nimport type {\n OperationObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { operationToHar } from '@v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har'\nimport {\n computed,\n onBeforeMount,\n ref,\n useId,\n watch,\n type ComponentPublicInstance,\n} from 'vue'\n\nimport HttpMethod from '@/v2/blocks/operation-code-sample/components/HttpMethod.vue'\nimport { findClient } from '@/v2/blocks/operation-code-sample/helpers/find-client'\nimport { getClients } from '@/v2/blocks/operation-code-sample/helpers/get-clients'\nimport { getCustomCodeSamples } from '@/v2/blocks/operation-code-sample/helpers/get-custom-code-samples'\nimport { getSecrets } from '@/v2/blocks/operation-code-sample/helpers/get-secrets'\nimport type {\n ClientOption,\n ClientOptionGroup,\n CustomClientOption,\n} from '@/v2/blocks/operation-code-sample/types'\nimport type { SecuritySchemeObjectSecret } from '@/v2/blocks/scalar-auth-selector-block/helpers/secret-types'\n\nimport { generateCodeSnippet } from '../helpers/generate-code-snippet'\nimport ExamplePicker from './ExamplePicker.vue'\n\nconst {\n integration,\n clientOptions,\n selectedClient,\n selectedServer = null,\n selectedContentType,\n securitySchemes = [],\n method,\n eventBus,\n path,\n operation,\n isWebhook,\n generateLabel,\n globalCookies,\n} = defineProps<OperationCodeSampleProps>()\n\ndefineSlots<{\n header: () => unknown\n footer: ({ exampleName }: { exampleName: string }) => unknown\n}>()\n\n/** Grab the examples for the given content type */\nconst requestBodyExamples = computed(() => {\n const content = getResolvedRef(operation.requestBody)?.content ?? {}\n const contentType = selectedContentType || Object.keys(content)[0]\n if (!contentType) return {}\n\n const examples = content[contentType]?.examples ?? {}\n\n return examples\n})\n\n/** The currently selected example key with v-model support */\nconst selectedExampleKey = defineModel<string>('selectedExample', {\n default: '',\n})\n\n// Set default value to the first example\nonBeforeMount(() => {\n selectedExampleKey.value ||= Object.keys(requestBodyExamples.value)[0] ?? ''\n})\n\n/** Grab any custom code samples from the operation */\nconst customCodeSamples = computed(() => getCustomCodeSamples(operation))\n\n/** Merge custom code samples with the client options */\nconst clients = computed(() =>\n getClients(customCodeSamples.value, clientOptions),\n)\n\n/** The locally selected client which would include code samples from this operation only */\nconst localSelectedClient = ref<ClientOption | CustomClientOption | undefined>(\n findClient(clients.value, selectedClient),\n)\n\n/** If the globally selected client changes we can update the local one */\nwatch(\n () => selectedClient,\n (newClient) => {\n const client = findClient(clients.value, newClient)\n if (client) {\n localSelectedClient.value = client\n }\n },\n)\n\n/** Generate HAR data for webhook requests */\nconst webhookHar = computed(() => {\n if (!isWebhook) return null\n\n try {\n return operationToHar({\n operation,\n method,\n path,\n example: selectedExampleKey.value,\n })\n } catch (error) {\n console.error('[webhookHar]', error)\n return null\n }\n})\n\n/** Generate the code snippet for the selected example */\nconst generatedCode = computed<string>(() => {\n if (isWebhook) {\n return webhookHar.value?.postData?.text ?? ''\n }\n\n return generateCodeSnippet({\n includeDefaultHeaders: integration === 'client',\n clientId: localSelectedClient.value?.id,\n customCodeSamples: customCodeSamples.value,\n operation,\n method,\n path,\n contentType: selectedContentType,\n server: selectedServer,\n securitySchemes,\n example: selectedExampleKey.value,\n globalCookies,\n })\n})\n\n/** The language for the code block, used for syntax highlighting */\nconst codeBlockLanguage = computed(() => {\n if (isWebhook) {\n return webhookLanguage.value\n }\n\n return localSelectedClient.value?.lang\n})\n\n/** Determine the language for webhook content based on MIME type */\nconst webhookLanguage = computed<string>(() => {\n if (!webhookHar.value?.postData) return 'json'\n\n const contentType = webhookHar.value.postData.mimeType\n if (contentType?.includes('json')) return 'json'\n if (contentType?.includes('xml')) return 'xml'\n if (contentType?.includes('yaml') || contentType?.includes('yml'))\n return 'yaml'\n if (contentType?.includes('text/plain')) return 'text'\n\n return 'json'\n})\n\n/** Block secrets from being shown in the code block */\nconst secretCredentials = computed(() => getSecrets(securitySchemes))\n\n/** Grab the ref to freeze the ui as the clients change so there's no jump as the size of the dom changes */\nconst elem = ref<ComponentPublicInstance | null>(null)\n\n/** Set custom example, or update the selected HTTP client globally */\nconst selectClient = (option: ClientOption) => {\n // We need to freeze the ui to prevent scrolling as the clients change\n if (elem.value) {\n const unfreeze = freezeElement(elem.value.$el)\n setTimeout(() => {\n unfreeze()\n }, 300)\n }\n // Update to the local example\n localSelectedClient.value = option\n\n // Emit the change if it's not a custom example\n if (option && !option.id.startsWith('custom')) {\n eventBus.emit('workspace:update:selected-client', option.id)\n }\n}\n\n// Virtualize the code block if it's too large\n// This prevents the entire app from freezing up if there's a massive example\n// We set a lower threshold here as code examples can get quite large\nconst VIRTUALIZATION_THRESHOLD = 20_000\n\nconst shouldVirtualize = computed(\n () => (generatedCode.value.length ?? 0) > VIRTUALIZATION_THRESHOLD,\n)\n\nconst id = useId()\n</script>\n<template>\n <ScalarCard\n v-if=\"generatedCode\"\n ref=\"elem\"\n class=\"request-card dark-mode\">\n <!-- Header -->\n <ScalarCardHeader class=\"pr-2.5\">\n <span class=\"sr-only\">Request Example for</span>\n <HttpMethod\n as=\"span\"\n class=\"request-method\"\n :method=\"method\" />\n <span\n v-if=\"generateLabel\"\n v-html=\"generateLabel()\" />\n <slot name=\"header\" />\n <!-- Client picker -->\n <template\n v-if=\"!isWebhook && clients.length\"\n #actions>\n <ScalarCombobox\n class=\"max-h-80\"\n :modelValue=\"localSelectedClient\"\n :options=\"clients\"\n placement=\"bottom-end\"\n teleport\n @update:modelValue=\"selectClient($event as ClientOption)\">\n <ScalarButton\n class=\"text-c-2 hover:text-c-1 flex h-full w-fit gap-1.5 px-0.5 py-0 text-base font-normal\"\n data-testid=\"client-picker\"\n variant=\"ghost\">\n {{ localSelectedClient?.title }}\n <ScalarIconCaretDown\n class=\"ui-open:rotate-180 mt-0.25 size-3 transition-transform duration-100\"\n weight=\"bold\" />\n </ScalarButton>\n </ScalarCombobox>\n </template>\n </ScalarCardHeader>\n\n <!-- Code snippet -->\n <ScalarCardSection class=\"request-editor-section custom-scroll p-0\">\n <div\n :id=\"`${id}-example`\"\n class=\"code-snippet\">\n <ScalarCodeBlock\n v-if=\"!shouldVirtualize\"\n class=\"bg-b-2 h-full\"\n :content=\"generatedCode\"\n :hideCredentials=\"secretCredentials\"\n :lang=\"codeBlockLanguage\"\n lineNumbers />\n <ScalarVirtualText\n v-else\n containerClass=\"custom-scroll scalar-code-block border rounded-b flex flex-1 max-h-screen\"\n contentClass=\"language-plaintext whitespace-pre font-code text-base\"\n :lineHeight=\"20\"\n :text=\"generatedCode\" />\n </div>\n </ScalarCardSection>\n\n <!-- Footer -->\n <ScalarCardFooter\n v-if=\"Object.keys(requestBodyExamples).length > 1 || $slots.footer\"\n class=\"request-card-footer bg-b-3\">\n <!-- Example picker -->\n <div\n v-if=\"Object.keys(requestBodyExamples).length > 1\"\n class=\"request-card-footer-addon\">\n <template v-if=\"Object.keys(requestBodyExamples).length\">\n <ExamplePicker\n v-model=\"selectedExampleKey\"\n :examples=\"requestBodyExamples\" />\n </template>\n </div>\n\n <!-- Footer -->\n <slot\n :exampleName=\"selectedExampleKey\"\n name=\"footer\" />\n </ScalarCardFooter>\n </ScalarCard>\n\n <!-- Fallback card with just method and path in the case of no examples -->\n <ScalarCard\n v-else-if=\"fallback\"\n class=\"request-card dark-mode\">\n <ScalarCardSection class=\"request-card-simple\">\n <div class=\"request-header\">\n <HttpMethod\n as=\"span\"\n class=\"request-method\"\n :method=\"method\" />\n <slot name=\"header\" />\n </div>\n <slot\n :exampleName=\"selectedExampleKey\"\n name=\"footer\" />\n </ScalarCardSection>\n </ScalarCard>\n</template>\n<style scoped>\n.request-card {\n font-size: var(--scalar-font-size-3);\n}\n.request-method {\n font-family: var(--scalar-font-code);\n text-transform: uppercase;\n margin-right: 6px;\n}\n.request-card-footer {\n display: flex;\n justify-content: flex-end;\n padding: 6px;\n flex-shrink: 0;\n position: relative;\n}\n.request-card-footer-addon {\n display: flex;\n align-items: center;\n\n flex: 1;\n min-width: 0;\n}\n.request-editor-section {\n display: flex;\n flex: 1;\n}\n.request-card-simple {\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n padding: 8px 8px 8px 12px;\n\n font-size: var(--scalar-small);\n}\n.code-snippet {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n</style>\n","<script lang=\"ts\">\nexport type OperationCodeSampleProps = {\n /**\n * Integration type: determines if the code sample is displayed in a client environment\n * or in an API reference environment.\n */\n integration?: 'client' | 'reference'\n /**\n * List of all http clients formatted into option groups for the client selector\n */\n clientOptions: ClientOptionGroup[]\n /**\n * Pre-selected client, this will determine which client is initially selected in the dropdown\n *\n * @defaults to shell/curl or a custom sample if one is available\n */\n selectedClient?: AvailableClients[number]\n /**\n * Which server from the spec to use for the code example\n */\n selectedServer?: ServerObject | null\n /**\n * The selected content type from the requestBody.content, this will determine which examples are available\n * as well as the content type of the code example\n *\n * @defaults to the first content type if not provided\n */\n selectedContentType?: string\n /**\n * Example name to use for resolving example values for parameters AND requestBody\n *\n * @example \"limited\"\n * ```ts\n * parameters: {\n * name: 'foobar',\n * in: 'query',\n * examples: {\n * limited: {\n * dataValue: 10,\n * }\n * }\n * },\n * body: {\n * content: {\n * 'application/json': {\n * examples: {\n * limited: {\n * dataValue: { foo: 'bar' },\n * }\n * }\n * }\n * }\n * }\n *\n * ```\n */\n selectedExample?: string\n /**\n * Event bus\n */\n eventBus: WorkspaceEventBus\n /**\n * The security schemes which are applicable to this operation\n */\n securitySchemes: SecuritySchemeObjectSecret[]\n /**\n * HTTP method of the operation\n */\n method: HttpMethodType\n /**\n * Path of the operation\n */\n path: string\n /**\n * De-referenced OpenAPI Operation object\n */\n operation: OperationObject\n /**\n * If true and there's no example, we will display a small card with the method and path only\n */\n fallback?: boolean\n /**\n * A method to generate the label of the block, should return an html string\n */\n generateLabel?: () => string\n /**\n * If true, render this as a webhook request example\n */\n isWebhook?: boolean\n /**\n * Workspace + document cookies\n */\n globalCookies?: XScalarCookie[]\n}\n\n/**\n * Request Example\n *\n * The core component for rendering a request example block,\n * this component does not have much of its own state but operates on props and custom events\n *\n * @event workspace:update:selected-client - Emitted when the selected client changes\n * @event scalar-update-selected-example - removed for now, we can bring it back when we need it\n */\nexport default {}\n</script>\n\n<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarCard,\n ScalarCardFooter,\n ScalarCardHeader,\n ScalarCardSection,\n ScalarCodeBlock,\n ScalarCombobox,\n ScalarVirtualText,\n} from '@scalar/components'\nimport { freezeElement } from '@scalar/helpers/dom/freeze-element'\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { ScalarIconCaretDown } from '@scalar/icons'\nimport { type AvailableClients } from '@scalar/snippetz'\nimport { type WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'\nimport type {\n OperationObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { operationToHar } from '@v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har'\nimport {\n computed,\n onBeforeMount,\n ref,\n useId,\n watch,\n type ComponentPublicInstance,\n} from 'vue'\n\nimport HttpMethod from '@/v2/blocks/operation-code-sample/components/HttpMethod.vue'\nimport { findClient } from '@/v2/blocks/operation-code-sample/helpers/find-client'\nimport { getClients } from '@/v2/blocks/operation-code-sample/helpers/get-clients'\nimport { getCustomCodeSamples } from '@/v2/blocks/operation-code-sample/helpers/get-custom-code-samples'\nimport { getSecrets } from '@/v2/blocks/operation-code-sample/helpers/get-secrets'\nimport type {\n ClientOption,\n ClientOptionGroup,\n CustomClientOption,\n} from '@/v2/blocks/operation-code-sample/types'\nimport type { SecuritySchemeObjectSecret } from '@/v2/blocks/scalar-auth-selector-block/helpers/secret-types'\n\nimport { generateCodeSnippet } from '../helpers/generate-code-snippet'\nimport ExamplePicker from './ExamplePicker.vue'\n\nconst {\n integration,\n clientOptions,\n selectedClient,\n selectedServer = null,\n selectedContentType,\n securitySchemes = [],\n method,\n eventBus,\n path,\n operation,\n isWebhook,\n generateLabel,\n globalCookies,\n} = defineProps<OperationCodeSampleProps>()\n\ndefineSlots<{\n header: () => unknown\n footer: ({ exampleName }: { exampleName: string }) => unknown\n}>()\n\n/** Grab the examples for the given content type */\nconst requestBodyExamples = computed(() => {\n const content = getResolvedRef(operation.requestBody)?.content ?? {}\n const contentType = selectedContentType || Object.keys(content)[0]\n if (!contentType) return {}\n\n const examples = content[contentType]?.examples ?? {}\n\n return examples\n})\n\n/** The currently selected example key with v-model support */\nconst selectedExampleKey = defineModel<string>('selectedExample', {\n default: '',\n})\n\n// Set default value to the first example\nonBeforeMount(() => {\n selectedExampleKey.value ||= Object.keys(requestBodyExamples.value)[0] ?? ''\n})\n\n/** Grab any custom code samples from the operation */\nconst customCodeSamples = computed(() => getCustomCodeSamples(operation))\n\n/** Merge custom code samples with the client options */\nconst clients = computed(() =>\n getClients(customCodeSamples.value, clientOptions),\n)\n\n/** The locally selected client which would include code samples from this operation only */\nconst localSelectedClient = ref<ClientOption | CustomClientOption | undefined>(\n findClient(clients.value, selectedClient),\n)\n\n/** If the globally selected client changes we can update the local one */\nwatch(\n () => selectedClient,\n (newClient) => {\n const client = findClient(clients.value, newClient)\n if (client) {\n localSelectedClient.value = client\n }\n },\n)\n\n/** Generate HAR data for webhook requests */\nconst webhookHar = computed(() => {\n if (!isWebhook) return null\n\n try {\n return operationToHar({\n operation,\n method,\n path,\n example: selectedExampleKey.value,\n })\n } catch (error) {\n console.error('[webhookHar]', error)\n return null\n }\n})\n\n/** Generate the code snippet for the selected example */\nconst generatedCode = computed<string>(() => {\n if (isWebhook) {\n return webhookHar.value?.postData?.text ?? ''\n }\n\n return generateCodeSnippet({\n includeDefaultHeaders: integration === 'client',\n clientId: localSelectedClient.value?.id,\n customCodeSamples: customCodeSamples.value,\n operation,\n method,\n path,\n contentType: selectedContentType,\n server: selectedServer,\n securitySchemes,\n example: selectedExampleKey.value,\n globalCookies,\n })\n})\n\n/** The language for the code block, used for syntax highlighting */\nconst codeBlockLanguage = computed(() => {\n if (isWebhook) {\n return webhookLanguage.value\n }\n\n return localSelectedClient.value?.lang\n})\n\n/** Determine the language for webhook content based on MIME type */\nconst webhookLanguage = computed<string>(() => {\n if (!webhookHar.value?.postData) return 'json'\n\n const contentType = webhookHar.value.postData.mimeType\n if (contentType?.includes('json')) return 'json'\n if (contentType?.includes('xml')) return 'xml'\n if (contentType?.includes('yaml') || contentType?.includes('yml'))\n return 'yaml'\n if (contentType?.includes('text/plain')) return 'text'\n\n return 'json'\n})\n\n/** Block secrets from being shown in the code block */\nconst secretCredentials = computed(() => getSecrets(securitySchemes))\n\n/** Grab the ref to freeze the ui as the clients change so there's no jump as the size of the dom changes */\nconst elem = ref<ComponentPublicInstance | null>(null)\n\n/** Set custom example, or update the selected HTTP client globally */\nconst selectClient = (option: ClientOption) => {\n // We need to freeze the ui to prevent scrolling as the clients change\n if (elem.value) {\n const unfreeze = freezeElement(elem.value.$el)\n setTimeout(() => {\n unfreeze()\n }, 300)\n }\n // Update to the local example\n localSelectedClient.value = option\n\n // Emit the change if it's not a custom example\n if (option && !option.id.startsWith('custom')) {\n eventBus.emit('workspace:update:selected-client', option.id)\n }\n}\n\n// Virtualize the code block if it's too large\n// This prevents the entire app from freezing up if there's a massive example\n// We set a lower threshold here as code examples can get quite large\nconst VIRTUALIZATION_THRESHOLD = 20_000\n\nconst shouldVirtualize = computed(\n () => (generatedCode.value.length ?? 0) > VIRTUALIZATION_THRESHOLD,\n)\n\nconst id = useId()\n</script>\n<template>\n <ScalarCard\n v-if=\"generatedCode\"\n ref=\"elem\"\n class=\"request-card dark-mode\">\n <!-- Header -->\n <ScalarCardHeader class=\"pr-2.5\">\n <span class=\"sr-only\">Request Example for</span>\n <HttpMethod\n as=\"span\"\n class=\"request-method\"\n :method=\"method\" />\n <span\n v-if=\"generateLabel\"\n v-html=\"generateLabel()\" />\n <slot name=\"header\" />\n <!-- Client picker -->\n <template\n v-if=\"!isWebhook && clients.length\"\n #actions>\n <ScalarCombobox\n class=\"max-h-80\"\n :modelValue=\"localSelectedClient\"\n :options=\"clients\"\n placement=\"bottom-end\"\n teleport\n @update:modelValue=\"selectClient($event as ClientOption)\">\n <ScalarButton\n class=\"text-c-2 hover:text-c-1 flex h-full w-fit gap-1.5 px-0.5 py-0 text-base font-normal\"\n data-testid=\"client-picker\"\n variant=\"ghost\">\n {{ localSelectedClient?.title }}\n <ScalarIconCaretDown\n class=\"ui-open:rotate-180 mt-0.25 size-3 transition-transform duration-100\"\n weight=\"bold\" />\n </ScalarButton>\n </ScalarCombobox>\n </template>\n </ScalarCardHeader>\n\n <!-- Code snippet -->\n <ScalarCardSection class=\"request-editor-section custom-scroll p-0\">\n <div\n :id=\"`${id}-example`\"\n class=\"code-snippet\">\n <ScalarCodeBlock\n v-if=\"!shouldVirtualize\"\n class=\"bg-b-2 h-full\"\n :content=\"generatedCode\"\n :hideCredentials=\"secretCredentials\"\n :lang=\"codeBlockLanguage\"\n lineNumbers />\n <ScalarVirtualText\n v-else\n containerClass=\"custom-scroll scalar-code-block border rounded-b flex flex-1 max-h-screen\"\n contentClass=\"language-plaintext whitespace-pre font-code text-base\"\n :lineHeight=\"20\"\n :text=\"generatedCode\" />\n </div>\n </ScalarCardSection>\n\n <!-- Footer -->\n <ScalarCardFooter\n v-if=\"Object.keys(requestBodyExamples).length > 1 || $slots.footer\"\n class=\"request-card-footer bg-b-3\">\n <!-- Example picker -->\n <div\n v-if=\"Object.keys(requestBodyExamples).length > 1\"\n class=\"request-card-footer-addon\">\n <template v-if=\"Object.keys(requestBodyExamples).length\">\n <ExamplePicker\n v-model=\"selectedExampleKey\"\n :examples=\"requestBodyExamples\" />\n </template>\n </div>\n\n <!-- Footer -->\n <slot\n :exampleName=\"selectedExampleKey\"\n name=\"footer\" />\n </ScalarCardFooter>\n </ScalarCard>\n\n <!-- Fallback card with just method and path in the case of no examples -->\n <ScalarCard\n v-else-if=\"fallback\"\n class=\"request-card dark-mode\">\n <ScalarCardSection class=\"request-card-simple\">\n <div class=\"request-header\">\n <HttpMethod\n as=\"span\"\n class=\"request-method\"\n :method=\"method\" />\n <slot name=\"header\" />\n </div>\n <slot\n :exampleName=\"selectedExampleKey\"\n name=\"footer\" />\n </ScalarCardSection>\n </ScalarCard>\n</template>\n<style scoped>\n.request-card {\n font-size: var(--scalar-font-size-3);\n}\n.request-method {\n font-family: var(--scalar-font-code);\n text-transform: uppercase;\n margin-right: 6px;\n}\n.request-card-footer {\n display: flex;\n justify-content: flex-end;\n padding: 6px;\n flex-shrink: 0;\n position: relative;\n}\n.request-card-footer-addon {\n display: flex;\n align-items: center;\n\n flex: 1;\n min-width: 0;\n}\n.request-editor-section {\n display: flex;\n flex: 1;\n}\n.request-card-simple {\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n padding: 8px 8px 8px 12px;\n\n font-size: var(--scalar-small);\n}\n.code-snippet {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n</style>\n"],"mappings":"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"}
@@ -1,106 +0,0 @@
1
- import { encode } from "js-base64";
2
- import { parse } from "shell-quote";
3
- //#region src/libs/parse-curl.ts
4
- /** Parse and normalize a curl command */
5
- function parseCurlCommand(curlCommand) {
6
- const args = parse(curlCommand).map((arg) => {
7
- if (typeof arg === "object" && "op" in arg && arg.op === "glob") return arg.pattern.trim();
8
- return typeof arg === "string" ? arg.trim() : arg;
9
- }).filter((arg) => arg !== "");
10
- const result = { url: "" };
11
- const iterator = args[Symbol.iterator]();
12
- let arg = iterator.next().value;
13
- while (arg) {
14
- if (arg === "-X" || arg === "--request") parseMethod(iterator, result);
15
- else if (arg === "--url") parseUrl(iterator, result);
16
- else if (arg === "-H" || arg === "--header") parseHeader(iterator, result);
17
- else if (arg === "--data" || arg === "-d" || arg === "--data-raw" || arg === "--data-urlencode" || arg === "--data-binary" || arg === "--data-ascii") parseData(iterator, result, curlCommand);
18
- else if (typeof arg === "string" && !result.url && (arg.startsWith("http") || arg.startsWith("www."))) parseUrl([arg][Symbol.iterator](), result);
19
- else if (arg === "-P") parsePathVariables(iterator, result);
20
- else if (typeof arg === "string" && arg.toLowerCase().includes("content-type")) parseContentType(arg, result);
21
- else if (arg === "-u" || arg === "--user") parseAuth(iterator, result);
22
- else if (arg === "-b" || arg === "--cookie") parseCookie(iterator, result);
23
- arg = iterator.next().value;
24
- }
25
- return result;
26
- }
27
- /** Get the method from a curl command */
28
- function parseMethod(iterator, result) {
29
- result.method = iterator.next().value.toLowerCase();
30
- }
31
- /** Get the URL from a curl command */
32
- function parseUrl(iterator, result) {
33
- const url = new URL(iterator.next().value.replace(/['"]/g, ""));
34
- result.servers = [url.origin];
35
- result.path = url.pathname !== "/" ? url.pathname : "";
36
- result.url = result.servers[0] + result.path;
37
- const urlQueryParameters = parseQueryParameters(url.search);
38
- result.queryParameters = result.queryParameters ? [...result.queryParameters, ...urlQueryParameters] : urlQueryParameters;
39
- }
40
- /** Get the headers from a curl command */
41
- function parseHeader(iterator, result) {
42
- const header = iterator.next().value.split(/:(.*)/);
43
- result.headers = result.headers || {};
44
- if (header[1] !== void 0) result.headers[header[0].trim()] = header[1].trim();
45
- else result.headers[header[0].trim()] = "";
46
- }
47
- /** Get the {query} parameters from a curl command */
48
- function parsePathVariables(iterator, result) {
49
- const param = iterator.next().value.replace(/['"]/g, "").split("=");
50
- result.pathVariables = result.pathVariables || {};
51
- if (param[1] !== void 0) result.pathVariables[param[0].trim()] = param[1].trim();
52
- else result.pathVariables[param[0].trim()] = "";
53
- }
54
- /** Get the ?query=parameters from a curl command */
55
- function parseQueryParameters(url) {
56
- const queryParameters = [];
57
- new URL(url, "http://example.com").searchParams.forEach((value, key) => {
58
- queryParameters.push({
59
- key,
60
- value
61
- });
62
- });
63
- return queryParameters;
64
- }
65
- /** Get the Content-Type header from a curl command */
66
- function parseContentType(arg, result) {
67
- const header = arg.replace(/['"]/g, "").split(/:(.+)/);
68
- result.headers = result.headers || {};
69
- if (!header[0]) return;
70
- if (header[1] !== void 0) result.headers[header[0].trim()] = header[1].trim();
71
- else result.headers[header[0].trim()] = "";
72
- }
73
- /** Get the Authorization header from a curl command */
74
- function parseAuth(iterator, result) {
75
- const auth = iterator.next().value;
76
- try {
77
- const encodedAuth = encode(auth);
78
- result.headers = result.headers || {};
79
- result.headers["Authorization"] = `Basic ${encodedAuth}`;
80
- } catch (error) {
81
- console.warn("Could not base64 encode these HTTP basic auth credentials:", auth, error);
82
- }
83
- }
84
- /** Get the Cookie header from a curl command */
85
- function parseCookie(iterator, result) {
86
- const cookie = iterator.next().value;
87
- result.headers = result.headers || {};
88
- if (result.headers["Cookie"]) result.headers["Cookie"] += `; ${cookie}`;
89
- else result.headers["Cookie"] = cookie.replace(/;$/, "");
90
- }
91
- /** Parse data from a curl command */
92
- function parseData(iterator, result, curlCommand) {
93
- const nextArg = iterator.next().value;
94
- if (typeof nextArg === "string") {
95
- if (nextArg.startsWith("@")) result.body = "";
96
- else result.body = nextArg;
97
- if (!result.url || curlCommand.includes("-G")) {
98
- const newQueryParams = parseQueryParameters(`?${result.body}`);
99
- result.queryParameters = result.queryParameters ? [...result.queryParameters, ...newQueryParams] : newQueryParams;
100
- }
101
- }
102
- }
103
- //#endregion
104
- export { parseCurlCommand as t };
105
-
106
- //# sourceMappingURL=parse-curl-BtypQT3D.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-curl-BtypQT3D.js","names":[],"sources":["../src/libs/parse-curl.ts"],"sourcesContent":["import type { RequestMethod } from '@scalar/oas-utils/entities/spec'\nimport { encode } from 'js-base64'\nimport { parse as parseShellCommand } from 'shell-quote'\n\n/** Parse and normalize a curl command */\nexport function parseCurlCommand(curlCommand: string) {\n const args = parseShellCommand(curlCommand)\n .map((arg) => {\n if (typeof arg === 'object' && 'op' in arg && arg.op === 'glob') {\n return arg.pattern.trim()\n }\n return typeof arg === 'string' ? arg.trim() : arg\n })\n .filter((arg) => arg !== '')\n\n const result: {\n url: string\n method?: RequestMethod\n headers?: Record<string, string>\n body?: string\n queryParameters?: Array<{ key: string; value: string }>\n servers?: string[]\n } = { url: '' }\n\n const iterator = args[Symbol.iterator]()\n let arg = iterator.next().value\n\n while (arg) {\n if (arg === '-X' || arg === '--request') {\n // Extract method e.g curl -X POST\n parseMethod(iterator as Iterator<string>, result)\n } else if (arg === '--url') {\n // Extract URL e.g curl https://example.com\n parseUrl(iterator as Iterator<string>, result)\n } else if (arg === '-H' || arg === '--header') {\n // Extract headers e.g -H 'Content-Type: application/json'\n parseHeader(iterator as Iterator<string>, result)\n } else if (\n arg === '--data' ||\n arg === '-d' ||\n arg === '--data-raw' ||\n arg === '--data-urlencode' ||\n arg === '--data-binary' ||\n arg === '--data-ascii'\n ) {\n parseData(iterator as Iterator<string>, result, curlCommand)\n } else if (typeof arg === 'string' && !result.url && (arg.startsWith('http') || arg.startsWith('www.'))) {\n // Extract URL e.g curl https://example.com\n parseUrl([arg][Symbol.iterator]() as Iterator<string>, result)\n } else if (arg === '-P') {\n // Extract path variables e.g -P 'foo=bar'\n parsePathVariables(iterator as Iterator<string>, result)\n } else if (typeof arg === 'string' && arg.toLowerCase().includes('content-type')) {\n // Extract Content-Type header e.g -H 'Content-Type: application/json'\n parseContentType(arg, result)\n } else if (arg === '-u' || arg === '--user') {\n // Extract Authorization header e.g -u 'username:password'\n parseAuth(iterator as Iterator<string>, result)\n } else if (arg === '-b' || arg === '--cookie') {\n // Extract Cookie header e.g -b 'foo=bar'\n parseCookie(iterator as Iterator<string>, result)\n }\n arg = iterator.next().value\n }\n\n return result\n}\n\n/** Get the method from a curl command */\nfunction parseMethod(iterator: Iterator<string>, result: any) {\n result.method = iterator.next().value.toLowerCase()\n}\n\n/** Get the URL from a curl command */\nfunction parseUrl(iterator: Iterator<string>, result: any) {\n const url = new URL(iterator.next().value.replace(/['\"]/g, ''))\n result.servers = [url.origin]\n result.path = url.pathname !== '/' ? url.pathname : ''\n result.url = result.servers[0] + result.path\n\n // Merge existing query parameters with those from the URL\n const urlQueryParameters = parseQueryParameters(url.search)\n result.queryParameters = result.queryParameters\n ? [...result.queryParameters, ...urlQueryParameters]\n : urlQueryParameters\n}\n\n/** Get the headers from a curl command */\nfunction parseHeader(iterator: Iterator<string>, result: any) {\n const header = iterator.next().value.split(/:(.*)/)\n result.headers = result.headers || {}\n if (header[1] !== undefined) {\n result.headers[header[0].trim()] = header[1].trim()\n } else {\n result.headers[header[0].trim()] = ''\n }\n}\n\n/** Get the {query} parameters from a curl command */\nfunction parsePathVariables(iterator: Iterator<string>, result: any) {\n const param = iterator.next().value.replace(/['\"]/g, '').split('=')\n result.pathVariables = result.pathVariables || {}\n if (param[1] !== undefined) {\n result.pathVariables[param[0].trim()] = param[1].trim()\n } else {\n result.pathVariables[param[0].trim()] = ''\n }\n}\n\n/** Get the ?query=parameters from a curl command */\nfunction parseQueryParameters(url: string) {\n const queryParameters: Array<{ key: string; value: string }> = []\n // Base URL is required for relative URLs\n const urlObj = new URL(url, 'http://example.com')\n\n urlObj.searchParams.forEach((value, key) => {\n queryParameters.push({ key, value })\n })\n\n return queryParameters\n}\n\n/** Get the Content-Type header from a curl command */\nfunction parseContentType(arg: string, result: any) {\n const header = arg.replace(/['\"]/g, '').split(/:(.+)/)\n result.headers = result.headers || {}\n\n if (!header[0]) {\n return\n }\n\n if (header[1] !== undefined) {\n result.headers[header[0].trim()] = header[1].trim()\n } else {\n result.headers[header[0].trim()] = ''\n }\n}\n\n/** Get the Authorization header from a curl command */\nfunction parseAuth(iterator: Iterator<string>, result: any) {\n const auth = iterator.next().value\n\n try {\n const encodedAuth = encode(auth)\n\n result.headers = result.headers || {}\n\n result.headers['Authorization'] = `Basic ${encodedAuth}`\n } catch (error) {\n console.warn('Could not base64 encode these HTTP basic auth credentials:', auth, error)\n }\n}\n\n/** Get the Cookie header from a curl command */\nfunction parseCookie(iterator: Iterator<string>, result: any) {\n const cookie = iterator.next().value\n result.headers = result.headers || {}\n if (result.headers['Cookie']) {\n result.headers['Cookie'] += `; ${cookie}`\n } else {\n result.headers['Cookie'] = cookie.replace(/;$/, '') // Remove trailing semicolon if present\n }\n}\n\n/** Parse data from a curl command */\nfunction parseData(iterator: Iterator<string>, result: any, curlCommand: string) {\n const nextArg = iterator.next().value\n if (typeof nextArg === 'string') {\n if (nextArg.startsWith('@')) {\n // Mock reading data from file\n result.body = ''\n } else {\n result.body = nextArg\n }\n // Parse query parameters from body if URL is not present\n if (!result.url || curlCommand.includes('-G')) {\n const newQueryParams = parseQueryParameters(`?${result.body}`)\n result.queryParameters = result.queryParameters ? [...result.queryParameters, ...newQueryParams] : newQueryParams\n }\n }\n}\n"],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- import { inject } from "vue";
2
- //#region src/plugins/plugin-manager.ts
3
- /**
4
- * Create the plugin manager store
5
- *
6
- * This store manages all plugins registered with the API client
7
- */
8
- var createPluginManager = ({ plugins = [] }) => {
9
- const registeredPlugins = /* @__PURE__ */ new Map();
10
- plugins.forEach((plugin) => {
11
- const pluginInstance = plugin();
12
- registeredPlugins.set(pluginInstance.name, pluginInstance);
13
- });
14
- const executeHook = (event, ...args) => {
15
- const [payload] = args;
16
- if (event === "onBeforeRequest" && payload && "request" in payload) {
17
- const hooks = Array.from(registeredPlugins.values()).map((plugin) => plugin.hooks?.onBeforeRequest).filter((hook) => typeof hook === "function");
18
- return Promise.all(hooks.map((hook) => hook({ request: payload.request })));
19
- }
20
- if (event === "onResponseReceived" && payload && "response" in payload && "operation" in payload) {
21
- const hooks = Array.from(registeredPlugins.values()).map((plugin) => plugin.hooks?.onResponseReceived).filter((hook) => typeof hook === "function");
22
- return Promise.all(hooks.map((hook) => hook({
23
- response: payload.response,
24
- operation: payload.operation
25
- })));
26
- }
27
- return Promise.resolve([]);
28
- };
29
- return {
30
- getViewComponents: (view) => {
31
- return Array.from(registeredPlugins.values()).flatMap((plugin) => plugin.views?.[view] || []);
32
- },
33
- executeHook
34
- };
35
- };
36
- //#endregion
37
- //#region src/plugins/hooks/usePluginManager.ts
38
- var PLUGIN_MANAGER_SYMBOL = Symbol();
39
- /**
40
- * Hook to access the plugin manager
41
- */
42
- var usePluginManager = () => {
43
- const manager = inject(PLUGIN_MANAGER_SYMBOL);
44
- if (!manager) return createPluginManager({});
45
- return manager;
46
- };
47
- //#endregion
48
- export { usePluginManager as n, createPluginManager as r, PLUGIN_MANAGER_SYMBOL as t };
49
-
50
- //# sourceMappingURL=plugins-B52hCIyZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugins-B52hCIyZ.js","names":[],"sources":["../src/plugins/plugin-manager.ts","../src/plugins/hooks/usePluginManager.ts"],"sourcesContent":["import type { ApiClientPlugin } from '@scalar/types/api-reference'\n\nexport type { ApiClientPlugin }\n\ntype PluginInstance = ReturnType<ApiClientPlugin>\ntype HookFunctions = NonNullable<PluginInstance['hooks']>\ntype HookEvent = keyof HookFunctions\ntype OnBeforeRequestHook = NonNullable<HookFunctions['onBeforeRequest']>\ntype OnResponseReceivedHook = NonNullable<HookFunctions['onResponseReceived']>\n\ntype ExecuteHook = {\n (\n event: 'onBeforeRequest',\n ...args: Parameters<OnBeforeRequestHook>\n ): Promise<Array<Awaited<ReturnType<OnBeforeRequestHook>>>>\n (\n event: 'onResponseReceived',\n ...args: Parameters<OnResponseReceivedHook>\n ): Promise<Array<Awaited<ReturnType<OnResponseReceivedHook>>>>\n}\n\ntype CreatePluginManagerParams = {\n plugins?: ApiClientPlugin[]\n}\n\n/**\n * Create the plugin manager store\n *\n * This store manages all plugins registered with the API client\n */\nexport const createPluginManager = ({ plugins = [] }: CreatePluginManagerParams) => {\n const registeredPlugins = new Map<string, ReturnType<ApiClientPlugin>>()\n\n // Register initial plugins\n plugins.forEach((plugin) => {\n const pluginInstance = plugin()\n registeredPlugins.set(pluginInstance.name, pluginInstance)\n })\n\n const executeHook: ExecuteHook = (\n event: HookEvent,\n ...args: Parameters<OnBeforeRequestHook> | Parameters<OnResponseReceivedHook>\n ) => {\n const [payload] = args\n\n if (event === 'onBeforeRequest' && payload && 'request' in payload) {\n const hooks = Array.from(registeredPlugins.values())\n .map((plugin) => plugin.hooks?.onBeforeRequest)\n .filter((hook): hook is OnBeforeRequestHook => typeof hook === 'function')\n\n // Execute each hook with the provided arguments\n return Promise.all(hooks.map((hook) => hook({ request: payload.request })))\n }\n\n if (event === 'onResponseReceived' && payload && 'response' in payload && 'operation' in payload) {\n const hooks = Array.from(registeredPlugins.values())\n .map((plugin) => plugin.hooks?.onResponseReceived)\n .filter((hook): hook is OnResponseReceivedHook => typeof hook === 'function')\n\n // Execute each hook with the provided arguments\n return Promise.all(hooks.map((hook) => hook({ response: payload.response, operation: payload.operation })))\n }\n\n return Promise.resolve([])\n }\n\n return {\n /**\n * Get all components for a specific view\n */\n getViewComponents: (view: keyof NonNullable<ReturnType<ApiClientPlugin>['views']>) => {\n return Array.from(registeredPlugins.values()).flatMap((plugin) => plugin.views?.[view] || [])\n },\n\n /**\n * Execute a hook for a specific event\n */\n executeHook,\n }\n}\n\nexport type PluginManager = ReturnType<typeof createPluginManager>\n","import { type InjectionKey, inject } from 'vue'\n\nimport { type PluginManager, createPluginManager } from '@/plugins/plugin-manager'\n\nexport const PLUGIN_MANAGER_SYMBOL = Symbol() as InjectionKey<PluginManager>\n\n/**\n * Hook to access the plugin manager\n */\nexport const usePluginManager = (): PluginManager => {\n const manager = inject(PLUGIN_MANAGER_SYMBOL)\n\n // No plugin manager provided, creating a new one.\n if (!manager) {\n return createPluginManager({})\n }\n\n return manager\n}\n"],"mappings":";;;;;;;AA8BA,IAAa,uBAAuB,EAAE,UAAU,EAAE,OAAkC;CAClF,MAAM,oCAAoB,IAAI,KAA0C;AAGxE,SAAQ,SAAS,WAAW;EAC1B,MAAM,iBAAiB,QAAQ;AAC/B,oBAAkB,IAAI,eAAe,MAAM,eAAe;GAC1D;CAEF,MAAM,eACJ,OACA,GAAG,SACA;EACH,MAAM,CAAC,WAAW;AAElB,MAAI,UAAU,qBAAqB,WAAW,aAAa,SAAS;GAClE,MAAM,QAAQ,MAAM,KAAK,kBAAkB,QAAQ,CAAC,CACjD,KAAK,WAAW,OAAO,OAAO,gBAAgB,CAC9C,QAAQ,SAAsC,OAAO,SAAS,WAAW;AAG5E,UAAO,QAAQ,IAAI,MAAM,KAAK,SAAS,KAAK,EAAE,SAAS,QAAQ,SAAS,CAAC,CAAC,CAAC;;AAG7E,MAAI,UAAU,wBAAwB,WAAW,cAAc,WAAW,eAAe,SAAS;GAChG,MAAM,QAAQ,MAAM,KAAK,kBAAkB,QAAQ,CAAC,CACjD,KAAK,WAAW,OAAO,OAAO,mBAAmB,CACjD,QAAQ,SAAyC,OAAO,SAAS,WAAW;AAG/E,UAAO,QAAQ,IAAI,MAAM,KAAK,SAAS,KAAK;IAAE,UAAU,QAAQ;IAAU,WAAW,QAAQ;IAAW,CAAC,CAAC,CAAC;;AAG7G,SAAO,QAAQ,QAAQ,EAAE,CAAC;;AAG5B,QAAO;EAIL,oBAAoB,SAAkE;AACpF,UAAO,MAAM,KAAK,kBAAkB,QAAQ,CAAC,CAAC,SAAS,WAAW,OAAO,QAAQ,SAAS,EAAE,CAAC;;EAM/F;EACD;;;;AC1EH,IAAa,wBAAwB,QAAQ;;;;AAK7C,IAAa,yBAAwC;CACnD,MAAM,UAAU,OAAO,sBAAsB;AAG7C,KAAI,CAAC,QACH,QAAO,oBAAoB,EAAE,CAAC;AAGhC,QAAO"}
@@ -1,9 +0,0 @@
1
- //#region src/assets/rabbit.ascii?raw
2
- var rabbit_default = " ,\\\n \\\\\\,_\n \\` ,\\\n __,.-\" =__)\n .\" )\n,_/ , \\/\\_\n\\_| )_-\\ \\_-`\n `-----` `--`";
3
- //#endregion
4
- //#region src/assets/rabbitjump.ascii?raw
5
- var rabbitjump_default = " __\n // \\,_\n \\` ,\\\n __,.-\" =__)\n .\" )\n,_/ , \\/\\ \n\\_| // / / /\n / / ";
6
- //#endregion
7
- export { rabbit_default as n, rabbitjump_default as t };
8
-
9
- //# sourceMappingURL=rabbitjump-CMZXAR6d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rabbitjump-CMZXAR6d.js","names":[],"sources":["../src/assets/rabbit.ascii?raw","../src/assets/rabbitjump.ascii?raw"],"sourcesContent":["export default \" ,\\\\\\n \\\\\\\\\\\\,_\\n \\\\` ,\\\\\\n __,.-\\\" =__)\\n .\\\" )\\n,_/ , \\\\/\\\\_\\n\\\\_| )_-\\\\ \\\\_-`\\n `-----` `--`\"","export default \" __\\n // \\\\,_\\n \\\\` ,\\\\\\n __,.-\\\" =__)\\n .\\\" )\\n,_/ , \\\\/\\\\ \\n\\\\_| // / / /\\n / / \""],"mappings":";AAAA,IAAA,iBAAe;;;ACAf,IAAA,qBAAe"}