@scalar/agent-chat 0.1.2 → 0.2.0

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 (292) hide show
  1. package/{dist/App.vue.d.ts → App.vue.d.ts} +2 -2
  2. package/App.vue.d.ts.map +1 -0
  3. package/{dist/App.vue.js → App.vue.js} +9 -3
  4. package/App.vue.js.map +1 -0
  5. package/{dist/Chat.vue.js → Chat.vue.js} +3 -3
  6. package/Chat.vue.js.map +1 -0
  7. package/components/ApprovalSection.vue.d.ts +9 -0
  8. package/components/ApprovalSection.vue.d.ts.map +1 -0
  9. package/components/ApprovalSection.vue.js +8 -0
  10. package/components/ApprovalSection.vue.js.map +1 -0
  11. package/components/ApprovalSection.vue2.js +47 -0
  12. package/components/ApprovalSection.vue2.js.map +1 -0
  13. package/components/AutosendPaused.vue.d.ts +3 -0
  14. package/components/AutosendPaused.vue.d.ts.map +1 -0
  15. package/components/AutosendPaused.vue.js +15 -0
  16. package/components/AutosendPaused.vue.js.map +1 -0
  17. package/{dist/components → components}/ContextItem.vue.d.ts.map +1 -1
  18. package/{dist/components → components}/ContextItem.vue.js +1 -1
  19. package/{dist/components → components}/ContextItem.vue2.js +1 -1
  20. package/components/ContextItem.vue2.js.map +1 -0
  21. package/components/ErrorMessage.vue.d.ts +6 -0
  22. package/components/ErrorMessage.vue.d.ts.map +1 -0
  23. package/components/ErrorMessage.vue.js +8 -0
  24. package/components/ErrorMessage.vue.js.map +1 -0
  25. package/components/ErrorMessage.vue2.js +28 -0
  26. package/components/ErrorMessage.vue2.js.map +1 -0
  27. package/{dist/components → components}/LoadingMiniOpenAPIDoc.vue.d.ts.map +1 -1
  28. package/components/LoadingMiniOpenAPIDoc.vue.js +16 -0
  29. package/components/LoadingMiniOpenAPIDoc.vue.js.map +1 -0
  30. package/components/LoadingOpenAPISpecsSummary.vue.d.ts +3 -0
  31. package/components/LoadingOpenAPISpecsSummary.vue.d.ts.map +1 -0
  32. package/components/LoadingOpenAPISpecsSummary.vue.js +16 -0
  33. package/components/LoadingOpenAPISpecsSummary.vue.js.map +1 -0
  34. package/components/RequestApproved.vue.d.ts +3 -0
  35. package/components/RequestApproved.vue.d.ts.map +1 -0
  36. package/components/RequestApproved.vue.js +15 -0
  37. package/components/RequestApproved.vue.js.map +1 -0
  38. package/components/RequestFailed.vue.d.ts +3 -0
  39. package/components/RequestFailed.vue.d.ts.map +1 -0
  40. package/components/RequestFailed.vue.js +26 -0
  41. package/components/RequestFailed.vue.js.map +1 -0
  42. package/components/RequestPreview.vue.d.ts +10 -0
  43. package/components/RequestPreview.vue.d.ts.map +1 -0
  44. package/components/RequestPreview.vue.js +9 -0
  45. package/components/RequestPreview.vue.js.map +1 -0
  46. package/components/RequestPreview.vue2.js +150 -0
  47. package/components/RequestPreview.vue2.js.map +1 -0
  48. package/components/RequestRejected.vue.d.ts +3 -0
  49. package/components/RequestRejected.vue.d.ts.map +1 -0
  50. package/components/RequestRejected.vue.js +24 -0
  51. package/components/RequestRejected.vue.js.map +1 -0
  52. package/components/RequestSuccess.vue.d.ts +3 -0
  53. package/components/RequestSuccess.vue.d.ts.map +1 -0
  54. package/components/RequestSuccess.vue.js +15 -0
  55. package/components/RequestSuccess.vue.js.map +1 -0
  56. package/components/ResponseBody/ResponseBody.vue.d.ts +15 -0
  57. package/components/ResponseBody/ResponseBody.vue.d.ts.map +1 -0
  58. package/components/ResponseBody/ResponseBody.vue.js +45 -0
  59. package/components/ResponseBody/ResponseBody.vue.js.map +1 -0
  60. package/components/ResponseBody/ResponseBody.vue2.js +5 -0
  61. package/components/ResponseBody/ResponseBody.vue2.js.map +1 -0
  62. package/components/ResponseBody/ResponseBodyInfo.vue.d.ts +13 -0
  63. package/components/ResponseBody/ResponseBodyInfo.vue.d.ts.map +1 -0
  64. package/components/ResponseBody/ResponseBodyInfo.vue.js +17 -0
  65. package/components/ResponseBody/ResponseBodyInfo.vue.js.map +1 -0
  66. package/components/ResponseBody/ResponseBodyPreview.vue.d.ts +10 -0
  67. package/components/ResponseBody/ResponseBodyPreview.vue.d.ts.map +1 -0
  68. package/components/ResponseBody/ResponseBodyPreview.vue.js +8 -0
  69. package/components/ResponseBody/ResponseBodyPreview.vue.js.map +1 -0
  70. package/components/ResponseBody/ResponseBodyPreview.vue2.js +73 -0
  71. package/components/ResponseBody/ResponseBodyPreview.vue2.js.map +1 -0
  72. package/components/ResponseBody/ResponseBodyRaw.vue.d.ts +7 -0
  73. package/components/ResponseBody/ResponseBodyRaw.vue.d.ts.map +1 -0
  74. package/components/ResponseBody/ResponseBodyRaw.vue.js +23 -0
  75. package/components/ResponseBody/ResponseBodyRaw.vue.js.map +1 -0
  76. package/components/ResponseBody/ResponseBodyRaw.vue2.js +5 -0
  77. package/components/ResponseBody/ResponseBodyRaw.vue2.js.map +1 -0
  78. package/components/ResponseBody/ResponseBodyToggle.vue.d.ts +10 -0
  79. package/components/ResponseBody/ResponseBodyToggle.vue.d.ts.map +1 -0
  80. package/components/ResponseBody/ResponseBodyToggle.vue.js +30 -0
  81. package/components/ResponseBody/ResponseBodyToggle.vue.js.map +1 -0
  82. package/components/ResponseBody/ResponseBodyToggle.vue2.js +5 -0
  83. package/components/ResponseBody/ResponseBodyToggle.vue2.js.map +1 -0
  84. package/components/ResponseBody/helpers/media-types.d.ts +15 -0
  85. package/components/ResponseBody/helpers/media-types.d.ts.map +1 -0
  86. package/components/ResponseBody/helpers/media-types.js +134 -0
  87. package/components/ResponseBody/helpers/media-types.js.map +1 -0
  88. package/components/ResponseBody/helpers/process-response-body.d.ts +10 -0
  89. package/components/ResponseBody/helpers/process-response-body.d.ts.map +1 -0
  90. package/components/ResponseBody/helpers/process-response-body.js +63 -0
  91. package/components/ResponseBody/helpers/process-response-body.js.map +1 -0
  92. package/components/SearchPopover.vue.d.ts +13 -0
  93. package/components/SearchPopover.vue.d.ts.map +1 -0
  94. package/components/SearchPopover.vue.js +8 -0
  95. package/components/SearchPopover.vue.js.map +1 -0
  96. package/components/SearchPopover.vue2.js +78 -0
  97. package/components/SearchPopover.vue2.js.map +1 -0
  98. package/{dist/components → components}/SendingRequest.vue.d.ts.map +1 -1
  99. package/{dist/components → components}/SendingRequest.vue.js +1 -1
  100. package/{dist/components → components}/SendingRequest.vue.js.map +1 -1
  101. package/{dist/components → components}/Suggestion.vue.d.ts.map +1 -1
  102. package/{dist/components → components}/Suggestion.vue.js +1 -1
  103. package/{dist/components → components}/Suggestion.vue2.js +1 -1
  104. package/{dist/components → components}/Suggestion.vue2.js.map +1 -1
  105. package/{dist/components → components}/TestRequestButton.vue2.js +1 -1
  106. package/{dist/components → components}/TestRequestButton.vue2.js.map +1 -1
  107. package/helpers.d.ts +418 -0
  108. package/helpers.d.ts.map +1 -0
  109. package/helpers.js +201 -0
  110. package/helpers.js.map +1 -0
  111. package/hooks/useChatApprovals.d.ts +24 -0
  112. package/hooks/useChatApprovals.d.ts.map +1 -0
  113. package/hooks/useChatApprovals.js +25 -0
  114. package/hooks/useChatApprovals.js.map +1 -0
  115. package/{dist/hooks → hooks}/useChatOperationBlocks.js +1 -1
  116. package/hooks/useSearch.d.ts +26 -0
  117. package/hooks/useSearch.d.ts.map +1 -0
  118. package/hooks/useSearch.js +36 -0
  119. package/hooks/useSearch.js.map +1 -0
  120. package/package.json +3 -36
  121. package/registry/add-documents-to-store.d.ts +21 -0
  122. package/registry/add-documents-to-store.d.ts.map +1 -0
  123. package/registry/add-documents-to-store.js +42 -0
  124. package/registry/add-documents-to-store.js.map +1 -0
  125. package/{dist/state → state}/state.d.ts +29 -14
  126. package/state/state.d.ts.map +1 -0
  127. package/{dist/state → state}/state.js +45 -40
  128. package/state/state.js.map +1 -0
  129. package/{dist/style.css → style.css} +686 -234
  130. package/{dist/views → views}/Chat/Chat.vue.d.ts.map +1 -1
  131. package/{dist/views → views}/Chat/Chat.vue.js +1 -1
  132. package/{dist/views → views}/Chat/Chat.vue2.js +17 -5
  133. package/views/Chat/Chat.vue2.js.map +1 -0
  134. package/{dist/views → views}/Chat/Messages/ExecuteRequestTool.vue.d.ts.map +1 -1
  135. package/{dist/views → views}/Chat/Messages/ExecuteRequestTool.vue.js +1 -1
  136. package/views/Chat/Messages/ExecuteRequestTool.vue2.js +39 -0
  137. package/views/Chat/Messages/ExecuteRequestTool.vue2.js.map +1 -0
  138. package/{dist/views → views}/Chat/Messages/GetMiniOpenAPIDocTool.vue.d.ts.map +1 -1
  139. package/{dist/views → views}/Chat/Messages/GetMiniOpenAPIDocTool.vue.js +1 -1
  140. package/{dist/views → views}/Chat/Messages/GetMiniOpenAPIDocTool.vue2.js +2 -3
  141. package/views/Chat/Messages/GetMiniOpenAPIDocTool.vue2.js.map +1 -0
  142. package/views/Chat/Messages/GetOpenAPISpecsSummary.vue.d.ts +11 -0
  143. package/views/Chat/Messages/GetOpenAPISpecsSummary.vue.d.ts.map +1 -0
  144. package/views/Chat/Messages/GetOpenAPISpecsSummary.vue.js +32 -0
  145. package/views/Chat/Messages/GetOpenAPISpecsSummary.vue.js.map +1 -0
  146. package/views/Chat/Messages/GetOpenAPISpecsSummary.vue2.js +5 -0
  147. package/views/Chat/Messages/GetOpenAPISpecsSummary.vue2.js.map +1 -0
  148. package/{dist/views → views}/Chat/Messages/Text.vue.js +1 -1
  149. package/{dist/views → views}/Chat/Messages/Text.vue.js.map +1 -1
  150. package/views/Layout.vue.d.ts.map +1 -0
  151. package/{dist/views → views}/Layout.vue.js +1 -1
  152. package/{dist/views → views}/Layout.vue2.js +0 -4
  153. package/views/Layout.vue2.js.map +1 -0
  154. package/{dist/views → views}/PromptForm.vue.d.ts.map +1 -1
  155. package/{dist/views → views}/PromptForm.vue.js +1 -1
  156. package/views/PromptForm.vue2.js +182 -0
  157. package/views/PromptForm.vue2.js.map +1 -0
  158. package/{dist/views → views/Settings}/Auth.vue.d.ts +1 -0
  159. package/views/Settings/Auth.vue.d.ts.map +1 -0
  160. package/{dist/views → views/Settings}/Auth.vue.js +21 -26
  161. package/views/Settings/Auth.vue.js.map +1 -0
  162. package/views/Settings/DocSettings.vue.d.ts +8 -0
  163. package/views/Settings/DocSettings.vue.d.ts.map +1 -0
  164. package/views/Settings/DocSettings.vue.js +8 -0
  165. package/views/Settings/DocSettings.vue.js.map +1 -0
  166. package/views/Settings/DocSettings.vue2.js +50 -0
  167. package/views/Settings/DocSettings.vue2.js.map +1 -0
  168. package/views/Settings/Settings.vue.d.ts.map +1 -0
  169. package/{dist/views → views/Settings}/Settings.vue.js +2 -2
  170. package/views/Settings/Settings.vue2.js +78 -0
  171. package/views/Settings/Settings.vue2.js.map +1 -0
  172. package/views/Start.vue.d.ts.map +1 -0
  173. package/{dist/views → views}/Start.vue.js +1 -1
  174. package/{dist/views → views}/Start.vue2.js +0 -1
  175. package/views/Start.vue2.js.map +1 -0
  176. package/dist/App.vue.d.ts.map +0 -1
  177. package/dist/App.vue.js.map +0 -1
  178. package/dist/Chat.vue.js.map +0 -1
  179. package/dist/components/ContextItem.vue2.js.map +0 -1
  180. package/dist/components/LoadingMiniOpenAPIDoc.vue.js +0 -32
  181. package/dist/components/LoadingMiniOpenAPIDoc.vue.js.map +0 -1
  182. package/dist/helpers.d.ts +0 -39
  183. package/dist/helpers.d.ts.map +0 -1
  184. package/dist/helpers.js +0 -111
  185. package/dist/helpers.js.map +0 -1
  186. package/dist/hooks/useActiveServer.d.ts +0 -2
  187. package/dist/hooks/useActiveServer.d.ts.map +0 -1
  188. package/dist/hooks/useActiveServer.js +0 -20
  189. package/dist/hooks/useActiveServer.js.map +0 -1
  190. package/dist/hooks/useSecuritySchemes.d.ts +0 -2
  191. package/dist/hooks/useSecuritySchemes.d.ts.map +0 -1
  192. package/dist/hooks/useSecuritySchemes.js +0 -29
  193. package/dist/hooks/useSecuritySchemes.js.map +0 -1
  194. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/api.js +0 -11
  195. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/api.js.map +0 -1
  196. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/core.js +0 -58
  197. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/core.js.map +0 -1
  198. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/errors.js +0 -25
  199. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/errors.js.map +0 -1
  200. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/parse.js +0 -64
  201. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/parse.js.map +0 -1
  202. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/regexes.js +0 -8
  203. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/regexes.js.map +0 -1
  204. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/schemas.js +0 -181
  205. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/schemas.js.map +0 -1
  206. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/util.js +0 -61
  207. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/util.js.map +0 -1
  208. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/versions.js +0 -9
  209. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/core/versions.js.map +0 -1
  210. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/mini/schemas.js +0 -60
  211. package/dist/node_modules/.pnpm/zod@4.1.11/node_modules/zod/v4/mini/schemas.js.map +0 -1
  212. package/dist/package.json +0 -63
  213. package/dist/registry/get-document.d.ts +0 -4
  214. package/dist/registry/get-document.d.ts.map +0 -1
  215. package/dist/registry/get-document.js +0 -23
  216. package/dist/registry/get-document.js.map +0 -1
  217. package/dist/state/state.d.ts.map +0 -1
  218. package/dist/state/state.js.map +0 -1
  219. package/dist/views/Auth.vue.d.ts.map +0 -1
  220. package/dist/views/Auth.vue.js.map +0 -1
  221. package/dist/views/Chat/Chat.vue2.js.map +0 -1
  222. package/dist/views/Chat/Messages/ExecuteRequestTool.vue2.js +0 -62
  223. package/dist/views/Chat/Messages/ExecuteRequestTool.vue2.js.map +0 -1
  224. package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue2.js.map +0 -1
  225. package/dist/views/Layout.vue.d.ts.map +0 -1
  226. package/dist/views/Layout.vue2.js.map +0 -1
  227. package/dist/views/PromptForm.vue2.js +0 -125
  228. package/dist/views/PromptForm.vue2.js.map +0 -1
  229. package/dist/views/Settings.vue.d.ts.map +0 -1
  230. package/dist/views/Settings.vue2.js +0 -81
  231. package/dist/views/Settings.vue2.js.map +0 -1
  232. package/dist/views/Start.vue.d.ts.map +0 -1
  233. package/dist/views/Start.vue2.js.map +0 -1
  234. /package/{dist/App.vue2.js → App.vue2.js} +0 -0
  235. /package/{dist/App.vue2.js.map → App.vue2.js.map} +0 -0
  236. /package/{dist/Chat.vue.d.ts → Chat.vue.d.ts} +0 -0
  237. /package/{dist/Chat.vue.d.ts.map → Chat.vue.d.ts.map} +0 -0
  238. /package/{dist/Chat.vue2.js → Chat.vue2.js} +0 -0
  239. /package/{dist/Chat.vue2.js.map → Chat.vue2.js.map} +0 -0
  240. /package/{dist/_virtual → _virtual}/_plugin-vue_export-helper.js +0 -0
  241. /package/{dist/_virtual → _virtual}/_plugin-vue_export-helper.js.map +0 -0
  242. /package/{dist/components → components}/ContextItem.vue.d.ts +0 -0
  243. /package/{dist/components → components}/ContextItem.vue.js.map +0 -0
  244. /package/{dist/components → components}/Endpoint.vue.d.ts +0 -0
  245. /package/{dist/components → components}/Endpoint.vue.d.ts.map +0 -0
  246. /package/{dist/components → components}/Endpoint.vue.js +0 -0
  247. /package/{dist/components → components}/Endpoint.vue.js.map +0 -0
  248. /package/{dist/components → components}/Endpoint.vue2.js +0 -0
  249. /package/{dist/components → components}/Endpoint.vue2.js.map +0 -0
  250. /package/{dist/components → components}/LoadingMiniOpenAPIDoc.vue.d.ts +0 -0
  251. /package/{dist/components → components}/Logo.vue.d.ts +0 -0
  252. /package/{dist/components → components}/Logo.vue.d.ts.map +0 -0
  253. /package/{dist/components → components}/Logo.vue.js +0 -0
  254. /package/{dist/components → components}/Logo.vue.js.map +0 -0
  255. /package/{dist/components → components}/SendingRequest.vue.d.ts +0 -0
  256. /package/{dist/components → components}/Suggestion.vue.d.ts +0 -0
  257. /package/{dist/components → components}/Suggestion.vue.js.map +0 -0
  258. /package/{dist/components → components}/TestRequestButton.vue.d.ts +0 -0
  259. /package/{dist/components → components}/TestRequestButton.vue.d.ts.map +0 -0
  260. /package/{dist/components → components}/TestRequestButton.vue.js +0 -0
  261. /package/{dist/components → components}/TestRequestButton.vue.js.map +0 -0
  262. /package/{dist/hooks → hooks}/useChatOperationBlocks.d.ts +0 -0
  263. /package/{dist/hooks → hooks}/useChatOperationBlocks.d.ts.map +0 -0
  264. /package/{dist/hooks → hooks}/useChatOperationBlocks.js.map +0 -0
  265. /package/{dist/hooks → hooks}/useChatScroll.d.ts +0 -0
  266. /package/{dist/hooks → hooks}/useChatScroll.d.ts.map +0 -0
  267. /package/{dist/hooks → hooks}/useChatScroll.js +0 -0
  268. /package/{dist/hooks → hooks}/useChatScroll.js.map +0 -0
  269. /package/{dist/index.d.ts → index.d.ts} +0 -0
  270. /package/{dist/index.d.ts.map → index.d.ts.map} +0 -0
  271. /package/{dist/index.js → index.js} +0 -0
  272. /package/{dist/index.js.map → index.js.map} +0 -0
  273. /package/{dist/views → views}/Chat/Chat.vue.d.ts +0 -0
  274. /package/{dist/views → views}/Chat/Chat.vue.js.map +0 -0
  275. /package/{dist/views → views}/Chat/Messages/ExecuteRequestTool.vue.d.ts +0 -0
  276. /package/{dist/views → views}/Chat/Messages/ExecuteRequestTool.vue.js.map +0 -0
  277. /package/{dist/views → views}/Chat/Messages/GetMiniOpenAPIDocTool.vue.d.ts +0 -0
  278. /package/{dist/views → views}/Chat/Messages/GetMiniOpenAPIDocTool.vue.js.map +0 -0
  279. /package/{dist/views → views}/Chat/Messages/Text.vue.d.ts +0 -0
  280. /package/{dist/views → views}/Chat/Messages/Text.vue.d.ts.map +0 -0
  281. /package/{dist/views → views}/Chat/Messages/Text.vue2.js +0 -0
  282. /package/{dist/views → views}/Chat/Messages/Text.vue2.js.map +0 -0
  283. /package/{dist/views → views}/Layout.vue.d.ts +0 -0
  284. /package/{dist/views → views}/Layout.vue.js.map +0 -0
  285. /package/{dist/views → views}/PromptForm.vue.d.ts +0 -0
  286. /package/{dist/views → views}/PromptForm.vue.js.map +0 -0
  287. /package/{dist/views → views/Settings}/Auth.vue2.js +0 -0
  288. /package/{dist/views → views/Settings}/Auth.vue2.js.map +0 -0
  289. /package/{dist/views → views/Settings}/Settings.vue.d.ts +0 -0
  290. /package/{dist/views → views/Settings}/Settings.vue.js.map +0 -0
  291. /package/{dist/views → views}/Start.vue.d.ts +0 -0
  292. /package/{dist/views → views}/Start.vue.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestPreview.vue2.js","sources":["../../src/components/RequestPreview.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { type DeepPartial } from 'ai'\nimport { computed, ref } from 'vue'\n\nimport { ScalarCodeBlock } from '@scalar/components'\nimport { ScalarIconCaretDown, ScalarIconCaretRight } from '@scalar/icons'\nimport {\n type ExecuteRequestToolInput,\n type ExecuteRequestToolOutput,\n} from '@scalar-org/entities/agent'\n\nimport AutosendPaused from '@/components/AutosendPaused.vue'\nimport RequestApproved from '@/components/RequestApproved.vue'\nimport RequestFailed from '@/components/RequestFailed.vue'\nimport RequestRejected from '@/components/RequestRejected.vue'\nimport RequestSuccess from '@/components/RequestSuccess.vue'\nimport { getMediaTypeConfig } from '@/components/ResponseBody/helpers/media-types'\nimport { processResponseBody } from '@/components/ResponseBody/helpers/process-response-body'\nimport ResponseBody from '@/components/ResponseBody/ResponseBody.vue'\nimport ResponseBodyToggle from '@/components/ResponseBody/ResponseBodyToggle.vue'\nimport SendingRequest from '@/components/SendingRequest.vue'\n\nconst { request, response, state } = defineProps<{\n request?: ExecuteRequestToolInput | DeepPartial<ExecuteRequestToolInput>\n response?: ExecuteRequestToolOutput\n state:\n | 'requiresApproval'\n | 'sendingRequest'\n | 'requestSucceeded'\n | 'requestFailed'\n | 'approved'\n | 'rejected'\n}>()\n\nconst responseData = computed(() => {\n if (response?.structuredContent.success) {\n return {\n data: response.structuredContent.data.responseBody,\n headers: response.structuredContent.data.headers,\n }\n }\n\n if (response?.structuredContent.error?.code === 'REQUEST_NOT_OK') {\n return {\n data: response.structuredContent.error.detail.responseBody,\n headers: response.structuredContent.error.detail.headers,\n }\n }\n\n return undefined\n})\n\nconst showRequestToggle = ref(false)\n\n/** Show request preview automatically for failed requests or when approval is required. */\nconst shouldShowRequest = computed(() => {\n if (state === 'requestFailed' || state === 'requiresApproval') {\n return true\n }\n return showRequestToggle.value\n})\n\nconst responseBody = computed(() =>\n processResponseBody({\n data: responseData.value?.data,\n headers: responseData.value?.headers,\n }),\n)\n\nconst mediaConfig = computed(() =>\n getMediaTypeConfig(responseBody.value.mimeType?.essence ?? ''),\n)\n\nconst displayToggle = ref<'preview' | 'raw'>()\nfunction toggleDisplay(mode: 'preview' | 'raw') {\n displayToggle.value = mode\n}\n\nconst displayMode = computed(() => {\n if (displayToggle.value) return displayToggle.value\n\n if (mediaConfig.value?.raw && !mediaConfig.value.preview) return 'raw'\n if (mediaConfig.value?.preview) return 'preview'\n\n return 'raw'\n})\n</script>\n\n<template>\n <div\n class=\"requestPreview\"\n :class=\"{\n open: shouldShowRequest,\n succeeded: state === 'requestSucceeded',\n }\">\n <RequestApproved v-if=\"state === 'approved'\" />\n <div\n v-else-if=\"state === 'requiresApproval'\"\n class=\"autosendContainer\">\n <AutosendPaused />\n </div>\n <button\n v-else-if=\"state === 'sendingRequest'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <SendingRequest />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <button\n v-else-if=\"state === 'requestSucceeded'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <RequestSuccess />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <button\n v-else-if=\"state === 'rejected'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <RequestRejected />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <RequestFailed v-else-if=\"state === 'requestFailed'\" />\n <div class=\"requestContent\">\n <div class=\"requestContentInner\">\n <div\n v-if=\"request\"\n class=\"code\">\n <div class=\"requestHeaderContainer\">\n <h1>Request</h1>\n </div>\n <ScalarCodeBlock\n class=\"codeBlock\"\n :content=\"JSON.stringify(request, null, 2)\"\n lang=\"json\" />\n </div>\n <div\n v-if=\"responseData\"\n class=\"code\">\n <div class=\"requestHeaderContainer\">\n <h1>Response</h1>\n <ResponseBodyToggle\n v-if=\"mediaConfig?.raw && mediaConfig.preview\"\n v-model=\"displayMode\"\n @toggle=\"toggleDisplay\" />\n </div>\n <ResponseBody\n :data=\"responseData.data\"\n :display=\"displayMode\"\n :mediaConfig=\"mediaConfig\"\n :responseBody=\"responseBody\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style>\n.codeBlock {\n max-height: 400px;\n box-shadow: inset 0 0 0 var(--scalar-border-width) var(--scalar-border-color);\n border-radius: 16px;\n background: var(--scalar-background-1);\n}\n.dark-mode .codeBlock {\n background: var(--scalar-background-2);\n}\n</style>\n\n<style scoped>\n.requestHeaderContainer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 5px;\n}\n\n.requestPreview {\n border-radius: 16px;\n display: flex;\n flex-direction: column;\n width: 100%;\n position: relative;\n}\n\n.requestContent {\n display: grid;\n grid-template-rows: 0fr;\n min-height: 0;\n overflow: hidden;\n transition: grid-template-rows 0.2s ease-out;\n}\n\n.requestPreview.open .requestContent {\n grid-template-rows: 1fr;\n}\n.requestPreview.open {\n padding: 6px 0;\n}\n.requestPreview.succeeded {\n padding: 0;\n}\n\n.requestContentInner {\n min-height: 0;\n overflow: hidden;\n}\n.code {\n display: flex;\n flex-direction: column;\n font-size: var(--scalar-font-size-4);\n border-radius: 16px;\n background: color-mix(\n in srgb,\n var(--scalar-background-2),\n var(--scalar-background-1)\n );\n overflow: hidden;\n margin-bottom: 12px;\n}\n.code h1 {\n font-size: var(--scalar-font-size-3);\n color: var(--scalar-color-2);\n padding: 8px;\n}\n\n.autosendContainer {\n display: flex;\n justify-content: space-between;\n}\n\n.sendButton {\n background: var(--scalar-color-blue);\n color: white;\n font-weight: var(--scalar-semibold);\n padding: 5px 10px;\n}\n.sendButton:hover,\n.sendButton:active {\n background: color-mix(in srgb, var(--scalar-color-blue), black 10%);\n color: white !important;\n}\n\n.toggleButton {\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n position: relative;\n display: flex;\n align-items: center;\n color: var(--scalar-color-3);\n justify-content: space-between;\n border-radius: var(--scalar-radius-lg);\n padding: 5px 0;\n}\n\n.toggleButton:hover {\n text-decoration: underline;\n}\n</style>\n"],"names":["_createElementBlock","_createBlock","_openBlock","_createVNode","_unref","_createElementVNode","ResponseBodyToggle","ResponseBody"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
3
+ //# sourceMappingURL=RequestRejected.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestRejected.vue.d.ts","sourceRoot":"","sources":["../../src/components/RequestRejected.vue"],"names":[],"mappings":";AAuEA,wBACG"}
@@ -0,0 +1,24 @@
1
+ import { createElementBlock, openBlock, createElementVNode, createTextVNode } from "vue";
2
+ /* empty css */
3
+ import _export_sfc from "../_virtual/_plugin-vue_export-helper.js";
4
+ const _sfc_main = {};
5
+ const _hoisted_1 = { class: "requestRejected" };
6
+ function _sfc_render(_ctx, _cache) {
7
+ return openBlock(), createElementBlock("div", _hoisted_1, [..._cache[0] || (_cache[0] = [
8
+ createElementVNode("svg", {
9
+ fill: "currentColor",
10
+ height: "16",
11
+ viewBox: "0 0 256 256",
12
+ width: "16",
13
+ xmlns: "http://www.w3.org/2000/svg"
14
+ }, [
15
+ createElementVNode("path", { d: "M56.88,31.93A12,12,0,1,0,39.12,48.07l7.81,8.59A108,108,0,0,0,31.85,177.23L21,209.66A20,20,0,0,0,46.34,235l32.43-10.81a108.08,108.08,0,0,0,112.55-8.66l7.8,8.58a12,12,0,0,0,17.76-16.14ZM128,212a83.91,83.91,0,0,1-42-11.27,12,12,0,0,0-9.82-1l-29.79,9.93,9.93-29.79a12,12,0,0,0-1-9.82,84,84,0,0,1,7.94-95.49l111.84,123A83.83,83.83,0,0,1,128,212Zm108-84a107.22,107.22,0,0,1-8.65,42.4A12,12,0,0,1,205.28,161a84.07,84.07,0,0,0-102.77-113,12,12,0,0,1-7.27-22.87A108.08,108.08,0,0,1,236,128Z" })
16
+ ], -1),
17
+ createTextVNode(" Request Rejected ", -1)
18
+ ])]);
19
+ }
20
+ const RequestRejected = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-6504d95d"]]);
21
+ export {
22
+ RequestRejected as default
23
+ };
24
+ //# sourceMappingURL=RequestRejected.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestRejected.vue.js","sources":["../../src/components/RequestRejected.vue"],"sourcesContent":["<template>\n <div class=\"requestRejected\">\n <svg\n fill=\"currentColor\"\n height=\"16\"\n viewBox=\"0 0 256 256\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M56.88,31.93A12,12,0,1,0,39.12,48.07l7.81,8.59A108,108,0,0,0,31.85,177.23L21,209.66A20,20,0,0,0,46.34,235l32.43-10.81a108.08,108.08,0,0,0,112.55-8.66l7.8,8.58a12,12,0,0,0,17.76-16.14ZM128,212a83.91,83.91,0,0,1-42-11.27,12,12,0,0,0-9.82-1l-29.79,9.93,9.93-29.79a12,12,0,0,0-1-9.82,84,84,0,0,1,7.94-95.49l111.84,123A83.83,83.83,0,0,1,128,212Zm108-84a107.22,107.22,0,0,1-8.65,42.4A12,12,0,0,1,205.28,161a84.07,84.07,0,0,0-102.77-113,12,12,0,0,1-7.27-22.87A108.08,108.08,0,0,1,236,128Z\"></path>\n </svg>\n Request Rejected\n </div>\n</template>\n\n<style scoped>\n.requestRejected {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-red);\n font-weight: var(--scalar-semibold);\n min-height: 28px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"names":["_openBlock","_createElementBlock","_createElementVNode"],"mappings":";;;;AACO,MAAA,aAAA,EAAA,OAAM,kBAAiB;;AAA5B,SAAAA,UAAA,GAAAC,mBAWM,OAXN,YAWM,CAAA,GAAA,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA;AAAA,IAVJC,mBAQM,OAAA;AAAA,MAPJ,MAAK;AAAA,MACL,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,OAAM;AAAA,MACN,OAAM;AAAA;MACNA,mBAC+e,QAAA,EAA7e,GAAE,oeAAme,CAAA;AAAA;oBACne,sBAER,EAAA;AAAA;;;"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
3
+ //# sourceMappingURL=RequestSuccess.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestSuccess.vue.d.ts","sourceRoot":"","sources":["../../src/components/RequestSuccess.vue"],"names":[],"mappings":";AAkIA,wBACG"}
@@ -0,0 +1,15 @@
1
+ import { createElementBlock, openBlock, createStaticVNode } from "vue";
2
+ /* empty css */
3
+ import _export_sfc from "../_virtual/_plugin-vue_export-helper.js";
4
+ const _sfc_main = {};
5
+ const _hoisted_1 = { class: "requestSuccess" };
6
+ function _sfc_render(_ctx, _cache) {
7
+ return openBlock(), createElementBlock("div", _hoisted_1, [..._cache[0] || (_cache[0] = [
8
+ createStaticVNode('<svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" data-v-1010a3fb><rect height="14.25" rx="7.125" width="14.25" x="0.875" y="0.875" data-v-1010a3fb></rect><rect height="14.25" rx="7.125" stroke="currentColor" stroke-width="1.75" width="14.25" x="0.875" y="0.875" data-v-1010a3fb></rect><g clip-path="url(#clip0_74_840)" data-v-1010a3fb><path d="M11.6037 6.841L7.59117 10.8535C7.49742 10.9472 7.37029 10.9998 7.23774 10.9998C7.10519 10.9998 6.97806 10.9472 6.8843 10.8535L4.64617 8.6035C4.55257 8.50975 4.5 8.38269 4.5 8.25022C4.5 8.11774 4.55257 7.99068 4.64617 7.89694L5.27117 7.27194C5.36488 7.17862 5.49174 7.12623 5.62399 7.12623C5.75623 7.12623 5.88309 7.17862 5.9768 7.27194L7.25024 8.50694L10.274 5.52037C10.3677 5.42696 10.4946 5.37451 10.627 5.37451C10.7593 5.37451 10.8862 5.42696 10.9799 5.52037L11.6034 6.131C11.6502 6.17746 11.6875 6.23274 11.7129 6.29366C11.7383 6.35458 11.7514 6.41993 11.7514 6.48593C11.7514 6.55194 11.7384 6.6173 11.713 6.67824C11.6877 6.73918 11.6505 6.7945 11.6037 6.841Z" fill="currentColor" data-v-1010a3fb></path></g><defs data-v-1010a3fb><clipPath id="clip0_74_840" data-v-1010a3fb><rect height="8" rx="4" width="8" x="4" y="4" data-v-1010a3fb></rect></clipPath></defs></svg> Request Succeeded ', 2)
9
+ ])]);
10
+ }
11
+ const RequestSuccess = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-1010a3fb"]]);
12
+ export {
13
+ RequestSuccess as default
14
+ };
15
+ //# sourceMappingURL=RequestSuccess.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestSuccess.vue.js","sources":["../../src/components/RequestSuccess.vue"],"sourcesContent":["<template>\n <div class=\"requestSuccess\">\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <rect\n height=\"14.25\"\n rx=\"7.125\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <rect\n height=\"14.25\"\n rx=\"7.125\"\n stroke=\"currentColor\"\n stroke-width=\"1.75\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <g clip-path=\"url(#clip0_74_840)\">\n <path\n d=\"M11.6037 6.841L7.59117 10.8535C7.49742 10.9472 7.37029 10.9998 7.23774 10.9998C7.10519 10.9998 6.97806 10.9472 6.8843 10.8535L4.64617 8.6035C4.55257 8.50975 4.5 8.38269 4.5 8.25022C4.5 8.11774 4.55257 7.99068 4.64617 7.89694L5.27117 7.27194C5.36488 7.17862 5.49174 7.12623 5.62399 7.12623C5.75623 7.12623 5.88309 7.17862 5.9768 7.27194L7.25024 8.50694L10.274 5.52037C10.3677 5.42696 10.4946 5.37451 10.627 5.37451C10.7593 5.37451 10.8862 5.42696 10.9799 5.52037L11.6034 6.131C11.6502 6.17746 11.6875 6.23274 11.7129 6.29366C11.7383 6.35458 11.7514 6.41993 11.7514 6.48593C11.7514 6.55194 11.7384 6.6173 11.713 6.67824C11.6877 6.73918 11.6505 6.7945 11.6037 6.841Z\"\n fill=\"currentColor\" />\n </g>\n <defs>\n <clipPath id=\"clip0_74_840\">\n <rect\n height=\"8\"\n rx=\"4\"\n width=\"8\"\n x=\"4\"\n y=\"4\" />\n </clipPath>\n </defs>\n </svg>\n Request Succeeded\n </div>\n</template>\n\n<style scoped>\n.requestSuccess {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-1);\n font-weight: var(--scalar-semibold);\n min-height: 28px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"names":["_openBlock","_createElementBlock"],"mappings":";;;;AACO,MAAA,aAAA,EAAA,OAAM,iBAAgB;;AAA3B,SAAAA,UAAA,GAAAC,mBAsCM,OAtCN,YAsCM,CAAA,GAAA,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA;AAAA;;;;"}
@@ -0,0 +1,15 @@
1
+ import type MIMEType from 'whatwg-mimetype';
2
+ import { type MediaConfig } from '../../components/ResponseBody/helpers/media-types.js';
3
+ type __VLS_Props = {
4
+ data: unknown;
5
+ responseBody: {
6
+ mimeType?: MIMEType;
7
+ attachmentFilename: string;
8
+ dataUrl: string;
9
+ };
10
+ mediaConfig?: MediaConfig;
11
+ display?: 'preview' | 'raw';
12
+ };
13
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ export default _default;
15
+ //# sourceMappingURL=ResponseBody.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBody.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ResponseBody/ResponseBody.vue"],"names":[],"mappings":"AA8CA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,+CAA+C,CAAA;AAKhF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE;QACZ,QAAQ,CAAC,EAAE,QAAQ,CAAA;QACnB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,OAAO,CAAC,EAAE,SAAS,GAAG,KAAK,CAAA;CAC5B,CAAC;;AA6EF,wBAEG"}
@@ -0,0 +1,45 @@
1
+ import { defineComponent, watch, createElementBlock, openBlock, Fragment, createBlock, createCommentVNode, withCtx, createTextVNode } from "vue";
2
+ import ResponseBodyInfo from "./ResponseBodyInfo.vue.js";
3
+ import ResponseBodyPreview from "./ResponseBodyPreview.vue.js";
4
+ import _sfc_main$1 from "./ResponseBodyRaw.vue.js";
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "ResponseBody",
7
+ props: {
8
+ data: {},
9
+ responseBody: {},
10
+ mediaConfig: {},
11
+ display: {}
12
+ },
13
+ setup(__props) {
14
+ watch(
15
+ () => __props.display,
16
+ (v) => console.log(v)
17
+ );
18
+ return (_ctx, _cache) => {
19
+ return openBlock(), createElementBlock(Fragment, null, [
20
+ __props.mediaConfig?.raw && __props.display === "raw" && __props.mediaConfig.language ? (openBlock(), createBlock(_sfc_main$1, {
21
+ key: __props.responseBody.dataUrl,
22
+ content: __props.data,
23
+ language: __props.mediaConfig.language
24
+ }, null, 8, ["content", "language"])) : createCommentVNode("", true),
25
+ __props.mediaConfig?.preview && __props.display === "preview" ? (openBlock(), createBlock(ResponseBodyPreview, {
26
+ key: __props.responseBody.dataUrl,
27
+ alpha: __props.mediaConfig.alpha,
28
+ mode: __props.mediaConfig.preview,
29
+ src: __props.responseBody.dataUrl,
30
+ type: __props.responseBody.mimeType?.essence ?? ""
31
+ }, null, 8, ["alpha", "mode", "src", "type"])) : createCommentVNode("", true),
32
+ !__props.mediaConfig?.raw && !__props.mediaConfig?.preview ? (openBlock(), createBlock(ResponseBodyInfo, { key: 2 }, {
33
+ default: withCtx(() => [..._cache[0] || (_cache[0] = [
34
+ createTextVNode(" Binary file ", -1)
35
+ ])]),
36
+ _: 1
37
+ })) : createCommentVNode("", true)
38
+ ], 64);
39
+ };
40
+ }
41
+ });
42
+ export {
43
+ _sfc_main as default
44
+ };
45
+ //# sourceMappingURL=ResponseBody.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBody.vue.js","sources":["../../../src/components/ResponseBody/ResponseBody.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { watch } from 'vue'\nimport type MIMEType from 'whatwg-mimetype'\n\nimport { type MediaConfig } from '@/components/ResponseBody/helpers/media-types'\nimport ResponseBodyInfo from '@/components/ResponseBody/ResponseBodyInfo.vue'\nimport ResponseBodyPreview from '@/components/ResponseBody/ResponseBodyPreview.vue'\nimport ResponseBodyRaw from '@/components/ResponseBody/ResponseBodyRaw.vue'\n\nconst { data, responseBody, mediaConfig, display } = defineProps<{\n data: unknown\n responseBody: {\n mimeType?: MIMEType\n attachmentFilename: string\n dataUrl: string\n }\n mediaConfig?: MediaConfig\n display?: 'preview' | 'raw'\n}>()\n\nwatch(\n () => display,\n (v) => console.log(v),\n)\n</script>\n\n<template>\n <ResponseBodyRaw\n v-if=\"mediaConfig?.raw && display === 'raw' && mediaConfig.language\"\n :key=\"responseBody.dataUrl\"\n :content=\"data\"\n :language=\"mediaConfig.language\" />\n <ResponseBodyPreview\n v-if=\"mediaConfig?.preview && display === 'preview'\"\n :key=\"responseBody.dataUrl\"\n :alpha=\"mediaConfig.alpha\"\n :mode=\"mediaConfig.preview\"\n :src=\"responseBody.dataUrl\"\n :type=\"responseBody.mimeType?.essence ?? ''\" />\n <ResponseBodyInfo v-if=\"!mediaConfig?.raw && !mediaConfig?.preview\">\n Binary file\n </ResponseBodyInfo>\n</template>\n"],"names":["_createBlock","ResponseBodyRaw"],"mappings":";;;;;;;;;;;;;AAoBA;AAAA,MACE,MAAM,QAAA;AAAA,MACN,CAAC,MAAM,QAAQ,IAAI,CAAC;AAAA,IAAA;;;QAMZ,QAAA,aAAa,OAAO,oBAAO,SAAc,QAAA,YAAY,yBAD7DA,YAIqCC,aAAA;AAAA,UAFlC,KAAK,QAAA,aAAa;AAAA,UAClB,SAAS,QAAA;AAAA,UACT,UAAU,QAAA,YAAY;AAAA,QAAA;QAEjB,QAAA,aAAa,WAAW,QAAA,YAAO,0BADvCD,YAMiD,qBAAA;AAAA,UAJ9C,KAAK,QAAA,aAAa;AAAA,UAClB,OAAO,QAAA,YAAY;AAAA,UACnB,MAAM,QAAA,YAAY;AAAA,UAClB,KAAK,QAAA,aAAa;AAAA,UAClB,MAAM,QAAA,aAAa,UAAU,WAAO;AAAA,QAAA;QACd,CAAA,QAAA,aAAa,OAAG,CAAK,QAAA,aAAa,wBAA3DA,YAEmB,kBAAA,EAAA,KAAA,KAAA;AAAA,2BAFiD,MAEpE,CAAA,GAAA,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA;AAAA,4BAFoE,iBAEpE,EAAA;AAAA,UAAA;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./ResponseBody.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
5
+ //# sourceMappingURL=ResponseBody.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBody.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,13 @@
1
+ declare var __VLS_1: {};
2
+ type __VLS_Slots = {} & {
3
+ default?: (props: typeof __VLS_1) => any;
4
+ };
5
+ declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
7
+ export default _default;
8
+ type __VLS_WithSlots<T, S> = T & {
9
+ new (): {
10
+ $slots: S;
11
+ };
12
+ };
13
+ //# sourceMappingURL=ResponseBodyInfo.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyInfo.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ResponseBody/ResponseBodyInfo.vue"],"names":[],"mappings":"AAgCA,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAe/C,QAAA,MAAM,eAAe,+QACnB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAE1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { createElementBlock, openBlock, createElementVNode, renderSlot } from "vue";
2
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
3
+ const _sfc_main = {};
4
+ const _hoisted_1 = { class: "flex justify-center px-2 py-3" };
5
+ const _hoisted_2 = { class: "text-c-3 p-2 text-sm" };
6
+ function _sfc_render(_ctx, _cache) {
7
+ return openBlock(), createElementBlock("div", _hoisted_1, [
8
+ createElementVNode("div", _hoisted_2, [
9
+ renderSlot(_ctx.$slots, "default")
10
+ ])
11
+ ]);
12
+ }
13
+ const ResponseBodyInfo = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
14
+ export {
15
+ ResponseBodyInfo as default
16
+ };
17
+ //# sourceMappingURL=ResponseBodyInfo.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyInfo.vue.js","sources":["../../../src/components/ResponseBody/ResponseBodyInfo.vue"],"sourcesContent":["<template>\n <div class=\"flex justify-center px-2 py-3\">\n <div class=\"text-c-3 p-2 text-sm\"><slot /></div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_createElementVNode","_renderSlot"],"mappings":";;;AACO,MAAA,aAAA,EAAA,OAAM,gCAA+B;AACnC,MAAA,aAAA,EAAA,OAAM,uBAAsB;;AADnC,SAAAA,UAAA,GAAAC,mBAEM,OAFN,YAEM;AAAA,IADJC,mBAAgD,OAAhD,YAAgD;AAAA,MAAdC,WAAQ,KAAA,QAAA,SAAA;AAAA;;;;"}
@@ -0,0 +1,10 @@
1
+ import { type MediaPreview } from '../../components/ResponseBody/helpers/media-types.js';
2
+ type __VLS_Props = {
3
+ src: string;
4
+ type: string;
5
+ mode: MediaPreview;
6
+ alpha?: boolean | undefined;
7
+ };
8
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ export default _default;
10
+ //# sourceMappingURL=ResponseBodyPreview.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyPreview.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ResponseBody/ResponseBodyPreview.vue"],"names":[],"mappings":"AA8EA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,+CAA+C,CAAA;AAGjF,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC5B,CAAC;;AAuJF,wBAEG"}
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./ResponseBodyPreview.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const ResponseBodyPreview = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-92f84612"]]);
5
+ export {
6
+ ResponseBodyPreview as default
7
+ };
8
+ //# sourceMappingURL=ResponseBodyPreview.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyPreview.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,73 @@
1
+ import { defineComponent, ref, watch, createElementBlock, createBlock, openBlock, normalizeClass, createElementVNode, withCtx, createTextVNode } from "vue";
2
+ import ResponseBodyInfo from "./ResponseBodyInfo.vue.js";
3
+ const _hoisted_1 = ["src"];
4
+ const _hoisted_2 = ["src", "type"];
5
+ const _hoisted_3 = ["src", "type"];
6
+ const _hoisted_4 = ["data", "type"];
7
+ const _sfc_main = /* @__PURE__ */ defineComponent({
8
+ __name: "ResponseBodyPreview",
9
+ props: {
10
+ src: {},
11
+ type: {},
12
+ mode: {},
13
+ alpha: { type: Boolean, default: false }
14
+ },
15
+ setup(__props) {
16
+ const error = ref(false);
17
+ watch(
18
+ () => __props.src,
19
+ () => {
20
+ error.value = false;
21
+ }
22
+ );
23
+ return (_ctx, _cache) => {
24
+ return !error.value && __props.src ? (openBlock(), createElementBlock("div", {
25
+ key: 0,
26
+ class: normalizeClass(["flex justify-center overflow-auto rounded-b", { "bg-preview p-2": __props.alpha }])
27
+ }, [
28
+ __props.mode === "image" ? (openBlock(), createElementBlock("img", {
29
+ key: 0,
30
+ class: normalizeClass(["h-full max-w-full", { rounded: __props.alpha }]),
31
+ src: __props.src,
32
+ onError: _cache[0] || (_cache[0] = ($event) => error.value = true)
33
+ }, null, 42, _hoisted_1)) : __props.mode === "video" ? (openBlock(), createElementBlock("video", {
34
+ key: 1,
35
+ autoplay: "",
36
+ controls: "",
37
+ width: "100%",
38
+ onError: _cache[1] || (_cache[1] = ($event) => error.value = true)
39
+ }, [
40
+ createElementVNode("source", {
41
+ src: __props.src,
42
+ type: __props.type
43
+ }, null, 8, _hoisted_2)
44
+ ], 32)) : __props.mode === "audio" ? (openBlock(), createElementBlock("audio", {
45
+ key: 2,
46
+ class: "my-12",
47
+ controls: "",
48
+ onError: _cache[2] || (_cache[2] = ($event) => error.value = true)
49
+ }, [
50
+ createElementVNode("source", {
51
+ src: __props.src,
52
+ type: __props.type
53
+ }, null, 8, _hoisted_3)
54
+ ], 32)) : (openBlock(), createElementBlock("object", {
55
+ key: 3,
56
+ class: "aspect-[4/3] w-full",
57
+ data: __props.src,
58
+ type: __props.type,
59
+ onError: _cache[3] || (_cache[3] = ($event) => error.value = true)
60
+ }, null, 40, _hoisted_4))
61
+ ], 2)) : (openBlock(), createBlock(ResponseBodyInfo, { key: 1 }, {
62
+ default: withCtx(() => [..._cache[4] || (_cache[4] = [
63
+ createTextVNode("Preview unavailable", -1)
64
+ ])]),
65
+ _: 1
66
+ }));
67
+ };
68
+ }
69
+ });
70
+ export {
71
+ _sfc_main as default
72
+ };
73
+ //# sourceMappingURL=ResponseBodyPreview.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyPreview.vue2.js","sources":["../../../src/components/ResponseBody/ResponseBodyPreview.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref, watch } from 'vue'\n\nimport { type MediaPreview } from '@/components/ResponseBody/helpers/media-types'\nimport ResponseBodyInfo from '@/components/ResponseBody/ResponseBodyInfo.vue'\n\nconst {\n src,\n type,\n mode,\n alpha = false,\n} = defineProps<{\n src: string\n type: string\n mode: MediaPreview\n alpha?: boolean | undefined\n}>()\n\nconst error = ref(false)\n\nwatch(\n () => src,\n () => {\n error.value = false\n },\n)\n</script>\n<template>\n <div\n v-if=\"!error && src\"\n class=\"flex justify-center overflow-auto rounded-b\"\n :class=\"{ 'bg-preview p-2': alpha }\">\n <img\n v-if=\"mode === 'image'\"\n class=\"h-full max-w-full\"\n :class=\"{ rounded: alpha }\"\n :src=\"src\"\n @error=\"error = true\" />\n <video\n v-else-if=\"mode === 'video'\"\n autoplay\n controls\n width=\"100%\"\n @error=\"error = true\">\n <source\n :src=\"src\"\n :type=\"type\" />\n </video>\n <audio\n v-else-if=\"mode === 'audio'\"\n class=\"my-12\"\n controls\n @error=\"error = true\">\n <source\n :src=\"src\"\n :type=\"type\" />\n </audio>\n <object\n v-else\n class=\"aspect-[4/3] w-full\"\n :data=\"src\"\n :type=\"type\"\n @error=\"error = true\" />\n </div>\n <ResponseBodyInfo v-else>Preview unavailable</ResponseBodyInfo>\n</template>\n<style scoped>\n.light-mode .bg-preview {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23000' fill-opacity='10%25'%3E%3Crect width='8' height='8' /%3E%3Crect x='8' y='8' width='8' height='8' /%3E%3C/svg%3E\");\n}\n.dark-mode .bg-preview {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23FFF' fill-opacity='10%25'%3E%3Crect width='8' height='8' /%3E%3Crect x='8' y='8' width='8' height='8' /%3E%3C/svg%3E\");\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_createBlock"],"mappings":";;;;;;;;;;;;;;;AAkBA,UAAM,QAAQ,IAAI,KAAK;AAEvB;AAAA,MACE,MAAM,QAAA;AAAA,MACN,MAAM;AACJ,cAAM,QAAQ;AAAA,MAChB;AAAA,IAAA;;AAKS,aAAA,CAAA,MAAA,SAAS,QAAA,oBADlBA,mBAmCM,OAAA;AAAA;QAjCJ,OAAKC,eAAA,CAAC,+CAA6C,EAAA,kBACvB,QAAA,OAAK,CAAA;AAAA,MAAA;QAEzB,QAAA,SAAI,wBADZD,mBAK0B,OAAA;AAAA;UAHxB,OAAKC,eAAA,CAAC,qBAAmB,EAAA,SACN,QAAA,MAAA,CAAK,CAAA;AAAA,UACvB,KAAK,QAAA;AAAA,UACL,+CAAO,MAAA,QAAK;AAAA,QAAA,4BAEF,QAAA,SAAI,wBADjBD,mBASQ,SAAA;AAAA;UAPN,UAAA;AAAA,UACA,UAAA;AAAA,UACA,OAAM;AAAA,UACL,+CAAO,MAAA,QAAK;AAAA,QAAA;UACbE,mBAEiB,UAAA;AAAA,YADd,KAAK,QAAA;AAAA,YACL,MAAM,QAAA;AAAA,UAAA;kBAGE,QAAA,SAAI,wBADjBF,mBAQQ,SAAA;AAAA;UANN,OAAM;AAAA,UACN,UAAA;AAAA,UACC,+CAAO,MAAA,QAAK;AAAA,QAAA;UACbE,mBAEiB,UAAA;AAAA,YADd,KAAK,QAAA;AAAA,YACL,MAAM,QAAA;AAAA,UAAA;gCAEXF,mBAK0B,UAAA;AAAA;UAHxB,OAAM;AAAA,UACL,MAAM,QAAA;AAAA,UACN,MAAM,QAAA;AAAA,UACN,+CAAO,MAAA,QAAK;AAAA,QAAA;6BAEjBG,YAA+D,kBAAA,EAAA,KAAA,KAAA;AAAA,yBAAtC,MAAmB,CAAA,GAAA,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA;AAAA,0BAAnB,uBAAmB,EAAA;AAAA,QAAA;;;;;;"}
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ content: any;
3
+ language: string;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
7
+ //# sourceMappingURL=ResponseBodyRaw.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyRaw.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ResponseBody/ResponseBodyRaw.vue"],"names":[],"mappings":"AAmBA,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,GAAG,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAC;;AAiDF,wBAEG"}
@@ -0,0 +1,23 @@
1
+ import { defineComponent, createBlock, openBlock, unref } from "vue";
2
+ import { ScalarCodeBlock } from "@scalar/components";
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "ResponseBodyRaw",
5
+ props: {
6
+ content: {},
7
+ language: {}
8
+ },
9
+ setup(__props) {
10
+ const props = __props;
11
+ return (_ctx, _cache) => {
12
+ return openBlock(), createBlock(unref(ScalarCodeBlock), {
13
+ class: "codeBlock",
14
+ content: props.content,
15
+ lang: __props.language
16
+ }, null, 8, ["content", "lang"]);
17
+ };
18
+ }
19
+ });
20
+ export {
21
+ _sfc_main as default
22
+ };
23
+ //# sourceMappingURL=ResponseBodyRaw.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyRaw.vue.js","sources":["../../../src/components/ResponseBody/ResponseBodyRaw.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ScalarCodeBlock } from '@scalar/components'\n\nconst props = defineProps<{\n content: any\n language: string\n}>()\n</script>\n\n<template>\n <ScalarCodeBlock\n class=\"codeBlock\"\n :content=\"props.content\"\n :lang=\"language\" />\n</template>\n"],"names":["_createBlock","_unref"],"mappings":";;;;;;;;;AAGA,UAAM,QAAQ;;0BAOZA,YAGqBC,MAAA,eAAA,GAAA;AAAA,QAFnB,OAAM;AAAA,QACL,SAAS,MAAM;AAAA,QACf,MAAM,QAAA;AAAA,MAAA;;;;"}
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./ResponseBodyRaw.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
5
+ //# sourceMappingURL=ResponseBodyRaw.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyRaw.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,10 @@
1
+ type __VLS_Props = {
2
+ modelValue?: 'preview' | 'raw';
3
+ };
4
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
5
+ toggle: (v: "raw" | "preview") => any;
6
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
7
+ onToggle?: ((v: "raw" | "preview") => any) | undefined;
8
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ export default _default;
10
+ //# sourceMappingURL=ResponseBodyToggle.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyToggle.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ResponseBody/ResponseBodyToggle.vue"],"names":[],"mappings":"AA8BA,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,SAAS,GAAG,KAAK,CAAA;CAC/B,CAAC;;;;;;AAkFF,wBAGG"}
@@ -0,0 +1,30 @@
1
+ import { defineComponent, createElementBlock, openBlock, createElementVNode, withModifiers, normalizeClass } from "vue";
2
+ const _hoisted_1 = { class: "text-c-3 text-xxs -my-1 flex justify-center gap-0.5 rounded p-0.5" };
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "ResponseBodyToggle",
5
+ props: {
6
+ modelValue: {}
7
+ },
8
+ emits: ["toggle"],
9
+ setup(__props, { emit: __emit }) {
10
+ const emit = __emit;
11
+ return (_ctx, _cache) => {
12
+ return openBlock(), createElementBlock("div", _hoisted_1, [
13
+ createElementVNode("button", {
14
+ class: normalizeClass(["hover:bg-b-3 rounded px-1", { "bg-b-3 text-c-1 cursor-default": __props.modelValue === "preview" }]),
15
+ type: "button",
16
+ onClick: _cache[0] || (_cache[0] = withModifiers(($event) => emit("toggle", "preview"), ["stop"]))
17
+ }, " Preview ", 2),
18
+ createElementVNode("button", {
19
+ class: normalizeClass(["hover:bg-b-3 rounded px-1", { "bg-b-3 text-c-1 cursor-default": __props.modelValue === "raw" }]),
20
+ type: "button",
21
+ onClick: _cache[1] || (_cache[1] = withModifiers(($event) => emit("toggle", "raw"), ["stop"]))
22
+ }, " Raw ", 2)
23
+ ]);
24
+ };
25
+ }
26
+ });
27
+ export {
28
+ _sfc_main as default
29
+ };
30
+ //# sourceMappingURL=ResponseBodyToggle.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyToggle.vue.js","sources":["../../../src/components/ResponseBody/ResponseBodyToggle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\ndefineProps<{\n modelValue?: 'preview' | 'raw'\n}>()\n\nconst emit = defineEmits<{\n (e: 'toggle', v: 'preview' | 'raw'): void\n}>()\n</script>\n<template>\n <div\n class=\"text-c-3 text-xxs -my-1 flex justify-center gap-0.5 rounded p-0.5\">\n <button\n class=\"hover:bg-b-3 rounded px-1\"\n :class=\"{ 'bg-b-3 text-c-1 cursor-default': modelValue === 'preview' }\"\n type=\"button\"\n @click.stop=\"emit('toggle', 'preview')\">\n Preview\n </button>\n <button\n class=\"hover:bg-b-3 rounded px-1\"\n :class=\"{ 'bg-b-3 text-c-1 cursor-default': modelValue === 'raw' }\"\n type=\"button\"\n @click.stop=\"emit('toggle', 'raw')\">\n Raw\n </button>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_createElementVNode","_normalizeClass"],"mappings":";;;;;;;;;AAKA,UAAM,OAAO;;AAKX,aAAAA,UAAA,GAAAC,mBAgBM,OAhBN,YAgBM;AAAA,QAdJC,mBAMS,UAAA;AAAA,UALP,OAAKC,eAAA,CAAC,6BAA2B,EAAA,kCACW,QAAA,eAAU,UAAA,CAAA,CAAA;AAAA,UACtD,MAAK;AAAA,UACJ,6DAAY,KAAI,UAAA,SAAA,GAAA,CAAA,MAAA,CAAA;AAAA,QAAA,GAAuB,aAE1C,CAAA;AAAA,QACAD,mBAMS,UAAA;AAAA,UALP,OAAKC,eAAA,CAAC,6BAA2B,EAAA,kCACW,QAAA,eAAU,MAAA,CAAA,CAAA;AAAA,UACtD,MAAK;AAAA,UACJ,6DAAY,KAAI,UAAA,KAAA,GAAA,CAAA,MAAA,CAAA;AAAA,QAAA,GAAmB,SAEtC,CAAA;AAAA,MAAA;;;;"}
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./ResponseBodyToggle.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
5
+ //# sourceMappingURL=ResponseBodyToggle.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyToggle.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,15 @@
1
+ export type MediaPreview = 'object' | 'image' | 'video' | 'audio';
2
+ export type MediaConfig = {
3
+ preview?: MediaPreview;
4
+ alpha?: boolean;
5
+ raw?: boolean;
6
+ language?: string;
7
+ extension: string;
8
+ };
9
+ /** Media Types (MIME Types) that can be displayed as raw text */
10
+ export declare const textMediaTypes: string[];
11
+ /** Get the config for a media type */
12
+ export declare function getMediaTypeConfig(type: string): MediaConfig | undefined;
13
+ /** Check if a media type that can be displayed as raw text */
14
+ export declare function isTextMediaType(type: string): boolean;
15
+ //# sourceMappingURL=media-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-types.d.ts","sourceRoot":"","sources":["../../../../src/components/ResponseBody/helpers/media-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAEjE,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAuHD,iEAAiE;AACjE,eAAO,MAAM,cAAc,EAAE,MAAM,EAEX,CAAA;AAExB,sCAAsC;AACtC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAgBxE;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD"}
@@ -0,0 +1,134 @@
1
+ const mediaTypes = {
2
+ "application/epub+zip": { extension: ".epub" },
3
+ "application/gzip": { extension: ".gz" },
4
+ "application/java-archive": { extension: ".jar" },
5
+ "application/javascript": { extension: ".js", raw: true },
6
+ "application/json": { extension: ".json", raw: true, language: "json" },
7
+ "application/ld+json": { extension: ".jsonld", raw: true, language: "json" },
8
+ "application/problem+json": {
9
+ extension: ".json",
10
+ raw: true,
11
+ language: "json"
12
+ },
13
+ "application/vnd.api+json": {
14
+ extension: ".json",
15
+ raw: true,
16
+ language: "json"
17
+ },
18
+ "application/dns-json": { extension: ".json", raw: true, language: "json" },
19
+ "application/msword": { extension: ".doc" },
20
+ "application/octet-stream": { extension: ".bin" },
21
+ "application/ogg": { extension: ".ogx" },
22
+ "application/pdf": { extension: ".pdf", preview: "object" },
23
+ "application/rtf": { extension: ".rtf", raw: true },
24
+ "application/vnd.amazon.ebook": { extension: ".azw" },
25
+ "application/vnd.apple.installer+xml": {
26
+ extension: ".mpkg",
27
+ raw: true,
28
+ language: "xml"
29
+ },
30
+ "application/vnd.mozilla.xul+xml": {
31
+ extension: ".xul",
32
+ raw: true,
33
+ language: "xml"
34
+ },
35
+ "application/vnd.ms-excel": { extension: ".xls" },
36
+ "application/vnd.ms-fontobject": { extension: ".eot" },
37
+ "application/vnd.ms-powerpoint": { extension: ".ppt" },
38
+ "application/vnd.oasis.opendocument.presentation": { extension: ".odp" },
39
+ "application/vnd.oasis.opendocument.spreadsheet": { extension: ".ods" },
40
+ "application/vnd.oasis.opendocument.text": { extension: ".odt" },
41
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation": {
42
+ extension: ".pptx"
43
+ },
44
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
45
+ extension: ".xlsx"
46
+ },
47
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
48
+ extension: ".docx"
49
+ },
50
+ "application/vnd.rar": { extension: ".rar" },
51
+ "application/vnd.visio": { extension: ".vsd" },
52
+ "application/x-7z-compressed": { extension: ".7z" },
53
+ "application/x-abiword": { extension: ".abw" },
54
+ "application/x-bzip": { extension: ".bz" },
55
+ "application/x-bzip2": { extension: ".bz2" },
56
+ "application/x-cdf": { extension: ".cda" },
57
+ "application/x-csh": { extension: ".csh" },
58
+ "application/x-freearc": { extension: ".arc" },
59
+ "application/x-httpd-php": { extension: ".php", raw: true },
60
+ "application/x-sh": { extension: ".sh", raw: true },
61
+ "application/x-tar": { extension: ".tar" },
62
+ "application/xhtml+xml": { extension: ".xhtml", raw: true, language: "html" },
63
+ "application/xml": { extension: ".xml", raw: true, language: "xml" },
64
+ "application/yaml": { extension: ".yaml", raw: true, language: "yaml" },
65
+ "application/zip": { extension: ".zip" },
66
+ "audio/aac": { extension: ".aac" },
67
+ "audio/midi": { extension: ".midi" },
68
+ "audio/mpeg": { extension: ".mp3", preview: "audio" },
69
+ "audio/ogg": { extension: ".oga" },
70
+ "audio/wav": { extension: ".wav" },
71
+ "audio/webm": { extension: ".weba" },
72
+ "font/otf": { extension: ".otf" },
73
+ "font/ttf": { extension: ".ttf" },
74
+ "font/woff": { extension: ".woff" },
75
+ "font/woff2": { extension: ".woff2" },
76
+ "image/apng": { extension: ".apng", preview: "image", alpha: true },
77
+ "image/avif": { extension: ".avif", preview: "image" },
78
+ "image/bmp": { extension: ".bmp", preview: "image" },
79
+ "image/gif": { extension: ".gif", preview: "image", alpha: true },
80
+ "image/jpeg": { extension: ".jpg", preview: "image" },
81
+ "image/png": { extension: ".png", preview: "image", alpha: true },
82
+ "image/svg+xml": {
83
+ extension: ".svg",
84
+ raw: true,
85
+ language: "xml",
86
+ preview: "image",
87
+ alpha: true
88
+ },
89
+ "image/tiff": { extension: ".tiff" },
90
+ "image/vnd.microsoft.icon": { extension: ".ico", preview: "image" },
91
+ "image/webp": { extension: ".webp", preview: "image", alpha: true },
92
+ "text/calendar": { extension: ".ics", raw: true },
93
+ "text/css": { extension: ".css", raw: true, language: "css" },
94
+ "text/csv": { extension: ".csv", raw: true },
95
+ "text/html": {
96
+ extension: ".html",
97
+ raw: true,
98
+ language: "html",
99
+ preview: "object"
100
+ },
101
+ "text/javascript": { extension: ".js", raw: true },
102
+ "text/plain": { extension: ".txt", raw: true },
103
+ "text/xml": { extension: ".xml", raw: true, language: "xml" },
104
+ "text/yaml": { extension: ".yaml", raw: true, language: "yaml" },
105
+ "video/3gpp": { extension: ".3gp" },
106
+ "audio/3gpp": { extension: ".3gp" },
107
+ "video/3gpp2": { extension: ".3g2" },
108
+ "audio/3gpp2": { extension: ".3g2" },
109
+ "video/mp2t": { extension: ".ts" },
110
+ "video/mp4": { extension: ".mp4", preview: "video" },
111
+ "video/mpeg": { extension: ".mpeg" },
112
+ "video/ogg": { extension: ".ogv" },
113
+ "video/webm": { extension: ".webm", preview: "video" },
114
+ "video/x-msvideo": { extension: ".avi" }
115
+ };
116
+ Object.entries(mediaTypes).filter(([, config]) => config?.raw).map(([type]) => type);
117
+ function getMediaTypeConfig(type) {
118
+ const config = mediaTypes[type];
119
+ if (config) {
120
+ return config;
121
+ }
122
+ if (type.endsWith("+json")) {
123
+ return {
124
+ extension: ".json",
125
+ raw: true,
126
+ language: "json"
127
+ };
128
+ }
129
+ return void 0;
130
+ }
131
+ export {
132
+ getMediaTypeConfig
133
+ };
134
+ //# sourceMappingURL=media-types.js.map