@scalar/agent-chat 0.2.1 → 0.2.3

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 (256) hide show
  1. package/dist/App.vue.d.ts +6 -1
  2. package/dist/App.vue.d.ts.map +1 -1
  3. package/dist/Chat.vue.d.ts.map +1 -1
  4. package/dist/Tooltip-Cm82QgNj.js +575 -0
  5. package/dist/__vite-optional-peer-dep_stream-markdown_markstream-vue_false-sdjmOmXd.js +5 -0
  6. package/dist/__vite-optional-peer-dep_stream-monaco_markstream-vue_false-HdL4xm5U.js +5 -0
  7. package/dist/__vite-optional-peer-dep_vue-i18n_markstream-vue_false-B9Pwe5kz.js +5 -0
  8. package/dist/_basePickBy-hHD8tMGb.js +151 -0
  9. package/dist/_baseUniq-DTF1wuF6.js +614 -0
  10. package/dist/arc-Dw2RQerU.js +83 -0
  11. package/dist/architecture-U656AL7Q-B00Z9eXr.js +36 -0
  12. package/dist/architectureDiagram-VXUJARFQ-BtOffFaM.js +4662 -0
  13. package/dist/blockDiagram-VD42YOAC-BUqFMMQe.js +2261 -0
  14. package/dist/c4Diagram-YG6GDRKO-NrM1YcpG.js +1579 -0
  15. package/dist/channel-105myCGU.js +5 -0
  16. package/dist/chunk-4BX2VUAB-TAxJli7C.js +8 -0
  17. package/dist/chunk-55IACEB6-VXFJ4bz5.js +8 -0
  18. package/dist/chunk-B4BG7PRW-CZDQpfj5.js +1375 -0
  19. package/dist/chunk-DI55MBZ5-D3l7TA-E.js +1370 -0
  20. package/dist/chunk-FMBD7UC4-BMXFm8I3.js +19 -0
  21. package/dist/chunk-QN33PNHL-BOUpbpWp.js +19 -0
  22. package/dist/chunk-QZHKN3VN-C-TEEx05.js +15 -0
  23. package/dist/chunk-TZMSLE5B-BUiROKNR.js +64 -0
  24. package/dist/classDiagram-2ON5EDUG-HQET4ybK.js +16 -0
  25. package/dist/classDiagram-v2-WZHVMYZB-HQET4ybK.js +16 -0
  26. package/dist/clone-CIIO71O9.js +8 -0
  27. package/dist/components/ApprovalSection.vue.d.ts.map +1 -1
  28. package/dist/components/PaymentSection.vue.d.ts +9 -0
  29. package/dist/components/PaymentSection.vue.d.ts.map +1 -0
  30. package/dist/components/RequestPreview.vue.d.ts.map +1 -1
  31. package/dist/components/ResponseBody/ResponseBody.vue.d.ts +1 -1
  32. package/dist/components/ResponseBody/ResponseBodyPreview.vue.d.ts +1 -1
  33. package/dist/cose-bilkent-S5V4N54A-CMsF4n-5.js +2609 -0
  34. package/dist/cytoscape.esm-DfdJODL8.js +18735 -0
  35. package/dist/dagre-6UL2VRFP-DqzdQ6Qg.js +444 -0
  36. package/dist/defaultLocale-BEa-49Qz.js +171 -0
  37. package/dist/diagram-PSM6KHXK-1xyGntw2.js +531 -0
  38. package/dist/diagram-QEK2KX5R-DdZdlAm1.js +217 -0
  39. package/dist/diagram-S2PKOQOG-C80Eo2jp.js +142 -0
  40. package/dist/erDiagram-Q2GNP2WA-DFVRrMXT.js +841 -0
  41. package/dist/flowDiagram-NV44I4VS-D9QK_qqB.js +1620 -0
  42. package/dist/ganttDiagram-LVOFAZNH-Bo1NTkeQ.js +2506 -0
  43. package/dist/gitGraph-F6HP7TQM-C5hdgcgO.js +27 -0
  44. package/dist/gitGraphDiagram-NY62KEGX-BZqnqZh6.js +699 -0
  45. package/dist/graph-Dth4IhEK.js +247 -0
  46. package/dist/helpers.d.ts +1 -1
  47. package/dist/hooks/useSearch.d.ts.map +1 -1
  48. package/dist/index-BOvT43H8.js +111780 -0
  49. package/dist/index.d.ts +1 -1
  50. package/dist/index.js +2 -3
  51. package/dist/index2-B36B-gt0.js +69 -0
  52. package/dist/index3-CtIyYUnG.js +70 -0
  53. package/dist/index4-Dzz91Ao2.js +537 -0
  54. package/dist/index5-Bmz0gMSP.js +590 -0
  55. package/dist/index6-DMB3qTSV.js +196 -0
  56. package/dist/info-NVLQJR56-azt5obk5.js +27 -0
  57. package/dist/infoDiagram-ER5ION4S-DD4Jtctm.js +24 -0
  58. package/dist/infographic_markstream-vue_false-BfsmcXxk.js +5 -0
  59. package/dist/init-DjUOC4st.js +16 -0
  60. package/dist/journeyDiagram-XKPGCS4Q-CXL6UO0r.js +834 -0
  61. package/dist/kanban-definition-3W4ZIXB7-B57do5Wg.js +719 -0
  62. package/dist/katex-SsTUIUTC.js +11688 -0
  63. package/dist/layout-7TCY8eA2.js +1332 -0
  64. package/dist/linear-DSm5i91N.js +625 -0
  65. package/dist/mermaid-parser.core-CUQWpAMM.js +12746 -0
  66. package/dist/mermaid.core-QjuzH7xx.js +14164 -0
  67. package/dist/mhchem-XHl7cef5.js +2306 -0
  68. package/dist/mindmap-definition-VGOIOE7T-DAQyGNAM.js +784 -0
  69. package/dist/ordinal-DfAQgscy.js +61 -0
  70. package/dist/package.json +2 -2
  71. package/dist/packet-BFZMPI3H-CixuxAEA.js +27 -0
  72. package/dist/pie-7BOR55EZ-D3cgnzR1.js +32 -0
  73. package/dist/pieDiagram-ADFJNKIX-BqxgYwrL.js +161 -0
  74. package/dist/quadrantDiagram-AYHSOK5B-CQ4v-9Hh.js +1022 -0
  75. package/dist/radar-NHE76QYJ-DhV0Od_M.js +27 -0
  76. package/dist/registry/add-documents-to-store.d.ts +3 -2
  77. package/dist/registry/add-documents-to-store.d.ts.map +1 -1
  78. package/dist/requirementDiagram-UZGBJVZJ-ncWNAgFi.js +850 -0
  79. package/dist/safeRaf-I3a3-dyJ.js +10 -0
  80. package/dist/sankeyDiagram-TZEHDZUN-yCR2_cH5.js +810 -0
  81. package/dist/sequenceDiagram-WL72ISMW-DZ7wqFyd.js +2511 -0
  82. package/dist/state/state.d.ts +7 -3
  83. package/dist/state/state.d.ts.map +1 -1
  84. package/dist/stateDiagram-FKZM4ZOC-Dra68Tzi.js +263 -0
  85. package/dist/stateDiagram-v2-4FDKWEC3-CARbPECD.js +16 -0
  86. package/dist/style.css +1 -12713
  87. package/dist/timeline-definition-IT6M3QCI-DEbG9QIM.js +795 -0
  88. package/dist/treemap-KMMF4GRG-CQbPsyWe.js +81 -0
  89. package/dist/views/Chat/Chat.vue.d.ts.map +1 -1
  90. package/dist/views/Chat/Messages/ExecuteRequestTool.vue.d.ts +1 -1
  91. package/dist/views/Chat/Messages/ExecuteRequestTool.vue.d.ts.map +1 -1
  92. package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue.d.ts +1 -1
  93. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.d.ts +1 -1
  94. package/dist/views/PromptForm.vue.d.ts.map +1 -1
  95. package/dist/views/Start.vue.d.ts.map +1 -1
  96. package/dist/xychartDiagram-PRI3JC2R-C94Pu8hL.js +1340 -0
  97. package/package.json +1 -1
  98. package/dist/App.vue.js +0 -29
  99. package/dist/App.vue.js.map +0 -1
  100. package/dist/App.vue2.js +0 -5
  101. package/dist/App.vue2.js.map +0 -1
  102. package/dist/Chat.vue.js +0 -55
  103. package/dist/Chat.vue.js.map +0 -1
  104. package/dist/Chat.vue2.js +0 -5
  105. package/dist/Chat.vue2.js.map +0 -1
  106. package/dist/_virtual/_plugin-vue_export-helper.js +0 -11
  107. package/dist/_virtual/_plugin-vue_export-helper.js.map +0 -1
  108. package/dist/components/ApprovalSection.vue.js +0 -8
  109. package/dist/components/ApprovalSection.vue.js.map +0 -1
  110. package/dist/components/ApprovalSection.vue2.js +0 -47
  111. package/dist/components/ApprovalSection.vue2.js.map +0 -1
  112. package/dist/components/AutosendPaused.vue.js +0 -15
  113. package/dist/components/AutosendPaused.vue.js.map +0 -1
  114. package/dist/components/ContextItem.vue.js +0 -8
  115. package/dist/components/ContextItem.vue.js.map +0 -1
  116. package/dist/components/ContextItem.vue2.js +0 -22
  117. package/dist/components/ContextItem.vue2.js.map +0 -1
  118. package/dist/components/Endpoint.vue.js +0 -8
  119. package/dist/components/Endpoint.vue.js.map +0 -1
  120. package/dist/components/Endpoint.vue2.js +0 -98
  121. package/dist/components/Endpoint.vue2.js.map +0 -1
  122. package/dist/components/ErrorMessage.vue.js +0 -8
  123. package/dist/components/ErrorMessage.vue.js.map +0 -1
  124. package/dist/components/ErrorMessage.vue2.js +0 -28
  125. package/dist/components/ErrorMessage.vue2.js.map +0 -1
  126. package/dist/components/LoadingMiniOpenAPIDoc.vue.js +0 -16
  127. package/dist/components/LoadingMiniOpenAPIDoc.vue.js.map +0 -1
  128. package/dist/components/LoadingOpenAPISpecsSummary.vue.js +0 -16
  129. package/dist/components/LoadingOpenAPISpecsSummary.vue.js.map +0 -1
  130. package/dist/components/Logo.vue.js +0 -25
  131. package/dist/components/Logo.vue.js.map +0 -1
  132. package/dist/components/RequestApproved.vue.js +0 -15
  133. package/dist/components/RequestApproved.vue.js.map +0 -1
  134. package/dist/components/RequestFailed.vue.js +0 -26
  135. package/dist/components/RequestFailed.vue.js.map +0 -1
  136. package/dist/components/RequestPreview.vue.js +0 -9
  137. package/dist/components/RequestPreview.vue.js.map +0 -1
  138. package/dist/components/RequestPreview.vue2.js +0 -150
  139. package/dist/components/RequestPreview.vue2.js.map +0 -1
  140. package/dist/components/RequestRejected.vue.js +0 -24
  141. package/dist/components/RequestRejected.vue.js.map +0 -1
  142. package/dist/components/RequestSuccess.vue.js +0 -15
  143. package/dist/components/RequestSuccess.vue.js.map +0 -1
  144. package/dist/components/ResponseBody/ResponseBody.vue.js +0 -45
  145. package/dist/components/ResponseBody/ResponseBody.vue.js.map +0 -1
  146. package/dist/components/ResponseBody/ResponseBody.vue2.js +0 -5
  147. package/dist/components/ResponseBody/ResponseBody.vue2.js.map +0 -1
  148. package/dist/components/ResponseBody/ResponseBodyInfo.vue.js +0 -17
  149. package/dist/components/ResponseBody/ResponseBodyInfo.vue.js.map +0 -1
  150. package/dist/components/ResponseBody/ResponseBodyPreview.vue.js +0 -8
  151. package/dist/components/ResponseBody/ResponseBodyPreview.vue.js.map +0 -1
  152. package/dist/components/ResponseBody/ResponseBodyPreview.vue2.js +0 -73
  153. package/dist/components/ResponseBody/ResponseBodyPreview.vue2.js.map +0 -1
  154. package/dist/components/ResponseBody/ResponseBodyRaw.vue.js +0 -23
  155. package/dist/components/ResponseBody/ResponseBodyRaw.vue.js.map +0 -1
  156. package/dist/components/ResponseBody/ResponseBodyRaw.vue2.js +0 -5
  157. package/dist/components/ResponseBody/ResponseBodyRaw.vue2.js.map +0 -1
  158. package/dist/components/ResponseBody/ResponseBodyToggle.vue.js +0 -30
  159. package/dist/components/ResponseBody/ResponseBodyToggle.vue.js.map +0 -1
  160. package/dist/components/ResponseBody/ResponseBodyToggle.vue2.js +0 -5
  161. package/dist/components/ResponseBody/ResponseBodyToggle.vue2.js.map +0 -1
  162. package/dist/components/ResponseBody/helpers/media-types.js +0 -134
  163. package/dist/components/ResponseBody/helpers/media-types.js.map +0 -1
  164. package/dist/components/ResponseBody/helpers/process-response-body.js +0 -63
  165. package/dist/components/ResponseBody/helpers/process-response-body.js.map +0 -1
  166. package/dist/components/SearchPopover.vue.js +0 -8
  167. package/dist/components/SearchPopover.vue.js.map +0 -1
  168. package/dist/components/SearchPopover.vue2.js +0 -78
  169. package/dist/components/SearchPopover.vue2.js.map +0 -1
  170. package/dist/components/SendingRequest.vue.js +0 -26
  171. package/dist/components/SendingRequest.vue.js.map +0 -1
  172. package/dist/components/Suggestion.vue.js +0 -8
  173. package/dist/components/Suggestion.vue.js.map +0 -1
  174. package/dist/components/Suggestion.vue2.js +0 -28
  175. package/dist/components/Suggestion.vue2.js.map +0 -1
  176. package/dist/components/TestRequestButton.vue.js +0 -8
  177. package/dist/components/TestRequestButton.vue.js.map +0 -1
  178. package/dist/components/TestRequestButton.vue2.js +0 -37
  179. package/dist/components/TestRequestButton.vue2.js.map +0 -1
  180. package/dist/helpers.js +0 -201
  181. package/dist/helpers.js.map +0 -1
  182. package/dist/hooks/useChatApprovals.js +0 -25
  183. package/dist/hooks/useChatApprovals.js.map +0 -1
  184. package/dist/hooks/useChatOperationBlocks.js +0 -29
  185. package/dist/hooks/useChatOperationBlocks.js.map +0 -1
  186. package/dist/hooks/useChatScroll.js +0 -22
  187. package/dist/hooks/useChatScroll.js.map +0 -1
  188. package/dist/hooks/useSearch.js +0 -36
  189. package/dist/hooks/useSearch.js.map +0 -1
  190. package/dist/index.js.map +0 -1
  191. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/api.js +0 -12
  192. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/api.js.map +0 -1
  193. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/core.js +0 -67
  194. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/core.js.map +0 -1
  195. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/errors.js +0 -25
  196. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/errors.js.map +0 -1
  197. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/parse.js +0 -64
  198. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/parse.js.map +0 -1
  199. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/regexes.js +0 -8
  200. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/regexes.js.map +0 -1
  201. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/schemas.js +0 -181
  202. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/schemas.js.map +0 -1
  203. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/util.js +0 -85
  204. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/util.js.map +0 -1
  205. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/versions.js +0 -9
  206. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/versions.js.map +0 -1
  207. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/mini/schemas.js +0 -61
  208. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/mini/schemas.js.map +0 -1
  209. package/dist/registry/add-documents-to-store.js +0 -42
  210. package/dist/registry/add-documents-to-store.js.map +0 -1
  211. package/dist/state/state.js +0 -112
  212. package/dist/state/state.js.map +0 -1
  213. package/dist/views/Chat/Chat.vue.js +0 -8
  214. package/dist/views/Chat/Chat.vue.js.map +0 -1
  215. package/dist/views/Chat/Chat.vue2.js +0 -84
  216. package/dist/views/Chat/Chat.vue2.js.map +0 -1
  217. package/dist/views/Chat/Messages/ExecuteRequestTool.vue.js +0 -8
  218. package/dist/views/Chat/Messages/ExecuteRequestTool.vue.js.map +0 -1
  219. package/dist/views/Chat/Messages/ExecuteRequestTool.vue2.js +0 -39
  220. package/dist/views/Chat/Messages/ExecuteRequestTool.vue2.js.map +0 -1
  221. package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue.js +0 -8
  222. package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue.js.map +0 -1
  223. package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue2.js +0 -65
  224. package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue2.js.map +0 -1
  225. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.js +0 -32
  226. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.js.map +0 -1
  227. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue2.js +0 -5
  228. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue2.js.map +0 -1
  229. package/dist/views/Chat/Messages/Text.vue.js +0 -21
  230. package/dist/views/Chat/Messages/Text.vue.js.map +0 -1
  231. package/dist/views/Chat/Messages/Text.vue2.js +0 -5
  232. package/dist/views/Chat/Messages/Text.vue2.js.map +0 -1
  233. package/dist/views/Layout.vue.js +0 -8
  234. package/dist/views/Layout.vue.js.map +0 -1
  235. package/dist/views/Layout.vue2.js +0 -28
  236. package/dist/views/Layout.vue2.js.map +0 -1
  237. package/dist/views/PromptForm.vue.js +0 -8
  238. package/dist/views/PromptForm.vue.js.map +0 -1
  239. package/dist/views/PromptForm.vue2.js +0 -182
  240. package/dist/views/PromptForm.vue2.js.map +0 -1
  241. package/dist/views/Settings/Auth.vue.js +0 -66
  242. package/dist/views/Settings/Auth.vue.js.map +0 -1
  243. package/dist/views/Settings/Auth.vue2.js +0 -5
  244. package/dist/views/Settings/Auth.vue2.js.map +0 -1
  245. package/dist/views/Settings/DocSettings.vue.js +0 -8
  246. package/dist/views/Settings/DocSettings.vue.js.map +0 -1
  247. package/dist/views/Settings/DocSettings.vue2.js +0 -50
  248. package/dist/views/Settings/DocSettings.vue2.js.map +0 -1
  249. package/dist/views/Settings/Settings.vue.js +0 -9
  250. package/dist/views/Settings/Settings.vue.js.map +0 -1
  251. package/dist/views/Settings/Settings.vue2.js +0 -78
  252. package/dist/views/Settings/Settings.vue2.js.map +0 -1
  253. package/dist/views/Start.vue.js +0 -8
  254. package/dist/views/Start.vue.js.map +0 -1
  255. package/dist/views/Start.vue2.js +0 -56
  256. package/dist/views/Start.vue2.js.map +0 -1
@@ -1,65 +0,0 @@
1
- import { defineComponent, ref, watch, computed, createElementBlock, openBlock, Fragment, createCommentVNode, unref, createVNode, renderList, createBlock, withCtx, createTextVNode, toDisplayString } from "vue";
2
- import ContextItem from "../../../components/ContextItem.vue.js";
3
- import LoadingMiniOpenAPIDoc from "../../../components/LoadingMiniOpenAPIDoc.vue.js";
4
- import { getOperations } from "../../../helpers.js";
5
- import { useState } from "../../../state/state.js";
6
- const _hoisted_1 = { key: 0 };
7
- const _hoisted_2 = {
8
- key: 1,
9
- class: "operations"
10
- };
11
- const _sfc_main = /* @__PURE__ */ defineComponent({
12
- __name: "GetMiniOpenAPIDocTool",
13
- props: {
14
- messagePart: {},
15
- message: {}
16
- },
17
- setup(__props) {
18
- const messageFinished = ref(false);
19
- watch(
20
- () => __props.message,
21
- () => {
22
- const parts = __props.message.parts;
23
- const index = parts.findIndex(
24
- (part) => "toolCallId" in part && part.toolCallId === __props.messagePart.value.toolCallId
25
- );
26
- messageFinished.value = Boolean(parts[index + 1]);
27
- }
28
- );
29
- const operations = computed(() => {
30
- if (!__props.messagePart.value.output?.structuredContent) return;
31
- const title = __props.messagePart.value.output?.structuredContent?.info?.title;
32
- const documentOperations = getOperations(
33
- __props.messagePart.value.output?.structuredContent
34
- );
35
- return documentOperations.map(
36
- (operation) => `${title ? `${title} - ` : ""}${operation.summary ?? ""}`
37
- ).filter(Boolean);
38
- });
39
- const state = useState();
40
- return (_ctx, _cache) => {
41
- return openBlock(), createElementBlock(Fragment, null, [
42
- __props.messagePart.value.state === "input-available" && unref(state).chat.status === "streaming" ? (openBlock(), createElementBlock("div", _hoisted_1, [
43
- createVNode(LoadingMiniOpenAPIDoc)
44
- ])) : createCommentVNode("", true),
45
- operations.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
46
- (openBlock(true), createElementBlock(Fragment, null, renderList(operations.value, (operation) => {
47
- return openBlock(), createBlock(ContextItem, {
48
- key: operation,
49
- loading: !messageFinished.value
50
- }, {
51
- default: withCtx(() => [
52
- createTextVNode(toDisplayString(operation), 1)
53
- ]),
54
- _: 2
55
- }, 1032, ["loading"]);
56
- }), 128))
57
- ])) : createCommentVNode("", true)
58
- ], 64);
59
- };
60
- }
61
- });
62
- export {
63
- _sfc_main as default
64
- };
65
- //# sourceMappingURL=GetMiniOpenAPIDocTool.vue2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GetMiniOpenAPIDocTool.vue2.js","sources":["../../../../src/views/Chat/Messages/GetMiniOpenAPIDocTool.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { type ToolUIPart, type UIMessage } from 'ai'\nimport { computed, type Reactive, type Ref, ref, watch } from 'vue'\n\nimport { type GET_MINI_OPENAPI_SPEC_TOOL_NAME } from '@scalar-org/entities/agent/tools'\n\nimport ContextItem from '@/components/ContextItem.vue'\nimport LoadingMiniOpenAPIDoc from '@/components/LoadingMiniOpenAPIDoc.vue'\nimport { getOperations } from '@/helpers'\nimport { type Tools, useState } from '@/state/state'\n\nconst { messagePart, message } = defineProps<{\n messagePart: Ref<\n ToolUIPart<Pick<Tools, typeof GET_MINI_OPENAPI_SPEC_TOOL_NAME>>\n >\n message: Reactive<UIMessage>\n}>()\n\nconst messageFinished = ref(false)\n\nwatch(\n () => message,\n () => {\n const parts = message.parts\n\n const index = parts.findIndex(\n (part) =>\n 'toolCallId' in part &&\n part.toolCallId === messagePart.value.toolCallId,\n )\n\n messageFinished.value = Boolean(parts[index + 1])\n },\n)\n\nconst operations = computed(() => {\n if (!messagePart.value.output?.structuredContent) return\n\n const title = messagePart.value.output?.structuredContent?.info?.title\n\n const documentOperations = getOperations(\n messagePart.value.output?.structuredContent,\n )\n\n return documentOperations\n .map(\n (operation) => `${title ? `${title} - ` : ''}${operation.summary ?? ''}`,\n )\n .filter(Boolean)\n})\n\nconst state = useState()\n</script>\n\n<template>\n <div\n v-if=\"\n messagePart.value.state === 'input-available' &&\n state.chat.status === 'streaming'\n \">\n <LoadingMiniOpenAPIDoc />\n </div>\n <div\n v-if=\"operations\"\n class=\"operations\">\n <ContextItem\n v-for=\"operation of operations\"\n :key=\"operation\"\n :loading=\"!messageFinished\"\n >{{ operation }}</ContextItem\n >\n </div>\n</template>\n\n<style scoped>\n.operations {\n display: flex;\n gap: 5px;\n align-items: center;\n margin-bottom: 10px;\n}\n.operations:empty {\n margin-bottom: -12px;\n}\n</style>\n"],"names":["_unref","_createElementBlock","_createVNode","_openBlock","_Fragment","_renderList","_createBlock"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,UAAM,kBAAkB,IAAI,KAAK;AAEjC;AAAA,MACE,MAAM,QAAA;AAAA,MACN,MAAM;AACJ,cAAM,QAAQ,gBAAQ;AAEtB,cAAM,QAAQ,MAAM;AAAA,UAClB,CAAC,SACC,gBAAgB,QAChB,KAAK,eAAe,QAAA,YAAY,MAAM;AAAA,QAAA;AAG1C,wBAAgB,QAAQ,QAAQ,MAAM,QAAQ,CAAC,CAAC;AAAA,MAClD;AAAA,IAAA;AAGF,UAAM,aAAa,SAAS,MAAM;AAChC,UAAI,CAAC,QAAA,YAAY,MAAM,QAAQ,kBAAmB;AAElD,YAAM,QAAQ,QAAA,YAAY,MAAM,QAAQ,mBAAmB,MAAM;AAEjE,YAAM,qBAAqB;AAAA,QACzB,QAAA,YAAY,MAAM,QAAQ;AAAA,MAAA;AAG5B,aAAO,mBACJ;AAAA,QACC,CAAC,cAAc,GAAG,QAAQ,GAAG,KAAK,QAAQ,EAAE,GAAG,UAAU,WAAW,EAAE;AAAA,MAAA,EAEvE,OAAO,OAAO;AAAA,IACnB,CAAC;AAED,UAAM,QAAQ,SAAA;;;QAKG,QAAA,YAAY,MAAM,UAAK,qBAAgCA,MAAA,KAAA,EAAM,KAAK,WAAM,4BADvFC,mBAMM,OAAA,YAAA;AAAA,UADJC,YAAyB,qBAAA;AAAA,QAAA;QAGnB,WAAA,SADRC,UAAA,GAAAF,mBASM,OATN,YASM;AAAA,4BANJA,mBAKCG,UAAA,MAAAC,WAJqB,WAAA,OAAU,CAAvB,cAAS;gCADlBC,YAKC,aAAA;AAAA,cAHE,KAAK;AAAA,cACL,UAAU,gBAAA;AAAA,YAAA;+BACV,MAAe;AAAA,gDAAZ,SAAS,GAAA,CAAA;AAAA,cAAA;;;;;;;;;"}
@@ -1,32 +0,0 @@
1
- import { defineComponent, ref, watch, createElementBlock, createCommentVNode, openBlock, createVNode } from "vue";
2
- import LoadingOpenAPISpecsSummary from "../../../components/LoadingOpenAPISpecsSummary.vue.js";
3
- const _hoisted_1 = { key: 0 };
4
- const _sfc_main = /* @__PURE__ */ defineComponent({
5
- __name: "GetOpenAPISpecsSummary",
6
- props: {
7
- messagePart: {},
8
- message: {}
9
- },
10
- setup(__props) {
11
- const messageFinished = ref(false);
12
- watch(
13
- () => __props.message,
14
- () => {
15
- const parts = __props.message.parts;
16
- const index = parts.findIndex(
17
- (part) => "toolCallId" in part && part.toolCallId === __props.messagePart.value.toolCallId
18
- );
19
- messageFinished.value = Boolean(parts[index + 1]);
20
- }
21
- );
22
- return (_ctx, _cache) => {
23
- return !messageFinished.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
24
- createVNode(LoadingOpenAPISpecsSummary)
25
- ])) : createCommentVNode("", true);
26
- };
27
- }
28
- });
29
- export {
30
- _sfc_main as default
31
- };
32
- //# sourceMappingURL=GetOpenAPISpecsSummary.vue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GetOpenAPISpecsSummary.vue.js","sources":["../../../../src/views/Chat/Messages/GetOpenAPISpecsSummary.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ToolUIPart, UIMessage } from 'ai'\nimport { type Reactive, type Ref, ref, watch } from 'vue'\n\nimport { type GET_OPENAPI_SPECS_SUMMARY_TOOL_NAME } from '@scalar-org/entities/agent/tools'\n\nimport LoadingOpenAPISpecsSummary from '@/components/LoadingOpenAPISpecsSummary.vue'\nimport { type Tools } from '@/state/state'\n\nconst { messagePart, message } = defineProps<{\n messagePart: Ref<\n ToolUIPart<Pick<Tools, typeof GET_OPENAPI_SPECS_SUMMARY_TOOL_NAME>>\n >\n message: Reactive<UIMessage>\n}>()\n\nconst messageFinished = ref(false)\n\nwatch(\n () => message,\n () => {\n const parts = message.parts\n\n const index = parts.findIndex(\n (part) =>\n 'toolCallId' in part &&\n part.toolCallId === messagePart.value.toolCallId,\n )\n\n messageFinished.value = Boolean(parts[index + 1])\n },\n)\n</script>\n\n<template>\n <div v-if=\"!messageFinished\">\n <LoadingOpenAPISpecsSummary />\n </div>\n</template>\n\n<style scoped></style>\n"],"names":["_createElementBlock","_createVNode"],"mappings":";;;;;;;;;;AAgBA,UAAM,kBAAkB,IAAI,KAAK;AAEjC;AAAA,MACE,MAAM,QAAA;AAAA,MACN,MAAM;AACJ,cAAM,QAAQ,gBAAQ;AAEtB,cAAM,QAAQ,MAAM;AAAA,UAClB,CAAC,SACC,gBAAgB,QAChB,KAAK,eAAe,QAAA,YAAY,MAAM;AAAA,QAAA;AAG1C,wBAAgB,QAAQ,QAAQ,MAAM,QAAQ,CAAC,CAAC;AAAA,MAClD;AAAA,IAAA;;cAKY,gBAAA,sBAAZA,mBAEM,OAAA,YAAA;AAAA,QADJC,YAA8B,0BAAA;AAAA,MAAA;;;;"}
@@ -1,5 +0,0 @@
1
- import _sfc_main from "./GetOpenAPISpecsSummary.vue.js";
2
- export {
3
- _sfc_main as default
4
- };
5
- //# sourceMappingURL=GetOpenAPISpecsSummary.vue2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GetOpenAPISpecsSummary.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,21 +0,0 @@
1
- import { defineComponent, createBlock, openBlock, unref } from "vue";
2
- import { MarkdownRender } from "markstream-vue";
3
- const _sfc_main = /* @__PURE__ */ defineComponent({
4
- __name: "Text",
5
- props: {
6
- messagePart: {}
7
- },
8
- setup(__props) {
9
- return (_ctx, _cache) => {
10
- return openBlock(), createBlock(unref(MarkdownRender), {
11
- class: "markdown",
12
- content: __props.messagePart.value.text,
13
- customHtmlTags: ["operation"]
14
- }, null, 8, ["content"]);
15
- };
16
- }
17
- });
18
- export {
19
- _sfc_main as default
20
- };
21
- //# sourceMappingURL=Text.vue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Text.vue.js","sources":["../../../../src/views/Chat/Messages/Text.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { type TextUIPart } from 'ai'\nimport { MarkdownRender } from 'markstream-vue'\nimport { type Ref } from 'vue'\n\nconst { messagePart } = defineProps<{\n messagePart: Ref<TextUIPart>\n}>()\n</script>\n\n<template>\n <MarkdownRender\n class=\"markdown\"\n :content=\"messagePart.value.text\"\n :customHtmlTags=\"['operation']\" />\n</template>\n"],"names":["_createBlock","_unref"],"mappings":";;;;;;;;;0BAWEA,YAGoCC,MAAA,cAAA,GAAA;AAAA,QAFlC,OAAM;AAAA,QACL,SAAS,QAAA,YAAY,MAAM;AAAA,QAC3B,gBAAgB,CAAA,WAAA;AAAA,MAAA;;;;"}
@@ -1,5 +0,0 @@
1
- import _sfc_main from "./Text.vue.js";
2
- export {
3
- _sfc_main as default
4
- };
5
- //# sourceMappingURL=Text.vue2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Text.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,8 +0,0 @@
1
- import _sfc_main from "./Layout.vue2.js";
2
- /* empty css */
3
- import _export_sfc from "../_virtual/_plugin-vue_export-helper.js";
4
- const Layout = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-df02b46b"]]);
5
- export {
6
- Layout as default
7
- };
8
- //# sourceMappingURL=Layout.vue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Layout.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,28 +0,0 @@
1
- import { defineComponent, createElementBlock, openBlock, createBlock, unref } from "vue";
2
- import { useState } from "../state/state.js";
3
- import Chat from "./Chat/Chat.vue.js";
4
- import Start from "./Start.vue.js";
5
- const _hoisted_1 = { class: "wrapper" };
6
- const _sfc_main = /* @__PURE__ */ defineComponent({
7
- __name: "Layout",
8
- emits: ["submit"],
9
- setup(__props, { emit: __emit }) {
10
- const emit = __emit;
11
- const { chat } = useState();
12
- return (_ctx, _cache) => {
13
- return openBlock(), createElementBlock("div", _hoisted_1, [
14
- unref(chat).messages.length && (unref(chat).messages.length > 1 || unref(chat).status !== "submitted") ? (openBlock(), createBlock(Chat, {
15
- key: 0,
16
- onSubmit: _cache[0] || (_cache[0] = ($event) => emit("submit"))
17
- })) : (openBlock(), createBlock(Start, {
18
- key: 1,
19
- onSubmit: _cache[1] || (_cache[1] = ($event) => emit("submit"))
20
- }))
21
- ]);
22
- };
23
- }
24
- });
25
- export {
26
- _sfc_main as default
27
- };
28
- //# sourceMappingURL=Layout.vue2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Layout.vue2.js","sources":["../../src/views/Layout.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useState } from '@/state/state'\nimport Chat from '@/views/Chat/Chat.vue'\nimport Start from '@/views/Start.vue'\n\nconst emit = defineEmits<{\n (e: 'submit'): void\n}>()\n\nconst { chat } = useState()\n</script>\n\n<template>\n <div class=\"wrapper\">\n <Chat\n v-if=\"\n chat.messages.length &&\n (chat.messages.length > 1 || chat.status !== 'submitted')\n \"\n @submit=\"emit('submit')\" />\n <Start\n v-else\n @submit=\"emit('submit')\" />\n </div>\n</template>\n\n<style scoped>\n.wrapper {\n display: flex;\n flex-direction: column;\n align-items: center;\n height: 100%;\n width: 100%;\n}\n</style>\n"],"names":["_openBlock","_createElementBlock","_unref","_createBlock"],"mappings":";;;;;;;;;AAKA,UAAM,OAAO;AAIb,UAAM,EAAE,KAAA,IAAS,SAAA;;AAIf,aAAAA,UAAA,GAAAC,mBAUM,OAVN,YAUM;AAAA,QARaC,MAAA,IAAA,EAAK,SAAS,WAAmBA,MAAA,IAAA,EAAK,SAAS,SAAM,KAAQA,MAAA,IAAA,EAAK,WAAM,6BADzFC,YAK6B,MAAA;AAAA;UAA1B,gDAAQ,KAAI,QAAA;AAAA,QAAA,oBACfA,YAE6B,OAAA;AAAA;UAA1B,gDAAQ,KAAI,QAAA;AAAA,QAAA;;;;;"}
@@ -1,8 +0,0 @@
1
- import _sfc_main from "./PromptForm.vue2.js";
2
- /* empty css */
3
- import _export_sfc from "../_virtual/_plugin-vue_export-helper.js";
4
- const PromptForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b0457a1a"]]);
5
- export {
6
- PromptForm as default
7
- };
8
- //# sourceMappingURL=PromptForm.vue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PromptForm.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,182 +0,0 @@
1
- import { defineComponent, useTemplateRef, computed, watch, createElementBlock, openBlock, Fragment, createBlock, createCommentVNode, createElementVNode, unref, withModifiers, withDirectives, vModelText, createVNode, withCtx, renderList, createTextVNode, toDisplayString } from "vue";
2
- import { ScalarIconButton, ScalarLoading } from "@scalar/components";
3
- import { ScalarIconPlus, ScalarIconX, ScalarIconLockSimple, ScalarIconArrowUp } from "@scalar/icons";
4
- import { MAX_PROMPT_SIZE } from "@scalar-org/entities/agent";
5
- import ApprovalSection from "../components/ApprovalSection.vue.js";
6
- import ErrorMessageMessage from "../components/ErrorMessage.vue.js";
7
- import SearchPopover from "../components/SearchPopover.vue.js";
8
- import { useChatApprovals } from "../hooks/useChatApprovals.js";
9
- import { useState } from "../state/state.js";
10
- const _hoisted_1 = { class: "actionContainer" };
11
- const _hoisted_2 = ["disabled"];
12
- const _hoisted_3 = { class: "inputActionsContainer" };
13
- const _hoisted_4 = { class: "inputActionsLeft" };
14
- const _hoisted_5 = {
15
- class: "addAPIButton",
16
- type: "button"
17
- };
18
- const _hoisted_6 = ["src"];
19
- const _hoisted_7 = ["onClick"];
20
- const _hoisted_8 = { class: "inputActionsRight" };
21
- const _sfc_main = /* @__PURE__ */ defineComponent({
22
- __name: "PromptForm",
23
- emits: ["submit"],
24
- setup(__props, { expose: __expose, emit: __emit }) {
25
- const emit = __emit;
26
- __expose({ focusPrompt });
27
- const promptRef = useTemplateRef("prompt");
28
- const state = useState();
29
- const inputHasContent = computed(() => state.prompt.value.trim().length > 0);
30
- const promptTooLarge = computed(
31
- () => state.prompt.value.trim().length > MAX_PROMPT_SIZE
32
- );
33
- watch(state.prompt, () => {
34
- if (!promptRef?.value) return;
35
- if (!state.prompt.value.length) {
36
- promptRef.value.style.height = "0px";
37
- return;
38
- }
39
- promptRef.value.style.height = "auto";
40
- promptRef.value.style.height = promptRef.value.scrollHeight + "px";
41
- });
42
- function handleSubmit() {
43
- if (!inputHasContent.value) return;
44
- emit("submit");
45
- }
46
- function handlePromptKeydown(e) {
47
- if (state.loading.value) return;
48
- if (e.key === "Enter" && !e.shiftKey) {
49
- e.preventDefault();
50
- handleSubmit();
51
- window.scrollTo(0, document.body.scrollHeight);
52
- }
53
- }
54
- function focusPrompt() {
55
- promptRef.value?.focus();
56
- }
57
- watch(
58
- () => state.chat.status,
59
- (status) => {
60
- if (status === "ready" || status === "error") promptRef.value?.focus();
61
- }
62
- );
63
- const { respondToToolCalls, approvalRequestedParts } = useChatApprovals();
64
- return (_ctx, _cache) => {
65
- return openBlock(), createElementBlock(Fragment, null, [
66
- unref(state).chat.error ? (openBlock(), createBlock(ErrorMessageMessage, {
67
- key: 0,
68
- error: unref(state).chat.error
69
- }, null, 8, ["error"])) : createCommentVNode("", true),
70
- unref(approvalRequestedParts).length ? (openBlock(), createBlock(ApprovalSection, {
71
- key: 1,
72
- onApprove: _cache[0] || (_cache[0] = ($event) => unref(respondToToolCalls)(true)),
73
- onReject: _cache[1] || (_cache[1] = ($event) => unref(respondToToolCalls)(false))
74
- })) : createCommentVNode("", true),
75
- createElementVNode("div", _hoisted_1, [
76
- createElementVNode("form", {
77
- class: "promptForm",
78
- onSubmit: withModifiers(handleSubmit, ["prevent"])
79
- }, [
80
- _cache[4] || (_cache[4] = createElementVNode("label", {
81
- class: "agentLabel",
82
- for: "agentTextarea"
83
- }, " Type a Request To get Started ", -1)),
84
- withDirectives(createElementVNode("textarea", {
85
- id: "agentTextarea",
86
- ref: "prompt",
87
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(state).prompt.value = $event),
88
- class: "prompt custom-scroll",
89
- disabled: unref(state).loading.value,
90
- name: "prompt",
91
- placeholder: "Ask me anything...",
92
- onKeydown: handlePromptKeydown
93
- }, null, 40, _hoisted_2), [
94
- [vModelText, unref(state).prompt.value]
95
- ]),
96
- createElementVNode("div", _hoisted_3, [
97
- createElementVNode("div", _hoisted_4, [
98
- createVNode(SearchPopover, null, {
99
- default: withCtx(() => [
100
- createElementVNode("button", _hoisted_5, [
101
- createVNode(unref(ScalarIconPlus), {
102
- class: "size-4",
103
- weight: "bold"
104
- })
105
- ])
106
- ]),
107
- _: 1
108
- }),
109
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(state).registryDocuments.value, (document2) => {
110
- return openBlock(), createElementBlock("div", {
111
- key: document2.id,
112
- class: "apiPill"
113
- }, [
114
- document2.logoUrl ? (openBlock(), createElementBlock("img", {
115
- key: 0,
116
- class: "apiPillLogo",
117
- src: document2.logoUrl
118
- }, null, 8, _hoisted_6)) : createCommentVNode("", true),
119
- createTextVNode(" " + toDisplayString(document2.title) + " ", 1),
120
- createElementVNode("button", {
121
- class: "apiPillRemove",
122
- type: "button",
123
- onClick: ($event) => unref(state).removeDocument(document2)
124
- }, [
125
- createVNode(unref(ScalarIconX), {
126
- class: "size-4",
127
- weight: "bold"
128
- })
129
- ], 8, _hoisted_7)
130
- ]);
131
- }), 128))
132
- ]),
133
- createElementVNode("div", _hoisted_8, [
134
- !unref(state).loading.value ? (openBlock(), createBlock(unref(ScalarIconButton), {
135
- key: 0,
136
- class: "settingsButton h-7 w-7 p-1.5",
137
- icon: unref(ScalarIconLockSimple),
138
- label: "Scalar",
139
- size: "md",
140
- weight: "bold",
141
- onClick: _cache[3] || (_cache[3] = ($event) => unref(state).settingsModal.show())
142
- }, null, 8, ["icon"])) : createCommentVNode("", true),
143
- !unref(state).loading.value ? (openBlock(), createBlock(unref(ScalarIconButton), {
144
- key: 1,
145
- class: "sendButton h-7 w-7 p-1.5",
146
- disabled: !inputHasContent.value || promptTooLarge.value,
147
- icon: unref(ScalarIconArrowUp),
148
- label: "Scalar",
149
- size: "md",
150
- type: "submit",
151
- weight: "bold"
152
- }, null, 8, ["disabled", "icon"])) : (openBlock(), createBlock(unref(ScalarLoading), {
153
- key: 2,
154
- class: "loader h-7 w-7",
155
- loader: {
156
- isLoading: unref(state).loading.value,
157
- isValid: false,
158
- clear: async () => {
159
- },
160
- invalidate: async () => {
161
- },
162
- isInvalid: false,
163
- isActive: false,
164
- validate: async () => {
165
- },
166
- start: () => {
167
- }
168
- },
169
- size: "2xl"
170
- }, null, 8, ["loader"]))
171
- ])
172
- ])
173
- ], 32)
174
- ])
175
- ], 64);
176
- };
177
- }
178
- });
179
- export {
180
- _sfc_main as default
181
- };
182
- //# sourceMappingURL=PromptForm.vue2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PromptForm.vue2.js","sources":["../../src/views/PromptForm.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, useTemplateRef, watch } from 'vue'\n\nimport { ScalarIconButton, ScalarLoading } from '@scalar/components'\nimport {\n ScalarIconArrowUp,\n ScalarIconLockSimple,\n ScalarIconPlus,\n ScalarIconX,\n} from '@scalar/icons'\nimport { MAX_PROMPT_SIZE } from '@scalar-org/entities/agent'\n\nimport ApprovalSection from '@/components/ApprovalSection.vue'\nimport ErrorMessageMessage from '@/components/ErrorMessage.vue'\nimport SearchPopover from '@/components/SearchPopover.vue'\nimport { useChatApprovals } from '@/hooks/useChatApprovals'\nimport { useState } from '@/state/state'\n\nconst emit = defineEmits<{\n (e: 'submit'): void\n}>()\n\ndefineExpose({ focusPrompt })\n\nconst promptRef = useTemplateRef<HTMLTextAreaElement>('prompt')\n\nconst state = useState()\n\nconst inputHasContent = computed(() => state.prompt.value.trim().length > 0)\nconst promptTooLarge = computed(\n () => state.prompt.value.trim().length > MAX_PROMPT_SIZE,\n)\n\nwatch(state.prompt, () => {\n if (!promptRef?.value) return\n\n if (!state.prompt.value.length) {\n promptRef.value.style.height = '0px'\n return\n }\n\n promptRef.value.style.height = 'auto'\n promptRef.value.style.height = promptRef.value.scrollHeight + 'px'\n})\n\nfunction handleSubmit() {\n if (!inputHasContent.value) return\n\n emit('submit')\n}\n\nfunction handlePromptKeydown(e: KeyboardEvent) {\n if (state.loading.value) return\n\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault()\n handleSubmit()\n window.scrollTo(0, document.body.scrollHeight)\n }\n}\n\nfunction focusPrompt() {\n promptRef.value?.focus()\n}\n\nwatch(\n () => state.chat.status,\n (status) => {\n if (status === 'ready' || status === 'error') promptRef.value?.focus()\n },\n)\n\nconst { respondToToolCalls, approvalRequestedParts } = useChatApprovals()\n</script>\n\n<template>\n <ErrorMessageMessage\n v-if=\"state.chat.error\"\n :error=\"state.chat.error\" />\n <ApprovalSection\n v-if=\"approvalRequestedParts.length\"\n @approve=\"respondToToolCalls(true)\"\n @reject=\"respondToToolCalls(false)\" />\n <div class=\"actionContainer\">\n <form\n class=\"promptForm\"\n @submit.prevent=\"handleSubmit\">\n <label\n class=\"agentLabel\"\n for=\"agentTextarea\">\n Type a Request To get Started\n </label>\n <textarea\n id=\"agentTextarea\"\n ref=\"prompt\"\n v-model=\"state.prompt.value\"\n class=\"prompt custom-scroll\"\n :disabled=\"state.loading.value\"\n name=\"prompt\"\n placeholder=\"Ask me anything...\"\n @keydown=\"handlePromptKeydown\" />\n <div class=\"inputActionsContainer\">\n <div class=\"inputActionsLeft\">\n <SearchPopover>\n <button\n class=\"addAPIButton\"\n type=\"button\">\n <ScalarIconPlus\n class=\"size-4\"\n weight=\"bold\" />\n </button>\n </SearchPopover>\n <div\n v-for=\"document in state.registryDocuments.value\"\n :key=\"document.id\"\n class=\"apiPill\">\n <img\n v-if=\"document.logoUrl\"\n class=\"apiPillLogo\"\n :src=\"document.logoUrl\" />\n {{ document.title }}\n <button\n class=\"apiPillRemove\"\n type=\"button\"\n @click=\"state.removeDocument(document)\">\n <ScalarIconX\n class=\"size-4\"\n weight=\"bold\" />\n </button>\n </div>\n </div>\n\n <div class=\"inputActionsRight\">\n <ScalarIconButton\n v-if=\"!state.loading.value\"\n class=\"settingsButton h-7 w-7 p-1.5\"\n :icon=\"ScalarIconLockSimple\"\n label=\"Scalar\"\n size=\"md\"\n weight=\"bold\"\n @click=\"state.settingsModal.show()\" />\n\n <ScalarIconButton\n v-if=\"!state.loading.value\"\n class=\"sendButton h-7 w-7 p-1.5\"\n :disabled=\"!inputHasContent || promptTooLarge\"\n :icon=\"ScalarIconArrowUp\"\n label=\"Scalar\"\n size=\"md\"\n type=\"submit\"\n weight=\"bold\" />\n <ScalarLoading\n v-else\n class=\"loader h-7 w-7\"\n :loader=\"{\n isLoading: state.loading.value,\n isValid: false,\n clear: async () => {},\n invalidate: async () => {},\n isInvalid: false,\n isActive: false,\n validate: async () => {},\n start: () => {},\n }\"\n size=\"2xl\" />\n </div>\n </div>\n </form>\n </div>\n</template>\n\n<style scoped>\n.actionContainer {\n background: color-mix(\n in srgb,\n var(--scalar-background-2),\n var(--scalar-background-1)\n );\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: 16px;\n width: 100%;\n /* visually hides overflowing text below */\n box-shadow: 0 50px 0 2px var(--scalar-background-1);\n}\n.promptForm {\n width: 100%;\n position: relative;\n display: flex;\n flex-direction: column;\n background: var(--scalar-background-1);\n box-shadow: var(--scalar-shadow-1);\n border-radius: 16px;\n}\n\n.inputActionsContainer {\n display: flex;\n justify-content: space-between;\n padding: 0 8px 8px 8px;\n}\n\n.inputActionsLeft {\n display: flex;\n flex-wrap: wrap; /* key: allows pills to go to next line */\n align-items: center;\n gap: 5px; /* spacing between pills */\n}\n\n.inputActionsRight {\n display: flex;\n gap: 5px;\n}\n\n.apiPill {\n font-size: var(--scalar-font-size-3);\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n height: 28px;\n align-items: center;\n display: flex;\n border-radius: 16px;\n padding: 0 8px;\n pointer-events: all;\n z-index: 1;\n gap: 4px;\n}\n.apiPillLogo {\n width: 15px;\n}\n\n.apiPillRemove {\n width: 24px;\n height: 24px;\n margin-right: -6px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.apiPill:hover .apiPillRemove {\n background: var(--scalar-background-2);\n}\n.dark-mode .apiPill:hover .apiPillRemove {\n background: var(--scalar-background-3);\n}\n\n.apiPillRemove:hover {\n color: var(--scalar-color-1);\n}\n\n.prompt {\n width: 100%;\n outline: none;\n border: none;\n resize: none;\n field-sizing: content;\n min-height: 64px;\n z-index: 1;\n max-height: 250px;\n max-width: 100%;\n overflow-y: auto;\n scrollbar-width: thin;\n word-wrap: break-word;\n font-family: var(--scalar-font);\n font-size: 16px;\n padding: 12px 12px 14px 12px;\n}\n.dark-mode .promptForm {\n background: var(--scalar-background-2);\n}\n\n.prompt:disabled {\n color: var(--scalar-color-3);\n}\n\n.addAPIButton {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--scalar-color-2);\n font-size: var(--scalar-font-size-3);\n height: 28px;\n width: 28px;\n font-weight: var(--scalar-bold);\n border-radius: 100%;\n display: flex;\n align-items: center;\n gap: 4px;\n pointer-events: all;\n z-index: 1;\n box-shadow: 0 0 0 var(--scalar-border-width) var(--scalar-border-color);\n}\n.addAPIButton:hover {\n background: color-mix(\n in srgb,\n var(--scalar-background-2),\n var(--scalar-background-1)\n );\n box-shadow: 0 0 0 var(--scalar-border-width) var(--scalar-border-color);\n}\n.dark-mode .addAPIButton:hover {\n background: var(--scalar-background-3);\n}\n\n.settingsButton {\n color: var(--scalar-color-3) !important;\n color: white;\n border-radius: 50% !important;\n margin: 0 !important;\n z-index: 1;\n}\n.settingsButton[aria-disabled='true'] {\n background: var(--scalar-background-2);\n}\n.dark-mode .settingsButton:hover {\n background: var(--scalar-background-3);\n}\n\n.sendButton {\n background: var(--scalar-agent-blue) !important;\n color: white;\n border-radius: 50% !important;\n margin: 0 !important;\n z-index: 1;\n}\n.sendButton:not([aria-disabled='true']):hover {\n color: white !important;\n}\n\n.sendButton[aria-disabled='true'] {\n background: var(--scalar-background-2) !important;\n color: var(--scalar-color-3);\n}\n\n.dark-mode .sendButton[aria-disabled='true'] {\n background: var(--scalar-background-3) !important;\n}\n.contextContainer {\n display: flex;\n width: 100%;\n padding: 10px 12px 12px 12px;\n color: var(--scalar-color-2);\n font-size: var(--scalar-font-size-3);\n user-select: none;\n justify-content: space-between;\n}\n\n.settingsButton {\n font-weight: var(--scalar-semibold);\n border-radius: var(--scalar-radius-lg);\n padding: 4px 6px;\n margin: -4px -6px;\n}\n.settingsButton:hover {\n background: var(--scalar-background-2);\n box-shadow: 0 0 var(--scalar-border-width) 0 var(--scalar-border-color);\n cursor: pointer;\n}\n\n.agentLabel {\n font-size: 0px;\n position: absolute;\n width: 100%;\n height: 100%;\n cursor: text;\n}\n</style>\n"],"names":["_unref","_createBlock","_createElementVNode","_createVNode","_openBlock","_createElementBlock","_Fragment","document","_createTextVNode","_toDisplayString"],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- import { defineComponent, computed, watch, createBlock, createCommentVNode, openBlock, unref } from "vue";
2
- import { AuthSelector } from "@scalar/api-client/v2/blocks/scalar-auth-selector-block";
3
- import { getSecurityRequirements, getSelectedSecurity } from "@scalar/api-client/v2/features/operation";
4
- import { useState } from "../../state/state.js";
5
- import { authStorage, restoreAuthSecretsFromStorage } from "../../helpers.js";
6
- const _sfc_main = /* @__PURE__ */ defineComponent({
7
- __name: "Auth",
8
- props: {
9
- options: {},
10
- name: {},
11
- document: {},
12
- eventBus: {},
13
- securitySchemes: {},
14
- selectedServer: {},
15
- environment: {}
16
- },
17
- setup(__props) {
18
- const { workspaceStore } = useState();
19
- const securityRequirements = computed(
20
- () => getSecurityRequirements(__props.document?.security)
21
- );
22
- const selectedSecurity = computed(
23
- () => getSelectedSecurity(
24
- __props.document?.["x-scalar-selected-security"],
25
- void 0,
26
- securityRequirements.value
27
- )
28
- );
29
- watch(
30
- [() => selectedSecurity, () => __props.securitySchemes],
31
- () => {
32
- const authPersistence = authStorage();
33
- authPersistence.setSchemas(__props.name, __props.securitySchemes);
34
- if (selectedSecurity.value) {
35
- authPersistence.setSelectedSchemes(__props.name, {
36
- "x-scalar-selected-security": selectedSecurity.value
37
- });
38
- }
39
- restoreAuthSecretsFromStorage({ documentName: __props.name, workspaceStore });
40
- },
41
- { deep: true }
42
- );
43
- return (_ctx, _cache) => {
44
- return Object.keys(__props.securitySchemes).length ? (openBlock(), createBlock(unref(AuthSelector), {
45
- key: 0,
46
- environment: __props.environment,
47
- eventBus: __props.eventBus,
48
- isReadOnly: "",
49
- isStatic: "",
50
- layout: "reference",
51
- meta: { type: "document" },
52
- persistAuth: __props.options.persistAuth,
53
- proxyUrl: __props.options.proxyUrl ?? "",
54
- securityRequirements: securityRequirements.value,
55
- securitySchemes: __props.securitySchemes,
56
- selectedSecurity: selectedSecurity.value,
57
- server: __props.selectedServer,
58
- title: "Authentication"
59
- }, null, 8, ["environment", "eventBus", "persistAuth", "proxyUrl", "securityRequirements", "securitySchemes", "selectedSecurity", "server"])) : createCommentVNode("", true);
60
- };
61
- }
62
- });
63
- export {
64
- _sfc_main as default
65
- };
66
- //# sourceMappingURL=Auth.vue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Auth.vue.js","sources":["../../../src/views/Settings/Auth.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, watch } from 'vue'\n\nimport {\n AuthSelector,\n type MergedSecuritySchemes,\n} from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\nimport {\n getSecurityRequirements,\n getSelectedSecurity,\n} from '@scalar/api-client/v2/features/operation'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport type { WorkspaceDocument } from '@scalar/workspace-store/schemas/workspace'\n\nimport { useState } from '@/state/state'\n\nimport { authStorage, restoreAuthSecretsFromStorage } from '../../helpers'\n\nconst { document, name, environment, eventBus, options, securitySchemes } =\n defineProps<{\n options: Pick<\n ApiReferenceConfigurationRaw,\n 'authentication' | 'persistAuth' | 'proxyUrl'\n >\n name: string\n document: WorkspaceDocument | undefined\n eventBus: WorkspaceEventBus\n securitySchemes: MergedSecuritySchemes\n selectedServer: ServerObject | null\n environment: XScalarEnvironment\n }>()\n\nconst { workspaceStore } = useState()\n\n/** Compute what the security requirements should be for the document */\nconst securityRequirements = computed(() =>\n getSecurityRequirements(document?.security),\n)\n\n/** The selected security keys for the document */\nconst selectedSecurity = computed(() =>\n getSelectedSecurity(\n document?.['x-scalar-selected-security'],\n undefined,\n securityRequirements.value,\n ),\n)\n\nwatch(\n [() => selectedSecurity, () => securitySchemes],\n () => {\n const authPersistence = authStorage()\n\n authPersistence.setSchemas(name, securitySchemes)\n\n if (selectedSecurity.value) {\n authPersistence.setSelectedSchemes(name, {\n 'x-scalar-selected-security': selectedSecurity.value,\n })\n }\n\n restoreAuthSecretsFromStorage({ documentName: name, workspaceStore })\n },\n { deep: true },\n)\n</script>\n<template>\n <AuthSelector\n v-if=\"Object.keys(securitySchemes).length\"\n :environment\n :eventBus\n isReadOnly\n isStatic\n layout=\"reference\"\n :meta=\"{ type: 'document' }\"\n :persistAuth=\"options.persistAuth\"\n :proxyUrl=\"options.proxyUrl ?? ''\"\n :securityRequirements\n :securitySchemes\n :selectedSecurity\n :server=\"selectedServer\"\n title=\"Authentication\" />\n</template>\n"],"names":["_createBlock","_unref"],"mappings":";;;;;;;;;;;;;;;;;AAmCA,UAAM,EAAE,eAAA,IAAmB,SAAA;AAG3B,UAAM,uBAAuB;AAAA,MAAS,MACpC,wBAAwB,kBAAU,QAAQ;AAAA,IAAA;AAI5C,UAAM,mBAAmB;AAAA,MAAS,MAChC;AAAA,QACE,QAAA,WAAW,4BAA4B;AAAA,QACvC;AAAA,QACA,qBAAqB;AAAA,MAAA;AAAA,IACvB;AAGF;AAAA,MACE,CAAC,MAAM,kBAAkB,MAAM,uBAAe;AAAA,MAC9C,MAAM;AACJ,cAAM,kBAAkB,YAAA;AAExB,wBAAgB,WAAW,QAAA,MAAM,QAAA,eAAe;AAEhD,YAAI,iBAAiB,OAAO;AAC1B,0BAAgB,mBAAmB,QAAA,MAAM;AAAA,YACvC,8BAA8B,iBAAiB;AAAA,UAAA,CAChD;AAAA,QACH;AAEA,sCAA8B,EAAE,cAAc,QAAA,MAAM,gBAAgB;AAAA,MACtE;AAAA,MACA,EAAE,MAAM,KAAA;AAAA,IAAK;;AAKL,aAAA,OAAO,KAAK,QAAA,eAAe,EAAE,uBADrCA,YAc2BC,MAAA,YAAA,GAAA;AAAA;QAZxB,aAAA,QAAA;AAAA,QACA,UAAA,QAAA;AAAA,QACD,YAAA;AAAA,QACA,UAAA;AAAA,QACA,QAAO;AAAA,QACN,MAAM,EAAA,MAAA,WAAA;AAAA,QACN,aAAa,QAAA,QAAQ;AAAA,QACrB,UAAU,QAAA,QAAQ,YAAQ;AAAA,QAC1B,sBAAA,qBAAA;AAAA,QACA,iBAAA,QAAA;AAAA,QACA,kBAAA,iBAAA;AAAA,QACA,QAAQ,QAAA;AAAA,QACT,OAAM;AAAA,MAAA;;;;"}
@@ -1,5 +0,0 @@
1
- import _sfc_main from "./Auth.vue.js";
2
- export {
3
- _sfc_main as default
4
- };
5
- //# sourceMappingURL=Auth.vue2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Auth.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,8 +0,0 @@
1
- import _sfc_main from "./DocSettings.vue2.js";
2
- /* empty css */
3
- import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
4
- const DocSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7e19eeee"]]);
5
- export {
6
- DocSettings as default
7
- };
8
- //# sourceMappingURL=DocSettings.vue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocSettings.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,50 +0,0 @@
1
- import { defineComponent, computed, createElementBlock, openBlock, createElementVNode, createVNode, unref } from "vue";
2
- import { getSelectedServer } from "@scalar/api-client/v2/features/operation";
3
- import { getActiveEnvironment } from "@scalar/api-client/v2/helpers";
4
- import { ServerSelector } from "@scalar/api-reference/blocks";
5
- import { useState } from "../../state/state.js";
6
- import _sfc_main$1 from "./Auth.vue.js";
7
- const _hoisted_1 = { class: "docSettings" };
8
- const _sfc_main = /* @__PURE__ */ defineComponent({
9
- __name: "DocSettings",
10
- props: {
11
- document: {},
12
- name: {}
13
- },
14
- setup(__props) {
15
- const { workspaceStore, config, eventBus } = useState();
16
- const environment = computed(
17
- () => getActiveEnvironment(workspaceStore, __props.document)
18
- );
19
- const selectedServer = computed(() => getSelectedServer(__props.document));
20
- const securitySchemes = computed(
21
- () => __props.document.components?.securitySchemes ?? {}
22
- );
23
- return (_ctx, _cache) => {
24
- return openBlock(), createElementBlock("div", _hoisted_1, [
25
- createElementVNode("div", null, [
26
- createVNode(unref(ServerSelector), {
27
- eventBus: unref(eventBus),
28
- selectedServer: selectedServer.value,
29
- servers: __props.document.servers ?? []
30
- }, null, 8, ["eventBus", "selectedServer", "servers"])
31
- ]),
32
- createElementVNode("div", null, [
33
- createVNode(_sfc_main$1, {
34
- document: __props.document,
35
- environment: environment.value,
36
- eventBus: unref(eventBus),
37
- name: __props.name,
38
- options: unref(config),
39
- securitySchemes: securitySchemes.value,
40
- selectedServer: selectedServer.value
41
- }, null, 8, ["document", "environment", "eventBus", "name", "options", "securitySchemes", "selectedServer"])
42
- ])
43
- ]);
44
- };
45
- }
46
- });
47
- export {
48
- _sfc_main as default
49
- };
50
- //# sourceMappingURL=DocSettings.vue2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocSettings.vue2.js","sources":["../../../src/views/Settings/DocSettings.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport { getSelectedServer } from '@scalar/api-client/v2/features/operation'\nimport { getActiveEnvironment } from '@scalar/api-client/v2/helpers'\nimport { ServerSelector } from '@scalar/api-reference/blocks'\nimport { type WorkspaceDocument } from '@scalar/workspace-store/schemas/workspace'\n\nimport { useState } from '@/state/state'\nimport Auth from '@/views/Settings/Auth.vue'\n\nconst { document, name } = defineProps<{\n document: WorkspaceDocument\n name: string\n}>()\n\nconst { workspaceStore, config, eventBus } = useState()\n\nconst environment = computed(() =>\n getActiveEnvironment(workspaceStore, document),\n)\n\nconst selectedServer = computed(() => getSelectedServer(document))\n\nconst securitySchemes = computed(\n () => document.components?.securitySchemes ?? {},\n)\n</script>\n\n<template>\n <div class=\"docSettings\">\n <div>\n <ServerSelector\n :eventBus\n :selectedServer\n :servers=\"document.servers ?? []\" />\n </div>\n <div>\n <Auth\n :document\n :environment\n :eventBus\n :name\n :options=\"config\"\n :securitySchemes\n :selectedServer />\n </div>\n </div>\n</template>\n\n<style scoped>\n.docSettings {\n padding: 10px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n font-size: var(--scalar-font-size-3);\n max-height: 600px;\n overflow-y: scroll;\n}\n\n.documentName {\n font-weight: var(--font-weight-bold);\n}\n</style>\n"],"names":["_openBlock","_createElementBlock","_createElementVNode","_createVNode","_unref","Auth"],"mappings":";;;;;;;;;;;;;;AAgBA,UAAM,EAAE,gBAAgB,QAAQ,SAAA,IAAa,SAAA;AAE7C,UAAM,cAAc;AAAA,MAAS,MAC3B,qBAAqB,gBAAgB,gBAAQ;AAAA,IAAA;AAG/C,UAAM,iBAAiB,SAAS,MAAM,kBAAkB,QAAA,QAAQ,CAAC;AAEjE,UAAM,kBAAkB;AAAA,MACtB,MAAM,QAAA,SAAS,YAAY,mBAAmB,CAAA;AAAA,IAAC;;AAK/C,aAAAA,UAAA,GAAAC,mBAiBM,OAjBN,YAiBM;AAAA,QAhBJC,mBAKM,OAAA,MAAA;AAAA,UAJJC,YAGsCC,MAAA,cAAA,GAAA;AAAA,YAFnC,UAAAA,MAAA,QAAA;AAAA,YACA,gBAAA,eAAA;AAAA,YACA,SAAS,QAAA,SAAS,WAAO,CAAA;AAAA,UAAA;;QAE9BF,mBASM,OAAA,MAAA;AAAA,UARJC,YAOoBE,aAAA;AAAA,YANjB,UAAA,QAAA;AAAA,YACA,aAAA,YAAA;AAAA,YACA,UAAAD,MAAA,QAAA;AAAA,YACA,MAAA,QAAA;AAAA,YACA,SAASA,MAAA,MAAA;AAAA,YACT,iBAAA,gBAAA;AAAA,YACA,gBAAA,eAAA;AAAA,UAAA;;;;;;"}
@@ -1,9 +0,0 @@
1
- import _sfc_main from "./Settings.vue2.js";
2
- /* empty css */
3
- /* empty css */
4
- import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
5
- const Settings = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e1a5892c"]]);
6
- export {
7
- Settings as default
8
- };
9
- //# sourceMappingURL=Settings.vue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Settings.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}