@scalar/agent-chat 0.12.22 → 0.12.24
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.
- package/README.md +1 -1
- package/dist/App.vue.d.ts.map +1 -1
- package/dist/App.vue.script.js +1 -1
- package/dist/App.vue.script.js.map +1 -1
- package/dist/Chat.vue.d.ts.map +1 -1
- package/dist/Chat.vue.script.js +1 -1
- package/dist/Chat.vue.script.js.map +1 -1
- package/dist/api.js.map +1 -1
- package/dist/client-tools/execute-request.js.map +1 -1
- package/dist/components/ActionsDropdown.vue.d.ts.map +1 -1
- package/dist/components/ActionsDropdown.vue.js +1 -1
- package/dist/components/ActionsDropdown.vue.script.js +1 -1
- package/dist/components/ActionsDropdown.vue.script.js.map +1 -1
- package/dist/components/ApprovalSection.vue.js +1 -1
- package/dist/components/ApprovalSection.vue.script.js +1 -1
- package/dist/components/ApprovalSection.vue.script.js.map +1 -1
- package/dist/components/AuthenticationProvided.vue.js +1 -1
- package/dist/components/AuthenticationProvided.vue.js.map +1 -1
- package/dist/components/AuthenticationRequired.vue.js +1 -1
- package/dist/components/AuthenticationRequired.vue.js.map +1 -1
- package/dist/components/AutosendPaused.vue.js +1 -1
- package/dist/components/AutosendPaused.vue.js.map +1 -1
- package/dist/components/BuildingRequest.vue.js +1 -1
- package/dist/components/BuildingRequest.vue.js.map +1 -1
- package/dist/components/ContextItem.vue.js +1 -1
- package/dist/components/ContextItem.vue.script.js +1 -1
- package/dist/components/ContextItem.vue.script.js.map +1 -1
- package/dist/components/ErrorMessage.vue.js +1 -1
- package/dist/components/ErrorMessage.vue.script.js +1 -1
- package/dist/components/ErrorMessage.vue.script.js.map +1 -1
- package/dist/components/FreeMessagesInfoSection.vue.js +1 -1
- package/dist/components/FreeMessagesInfoSection.vue.script.js +1 -1
- package/dist/components/FreeMessagesInfoSection.vue.script.js.map +1 -1
- package/dist/components/LoadingOpenAPISpecsSummary.vue.js +1 -1
- package/dist/components/LoadingOpenAPISpecsSummary.vue.js.map +1 -1
- package/dist/components/LoadingSearchOpenAPIOperations.vue.js +1 -1
- package/dist/components/LoadingSearchOpenAPIOperations.vue.js.map +1 -1
- package/dist/components/Logo.vue.js +1 -1
- package/dist/components/PaymentSection.vue.js +1 -1
- package/dist/components/PaymentSection.vue.script.js +1 -1
- package/dist/components/PaymentSection.vue.script.js.map +1 -1
- package/dist/components/RequestApproved.vue.js +1 -1
- package/dist/components/RequestApproved.vue.js.map +1 -1
- package/dist/components/RequestFailed.vue.js +1 -1
- package/dist/components/RequestFailed.vue.js.map +1 -1
- package/dist/components/RequestPreview.vue.d.ts.map +1 -1
- package/dist/components/RequestPreview.vue.js +1 -1
- package/dist/components/RequestPreview.vue.script.js +1 -1
- package/dist/components/RequestPreview.vue.script.js.map +1 -1
- package/dist/components/RequestRejected.vue.js +1 -1
- package/dist/components/RequestRejected.vue.js.map +1 -1
- package/dist/components/RequestSuccess.vue.js +1 -1
- package/dist/components/RequestSuccess.vue.js.map +1 -1
- package/dist/components/ResponseBody/ResponseBody.vue.script.js +1 -1
- package/dist/components/ResponseBody/ResponseBody.vue.script.js.map +1 -1
- package/dist/components/ResponseBody/ResponseBodyInfo.vue.js +1 -1
- package/dist/components/ResponseBody/ResponseBodyInfo.vue.js.map +1 -1
- package/dist/components/ResponseBody/ResponseBodyPreview.vue.js +1 -1
- package/dist/components/ResponseBody/ResponseBodyPreview.vue.script.js +1 -1
- package/dist/components/ResponseBody/ResponseBodyPreview.vue.script.js.map +1 -1
- package/dist/components/ResponseBody/ResponseBodyRaw.vue.script.js +1 -1
- package/dist/components/ResponseBody/ResponseBodyRaw.vue.script.js.map +1 -1
- package/dist/components/ResponseBody/ResponseBodyToggle.vue.script.js +1 -1
- package/dist/components/ResponseBody/ResponseBodyToggle.vue.script.js.map +1 -1
- package/dist/components/ResponseBody/helpers/media-types.js.map +1 -1
- package/dist/components/ResponseBody/helpers/process-response-body.js.map +1 -1
- package/dist/components/SearchPopover.vue.d.ts.map +1 -1
- package/dist/components/SearchPopover.vue.js +1 -1
- package/dist/components/SearchPopover.vue.script.js +1 -1
- package/dist/components/SearchPopover.vue.script.js.map +1 -1
- package/dist/components/Selector.vue.d.ts.map +1 -1
- package/dist/components/Selector.vue.script.js +1 -1
- package/dist/components/Selector.vue.script.js.map +1 -1
- package/dist/components/SendingRequest.vue.js +1 -1
- package/dist/components/SendingRequest.vue.js.map +1 -1
- package/dist/components/ServerSelector.vue.d.ts.map +1 -1
- package/dist/components/ServerSelector.vue.script.js +1 -1
- package/dist/components/ServerSelector.vue.script.js.map +1 -1
- package/dist/components/UploadSection.vue.js +1 -1
- package/dist/components/UploadSection.vue.script.js +1 -1
- package/dist/components/UploadSection.vue.script.js.map +1 -1
- package/dist/consts/urls.js.map +1 -1
- package/dist/entities/error/constants.js.map +1 -1
- package/dist/entities/error/helpers.js.map +1 -1
- package/dist/entities/registry/document.js.map +1 -1
- package/dist/entities/tools/ask-for-authentication.js.map +1 -1
- package/dist/entities/tools/execute-request.js.map +1 -1
- package/dist/entities/tools/search-openapi-operations.js.map +1 -1
- package/dist/helpers.d.ts +20 -1
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +7 -0
- package/dist/helpers.js.map +1 -1
- package/dist/hooks/use-agent-key-documents.js.map +1 -1
- package/dist/hooks/use-chat-approvals.js.map +1 -1
- package/dist/hooks/use-chat-error.js.map +1 -1
- package/dist/hooks/use-chat-pending-client-tool-parts.js.map +1 -1
- package/dist/hooks/use-chat-scroll.js.map +1 -1
- package/dist/hooks/use-curated-documents.js.map +1 -1
- package/dist/hooks/use-search.js.map +1 -1
- package/dist/hooks/use-signup-link.js.map +1 -1
- package/dist/hooks/use-term-and-conditions.js.map +1 -1
- package/dist/hooks/use-upload-tmp-document.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/plugins/persistance.js +6 -1
- package/dist/plugins/persistance.js.map +1 -1
- package/dist/registry/add-documents-to-store.js.map +1 -1
- package/dist/registry/create-document-name.js.map +1 -1
- package/dist/state/state.js.map +1 -1
- package/dist/style.css +391 -391
- package/dist/views/Catalog/Catalog.vue.d.ts.map +1 -1
- package/dist/views/Catalog/Catalog.vue.js +1 -1
- package/dist/views/Catalog/Catalog.vue.script.js +1 -1
- package/dist/views/Catalog/Catalog.vue.script.js.map +1 -1
- package/dist/views/Chat/Chat.vue.d.ts.map +1 -1
- package/dist/views/Chat/Chat.vue.js +1 -1
- package/dist/views/Chat/Chat.vue.script.js +1 -1
- package/dist/views/Chat/Chat.vue.script.js.map +1 -1
- package/dist/views/Chat/Messages/AskForAuthentication.vue.d.ts.map +1 -1
- package/dist/views/Chat/Messages/AskForAuthentication.vue.js +1 -1
- package/dist/views/Chat/Messages/AskForAuthentication.vue.script.js +1 -1
- package/dist/views/Chat/Messages/AskForAuthentication.vue.script.js.map +1 -1
- package/dist/views/Chat/Messages/ExecuteRequestTool.vue.js +1 -1
- package/dist/views/Chat/Messages/ExecuteRequestTool.vue.script.js +1 -1
- package/dist/views/Chat/Messages/ExecuteRequestTool.vue.script.js.map +1 -1
- package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.script.js +1 -1
- package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.script.js.map +1 -1
- package/dist/views/Chat/Messages/SearchOpenAPIOperationsTool.vue.js +1 -1
- package/dist/views/Chat/Messages/SearchOpenAPIOperationsTool.vue.script.js +1 -1
- package/dist/views/Chat/Messages/SearchOpenAPIOperationsTool.vue.script.js.map +1 -1
- package/dist/views/Chat/Messages/Text.vue.script.js +1 -1
- package/dist/views/Chat/Messages/Text.vue.script.js.map +1 -1
- package/dist/views/Layout.vue.d.ts.map +1 -1
- package/dist/views/Layout.vue.js +1 -1
- package/dist/views/Layout.vue.script.js +1 -1
- package/dist/views/Layout.vue.script.js.map +1 -1
- package/dist/views/PromptForm.vue.d.ts.map +1 -1
- package/dist/views/PromptForm.vue.js +1 -1
- package/dist/views/PromptForm.vue.script.js +2 -2
- package/dist/views/PromptForm.vue.script.js.map +1 -1
- package/dist/views/Settings/Auth.vue.script.js +1 -1
- package/dist/views/Settings/Auth.vue.script.js.map +1 -1
- package/dist/views/Settings/DocSettings.vue.js +1 -1
- package/dist/views/Settings/DocSettings.vue.script.js +1 -1
- package/dist/views/Settings/DocSettings.vue.script.js.map +1 -1
- package/dist/views/Settings/Settings.vue.js +1 -1
- package/dist/views/Settings/Settings.vue.script.js +1 -1
- package/dist/views/Settings/Settings.vue.script.js.map +1 -1
- package/dist/views/Start.vue.d.ts.map +1 -1
- package/dist/views/Start.vue.js +1 -1
- package/dist/views/Start.vue.script.js +1 -1
- package/dist/views/Start.vue.script.js.map +1 -1
- package/package.json +19 -19
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ Scalar is an open-source API platform for teams who want beautiful developer int
|
|
|
8
8
|
|
|
9
9
|
- **[API References](https://scalar.com/products/api-references/getting-started)** — Interactive API documentation from OpenAPI and AsyncAPI specs.
|
|
10
10
|
- **[Developer Docs](https://scalar.com/products/docs/getting-started)** — Write in Markdown/MDX, generate API references, sync with two-way Git.
|
|
11
|
-
- **[SDK Generator](https://scalar.com/products/
|
|
11
|
+
- **[SDK Generator](https://scalar.com/products/sdk-generator/getting-started)** — Type-safe SDKs and CLIs in TypeScript, Python, Go, PHP, Java, and Ruby.
|
|
12
12
|
- **[API Client](https://scalar.com/products/api-client/getting-started)** — Open-source, offline-first Postman alternative built on OpenAPI.
|
|
13
13
|
|
|
14
14
|
20M+ monthly npm installs · 15,500+ GitHub stars · MIT licensed · [scalar.com](https://scalar.com)
|
package/dist/App.vue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.vue.d.ts","sourceRoot":"","sources":["../src/App.vue"],"names":[],"mappings":"AAyEA,OAAO,EAAW,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAGvC,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,KAAK,WAAW,GAAG;IACjB,iBAAiB,EAAE,gBAAgB,EAAE,CAAA;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,MAAM,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,MAAM,CAAA;IAC1B,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAA;IACpC,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACzB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAC;AAsBF,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;iBAiCW,CAAC;WAAc,CAAC;;;;;iBAGsB,CAAC;;;;;;;;;;;;;CAvB3D,CAAA;AAIF,MAAM,MAAM,WAAW,GAAG;IACxB,gBAAgB,EAAE,OAAO,KAAK,CAAC,gBAAgB,CAAA;CAChD,CAAA;
|
|
1
|
+
{"version":3,"file":"App.vue.d.ts","sourceRoot":"","sources":["../src/App.vue"],"names":[],"mappings":"AAyEA,OAAO,EAAW,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAGvC,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,KAAK,WAAW,GAAG;IACjB,iBAAiB,EAAE,gBAAgB,EAAE,CAAA;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,MAAM,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,MAAM,CAAA;IAC1B,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAA;IACpC,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACzB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAC;AAsBF,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;iBAiCW,CAAC;WAAc,CAAC;;;;;iBAGsB,CAAC;;;;;;;;;;;;;CAvB3D,CAAA;AAIF,MAAM,MAAM,WAAW,GAAG;IACxB,gBAAgB,EAAE,OAAO,KAAK,CAAC,gBAAgB,CAAA;CAChD,CAAA;AA+CD,QAAA,MAAM,YAAY;;;;kFAIhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
package/dist/App.vue.script.js
CHANGED
|
@@ -2,7 +2,7 @@ import { STATE_SYMBOL, createState } from "./state/state.js";
|
|
|
2
2
|
import Chat_default from "./Chat.vue.js";
|
|
3
3
|
import { createBlock, defineComponent, openBlock, provide } from "vue";
|
|
4
4
|
//#region src/App.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
-
var App_vue_vue_type_script_setup_true_lang_default =
|
|
5
|
+
var App_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
6
6
|
__name: "App",
|
|
7
7
|
props: {
|
|
8
8
|
registryDocuments: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.vue.script.js","names":["$emit"],"sources":["../src/App.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { provide, type Ref } from 'vue'\n\nimport Chat from '@/Chat.vue'\nimport { createState, STATE_SYMBOL, type RegistryDocument } from '@/state/state'\nimport { type ChatMode } from '@/types'\n\nconst {\n dashboardUrl,\n platformProxyUrl,\n registryDocuments,\n registryUrl,\n baseUrl,\n mode = 'full',\n getAccessToken,\n getAgentKey,\n getActiveDocumentJson,\n isLoggedIn,\n prefilledMessage,\n hideAddApi,\n} = defineProps<{\n registryDocuments: RegistryDocument[]\n registryUrl: string\n dashboardUrl: string\n platformProxyUrl: string\n baseUrl: string\n mode?: ChatMode\n getAccessToken?: () => string\n getAgentKey?: () => string\n getActiveDocumentJson?: () => string\n isLoggedIn?: Ref<boolean>\n prefilledMessage?: Ref<string>\n hideAddApi?: boolean\n}>()\n\ndefineEmits<{\n (e: 'uploadApi'): void\n}>()\n\nconst state = createState({\n getActiveDocumentJson,\n initialRegistryDocuments: registryDocuments,\n prefilledMessageRef: prefilledMessage,\n platformProxyUrl,\n registryUrl,\n baseUrl,\n mode,\n getAccessToken,\n getAgentKey,\n isLoggedIn,\n dashboardUrl,\n hideAddApi,\n})\n\nprovide(STATE_SYMBOL, state)\n\nexport type ChatExposed = {\n addDocumentAsync: typeof state.addDocumentAsync\n}\n\ndefineExpose<ChatExposed>({\n addDocumentAsync: state.addDocumentAsync,\n})\n</script>\n\n<template>\n <Chat @uploadApi=\"$emit('uploadApi')\" />\n</template>\n\n<style scoped></style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAuCA,MAAM,QAAQ,YAAY;GACxB,uBAAoB,QAAA;GACpB,0BAA0B,QAAA;GAC1B,qBAAqB,QAAA;GACrB,kBAAe,QAAA;GACf,aAAU,QAAA;GACV,SAAM,QAAA;GACN,MAAG,QAAA;GACH,gBAAa,QAAA;GACb,aAAU,QAAA;GACV,YAAS,QAAA;GACT,cAAW,QAAA;GACX,YAAS,QAAA;
|
|
1
|
+
{"version":3,"file":"App.vue.script.js","names":["$emit"],"sources":["../src/App.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { provide, type Ref } from 'vue'\n\nimport Chat from '@/Chat.vue'\nimport { createState, STATE_SYMBOL, type RegistryDocument } from '@/state/state'\nimport { type ChatMode } from '@/types'\n\nconst {\n dashboardUrl,\n platformProxyUrl,\n registryDocuments,\n registryUrl,\n baseUrl,\n mode = 'full',\n getAccessToken,\n getAgentKey,\n getActiveDocumentJson,\n isLoggedIn,\n prefilledMessage,\n hideAddApi,\n} = defineProps<{\n registryDocuments: RegistryDocument[]\n registryUrl: string\n dashboardUrl: string\n platformProxyUrl: string\n baseUrl: string\n mode?: ChatMode\n getAccessToken?: () => string\n getAgentKey?: () => string\n getActiveDocumentJson?: () => string\n isLoggedIn?: Ref<boolean>\n prefilledMessage?: Ref<string>\n hideAddApi?: boolean\n}>()\n\ndefineEmits<{\n (e: 'uploadApi'): void\n}>()\n\nconst state = createState({\n getActiveDocumentJson,\n initialRegistryDocuments: registryDocuments,\n prefilledMessageRef: prefilledMessage,\n platformProxyUrl,\n registryUrl,\n baseUrl,\n mode,\n getAccessToken,\n getAgentKey,\n isLoggedIn,\n dashboardUrl,\n hideAddApi,\n})\n\nprovide(STATE_SYMBOL, state)\n\nexport type ChatExposed = {\n addDocumentAsync: typeof state.addDocumentAsync\n}\n\ndefineExpose<ChatExposed>({\n addDocumentAsync: state.addDocumentAsync,\n})\n</script>\n\n<template>\n <Chat @uploadApi=\"$emit('uploadApi')\" />\n</template>\n\n<style scoped></style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAuCA,MAAM,QAAQ,YAAY;GACxB,uBAAoB,QAAA;GACpB,0BAA0B,QAAA;GAC1B,qBAAqB,QAAA;GACrB,kBAAe,QAAA;GACf,aAAU,QAAA;GACV,SAAM,QAAA;GACN,MAAG,QAAA;GACH,gBAAa,QAAA;GACb,aAAU,QAAA;GACV,YAAS,QAAA;GACT,cAAW,QAAA;GACX,YAAS,QAAA;EACX,CAAC;EAED,QAAQ,cAAc,KAAK;EAM3B,SAA0B,EACxB,kBAAkB,MAAM,iBAC1B,CAAC;;uBAIC,YAAwC,cAAA,EAAjC,aAAS,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,WAAA,GAAA,CAAA"}
|
package/dist/Chat.vue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.vue.d.ts","sourceRoot":"","sources":["../src/Chat.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Chat.vue.d.ts","sourceRoot":"","sources":["../src/Chat.vue"],"names":[],"mappings":"AAgNA,QAAA,MAAM,YAAY;;;;iFAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
package/dist/Chat.vue.script.js
CHANGED
|
@@ -9,7 +9,7 @@ import { Fragment, createElementBlock, createElementVNode, createVNode, defineCo
|
|
|
9
9
|
import { createApiClientModal } from "@scalar/api-client/modal";
|
|
10
10
|
//#region src/Chat.vue?vue&type=script&setup=true&lang.ts
|
|
11
11
|
var _hoisted_1 = { ref: "clientModal" };
|
|
12
|
-
var Chat_vue_vue_type_script_setup_true_lang_default =
|
|
12
|
+
var Chat_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
13
13
|
__name: "Chat",
|
|
14
14
|
emits: ["uploadApi"],
|
|
15
15
|
setup(__props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.vue.script.js","names":["$emit"],"sources":["../src/Chat.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n createApiClientModal,\n type ApiClientModal,\n} from '@scalar/api-client/modal'\nimport { onBeforeUnmount, onMounted, ref, useTemplateRef } from 'vue'\n\nimport { useAgentKeyDocuments } from '@/hooks/use-agent-key-documents'\nimport { useChatScroll } from '@/hooks/use-chat-scroll'\nimport { useCuratedDocuments } from '@/hooks/use-curated-documents'\nimport { getTmpDocFromLocalStorage } from '@/hooks/use-upload-tmp-document'\nimport { useState } from '@/state/state'\nimport Layout from '@/views/Layout.vue'\nimport Settings from '@/views/Settings/Settings.vue'\n\ndefineEmits<{\n (e: 'uploadApi'): void\n}>()\n\nconst {\n chat,\n prompt,\n settingsModal,\n eventBus,\n workspaceStore,\n config,\n mode,\n addDocument,\n} = useState()\n\nconst clientModalRef = useTemplateRef<HTMLElement>('clientModal')\nconst apiClient = ref<ApiClientModal | null>(null)\n\nonMounted(async () => {\n const tmpDoc = getTmpDocFromLocalStorage()\n\n if (mode === 'preview' && tmpDoc) {\n await addDocument({\n namespace: tmpDoc.namespace,\n slug: tmpDoc.slug,\n removable: false,\n tmp: true,\n })\n }\n\n if (!clientModalRef.value) {\n return\n }\n\n apiClient.value = createApiClientModal({\n el: clientModalRef.value,\n options: config,\n eventBus,\n workspaceStore,\n })\n})\n\nonBeforeUnmount(() => {\n apiClient.value?.app.unmount()\n})\n\nuseChatScroll()\nuseAgentKeyDocuments()\nuseCuratedDocuments()\n\nasync function handleSubmit() {\n await chat.sendMessage({ text: prompt.value })\n}\n</script>\n\n<template>\n <div ref=\"clientModal\" />\n <Layout\n @submit=\"handleSubmit\"\n @uploadApi=\"$emit('uploadApi')\" />\n <Settings :modalState=\"settingsModal\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAmBA,MAAM,EACJ,MACA,QACA,eACA,UACA,gBACA,QACA,MACA,gBACE,
|
|
1
|
+
{"version":3,"file":"Chat.vue.script.js","names":["$emit"],"sources":["../src/Chat.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n createApiClientModal,\n type ApiClientModal,\n} from '@scalar/api-client/modal'\nimport { onBeforeUnmount, onMounted, ref, useTemplateRef } from 'vue'\n\nimport { useAgentKeyDocuments } from '@/hooks/use-agent-key-documents'\nimport { useChatScroll } from '@/hooks/use-chat-scroll'\nimport { useCuratedDocuments } from '@/hooks/use-curated-documents'\nimport { getTmpDocFromLocalStorage } from '@/hooks/use-upload-tmp-document'\nimport { useState } from '@/state/state'\nimport Layout from '@/views/Layout.vue'\nimport Settings from '@/views/Settings/Settings.vue'\n\ndefineEmits<{\n (e: 'uploadApi'): void\n}>()\n\nconst {\n chat,\n prompt,\n settingsModal,\n eventBus,\n workspaceStore,\n config,\n mode,\n addDocument,\n} = useState()\n\nconst clientModalRef = useTemplateRef<HTMLElement>('clientModal')\nconst apiClient = ref<ApiClientModal | null>(null)\n\nonMounted(async () => {\n const tmpDoc = getTmpDocFromLocalStorage()\n\n if (mode === 'preview' && tmpDoc) {\n await addDocument({\n namespace: tmpDoc.namespace,\n slug: tmpDoc.slug,\n removable: false,\n tmp: true,\n })\n }\n\n if (!clientModalRef.value) {\n return\n }\n\n apiClient.value = createApiClientModal({\n el: clientModalRef.value,\n options: config,\n eventBus,\n workspaceStore,\n })\n})\n\nonBeforeUnmount(() => {\n apiClient.value?.app.unmount()\n})\n\nuseChatScroll()\nuseAgentKeyDocuments()\nuseCuratedDocuments()\n\nasync function handleSubmit() {\n await chat.sendMessage({ text: prompt.value })\n}\n</script>\n\n<template>\n <div ref=\"clientModal\" />\n <Layout\n @submit=\"handleSubmit\"\n @uploadApi=\"$emit('uploadApi')\" />\n <Settings :modalState=\"settingsModal\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAmBA,MAAM,EACJ,MACA,QACA,eACA,UACA,gBACA,QACA,MACA,gBACE,SAAS;EAEb,MAAM,iBAAiB,eAA4B,aAAa;EAChE,MAAM,YAAY,IAA2B,IAAI;EAEjD,UAAU,YAAY;GACpB,MAAM,SAAS,0BAA0B;GAEzC,IAAI,SAAS,aAAa,QACxB,MAAM,YAAY;IAChB,WAAW,OAAO;IAClB,MAAM,OAAO;IACb,WAAW;IACX,KAAK;GACP,CAAC;GAGH,IAAI,CAAC,eAAe,OAClB;GAGF,UAAU,QAAQ,qBAAqB;IACrC,IAAI,eAAe;IACnB,SAAS;IACT;IACA;GACF,CAAC;EACH,CAAC;EAED,sBAAsB;GACpB,UAAU,OAAO,IAAI,QAAQ;EAC/B,CAAC;EAED,cAAc;EACd,qBAAqB;EACrB,oBAAoB;EAEpB,eAAe,eAAe;GAC5B,MAAM,KAAK,YAAY,EAAE,MAAM,OAAO,MAAM,CAAC;EAC/C;;;IAIE,mBAAyB,OAAzB,YAAyB,MAAA,GAAA;IACzB,YAEoC,gBAAA;KADjC,UAAQ;KACR,aAAS,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,WAAA;;IACnB,YAAwC,kBAAA,EAA7B,YAAY,MAAA,aAAA,EAAa,GAAA,MAAA,GAAA,CAAA,YAAA,CAAA"}
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","names":[],"sources":["../src/api.ts"],"sourcesContent":["import { type Schema, type Static, array, coerce, object, string, validate } from '@scalar/validation'\nimport { n } from 'neverpanic'\n\nimport { createError } from '@/entities/error/helpers'\nimport { registryApiMetadata } from '@/entities/registry/document'\n\nexport function createAuthorizationHeaders({\n getAccessToken,\n getAgentKey,\n}: {\n getAccessToken?: () => string\n getAgentKey?: () => string\n}) {\n const token = getAccessToken?.()\n const agentKey = getAgentKey?.()\n\n return {\n ...(token && {\n Authorization: `Bearer ${token}`,\n }),\n ...(agentKey && {\n 'x-scalar-agent-key': agentKey,\n }),\n }\n}\n\n/** Minimal set of API requests needed for agent chat */\nexport function createApi({\n baseUrl,\n getAccessToken,\n getAgentKey,\n}: {\n baseUrl: string\n getAccessToken?: () => string\n getAgentKey?: () => string\n}) {\n const serviceErrorSchema = object({ message: string(), code: string() })\n\n const request = n.safeFn(\n async <T extends Schema>({\n path,\n method = 'get',\n query,\n body,\n responseSchema,\n }: {\n path: string\n method?: string\n query?: Record<string, string>\n body?: object\n responseSchema: T\n }) => {\n const url = `${baseUrl}${path}${query ? `?${new URLSearchParams(query)}` : ''}`\n\n const fetchResult = await n.fromUnsafe(\n async () =>\n fetch(url, {\n method,\n ...(body && { body: JSON.stringify(body) }),\n headers: {\n ...createAuthorizationHeaders({ getAccessToken, getAgentKey }),\n },\n }),\n (originalError) => createError('FAILED_TO_FETCH', originalError),\n )\n\n if (!fetchResult.success) {\n return fetchResult\n }\n\n const fetchDataResult = await n.fromUnsafe(\n async () => fetchResult.data.json(),\n (originalError) => createError('FAILED_TO_FETCH_DATA', originalError),\n )\n\n if (!fetchDataResult.success) {\n return {\n success: false,\n error: createError('UNKNOWN_ERROR', 'Unknown error occurred. Please contact support.'),\n }\n }\n\n if (!fetchResult.data.ok) {\n if (!validate(serviceErrorSchema, fetchDataResult.data)) {\n return {\n success: false,\n error: createError('UNKNOWN_ERROR', 'Unknown error occurred. Please contact support.'),\n }\n }\n\n const errorData = coerce(serviceErrorSchema, fetchDataResult.data)\n\n return {\n success: false,\n error: createError(errorData.code, errorData.message),\n }\n }\n\n if (!validate(responseSchema, fetchDataResult.data)) {\n return {\n success: false,\n error: createError('INVALID_RESPONSE', 'Invalid response. Please contact support'),\n }\n }\n\n return {\n success: true,\n data: coerce(responseSchema, fetchDataResult.data) as unknown as Static<T>,\n }\n },\n )\n\n const search = async (query: string) =>\n request({\n path: '/vector/registry/search',\n query: { query },\n responseSchema: object({\n results: array(registryApiMetadata),\n }),\n })\n\n const getDocument = async (params: { namespace: string; slug: string }) =>\n request({\n path: `/vector/registry/document/${params.namespace}/${params.slug}`,\n responseSchema: registryApiMetadata,\n })\n\n const getKeyDocuments = async () =>\n request({\n path: '/vector/registry/documents',\n responseSchema: object({ documents: array(registryApiMetadata) }),\n })\n\n const getCuratedDocuments = async () =>\n request({\n path: '/vector/registry/curated',\n responseSchema: object({\n results: array(registryApiMetadata),\n }),\n })\n\n return {\n search,\n getDocument,\n getKeyDocuments,\n getCuratedDocuments,\n }\n}\n\nexport type Api = ReturnType<typeof createApi>\n"],"mappings":";;;;;AAMA,SAAgB,2BAA2B,EACzC,gBACA,eAIC;CACD,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"api.js","names":[],"sources":["../src/api.ts"],"sourcesContent":["import { type Schema, type Static, array, coerce, object, string, validate } from '@scalar/validation'\nimport { n } from 'neverpanic'\n\nimport { createError } from '@/entities/error/helpers'\nimport { registryApiMetadata } from '@/entities/registry/document'\n\nexport function createAuthorizationHeaders({\n getAccessToken,\n getAgentKey,\n}: {\n getAccessToken?: () => string\n getAgentKey?: () => string\n}) {\n const token = getAccessToken?.()\n const agentKey = getAgentKey?.()\n\n return {\n ...(token && {\n Authorization: `Bearer ${token}`,\n }),\n ...(agentKey && {\n 'x-scalar-agent-key': agentKey,\n }),\n }\n}\n\n/** Minimal set of API requests needed for agent chat */\nexport function createApi({\n baseUrl,\n getAccessToken,\n getAgentKey,\n}: {\n baseUrl: string\n getAccessToken?: () => string\n getAgentKey?: () => string\n}) {\n const serviceErrorSchema = object({ message: string(), code: string() })\n\n const request = n.safeFn(\n async <T extends Schema>({\n path,\n method = 'get',\n query,\n body,\n responseSchema,\n }: {\n path: string\n method?: string\n query?: Record<string, string>\n body?: object\n responseSchema: T\n }) => {\n const url = `${baseUrl}${path}${query ? `?${new URLSearchParams(query)}` : ''}`\n\n const fetchResult = await n.fromUnsafe(\n async () =>\n fetch(url, {\n method,\n ...(body && { body: JSON.stringify(body) }),\n headers: {\n ...createAuthorizationHeaders({ getAccessToken, getAgentKey }),\n },\n }),\n (originalError) => createError('FAILED_TO_FETCH', originalError),\n )\n\n if (!fetchResult.success) {\n return fetchResult\n }\n\n const fetchDataResult = await n.fromUnsafe(\n async () => fetchResult.data.json(),\n (originalError) => createError('FAILED_TO_FETCH_DATA', originalError),\n )\n\n if (!fetchDataResult.success) {\n return {\n success: false,\n error: createError('UNKNOWN_ERROR', 'Unknown error occurred. Please contact support.'),\n }\n }\n\n if (!fetchResult.data.ok) {\n if (!validate(serviceErrorSchema, fetchDataResult.data)) {\n return {\n success: false,\n error: createError('UNKNOWN_ERROR', 'Unknown error occurred. Please contact support.'),\n }\n }\n\n const errorData = coerce(serviceErrorSchema, fetchDataResult.data)\n\n return {\n success: false,\n error: createError(errorData.code, errorData.message),\n }\n }\n\n if (!validate(responseSchema, fetchDataResult.data)) {\n return {\n success: false,\n error: createError('INVALID_RESPONSE', 'Invalid response. Please contact support'),\n }\n }\n\n return {\n success: true,\n data: coerce(responseSchema, fetchDataResult.data) as unknown as Static<T>,\n }\n },\n )\n\n const search = async (query: string) =>\n request({\n path: '/vector/registry/search',\n query: { query },\n responseSchema: object({\n results: array(registryApiMetadata),\n }),\n })\n\n const getDocument = async (params: { namespace: string; slug: string }) =>\n request({\n path: `/vector/registry/document/${params.namespace}/${params.slug}`,\n responseSchema: registryApiMetadata,\n })\n\n const getKeyDocuments = async () =>\n request({\n path: '/vector/registry/documents',\n responseSchema: object({ documents: array(registryApiMetadata) }),\n })\n\n const getCuratedDocuments = async () =>\n request({\n path: '/vector/registry/curated',\n responseSchema: object({\n results: array(registryApiMetadata),\n }),\n })\n\n return {\n search,\n getDocument,\n getKeyDocuments,\n getCuratedDocuments,\n }\n}\n\nexport type Api = ReturnType<typeof createApi>\n"],"mappings":";;;;;AAMA,SAAgB,2BAA2B,EACzC,gBACA,eAIC;CACD,MAAM,QAAQ,iBAAiB;CAC/B,MAAM,WAAW,cAAc;CAE/B,OAAO;EACL,GAAI,SAAS,EACX,eAAe,UAAU,QAC3B;EACA,GAAI,YAAY,EACd,sBAAsB,SACxB;CACF;AACF;;AAGA,SAAgB,UAAU,EACxB,SACA,gBACA,eAKC;CACD,MAAM,qBAAqB,OAAO;EAAE,SAAS,OAAO;EAAG,MAAM,OAAO;CAAE,CAAC;CAEvE,MAAM,UAAU,EAAE,OAChB,OAAyB,EACvB,MACA,SAAS,OACT,OACA,MACA,qBAOI;EACJ,MAAM,MAAM,GAAG,UAAU,OAAO,QAAQ,IAAI,IAAI,gBAAgB,KAAK,MAAM;EAE3E,MAAM,cAAc,MAAM,EAAE,WAC1B,YACE,MAAM,KAAK;GACT;GACA,GAAI,QAAQ,EAAE,MAAM,KAAK,UAAU,IAAI,EAAE;GACzC,SAAS,EACP,GAAG,2BAA2B;IAAE;IAAgB;GAAY,CAAC,EAC/D;EACF,CAAC,IACF,kBAAkB,YAAY,mBAAmB,aAAa,CACjE;EAEA,IAAI,CAAC,YAAY,SACf,OAAO;EAGT,MAAM,kBAAkB,MAAM,EAAE,WAC9B,YAAY,YAAY,KAAK,KAAK,IACjC,kBAAkB,YAAY,wBAAwB,aAAa,CACtE;EAEA,IAAI,CAAC,gBAAgB,SACnB,OAAO;GACL,SAAS;GACT,OAAO,YAAY,iBAAiB,iDAAiD;EACvF;EAGF,IAAI,CAAC,YAAY,KAAK,IAAI;GACxB,IAAI,CAAC,SAAS,oBAAoB,gBAAgB,IAAI,GACpD,OAAO;IACL,SAAS;IACT,OAAO,YAAY,iBAAiB,iDAAiD;GACvF;GAGF,MAAM,YAAY,OAAO,oBAAoB,gBAAgB,IAAI;GAEjE,OAAO;IACL,SAAS;IACT,OAAO,YAAY,UAAU,MAAM,UAAU,OAAO;GACtD;EACF;EAEA,IAAI,CAAC,SAAS,gBAAgB,gBAAgB,IAAI,GAChD,OAAO;GACL,SAAS;GACT,OAAO,YAAY,oBAAoB,0CAA0C;EACnF;EAGF,OAAO;GACL,SAAS;GACT,MAAM,OAAO,gBAAgB,gBAAgB,IAAI;EACnD;CACF,CACF;CAEA,MAAM,SAAS,OAAO,UACpB,QAAQ;EACN,MAAM;EACN,OAAO,EAAE,MAAM;EACf,gBAAgB,OAAO,EACrB,SAAS,MAAM,mBAAmB,EACpC,CAAC;CACH,CAAC;CAEH,MAAM,cAAc,OAAO,WACzB,QAAQ;EACN,MAAM,6BAA6B,OAAO,UAAU,GAAG,OAAO;EAC9D,gBAAgB;CAClB,CAAC;CAEH,MAAM,kBAAkB,YACtB,QAAQ;EACN,MAAM;EACN,gBAAgB,OAAO,EAAE,WAAW,MAAM,mBAAmB,EAAE,CAAC;CAClE,CAAC;CAEH,MAAM,sBAAsB,YAC1B,QAAQ;EACN,MAAM;EACN,gBAAgB,OAAO,EACrB,SAAS,MAAM,mBAAmB,EACpC,CAAC;CACH,CAAC;CAEH,OAAO;EACL;EACA;EACA;EACA;CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-request.js","names":[],"sources":["../../src/client-tools/execute-request.ts"],"sourcesContent":["import type { Chat } from '@ai-sdk/vue'\nimport { redirectToProxy } from '@scalar/helpers/url/redirect-to-proxy'\nimport type { SecuritySchemeObjectSecret } from '@scalar/workspace-store/request-example'\nimport { buildRequestSecurity, getResolvedUrl } from '@scalar/workspace-store/request-example'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport type { UIDataTypes, UIMessage } from 'ai'\nimport { encode as encodeBase64 } from 'js-base64'\nimport { n } from 'neverpanic'\nimport truncateJson from 'truncate-json'\n\nimport { EXECUTE_CLIENT_SIDE_REQUEST_TOOL_NAME } from '@/entities'\nimport { createError } from '@/entities/error/helpers'\nimport type { Tools } from '@/state/state'\n\n// The maximum number of bytes the requests response can be.\nconst MAX_RESPONSE_SIZE = 50_000\n\nconst getBody = n.safeFn(\n async (response: Response) => {\n const contentType = response.headers.get('content-type')\n\n if (contentType === 'application/json') {\n return { success: true, data: await response.json() }\n }\n\n return { success: true, data: await response.text() }\n },\n (originalError) => createError('FAILED_TO_PARSE_RESPONSE_BODY', { originalError }),\n)\n\nconst truncateResponse = (response: unknown) =>\n JSON.parse(truncateJson(JSON.stringify(response), MAX_RESPONSE_SIZE).jsonString)\n\n/* Result type wrapper for fetch */\nconst safeFetch = n.safeFn(\n async (url: string, init: RequestInit) => {\n const response = await fetch(url, init)\n\n const responseBodyResult = await getBody(response)\n\n if (!response.ok) {\n return {\n success: false,\n error: createError('REQUEST_NOT_OK', {\n status: response.status,\n url: response.url,\n responseBody: truncateResponse(responseBodyResult.success ? responseBodyResult.data : undefined),\n headers: Object.fromEntries(response.headers.entries()),\n }),\n }\n }\n\n if (!responseBodyResult.success) {\n return responseBodyResult\n }\n\n return {\n success: true,\n data: {\n status: response.status,\n responseBody: truncateResponse(responseBodyResult.data),\n headers: Object.fromEntries(response.headers.entries()),\n },\n }\n },\n (originalError) => createError('FAILED_TO_FETCH', { originalError }),\n)\n\nfunction createUrl({\n path,\n activeServer,\n proxyUrl,\n queryParams,\n}: {\n path: string\n activeServer: ServerObject | null\n proxyUrl: string\n queryParams: URLSearchParams\n}) {\n const resolvedUrl = getResolvedUrl({\n path,\n server: activeServer,\n urlParams: queryParams,\n })\n\n return redirectToProxy(proxyUrl, resolvedUrl)\n}\n\n/**\n * Executes an HTTP request with the specified options, including method, path, headers, and security schemes, and returns the processed response.\n */\nexport const executeRequestTool = n.safeFn(\n async ({\n documentSettings,\n toolCallId,\n chat,\n proxyUrl,\n input: { method, path, body, headers, documentName },\n }: {\n documentSettings: Record<\n string,\n { activeServer: ServerObject | null; securitySchemes: SecuritySchemeObjectSecret[] }\n >\n toolCallId: string\n chat: Chat<UIMessage<unknown, UIDataTypes, Tools>>\n proxyUrl: string\n input: {\n method: string\n path: string\n headers?: Record<string, string>\n body?: string\n documentName: string\n }\n }) => {\n const settings = documentSettings[documentName]\n\n if (!settings) {\n return {\n success: false,\n error: createError('DOCUMENT_SETTINGS_COULD_NOT_BE_DETERMINED', {\n documentName,\n }),\n }\n }\n\n const requestSecurityOptions = buildRequestSecurity(settings.securitySchemes)\n\n const requestSecurity = requestSecurityOptions.reduce<{\n headers: Record<string, string>\n queryParams: URLSearchParams\n cookies: Record<string, string>\n }>(\n (acc, securityOption) => {\n /** Format the security value based on its authentication scheme. */\n const securityValue = (() => {\n if (securityOption.format === 'basic') {\n return `Basic ${encodeBase64(securityOption.value)}`\n }\n if (securityOption.format === 'bearer') {\n return `Bearer ${securityOption.value}`\n }\n return securityOption.value\n })()\n\n if (securityOption.in === 'header') {\n acc.headers[securityOption.name] = securityValue\n } else if (securityOption.in === 'query') {\n acc.queryParams.set(securityOption.name, securityValue)\n } else if (securityOption.in === 'cookie') {\n acc.cookies[securityOption.name] = securityValue\n }\n\n return acc\n },\n {\n headers: {},\n queryParams: new URLSearchParams(),\n cookies: {},\n },\n )\n\n const cookieHeader = Object.entries(requestSecurity.cookies)\n .map(([name, value]) => `${name}=${value}`)\n .join('; ')\n\n const fetchOptions = {\n method,\n body,\n headers: {\n ...headers,\n ...requestSecurity.headers,\n Cookie: cookieHeader,\n },\n }\n\n const url = createUrl({\n path,\n activeServer: settings.activeServer,\n proxyUrl,\n queryParams: requestSecurity.queryParams,\n })\n\n const result = await safeFetch(url, fetchOptions)\n\n void chat.addToolOutput({\n tool: EXECUTE_CLIENT_SIDE_REQUEST_TOOL_NAME,\n toolCallId,\n output: result,\n state: 'output-available',\n })\n\n return result\n },\n (originalError) => createError('FAILED_TO_EXECUTE_REQUEST', originalError),\n)\n"],"mappings":";;;;;;;;AAeA,IAAM,oBAAoB;AAE1B,IAAM,UAAU,EAAE,OAChB,OAAO,aAAuB;
|
|
1
|
+
{"version":3,"file":"execute-request.js","names":[],"sources":["../../src/client-tools/execute-request.ts"],"sourcesContent":["import type { Chat } from '@ai-sdk/vue'\nimport { redirectToProxy } from '@scalar/helpers/url/redirect-to-proxy'\nimport type { SecuritySchemeObjectSecret } from '@scalar/workspace-store/request-example'\nimport { buildRequestSecurity, getResolvedUrl } from '@scalar/workspace-store/request-example'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport type { UIDataTypes, UIMessage } from 'ai'\nimport { encode as encodeBase64 } from 'js-base64'\nimport { n } from 'neverpanic'\nimport truncateJson from 'truncate-json'\n\nimport { EXECUTE_CLIENT_SIDE_REQUEST_TOOL_NAME } from '@/entities'\nimport { createError } from '@/entities/error/helpers'\nimport type { Tools } from '@/state/state'\n\n// The maximum number of bytes the requests response can be.\nconst MAX_RESPONSE_SIZE = 50_000\n\nconst getBody = n.safeFn(\n async (response: Response) => {\n const contentType = response.headers.get('content-type')\n\n if (contentType === 'application/json') {\n return { success: true, data: await response.json() }\n }\n\n return { success: true, data: await response.text() }\n },\n (originalError) => createError('FAILED_TO_PARSE_RESPONSE_BODY', { originalError }),\n)\n\nconst truncateResponse = (response: unknown) =>\n JSON.parse(truncateJson(JSON.stringify(response), MAX_RESPONSE_SIZE).jsonString)\n\n/* Result type wrapper for fetch */\nconst safeFetch = n.safeFn(\n async (url: string, init: RequestInit) => {\n const response = await fetch(url, init)\n\n const responseBodyResult = await getBody(response)\n\n if (!response.ok) {\n return {\n success: false,\n error: createError('REQUEST_NOT_OK', {\n status: response.status,\n url: response.url,\n responseBody: truncateResponse(responseBodyResult.success ? responseBodyResult.data : undefined),\n headers: Object.fromEntries(response.headers.entries()),\n }),\n }\n }\n\n if (!responseBodyResult.success) {\n return responseBodyResult\n }\n\n return {\n success: true,\n data: {\n status: response.status,\n responseBody: truncateResponse(responseBodyResult.data),\n headers: Object.fromEntries(response.headers.entries()),\n },\n }\n },\n (originalError) => createError('FAILED_TO_FETCH', { originalError }),\n)\n\nfunction createUrl({\n path,\n activeServer,\n proxyUrl,\n queryParams,\n}: {\n path: string\n activeServer: ServerObject | null\n proxyUrl: string\n queryParams: URLSearchParams\n}) {\n const resolvedUrl = getResolvedUrl({\n path,\n server: activeServer,\n urlParams: queryParams,\n })\n\n return redirectToProxy(proxyUrl, resolvedUrl)\n}\n\n/**\n * Executes an HTTP request with the specified options, including method, path, headers, and security schemes, and returns the processed response.\n */\nexport const executeRequestTool = n.safeFn(\n async ({\n documentSettings,\n toolCallId,\n chat,\n proxyUrl,\n input: { method, path, body, headers, documentName },\n }: {\n documentSettings: Record<\n string,\n { activeServer: ServerObject | null; securitySchemes: SecuritySchemeObjectSecret[] }\n >\n toolCallId: string\n chat: Chat<UIMessage<unknown, UIDataTypes, Tools>>\n proxyUrl: string\n input: {\n method: string\n path: string\n headers?: Record<string, string>\n body?: string\n documentName: string\n }\n }) => {\n const settings = documentSettings[documentName]\n\n if (!settings) {\n return {\n success: false,\n error: createError('DOCUMENT_SETTINGS_COULD_NOT_BE_DETERMINED', {\n documentName,\n }),\n }\n }\n\n const requestSecurityOptions = buildRequestSecurity(settings.securitySchemes)\n\n const requestSecurity = requestSecurityOptions.reduce<{\n headers: Record<string, string>\n queryParams: URLSearchParams\n cookies: Record<string, string>\n }>(\n (acc, securityOption) => {\n /** Format the security value based on its authentication scheme. */\n const securityValue = (() => {\n if (securityOption.format === 'basic') {\n return `Basic ${encodeBase64(securityOption.value)}`\n }\n if (securityOption.format === 'bearer') {\n return `Bearer ${securityOption.value}`\n }\n return securityOption.value\n })()\n\n if (securityOption.in === 'header') {\n acc.headers[securityOption.name] = securityValue\n } else if (securityOption.in === 'query') {\n acc.queryParams.set(securityOption.name, securityValue)\n } else if (securityOption.in === 'cookie') {\n acc.cookies[securityOption.name] = securityValue\n }\n\n return acc\n },\n {\n headers: {},\n queryParams: new URLSearchParams(),\n cookies: {},\n },\n )\n\n const cookieHeader = Object.entries(requestSecurity.cookies)\n .map(([name, value]) => `${name}=${value}`)\n .join('; ')\n\n const fetchOptions = {\n method,\n body,\n headers: {\n ...headers,\n ...requestSecurity.headers,\n Cookie: cookieHeader,\n },\n }\n\n const url = createUrl({\n path,\n activeServer: settings.activeServer,\n proxyUrl,\n queryParams: requestSecurity.queryParams,\n })\n\n const result = await safeFetch(url, fetchOptions)\n\n void chat.addToolOutput({\n tool: EXECUTE_CLIENT_SIDE_REQUEST_TOOL_NAME,\n toolCallId,\n output: result,\n state: 'output-available',\n })\n\n return result\n },\n (originalError) => createError('FAILED_TO_EXECUTE_REQUEST', originalError),\n)\n"],"mappings":";;;;;;;;AAeA,IAAM,oBAAoB;AAE1B,IAAM,UAAU,EAAE,OAChB,OAAO,aAAuB;CAG5B,IAFoB,SAAS,QAAQ,IAAI,cAErC,MAAgB,oBAClB,OAAO;EAAE,SAAS;EAAM,MAAM,MAAM,SAAS,KAAK;CAAE;CAGtD,OAAO;EAAE,SAAS;EAAM,MAAM,MAAM,SAAS,KAAK;CAAE;AACtD,IACC,kBAAkB,YAAY,iCAAiC,EAAE,cAAc,CAAC,CACnF;AAEA,IAAM,oBAAoB,aACxB,KAAK,MAAM,aAAa,KAAK,UAAU,QAAQ,GAAG,iBAAiB,CAAC,CAAC,UAAU;AAGjF,IAAM,YAAY,EAAE,OAClB,OAAO,KAAa,SAAsB;CACxC,MAAM,WAAW,MAAM,MAAM,KAAK,IAAI;CAEtC,MAAM,qBAAqB,MAAM,QAAQ,QAAQ;CAEjD,IAAI,CAAC,SAAS,IACZ,OAAO;EACL,SAAS;EACT,OAAO,YAAY,kBAAkB;GACnC,QAAQ,SAAS;GACjB,KAAK,SAAS;GACd,cAAc,iBAAiB,mBAAmB,UAAU,mBAAmB,OAAO,KAAA,CAAS;GAC/F,SAAS,OAAO,YAAY,SAAS,QAAQ,QAAQ,CAAC;EACxD,CAAC;CACH;CAGF,IAAI,CAAC,mBAAmB,SACtB,OAAO;CAGT,OAAO;EACL,SAAS;EACT,MAAM;GACJ,QAAQ,SAAS;GACjB,cAAc,iBAAiB,mBAAmB,IAAI;GACtD,SAAS,OAAO,YAAY,SAAS,QAAQ,QAAQ,CAAC;EACxD;CACF;AACF,IACC,kBAAkB,YAAY,mBAAmB,EAAE,cAAc,CAAC,CACrE;AAEA,SAAS,UAAU,EACjB,MACA,cACA,UACA,eAMC;CAOD,OAAO,gBAAgB,UANH,eAAe;EACjC;EACA,QAAQ;EACR,WAAW;CACb,CAEiC,CAAW;AAC9C;;;;AAKA,IAAa,qBAAqB,EAAE,OAClC,OAAO,EACL,kBACA,YACA,MACA,UACA,OAAO,EAAE,QAAQ,MAAM,MAAM,SAAS,qBAgBlC;CACJ,MAAM,WAAW,iBAAiB;CAElC,IAAI,CAAC,UACH,OAAO;EACL,SAAS;EACT,OAAO,YAAY,6CAA6C,EAC9D,aACF,CAAC;CACH;CAKF,MAAM,kBAFyB,qBAAqB,SAAS,eAErC,CAAA,CAAuB,QAK5C,KAAK,mBAAmB;;EAEvB,MAAM,uBAAuB;GAC3B,IAAI,eAAe,WAAW,SAC5B,OAAO,SAAS,OAAa,eAAe,KAAK;GAEnD,IAAI,eAAe,WAAW,UAC5B,OAAO,UAAU,eAAe;GAElC,OAAO,eAAe;EACxB,EAAA,CAAG;EAEH,IAAI,eAAe,OAAO,UACxB,IAAI,QAAQ,eAAe,QAAQ;OAC9B,IAAI,eAAe,OAAO,SAC/B,IAAI,YAAY,IAAI,eAAe,MAAM,aAAa;OACjD,IAAI,eAAe,OAAO,UAC/B,IAAI,QAAQ,eAAe,QAAQ;EAGrC,OAAO;CACT,GACA;EACE,SAAS,CAAC;EACV,aAAa,IAAI,gBAAgB;EACjC,SAAS,CAAC;CACZ,CACF;CAEA,MAAM,eAAe,OAAO,QAAQ,gBAAgB,OAAO,CAAC,CACzD,KAAK,CAAC,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC,CAC1C,KAAK,IAAI;CAEZ,MAAM,eAAe;EACnB;EACA;EACA,SAAS;GACP,GAAG;GACH,GAAG,gBAAgB;GACnB,QAAQ;EACV;CACF;CASA,MAAM,SAAS,MAAM,UAPT,UAAU;EACpB;EACA,cAAc,SAAS;EACvB;EACA,aAAa,gBAAgB;CAC/B,CAE+B,GAAK,YAAY;CAEhD,KAAU,cAAc;EACtB,MAAM;EACN;EACA,QAAQ;EACR,OAAO;CACT,CAAC;CAED,OAAO;AACT,IACC,kBAAkB,YAAY,6BAA6B,aAAa,CAC3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsDropdown.vue.d.ts","sourceRoot":"","sources":["../../src/components/ActionsDropdown.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionsDropdown.vue.d.ts","sourceRoot":"","sources":["../../src/components/ActionsDropdown.vue"],"names":[],"mappings":"AA+LA,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;AAG/C,QAAA,MAAM,UAAU;;;;iFAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
|
|
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-he
|
|
|
2
2
|
import ActionsDropdown_vue_vue_type_script_setup_true_lang_default from "./ActionsDropdown.vue.script.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/components/ActionsDropdown.vue
|
|
5
|
-
var ActionsDropdown_default =
|
|
5
|
+
var ActionsDropdown_default = /*#__PURE__*/ _plugin_vue_export_helper_default(ActionsDropdown_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e2c3bd19"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { ActionsDropdown_default as default };
|
|
8
8
|
|
|
@@ -6,7 +6,7 @@ import { ScalarDropdown, ScalarDropdownItem } from "@scalar/components/dropdown"
|
|
|
6
6
|
//#region src/components/ActionsDropdown.vue?vue&type=script&setup=true&lang.ts
|
|
7
7
|
var _hoisted_1 = { class: "dropdown-item" };
|
|
8
8
|
var _hoisted_2 = { class: "dropdown-item" };
|
|
9
|
-
var ActionsDropdown_vue_vue_type_script_setup_true_lang_default =
|
|
9
|
+
var ActionsDropdown_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
10
10
|
__name: "ActionsDropdown",
|
|
11
11
|
emits: ["uploadApi"],
|
|
12
12
|
setup(__props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsDropdown.vue.script.js","names":["$emit"],"sources":["../../src/components/ActionsDropdown.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarDropdown, ScalarDropdownItem } from '@scalar/components/dropdown'\nimport { useModal } from '@scalar/components/modal'\nimport { ScalarIconMagnifyingGlass, ScalarIconUpload } from '@scalar/icons'\n\nimport Catalog from '@/views/Catalog/Catalog.vue'\n\ndefineEmits<{\n (e: 'uploadApi'): void\n}>()\n\nconst catalogModal = useModal()\n</script>\n\n<template>\n <ScalarDropdown :offset=\"{ crossAxis: -5, mainAxis: 5 }\">\n <slot />\n\n <template #items>\n <ScalarDropdownItem @click=\"$emit('uploadApi')\">\n <div class=\"dropdown-item\">\n <ScalarIconUpload />\n Upload API\n </div>\n </ScalarDropdownItem>\n\n <ScalarDropdownItem @click=\"catalogModal.show()\">\n <div class=\"dropdown-item\">\n <ScalarIconMagnifyingGlass />\n Search Catalog\n </div>\n </ScalarDropdownItem>\n </template>\n </ScalarDropdown>\n\n <Catalog\n v-if=\"catalogModal.open\"\n :modal=\"catalogModal\" />\n</template>\n\n<style scoped>\n.dropdown-item {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;EAWA,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"ActionsDropdown.vue.script.js","names":["$emit"],"sources":["../../src/components/ActionsDropdown.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarDropdown, ScalarDropdownItem } from '@scalar/components/dropdown'\nimport { useModal } from '@scalar/components/modal'\nimport { ScalarIconMagnifyingGlass, ScalarIconUpload } from '@scalar/icons'\n\nimport Catalog from '@/views/Catalog/Catalog.vue'\n\ndefineEmits<{\n (e: 'uploadApi'): void\n}>()\n\nconst catalogModal = useModal()\n</script>\n\n<template>\n <ScalarDropdown :offset=\"{ crossAxis: -5, mainAxis: 5 }\">\n <slot />\n\n <template #items>\n <ScalarDropdownItem @click=\"$emit('uploadApi')\">\n <div class=\"dropdown-item\">\n <ScalarIconUpload />\n Upload API\n </div>\n </ScalarDropdownItem>\n\n <ScalarDropdownItem @click=\"catalogModal.show()\">\n <div class=\"dropdown-item\">\n <ScalarIconMagnifyingGlass />\n Search Catalog\n </div>\n </ScalarDropdownItem>\n </template>\n </ScalarDropdown>\n\n <Catalog\n v-if=\"catalogModal.open\"\n :modal=\"catalogModal\" />\n</template>\n\n<style scoped>\n.dropdown-item {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;EAWA,MAAM,eAAe,SAAS;;2DAI5B,YAkBiB,MAAA,cAAA,GAAA,EAlBA,QAAQ;IAAA,WAAA;IAAA,UAAA;GAAA,EAA8B,GAAA;IAG1C,OAAK,cAMO,CALrB,YAKqB,MAAA,kBAAA,GAAA,EALA,SAAK,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,WAAA,GAAA,GAAA;4BAIzB,CAHN,mBAGM,OAHN,YAGM,CAFJ,YAAoB,MAAA,gBAAA,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,gBAAA,gBAEtB,EAAA,EAAA,CAAA,CAAA,CAAA;;QAGF,YAKqB,MAAA,kBAAA,GAAA,EALA,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,YAAA,CAAY,CAAC,KAAI,GAAA,GAAA;4BAIrC,CAHN,mBAGM,OAHN,YAGM,CAFJ,YAA6B,MAAA,yBAAA,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,gBAAA,oBAE/B,EAAA,EAAA,CAAA,CAAA,CAAA;;;2BAdI,CAAR,WAAQ,KAAA,QAAA,WAAA,CAAA,GAAA,KAAA,GAAA,IAAA,CAAA,CAAA;;OAoBF,MAAA,YAAA,CAAY,CAAC,QAAA,UAAA,GADrB,YAE0B,iBAAA;;IAAvB,OAAO,MAAA,YAAA"}
|
|
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-he
|
|
|
2
2
|
import ApprovalSection_vue_vue_type_script_setup_true_lang_default from "./ApprovalSection.vue.script.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/components/ApprovalSection.vue
|
|
5
|
-
var ApprovalSection_default =
|
|
5
|
+
var ApprovalSection_default = /*#__PURE__*/ _plugin_vue_export_helper_default(ApprovalSection_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-fb5102df"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { ApprovalSection_default as default };
|
|
8
8
|
|
|
@@ -4,7 +4,7 @@ import { ScalarIconInfo } from "@scalar/icons";
|
|
|
4
4
|
var _hoisted_1 = { class: "approvalSection" };
|
|
5
5
|
var _hoisted_2 = { class: "approvalText flex items-center gap-1.5" };
|
|
6
6
|
var _hoisted_3 = { class: "approveContainer" };
|
|
7
|
-
var ApprovalSection_vue_vue_type_script_setup_true_lang_default =
|
|
7
|
+
var ApprovalSection_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
8
8
|
__name: "ApprovalSection",
|
|
9
9
|
emits: ["approve", "reject"],
|
|
10
10
|
setup(__props, { emit: __emit }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApprovalSection.vue.script.js","names":[],"sources":["../../src/components/ApprovalSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconInfo } from '@scalar/icons'\n\nconst emit = defineEmits<{\n (e: 'approve'): void\n (e: 'reject'): void\n}>()\n</script>\n\n<template>\n <div class=\"approvalSection\">\n <strong class=\"approvalText flex items-center gap-1.5\">\n <ScalarIconInfo\n class=\"text-blue size-4\"\n weight=\"bold\" />\n One or more requests require approval.\n </strong>\n <div class=\"approveContainer\">\n <button\n type=\"button\"\n class=\"actionButton rejectButton\"\n @click=\"emit('reject')\">\n Reject\n </button>\n <button\n type=\"button\"\n class=\"actionButton approveButton\"\n @click=\"emit('approve')\">\n Approve\n </button>\n </div>\n </div>\n</template>\n\n<style scoped>\n.approvalSection {\n width: 100%;\n margin-bottom: -16px;\n padding: 8px 8px 24px 12px;\n\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 95%\n );\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl) var(--scalar-radius-3xl) 0 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: absolute;\n top: 0;\n transform: translate3d(0, calc(-100% + 16px), 0);\n}\n\n.approvalText {\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n}\n\n.approveContainer {\n display: flex;\n gap: 5px;\n}\n\n.actionButton {\n display: flex;\n align-items: center;\n font-weight: var(--scalar-semibold);\n border-radius: var(--scalar-radius-full);\n padding: 6px 12px;\n font-size: var(--scalar-font-size-3);\n}\n\n.rejectButton {\n color: white;\n background: var(--scalar-color-red);\n}\n.rejectButton:hover,\n.rejectButton:active {\n background: color-mix(\n in srgb,\n var(--scalar-color-red),\n var(--scalar-background-1) 10%\n );\n color: white !important;\n}\n\n.approveButton {\n color: white;\n background: var(--scalar-color-blue);\n}\n.approveButton:hover,\n.approveButton:active {\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 10%\n );\n color: white !important;\n}\n</style>\n"],"mappings":";;;;;;;;;;EAGA,MAAM,OAAO;;uBAOX,mBAqBM,OArBN,YAqBM,CApBJ,mBAKS,UALT,YAKS,CAJP,YAEkB,MAAA,
|
|
1
|
+
{"version":3,"file":"ApprovalSection.vue.script.js","names":[],"sources":["../../src/components/ApprovalSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconInfo } from '@scalar/icons'\n\nconst emit = defineEmits<{\n (e: 'approve'): void\n (e: 'reject'): void\n}>()\n</script>\n\n<template>\n <div class=\"approvalSection\">\n <strong class=\"approvalText flex items-center gap-1.5\">\n <ScalarIconInfo\n class=\"text-blue size-4\"\n weight=\"bold\" />\n One or more requests require approval.\n </strong>\n <div class=\"approveContainer\">\n <button\n type=\"button\"\n class=\"actionButton rejectButton\"\n @click=\"emit('reject')\">\n Reject\n </button>\n <button\n type=\"button\"\n class=\"actionButton approveButton\"\n @click=\"emit('approve')\">\n Approve\n </button>\n </div>\n </div>\n</template>\n\n<style scoped>\n.approvalSection {\n width: 100%;\n margin-bottom: -16px;\n padding: 8px 8px 24px 12px;\n\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 95%\n );\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl) var(--scalar-radius-3xl) 0 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: absolute;\n top: 0;\n transform: translate3d(0, calc(-100% + 16px), 0);\n}\n\n.approvalText {\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n}\n\n.approveContainer {\n display: flex;\n gap: 5px;\n}\n\n.actionButton {\n display: flex;\n align-items: center;\n font-weight: var(--scalar-semibold);\n border-radius: var(--scalar-radius-full);\n padding: 6px 12px;\n font-size: var(--scalar-font-size-3);\n}\n\n.rejectButton {\n color: white;\n background: var(--scalar-color-red);\n}\n.rejectButton:hover,\n.rejectButton:active {\n background: color-mix(\n in srgb,\n var(--scalar-color-red),\n var(--scalar-background-1) 10%\n );\n color: white !important;\n}\n\n.approveButton {\n color: white;\n background: var(--scalar-color-blue);\n}\n.approveButton:hover,\n.approveButton:active {\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 10%\n );\n color: white !important;\n}\n</style>\n"],"mappings":";;;;;;;;;;EAGA,MAAM,OAAO;;uBAOX,mBAqBM,OArBN,YAqBM,CApBJ,mBAKS,UALT,YAKS,CAJP,YAEkB,MAAA,cAAA,GAAA;IADhB,OAAM;IACN,QAAO;iDAAS,4CAEpB,EAAA,EAAA,CAAA,GACA,mBAaM,OAbN,YAaM,CAZJ,mBAKS,UAAA;IAJP,MAAK;IACL,OAAM;IACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,QAAA;MAAY,UAE1B,GACA,mBAKS,UAAA;IAJP,MAAK;IACL,OAAM;IACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,SAAA;MAAa,WAE3B,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -7,7 +7,7 @@ var _hoisted_1 = { class: "authenticationProvided" };
|
|
|
7
7
|
function _sfc_render(_ctx, _cache) {
|
|
8
8
|
return openBlock(), createElementBlock("div", _hoisted_1, [..._cache[0] || (_cache[0] = [createStaticVNode("<svg fill=\"none\" height=\"16\" viewBox=\"0 0 16 16\" width=\"16\" xmlns=\"http://www.w3.org/2000/svg\" data-v-e3416cd5><rect height=\"14.25\" rx=\"7.125\" width=\"14.25\" x=\"0.875\" y=\"0.875\" data-v-e3416cd5></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-e3416cd5></rect><g clip-path=\"url(#clip0_74_840)\" data-v-e3416cd5><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-e3416cd5></path></g><defs data-v-e3416cd5><clipPath id=\"clip0_74_840\" data-v-e3416cd5><rect height=\"8\" rx=\"4\" width=\"8\" x=\"4\" y=\"4\" data-v-e3416cd5></rect></clipPath></defs></svg> Authorized ", 2)])]);
|
|
9
9
|
}
|
|
10
|
-
var AuthenticationProvided_default =
|
|
10
|
+
var AuthenticationProvided_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-e3416cd5"]]);
|
|
11
11
|
//#endregion
|
|
12
12
|
export { AuthenticationProvided_default as default };
|
|
13
13
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationProvided.vue.js","names":[],"sources":["../../src/components/AuthenticationProvided.vue"],"sourcesContent":["<template>\n <div class=\"authenticationProvided\">\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 Authorized\n </div>\n</template>\n\n<style scoped>\n.authenticationProvided {\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: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,
|
|
1
|
+
{"version":3,"file":"AuthenticationProvided.vue.js","names":[],"sources":["../../src/components/AuthenticationProvided.vue"],"sourcesContent":["<template>\n <div class=\"authenticationProvided\">\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 Authorized\n </div>\n</template>\n\n<style scoped>\n.authenticationProvided {\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: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,yBAAwB;;qBAAnC,mBAsCM,OAtCN,YAsCM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAAA,kBAAA,izCAAA,CAAA,CAAA,EAAA,CAAA"}
|
|
@@ -7,7 +7,7 @@ var _hoisted_1 = { class: "authenticationRequired" };
|
|
|
7
7
|
function _sfc_render(_ctx, _cache) {
|
|
8
8
|
return openBlock(), createElementBlock("div", _hoisted_1, [..._cache[0] || (_cache[0] = [createStaticVNode("<svg fill=\"none\" height=\"16\" viewBox=\"0 0 16 16\" width=\"16\" xmlns=\"http://www.w3.org/2000/svg\" data-v-d15ef40b><rect height=\"14.25\" rx=\"7.125\" width=\"14.25\" x=\"0.875\" y=\"0.875\" data-v-d15ef40b></rect><rect height=\"14.25\" rx=\"7.125\" stroke=\"currentColor\" stroke-width=\"1.5\" width=\"14.25\" x=\"0.875\" y=\"0.875\" data-v-d15ef40b></rect><g clip-path=\"url(#clip0_74_585)\" data-v-d15ef40b><path d=\"M10.75 5.5V10.5C10.75 10.6326 10.6973 10.7598 10.6036 10.8536C10.5098 10.9473 10.3826 11 10.25 11H9C8.86739 11 8.74021 10.9473 8.64645 10.8536C8.55268 10.7598 8.5 10.6326 8.5 10.5V5.5C8.5 5.36739 8.55268 5.24021 8.64645 5.14645C8.74021 5.05268 8.86739 5 9 5H10.25C10.3826 5 10.5098 5.05268 10.6036 5.14645C10.6973 5.24021 10.75 5.36739 10.75 5.5ZM7 5H5.75C5.61739 5 5.49021 5.05268 5.39645 5.14645C5.30268 5.24021 5.25 5.36739 5.25 5.5V10.5C5.25 10.6326 5.30268 10.7598 5.39645 10.8536C5.49021 10.9473 5.61739 11 5.75 11H7C7.13261 11 7.25979 10.9473 7.35355 10.8536C7.44732 10.7598 7.5 10.6326 7.5 10.5V5.5C7.5 5.36739 7.44732 5.24021 7.35355 5.14645C7.25979 5.05268 7.13261 5 7 5Z\" fill=\"currentColor\" data-v-d15ef40b></path></g><defs data-v-d15ef40b><clipPath id=\"clip0_74_585\" data-v-d15ef40b><rect height=\"8\" rx=\"4\" width=\"8\" x=\"4\" y=\"4\" data-v-d15ef40b></rect></clipPath></defs></svg> Authentication required ", 2)])]);
|
|
9
9
|
}
|
|
10
|
-
var AuthenticationRequired_default =
|
|
10
|
+
var AuthenticationRequired_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-d15ef40b"]]);
|
|
11
11
|
//#endregion
|
|
12
12
|
export { AuthenticationRequired_default as default };
|
|
13
13
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationRequired.vue.js","names":[],"sources":["../../src/components/AuthenticationRequired.vue"],"sourcesContent":["<template>\n <div class=\"authenticationRequired\">\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.5\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <g clip-path=\"url(#clip0_74_585)\">\n <path\n d=\"M10.75 5.5V10.5C10.75 10.6326 10.6973 10.7598 10.6036 10.8536C10.5098 10.9473 10.3826 11 10.25 11H9C8.86739 11 8.74021 10.9473 8.64645 10.8536C8.55268 10.7598 8.5 10.6326 8.5 10.5V5.5C8.5 5.36739 8.55268 5.24021 8.64645 5.14645C8.74021 5.05268 8.86739 5 9 5H10.25C10.3826 5 10.5098 5.05268 10.6036 5.14645C10.6973 5.24021 10.75 5.36739 10.75 5.5ZM7 5H5.75C5.61739 5 5.49021 5.05268 5.39645 5.14645C5.30268 5.24021 5.25 5.36739 5.25 5.5V10.5C5.25 10.6326 5.30268 10.7598 5.39645 10.8536C5.49021 10.9473 5.61739 11 5.75 11H7C7.13261 11 7.25979 10.9473 7.35355 10.8536C7.44732 10.7598 7.5 10.6326 7.5 10.5V5.5C7.5 5.36739 7.44732 5.24021 7.35355 5.14645C7.25979 5.05268 7.13261 5 7 5Z\"\n fill=\"currentColor\" />\n </g>\n <defs>\n <clipPath id=\"clip0_74_585\">\n <rect\n height=\"8\"\n rx=\"4\"\n width=\"8\"\n x=\"4\"\n y=\"4\" />\n </clipPath>\n </defs>\n </svg>\n Authentication required\n </div>\n</template>\n\n<style scoped>\n.authenticationRequired {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-blue);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,
|
|
1
|
+
{"version":3,"file":"AuthenticationRequired.vue.js","names":[],"sources":["../../src/components/AuthenticationRequired.vue"],"sourcesContent":["<template>\n <div class=\"authenticationRequired\">\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.5\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <g clip-path=\"url(#clip0_74_585)\">\n <path\n d=\"M10.75 5.5V10.5C10.75 10.6326 10.6973 10.7598 10.6036 10.8536C10.5098 10.9473 10.3826 11 10.25 11H9C8.86739 11 8.74021 10.9473 8.64645 10.8536C8.55268 10.7598 8.5 10.6326 8.5 10.5V5.5C8.5 5.36739 8.55268 5.24021 8.64645 5.14645C8.74021 5.05268 8.86739 5 9 5H10.25C10.3826 5 10.5098 5.05268 10.6036 5.14645C10.6973 5.24021 10.75 5.36739 10.75 5.5ZM7 5H5.75C5.61739 5 5.49021 5.05268 5.39645 5.14645C5.30268 5.24021 5.25 5.36739 5.25 5.5V10.5C5.25 10.6326 5.30268 10.7598 5.39645 10.8536C5.49021 10.9473 5.61739 11 5.75 11H7C7.13261 11 7.25979 10.9473 7.35355 10.8536C7.44732 10.7598 7.5 10.6326 7.5 10.5V5.5C7.5 5.36739 7.44732 5.24021 7.35355 5.14645C7.25979 5.05268 7.13261 5 7 5Z\"\n fill=\"currentColor\" />\n </g>\n <defs>\n <clipPath id=\"clip0_74_585\">\n <rect\n height=\"8\"\n rx=\"4\"\n width=\"8\"\n x=\"4\"\n y=\"4\" />\n </clipPath>\n </defs>\n </svg>\n Authentication required\n </div>\n</template>\n\n<style scoped>\n.authenticationRequired {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-blue);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,yBAAwB;;qBAAnC,mBAsCM,OAtCN,YAsCM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAAA,kBAAA,+0CAAA,CAAA,CAAA,EAAA,CAAA"}
|
|
@@ -7,7 +7,7 @@ var _hoisted_1 = { class: "autosendPaused" };
|
|
|
7
7
|
function _sfc_render(_ctx, _cache) {
|
|
8
8
|
return openBlock(), createElementBlock("div", _hoisted_1, [..._cache[0] || (_cache[0] = [createStaticVNode("<svg fill=\"none\" height=\"16\" viewBox=\"0 0 16 16\" width=\"16\" xmlns=\"http://www.w3.org/2000/svg\" data-v-d08225db><rect height=\"14.25\" rx=\"7.125\" width=\"14.25\" x=\"0.875\" y=\"0.875\" data-v-d08225db></rect><rect height=\"14.25\" rx=\"7.125\" stroke=\"currentColor\" stroke-width=\"1.5\" width=\"14.25\" x=\"0.875\" y=\"0.875\" data-v-d08225db></rect><g clip-path=\"url(#clip0_74_585)\" data-v-d08225db><path d=\"M10.75 5.5V10.5C10.75 10.6326 10.6973 10.7598 10.6036 10.8536C10.5098 10.9473 10.3826 11 10.25 11H9C8.86739 11 8.74021 10.9473 8.64645 10.8536C8.55268 10.7598 8.5 10.6326 8.5 10.5V5.5C8.5 5.36739 8.55268 5.24021 8.64645 5.14645C8.74021 5.05268 8.86739 5 9 5H10.25C10.3826 5 10.5098 5.05268 10.6036 5.14645C10.6973 5.24021 10.75 5.36739 10.75 5.5ZM7 5H5.75C5.61739 5 5.49021 5.05268 5.39645 5.14645C5.30268 5.24021 5.25 5.36739 5.25 5.5V10.5C5.25 10.6326 5.30268 10.7598 5.39645 10.8536C5.49021 10.9473 5.61739 11 5.75 11H7C7.13261 11 7.25979 10.9473 7.35355 10.8536C7.44732 10.7598 7.5 10.6326 7.5 10.5V5.5C7.5 5.36739 7.44732 5.24021 7.35355 5.14645C7.25979 5.05268 7.13261 5 7 5Z\" fill=\"currentColor\" data-v-d08225db></path></g><defs data-v-d08225db><clipPath id=\"clip0_74_585\" data-v-d08225db><rect height=\"8\" rx=\"4\" width=\"8\" x=\"4\" y=\"4\" data-v-d08225db></rect></clipPath></defs></svg> Accept Request to Continue ", 2)])]);
|
|
9
9
|
}
|
|
10
|
-
var AutosendPaused_default =
|
|
10
|
+
var AutosendPaused_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-d08225db"]]);
|
|
11
11
|
//#endregion
|
|
12
12
|
export { AutosendPaused_default as default };
|
|
13
13
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutosendPaused.vue.js","names":[],"sources":["../../src/components/AutosendPaused.vue"],"sourcesContent":["<template>\n <div class=\"autosendPaused\">\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.5\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <g clip-path=\"url(#clip0_74_585)\">\n <path\n d=\"M10.75 5.5V10.5C10.75 10.6326 10.6973 10.7598 10.6036 10.8536C10.5098 10.9473 10.3826 11 10.25 11H9C8.86739 11 8.74021 10.9473 8.64645 10.8536C8.55268 10.7598 8.5 10.6326 8.5 10.5V5.5C8.5 5.36739 8.55268 5.24021 8.64645 5.14645C8.74021 5.05268 8.86739 5 9 5H10.25C10.3826 5 10.5098 5.05268 10.6036 5.14645C10.6973 5.24021 10.75 5.36739 10.75 5.5ZM7 5H5.75C5.61739 5 5.49021 5.05268 5.39645 5.14645C5.30268 5.24021 5.25 5.36739 5.25 5.5V10.5C5.25 10.6326 5.30268 10.7598 5.39645 10.8536C5.49021 10.9473 5.61739 11 5.75 11H7C7.13261 11 7.25979 10.9473 7.35355 10.8536C7.44732 10.7598 7.5 10.6326 7.5 10.5V5.5C7.5 5.36739 7.44732 5.24021 7.35355 5.14645C7.25979 5.05268 7.13261 5 7 5Z\"\n fill=\"currentColor\" />\n </g>\n <defs>\n <clipPath id=\"clip0_74_585\">\n <rect\n height=\"8\"\n rx=\"4\"\n width=\"8\"\n x=\"4\"\n y=\"4\" />\n </clipPath>\n </defs>\n </svg>\n Accept Request to Continue\n </div>\n</template>\n\n<style scoped>\n.autosendPaused {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-blue);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,
|
|
1
|
+
{"version":3,"file":"AutosendPaused.vue.js","names":[],"sources":["../../src/components/AutosendPaused.vue"],"sourcesContent":["<template>\n <div class=\"autosendPaused\">\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.5\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <g clip-path=\"url(#clip0_74_585)\">\n <path\n d=\"M10.75 5.5V10.5C10.75 10.6326 10.6973 10.7598 10.6036 10.8536C10.5098 10.9473 10.3826 11 10.25 11H9C8.86739 11 8.74021 10.9473 8.64645 10.8536C8.55268 10.7598 8.5 10.6326 8.5 10.5V5.5C8.5 5.36739 8.55268 5.24021 8.64645 5.14645C8.74021 5.05268 8.86739 5 9 5H10.25C10.3826 5 10.5098 5.05268 10.6036 5.14645C10.6973 5.24021 10.75 5.36739 10.75 5.5ZM7 5H5.75C5.61739 5 5.49021 5.05268 5.39645 5.14645C5.30268 5.24021 5.25 5.36739 5.25 5.5V10.5C5.25 10.6326 5.30268 10.7598 5.39645 10.8536C5.49021 10.9473 5.61739 11 5.75 11H7C7.13261 11 7.25979 10.9473 7.35355 10.8536C7.44732 10.7598 7.5 10.6326 7.5 10.5V5.5C7.5 5.36739 7.44732 5.24021 7.35355 5.14645C7.25979 5.05268 7.13261 5 7 5Z\"\n fill=\"currentColor\" />\n </g>\n <defs>\n <clipPath id=\"clip0_74_585\">\n <rect\n height=\"8\"\n rx=\"4\"\n width=\"8\"\n x=\"4\"\n y=\"4\" />\n </clipPath>\n </defs>\n </svg>\n Accept Request to Continue\n </div>\n</template>\n\n<style scoped>\n.autosendPaused {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-blue);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,iBAAgB;;qBAA3B,mBAsCM,OAtCN,YAsCM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAAA,kBAAA,k1CAAA,CAAA,CAAA,EAAA,CAAA"}
|
|
@@ -13,7 +13,7 @@ function _sfc_render(_ctx, _cache) {
|
|
|
13
13
|
xmlns: "http://www.w3.org/2000/svg"
|
|
14
14
|
}, [createElementVNode("path", { d: "M240,128a15.74,15.74,0,0,1-7.6,13.51L88.32,229.65a16,16,0,0,1-16.2.3A15.86,15.86,0,0,1,64,216.13V39.87a15.86,15.86,0,0,1,8.12-13.82,16,16,0,0,1,16.2.3L232.4,114.49A15.74,15.74,0,0,1,240,128Z" })])], -1), createTextVNode(" Building Request... ", -1)])]);
|
|
15
15
|
}
|
|
16
|
-
var BuildingRequest_default =
|
|
16
|
+
var BuildingRequest_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-5a1d2b16"]]);
|
|
17
17
|
//#endregion
|
|
18
18
|
export { BuildingRequest_default as default };
|
|
19
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildingRequest.vue.js","names":[],"sources":["../../src/components/BuildingRequest.vue"],"sourcesContent":["<template>\n <div class=\"buildingRequest\">\n <div class=\"playIcon\">\n <svg\n fill=\"currentColor\"\n height=\"32\"\n viewBox=\"0 0 256 256\"\n width=\"32\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M240,128a15.74,15.74,0,0,1-7.6,13.51L88.32,229.65a16,16,0,0,1-16.2.3A15.86,15.86,0,0,1,64,216.13V39.87a15.86,15.86,0,0,1,8.12-13.82,16,16,0,0,1,16.2.3L232.4,114.49A15.74,15.74,0,0,1,240,128Z\"></path>\n </svg>\n </div>\n Building Request...\n </div>\n</template>\n\n<style scoped>\n.playIcon {\n padding: 4px;\n height: 16px;\n width: 16px;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n background: var(--scalar-background-1);\n border-radius: var(--scalar-radius-full);\n}\n\n.playIcon::before {\n content: '';\n width: 16px;\n height: 16px;\n display: inline-block;\n box-sizing: border-box;\n position: absolute;\n border-width: 1.75px;\n border-style: solid;\n border-color: currentcolor currentcolor transparent;\n border-image: initial;\n border-radius: var(--scalar-radius-full);\n background: var(--scalar-background-1);\n animation: 0.42s linear 0s infinite normal none running rotation;\n}\n\n.buildingRequest {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-blue);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n\n.buildingRequest svg {\n width: 100%;\n height: 100%;\n z-index: 1;\n border-radius: var(--scalar-radius-full);\n}\n\n@keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,
|
|
1
|
+
{"version":3,"file":"BuildingRequest.vue.js","names":[],"sources":["../../src/components/BuildingRequest.vue"],"sourcesContent":["<template>\n <div class=\"buildingRequest\">\n <div class=\"playIcon\">\n <svg\n fill=\"currentColor\"\n height=\"32\"\n viewBox=\"0 0 256 256\"\n width=\"32\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M240,128a15.74,15.74,0,0,1-7.6,13.51L88.32,229.65a16,16,0,0,1-16.2.3A15.86,15.86,0,0,1,64,216.13V39.87a15.86,15.86,0,0,1,8.12-13.82,16,16,0,0,1,16.2.3L232.4,114.49A15.74,15.74,0,0,1,240,128Z\"></path>\n </svg>\n </div>\n Building Request...\n </div>\n</template>\n\n<style scoped>\n.playIcon {\n padding: 4px;\n height: 16px;\n width: 16px;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n background: var(--scalar-background-1);\n border-radius: var(--scalar-radius-full);\n}\n\n.playIcon::before {\n content: '';\n width: 16px;\n height: 16px;\n display: inline-block;\n box-sizing: border-box;\n position: absolute;\n border-width: 1.75px;\n border-style: solid;\n border-color: currentcolor currentcolor transparent;\n border-image: initial;\n border-radius: var(--scalar-radius-full);\n background: var(--scalar-background-1);\n animation: 0.42s linear 0s infinite normal none running rotation;\n}\n\n.buildingRequest {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-blue);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n\n.buildingRequest svg {\n width: 100%;\n height: 100%;\n z-index: 1;\n border-radius: var(--scalar-radius-full);\n}\n\n@keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,kBAAiB;;qBAA5B,mBAaM,OAbN,YAaM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAZJ,mBAUM,OAAA,EAVD,OAAM,WAAU,GAAA,CACnB,mBAQM,OAAA;EAPJ,MAAK;EACL,QAAO;EACP,SAAQ;EACR,OAAM;EACN,OAAM;KACN,mBAC4M,QAAA,EAA1M,GAAE,iMAAgM,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,GAAA,gBAElM,yBAER,EAAA,CAAA,EAAA,CAAA"}
|
|
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-he
|
|
|
2
2
|
import ContextItem_vue_vue_type_script_setup_true_lang_default from "./ContextItem.vue.script.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/components/ContextItem.vue
|
|
5
|
-
var ContextItem_default =
|
|
5
|
+
var ContextItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(ContextItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0509fef2"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { ContextItem_default as default };
|
|
8
8
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, renderSlot } from "vue";
|
|
2
2
|
//#region src/components/ContextItem.vue?vue&type=script&setup=true&lang.ts
|
|
3
3
|
var _hoisted_1 = { class: "contextItemText" };
|
|
4
|
-
var ContextItem_vue_vue_type_script_setup_true_lang_default =
|
|
4
|
+
var ContextItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
5
5
|
__name: "ContextItem",
|
|
6
6
|
props: { loading: { type: Boolean } },
|
|
7
7
|
setup(__props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextItem.vue.script.js","names":[],"sources":["../../src/components/ContextItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nconst { loading } = defineProps<{ loading: boolean }>()\n</script>\n\n<template>\n <div\n class=\"contextItem\"\n :class=\"{\n shimmer: loading,\n }\">\n <span class=\"contextItemText\">\n <slot />\n </span>\n </div>\n</template>\n\n<style scoped>\n.contextItem {\n white-space: nowrap;\n font-size: 10px;\n display: inline-block;\n color: var(--scalar-color-2);\n cursor: pointer;\n vertical-align: middle;\n padding: 1px 8px;\n border-radius: var(--scalar-radius-2xl);\n padding: 5px 10px;\n display: flex;\n align-items: center;\n background: color-mix(\n in srgb,\n var(--scalar-background-2),\n var(--scalar-background-1)\n );\n max-width: 200px;\n}\n\n.contextItemText {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.shimmer {\n background: var(--scalar-background-2);\n background-image: linear-gradient(\n 90deg,\n #202020 0%,\n var(--scalar-background-2) 40%,\n var(--scalar-background-3) 80%\n );\n background-size: 200% 100%;\n animation: shimmer 1.4s ease-in-out infinite;\n}\n\n.light-mode .shimmer {\n background: var(--scalar-background-2);\n background-image: linear-gradient(\n 90deg,\n #fafafa 0%,\n var(--scalar-background-2) 40%,\n var(--scalar-background-3) 80%\n );\n background-size: 200% 100%;\n animation: shimmer 1.4s ease-in-out infinite;\n}\n\n@keyframes shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n}\n</style>\n"],"mappings":";;;;;;;;uBAKE,mBAQM,OAAA,EAPJ,OAAK,eAAA,CAAC,eAAa,EAAA,SACM,QAAA,
|
|
1
|
+
{"version":3,"file":"ContextItem.vue.script.js","names":[],"sources":["../../src/components/ContextItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nconst { loading } = defineProps<{ loading: boolean }>()\n</script>\n\n<template>\n <div\n class=\"contextItem\"\n :class=\"{\n shimmer: loading,\n }\">\n <span class=\"contextItemText\">\n <slot />\n </span>\n </div>\n</template>\n\n<style scoped>\n.contextItem {\n white-space: nowrap;\n font-size: 10px;\n display: inline-block;\n color: var(--scalar-color-2);\n cursor: pointer;\n vertical-align: middle;\n padding: 1px 8px;\n border-radius: var(--scalar-radius-2xl);\n padding: 5px 10px;\n display: flex;\n align-items: center;\n background: color-mix(\n in srgb,\n var(--scalar-background-2),\n var(--scalar-background-1)\n );\n max-width: 200px;\n}\n\n.contextItemText {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.shimmer {\n background: var(--scalar-background-2);\n background-image: linear-gradient(\n 90deg,\n #202020 0%,\n var(--scalar-background-2) 40%,\n var(--scalar-background-3) 80%\n );\n background-size: 200% 100%;\n animation: shimmer 1.4s ease-in-out infinite;\n}\n\n.light-mode .shimmer {\n background: var(--scalar-background-2);\n background-image: linear-gradient(\n 90deg,\n #fafafa 0%,\n var(--scalar-background-2) 40%,\n var(--scalar-background-3) 80%\n );\n background-size: 200% 100%;\n animation: shimmer 1.4s ease-in-out infinite;\n}\n\n@keyframes shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n}\n</style>\n"],"mappings":";;;;;;;;uBAKE,mBAQM,OAAA,EAPJ,OAAK,eAAA,CAAC,eAAa,EAAA,SACM,QAAA,QAAA,CAAA,CAAA,EAAA,GAAA,CAGzB,mBAEO,QAFP,YAEO,CADL,WAAQ,KAAA,QAAA,WAAA,CAAA,GAAA,KAAA,GAAA,IAAA,CAAA,CAAA,CAAA,GAAA,CAAA"}
|
|
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-he
|
|
|
2
2
|
import ErrorMessage_vue_vue_type_script_setup_true_lang_default from "./ErrorMessage.vue.script.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/components/ErrorMessage.vue
|
|
5
|
-
var ErrorMessage_default =
|
|
5
|
+
var ErrorMessage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(ErrorMessage_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-130cb1d5"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { ErrorMessage_default as default };
|
|
8
8
|
|
|
@@ -6,7 +6,7 @@ var _hoisted_1 = {
|
|
|
6
6
|
key: 0,
|
|
7
7
|
class: "error gap-1.5"
|
|
8
8
|
};
|
|
9
|
-
var ErrorMessage_vue_vue_type_script_setup_true_lang_default =
|
|
9
|
+
var ErrorMessage_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
10
10
|
__name: "ErrorMessage",
|
|
11
11
|
props: { error: {} },
|
|
12
12
|
setup(__props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorMessage.vue.script.js","names":[],"sources":["../../src/components/ErrorMessage.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconInfo } from '@scalar/icons'\n\nimport { AgentErrorCodes } from '@/entities/error/constants'\nimport { type ChatError } from '@/hooks/use-chat-error'\n\nconst { error } = defineProps<{ error: ChatError }>()\n\nconst HIDDEN_ERROR_CODES: string[] = [AgentErrorCodes.LIMIT_REACHED]\n</script>\n\n<template>\n <div\n v-if=\"!HIDDEN_ERROR_CODES.includes(error.code)\"\n class=\"error gap-1.5\">\n <ScalarIconInfo\n class=\"text-red size-4\"\n weight=\"bold\" />\n {{ error.message }}\n </div>\n</template>\n\n<style scoped>\n.error {\n display: flex;\n align-items: center;\n margin-bottom: -16px;\n padding: 8px 8px 24px 12px;\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl) var(--scalar-radius-3xl) 0 0;\n background: color-mix(\n in srgb,\n var(--scalar-color-red),\n var(--scalar-background-1) 95%\n );\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n position: absolute;\n top: 0;\n transform: translate3d(0, calc(-100% + 16px), 0);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;EAQA,MAAM,qBAA+B,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ErrorMessage.vue.script.js","names":[],"sources":["../../src/components/ErrorMessage.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconInfo } from '@scalar/icons'\n\nimport { AgentErrorCodes } from '@/entities/error/constants'\nimport { type ChatError } from '@/hooks/use-chat-error'\n\nconst { error } = defineProps<{ error: ChatError }>()\n\nconst HIDDEN_ERROR_CODES: string[] = [AgentErrorCodes.LIMIT_REACHED]\n</script>\n\n<template>\n <div\n v-if=\"!HIDDEN_ERROR_CODES.includes(error.code)\"\n class=\"error gap-1.5\">\n <ScalarIconInfo\n class=\"text-red size-4\"\n weight=\"bold\" />\n {{ error.message }}\n </div>\n</template>\n\n<style scoped>\n.error {\n display: flex;\n align-items: center;\n margin-bottom: -16px;\n padding: 8px 8px 24px 12px;\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl) var(--scalar-radius-3xl) 0 0;\n background: color-mix(\n in srgb,\n var(--scalar-color-red),\n var(--scalar-background-1) 95%\n );\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n position: absolute;\n top: 0;\n transform: translate3d(0, calc(-100% + 16px), 0);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;EAQA,MAAM,qBAA+B,CAAC,gBAAgB,aAAa;;WAKxD,mBAAmB,SAAS,QAAA,MAAM,IAAI,KAAA,UAAA,GAD/C,mBAOM,OAPN,YAOM,CAJJ,YAEkB,MAAA,cAAA,GAAA;IADhB,OAAM;IACN,QAAO;uBAAS,MAClB,gBAAG,QAAA,MAAM,OAAO,GAAA,CAAA,CAAA,CAAA,KAAA,mBAAA,IAAA,IAAA"}
|
|
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-he
|
|
|
2
2
|
import FreeMessagesInfoSection_vue_vue_type_script_setup_true_lang_default from "./FreeMessagesInfoSection.vue.script.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/components/FreeMessagesInfoSection.vue
|
|
5
|
-
var FreeMessagesInfoSection_default =
|
|
5
|
+
var FreeMessagesInfoSection_default = /*#__PURE__*/ _plugin_vue_export_helper_default(FreeMessagesInfoSection_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-1921dede"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { FreeMessagesInfoSection_default as default };
|
|
8
8
|
|
|
@@ -8,7 +8,7 @@ var _hoisted_2 = { class: "infoText flex items-center gap-1.5" };
|
|
|
8
8
|
var _hoisted_3 = ["href"];
|
|
9
9
|
var _hoisted_4 = { class: "actionsContainer" };
|
|
10
10
|
var _hoisted_5 = ["href"];
|
|
11
|
-
var FreeMessagesInfoSection_vue_vue_type_script_setup_true_lang_default =
|
|
11
|
+
var FreeMessagesInfoSection_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
12
12
|
__name: "FreeMessagesInfoSection",
|
|
13
13
|
setup(__props) {
|
|
14
14
|
const isDismissed = ref(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FreeMessagesInfoSection.vue.script.js","names":[],"sources":["../../src/components/FreeMessagesInfoSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconInfo, ScalarIconX } from '@scalar/icons'\nimport { ref } from 'vue'\n\nimport { URLS } from '@/consts/urls'\nimport { useSignupLink } from '@/hooks/use-signup-link'\n\nconst isDismissed = ref(false)\nconst { signupLink } = useSignupLink()\n\n/**\n * Dismiss the free messages info section.\n */\nfunction dismiss() {\n isDismissed.value = true\n}\n</script>\n\n<template>\n <div\n v-show=\"!isDismissed\"\n class=\"freeMessagesInfoSection\">\n <strong class=\"infoText flex items-center gap-1.5\">\n <!-- Sign up -->\n <ScalarIconInfo\n class=\"text-blue size-4\"\n weight=\"bold\" />\n <a\n class=\"underline\"\n :href=\"signupLink\"\n target=\"_blank\"\n >Sign up for Agent Scalar</a\n >\n to continue without hitting limits.\n </strong>\n <div class=\"actionsContainer\">\n <a\n class=\"actionButton upgradeButton\"\n :href=\"URLS.AGENT_SCALAR_DOCUMENTATION\"\n target=\"_blank\"\n type=\"button\">\n Read more\n </a>\n <button\n aria-label=\"Close\"\n class=\"closeButton\"\n type=\"button\"\n @click=\"dismiss\">\n <ScalarIconX\n class=\"size-4\"\n weight=\"bold\" />\n </button>\n </div>\n </div>\n</template>\n\n<style scoped>\n.freeMessagesInfoSection {\n width: 100%;\n margin-bottom: -16px;\n padding: 8px 8px 24px 12px;\n position: relative;\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 95%\n );\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl) var(--scalar-radius-3xl) 0 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.infoText {\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n}\n\n.actionsContainer {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.actionButton {\n display: flex;\n align-items: center;\n font-weight: var(--scalar-semibold);\n border-radius: var(--scalar-radius-full);\n padding: 6px 12px;\n}\n\n.upgradeButton {\n color: white;\n font-size: var(--scalar-font-size-3);\n background: var(--scalar-color-blue);\n}\n.upgradeButton:hover,\n.upgradeButton:active {\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 10%\n );\n color: white !important;\n}\n\n.closeButton {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: var(--scalar-radius-full);\n color: var(--scalar-color-2);\n background: transparent;\n border: none;\n cursor: pointer;\n}\n.closeButton:hover {\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 80%\n );\n color: var(--scalar-color-1);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;EAOA,MAAM,cAAc,IAAI,
|
|
1
|
+
{"version":3,"file":"FreeMessagesInfoSection.vue.script.js","names":[],"sources":["../../src/components/FreeMessagesInfoSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconInfo, ScalarIconX } from '@scalar/icons'\nimport { ref } from 'vue'\n\nimport { URLS } from '@/consts/urls'\nimport { useSignupLink } from '@/hooks/use-signup-link'\n\nconst isDismissed = ref(false)\nconst { signupLink } = useSignupLink()\n\n/**\n * Dismiss the free messages info section.\n */\nfunction dismiss() {\n isDismissed.value = true\n}\n</script>\n\n<template>\n <div\n v-show=\"!isDismissed\"\n class=\"freeMessagesInfoSection\">\n <strong class=\"infoText flex items-center gap-1.5\">\n <!-- Sign up -->\n <ScalarIconInfo\n class=\"text-blue size-4\"\n weight=\"bold\" />\n <a\n class=\"underline\"\n :href=\"signupLink\"\n target=\"_blank\"\n >Sign up for Agent Scalar</a\n >\n to continue without hitting limits.\n </strong>\n <div class=\"actionsContainer\">\n <a\n class=\"actionButton upgradeButton\"\n :href=\"URLS.AGENT_SCALAR_DOCUMENTATION\"\n target=\"_blank\"\n type=\"button\">\n Read more\n </a>\n <button\n aria-label=\"Close\"\n class=\"closeButton\"\n type=\"button\"\n @click=\"dismiss\">\n <ScalarIconX\n class=\"size-4\"\n weight=\"bold\" />\n </button>\n </div>\n </div>\n</template>\n\n<style scoped>\n.freeMessagesInfoSection {\n width: 100%;\n margin-bottom: -16px;\n padding: 8px 8px 24px 12px;\n position: relative;\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 95%\n );\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl) var(--scalar-radius-3xl) 0 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.infoText {\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n}\n\n.actionsContainer {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.actionButton {\n display: flex;\n align-items: center;\n font-weight: var(--scalar-semibold);\n border-radius: var(--scalar-radius-full);\n padding: 6px 12px;\n}\n\n.upgradeButton {\n color: white;\n font-size: var(--scalar-font-size-3);\n background: var(--scalar-color-blue);\n}\n.upgradeButton:hover,\n.upgradeButton:active {\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 10%\n );\n color: white !important;\n}\n\n.closeButton {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: var(--scalar-radius-full);\n color: var(--scalar-color-2);\n background: transparent;\n border: none;\n cursor: pointer;\n}\n.closeButton:hover {\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 80%\n );\n color: var(--scalar-color-1);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;EAOA,MAAM,cAAc,IAAI,KAAK;EAC7B,MAAM,EAAE,eAAe,cAAc;;;;EAKrC,SAAS,UAAU;GACjB,YAAY,QAAQ;EACtB;;uCAIE,mBAkCM,OAlCN,YAkCM,CA/BJ,mBAYS,UAZT,YAYS;IAVP,YAEkB,MAAA,cAAA,GAAA;KADhB,OAAM;KACN,QAAO;;IACT,mBAKC,KAAA;KAJC,OAAM;KACL,MAAM,MAAA,UAAA;KACP,QAAO;OACN,4BAAwB,GAAA,UAAA;8CAC1B,yCAEH,EAAA;OACA,mBAiBM,OAjBN,YAiBM,CAhBJ,mBAMI,KAAA;IALF,OAAM;IACL,MAAM,MAAA,IAAA,CAAI,CAAC;IACZ,QAAO;IACP,MAAK;MAAS,eAEhB,GAAA,UAAA,GACA,mBAQS,UAAA;IAPP,cAAW;IACX,OAAM;IACN,MAAK;IACJ,SAAO;OACR,YAEkB,MAAA,WAAA,GAAA;IADhB,OAAM;IACN,QAAO;6BA9BJ,YAAA,KAAW,CAAA,CAAA"}
|
|
@@ -7,7 +7,7 @@ var _hoisted_1 = { class: "loadingApiSpecs" };
|
|
|
7
7
|
function _sfc_render(_ctx, _cache) {
|
|
8
8
|
return openBlock(), createElementBlock("div", _hoisted_1, [..._cache[0] || (_cache[0] = [createElementVNode("div", { class: "playIcon" }, null, -1), createTextVNode(" Loading APIs... ", -1)])]);
|
|
9
9
|
}
|
|
10
|
-
var LoadingOpenAPISpecsSummary_default =
|
|
10
|
+
var LoadingOpenAPISpecsSummary_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-0248d9dc"]]);
|
|
11
11
|
//#endregion
|
|
12
12
|
export { LoadingOpenAPISpecsSummary_default as default };
|
|
13
13
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingOpenAPISpecsSummary.vue.js","names":[],"sources":["../../src/components/LoadingOpenAPISpecsSummary.vue"],"sourcesContent":["<template>\n <div class=\"loadingApiSpecs\">\n <div class=\"playIcon\"></div>\n Loading APIs...\n </div>\n</template>\n\n<style scoped>\n.playIcon {\n padding: 4px;\n height: 16px;\n width: 16px;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n background: var(--scalar-background-1);\n border-radius: var(--scalar-radius-full);\n}\n\n.playIcon::before {\n content: '';\n width: 16px;\n height: 16px;\n display: inline-block;\n box-sizing: border-box;\n position: absolute;\n border-width: 1.5px;\n border-style: solid;\n border-color: currentcolor currentcolor transparent;\n border-image: initial;\n border-radius: var(--scalar-radius-full);\n background: var(--scalar-background-1);\n animation: 0.42s linear 0s infinite normal none running rotation;\n}\n\n.loadingApiSpecs {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n margin-bottom: 10px;\n}\n\n.loadingApiSpecs svg {\n width: 100%;\n height: 100%;\n z-index: 1;\n border-radius: var(--scalar-radius-full);\n}\n\n@keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,
|
|
1
|
+
{"version":3,"file":"LoadingOpenAPISpecsSummary.vue.js","names":[],"sources":["../../src/components/LoadingOpenAPISpecsSummary.vue"],"sourcesContent":["<template>\n <div class=\"loadingApiSpecs\">\n <div class=\"playIcon\"></div>\n Loading APIs...\n </div>\n</template>\n\n<style scoped>\n.playIcon {\n padding: 4px;\n height: 16px;\n width: 16px;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n background: var(--scalar-background-1);\n border-radius: var(--scalar-radius-full);\n}\n\n.playIcon::before {\n content: '';\n width: 16px;\n height: 16px;\n display: inline-block;\n box-sizing: border-box;\n position: absolute;\n border-width: 1.5px;\n border-style: solid;\n border-color: currentcolor currentcolor transparent;\n border-image: initial;\n border-radius: var(--scalar-radius-full);\n background: var(--scalar-background-1);\n animation: 0.42s linear 0s infinite normal none running rotation;\n}\n\n.loadingApiSpecs {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n margin-bottom: 10px;\n}\n\n.loadingApiSpecs svg {\n width: 100%;\n height: 100%;\n z-index: 1;\n border-radius: var(--scalar-radius-full);\n}\n\n@keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,kBAAiB;;qBAA5B,mBAGM,OAHN,YAGM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAFJ,mBAA4B,OAAA,EAAvB,OAAM,WAAU,GAAA,MAAA,EAAA,GAAA,gBAAO,qBAE9B,EAAA,CAAA,EAAA,CAAA"}
|
|
@@ -7,7 +7,7 @@ var _hoisted_1 = { class: "sendingRequest" };
|
|
|
7
7
|
function _sfc_render(_ctx, _cache) {
|
|
8
8
|
return openBlock(), createElementBlock("div", _hoisted_1, [..._cache[0] || (_cache[0] = [createElementVNode("div", { class: "playIcon" }, null, -1), createTextVNode(" Retrieving relevant information... ", -1)])]);
|
|
9
9
|
}
|
|
10
|
-
var LoadingSearchOpenAPIOperations_default =
|
|
10
|
+
var LoadingSearchOpenAPIOperations_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-43864661"]]);
|
|
11
11
|
//#endregion
|
|
12
12
|
export { LoadingSearchOpenAPIOperations_default as default };
|
|
13
13
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingSearchOpenAPIOperations.vue.js","names":[],"sources":["../../src/components/LoadingSearchOpenAPIOperations.vue"],"sourcesContent":["<template>\n <div class=\"sendingRequest\">\n <div class=\"playIcon\"></div>\n Retrieving relevant information...\n </div>\n</template>\n\n<style scoped>\n.playIcon {\n padding: 4px;\n height: 16px;\n width: 16px;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n background: var(--scalar-background-1);\n border-radius: var(--scalar-radius-full);\n}\n\n.playIcon::before {\n content: '';\n width: 16px;\n height: 16px;\n display: inline-block;\n box-sizing: border-box;\n position: absolute;\n border-width: 1.5px;\n border-style: solid;\n border-color: currentcolor currentcolor transparent;\n border-image: initial;\n border-radius: var(--scalar-radius-full);\n background: var(--scalar-background-1);\n animation: 0.42s linear 0s infinite normal none running rotation;\n}\n\n.sendingRequest {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n margin-bottom: 10px;\n}\n\n.sendingRequest svg {\n width: 100%;\n height: 100%;\n z-index: 1;\n border-radius: var(--scalar-radius-full);\n}\n\n@keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,
|
|
1
|
+
{"version":3,"file":"LoadingSearchOpenAPIOperations.vue.js","names":[],"sources":["../../src/components/LoadingSearchOpenAPIOperations.vue"],"sourcesContent":["<template>\n <div class=\"sendingRequest\">\n <div class=\"playIcon\"></div>\n Retrieving relevant information...\n </div>\n</template>\n\n<style scoped>\n.playIcon {\n padding: 4px;\n height: 16px;\n width: 16px;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n background: var(--scalar-background-1);\n border-radius: var(--scalar-radius-full);\n}\n\n.playIcon::before {\n content: '';\n width: 16px;\n height: 16px;\n display: inline-block;\n box-sizing: border-box;\n position: absolute;\n border-width: 1.5px;\n border-style: solid;\n border-color: currentcolor currentcolor transparent;\n border-image: initial;\n border-radius: var(--scalar-radius-full);\n background: var(--scalar-background-1);\n animation: 0.42s linear 0s infinite normal none running rotation;\n}\n\n.sendingRequest {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n margin-bottom: 10px;\n}\n\n.sendingRequest svg {\n width: 100%;\n height: 100%;\n z-index: 1;\n border-radius: var(--scalar-radius-full);\n}\n\n@keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,iBAAgB;;qBAA3B,mBAGM,OAHN,YAGM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAFJ,mBAA4B,OAAA,EAAvB,OAAM,WAAU,GAAA,MAAA,EAAA,GAAA,gBAAO,wCAE9B,EAAA,CAAA,EAAA,CAAA"}
|
|
@@ -17,7 +17,7 @@ function _sfc_render(_ctx, _cache) {
|
|
|
17
17
|
"fill-rule": "evenodd"
|
|
18
18
|
}, null, -1)])]);
|
|
19
19
|
}
|
|
20
|
-
var Logo_default =
|
|
20
|
+
var Logo_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render]]);
|
|
21
21
|
//#endregion
|
|
22
22
|
export { Logo_default as default };
|
|
23
23
|
|
|
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-he
|
|
|
2
2
|
import PaymentSection_vue_vue_type_script_setup_true_lang_default from "./PaymentSection.vue.script.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/components/PaymentSection.vue
|
|
5
|
-
var PaymentSection_default =
|
|
5
|
+
var PaymentSection_default = /*#__PURE__*/ _plugin_vue_export_helper_default(PaymentSection_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-9d163ea1"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { PaymentSection_default as default };
|
|
8
8
|
|
|
@@ -5,7 +5,7 @@ import { ScalarIconInfo } from "@scalar/icons";
|
|
|
5
5
|
var _hoisted_1 = { class: "paymentSection" };
|
|
6
6
|
var _hoisted_2 = { class: "approvalText flex items-center gap-1.5" };
|
|
7
7
|
var _hoisted_3 = { class: "paymentContainer" };
|
|
8
|
-
var PaymentSection_vue_vue_type_script_setup_true_lang_default =
|
|
8
|
+
var PaymentSection_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
9
9
|
__name: "PaymentSection",
|
|
10
10
|
setup(__props) {
|
|
11
11
|
const { navigateToSignup } = useSignupLink();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentSection.vue.script.js","names":[],"sources":["../../src/components/PaymentSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconInfo } from '@scalar/icons'\n\nimport { useSignupLink } from '@/hooks/use-signup-link'\n\nconst { navigateToSignup } = useSignupLink()\n</script>\n\n<template>\n <div class=\"paymentSection\">\n <strong class=\"approvalText flex items-center gap-1.5\">\n <ScalarIconInfo\n class=\"text-blue size-4\"\n weight=\"bold\" />\n You've used up your complimentary Scalar Credits. Sign up to get free\n Credits.\n </strong>\n <div class=\"paymentContainer\">\n <button\n class=\"actionButton approveButton\"\n type=\"button\"\n @click=\"navigateToSignup\">\n Sign up\n </button>\n <div class=\"paymentInfo\">\n <h3>$0 <span>/ month</span></h3>\n <div class=\"paymentInfoSection\">\n <div class=\"paymentInfoItem\">\n <span>Credits</span>\n <span>100</span>\n </div>\n <div class=\"paymentInfoItem\">\n <span>MCP Servers</span>\n <span>Unlimited</span>\n </div>\n <div class=\"paymentInfoItem\">\n <span>Base monthly total</span>\n <span>$0.00</span>\n </div>\n </div>\n <div class=\"paymentInfoSection\">\n <div class=\"paymentInfoItem\">\n <span>Additional Credits</span>\n <span>+ $0.02 per Credit</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.paymentSection {\n width: 100%;\n margin-bottom: -16px;\n padding: 8px 8px 24px 12px;\n position: relative;\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 95%\n );\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl) var(--scalar-radius-3xl) 0 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: absolute;\n top: 0;\n transform: translate3d(0, calc(-100% + 16px), 0);\n}\n\n.approvalText {\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n}\n\n.paymentContainer {\n display: flex;\n gap: 5px;\n}\n\n.actionButton {\n display: flex;\n align-items: center;\n font-weight: var(--scalar-semibold);\n border-radius: var(--scalar-radius-full);\n padding: 6px 12px;\n}\n\n.rejectButton {\n color: white;\n background: var(--scalar-color-red);\n}\n.rejectButton:hover,\n.rejectButton:active {\n background: color-mix(\n in srgb,\n var(--scalar-color-red),\n var(--scalar-background-1) 10%\n );\n color: white !important;\n}\n\n.approveButton {\n color: white;\n font-size: var(--scalar-font-size-3);\n background: var(--scalar-color-blue);\n}\n.approveButton:hover,\n.approveButton:active {\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 10%\n );\n color: white !important;\n}\n.paymentInfo {\n width: 300px;\n position: absolute;\n right: 0;\n bottom: 70px;\n box-shadow: var(--scalar-shadow-2);\n background: var(--scalar-background-1);\n border-radius: var(--scalar-radius-3xl);\n pointer-events: none;\n padding: 12px;\n transform: translate3d(0, -5px, 0);\n opacity: 0;\n transition: all 0.2s ease-in-out;\n}\n.paymentInfo h3 {\n font-size: var(--scalar-font-size-1);\n font-weight: var(--scalar-bold);\n margin-bottom: 18px;\n}\n.paymentInfo h3 span {\n font-size: var(--scalar-font-size-2);\n}\n.dark-mode .paymentInfo {\n background: var(--scalar-background-2);\n}\n.paymentContainer:hover .paymentInfo {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n}\n.paymentInfoItem {\n display: flex;\n justify-content: space-between;\n margin-top: 8px;\n font-size: var(--scalar-font-size-3);\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n}\n.paymentInfoSection:not(:last-child) {\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n padding-bottom: 8px;\n}\n</style>\n"],"mappings":";;;;;;;;;;EAKA,MAAM,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"PaymentSection.vue.script.js","names":[],"sources":["../../src/components/PaymentSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconInfo } from '@scalar/icons'\n\nimport { useSignupLink } from '@/hooks/use-signup-link'\n\nconst { navigateToSignup } = useSignupLink()\n</script>\n\n<template>\n <div class=\"paymentSection\">\n <strong class=\"approvalText flex items-center gap-1.5\">\n <ScalarIconInfo\n class=\"text-blue size-4\"\n weight=\"bold\" />\n You've used up your complimentary Scalar Credits. Sign up to get free\n Credits.\n </strong>\n <div class=\"paymentContainer\">\n <button\n class=\"actionButton approveButton\"\n type=\"button\"\n @click=\"navigateToSignup\">\n Sign up\n </button>\n <div class=\"paymentInfo\">\n <h3>$0 <span>/ month</span></h3>\n <div class=\"paymentInfoSection\">\n <div class=\"paymentInfoItem\">\n <span>Credits</span>\n <span>100</span>\n </div>\n <div class=\"paymentInfoItem\">\n <span>MCP Servers</span>\n <span>Unlimited</span>\n </div>\n <div class=\"paymentInfoItem\">\n <span>Base monthly total</span>\n <span>$0.00</span>\n </div>\n </div>\n <div class=\"paymentInfoSection\">\n <div class=\"paymentInfoItem\">\n <span>Additional Credits</span>\n <span>+ $0.02 per Credit</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.paymentSection {\n width: 100%;\n margin-bottom: -16px;\n padding: 8px 8px 24px 12px;\n position: relative;\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 95%\n );\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl) var(--scalar-radius-3xl) 0 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: absolute;\n top: 0;\n transform: translate3d(0, calc(-100% + 16px), 0);\n}\n\n.approvalText {\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n}\n\n.paymentContainer {\n display: flex;\n gap: 5px;\n}\n\n.actionButton {\n display: flex;\n align-items: center;\n font-weight: var(--scalar-semibold);\n border-radius: var(--scalar-radius-full);\n padding: 6px 12px;\n}\n\n.rejectButton {\n color: white;\n background: var(--scalar-color-red);\n}\n.rejectButton:hover,\n.rejectButton:active {\n background: color-mix(\n in srgb,\n var(--scalar-color-red),\n var(--scalar-background-1) 10%\n );\n color: white !important;\n}\n\n.approveButton {\n color: white;\n font-size: var(--scalar-font-size-3);\n background: var(--scalar-color-blue);\n}\n.approveButton:hover,\n.approveButton:active {\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 10%\n );\n color: white !important;\n}\n.paymentInfo {\n width: 300px;\n position: absolute;\n right: 0;\n bottom: 70px;\n box-shadow: var(--scalar-shadow-2);\n background: var(--scalar-background-1);\n border-radius: var(--scalar-radius-3xl);\n pointer-events: none;\n padding: 12px;\n transform: translate3d(0, -5px, 0);\n opacity: 0;\n transition: all 0.2s ease-in-out;\n}\n.paymentInfo h3 {\n font-size: var(--scalar-font-size-1);\n font-weight: var(--scalar-bold);\n margin-bottom: 18px;\n}\n.paymentInfo h3 span {\n font-size: var(--scalar-font-size-2);\n}\n.dark-mode .paymentInfo {\n background: var(--scalar-background-2);\n}\n.paymentContainer:hover .paymentInfo {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n}\n.paymentInfoItem {\n display: flex;\n justify-content: space-between;\n margin-top: 8px;\n font-size: var(--scalar-font-size-3);\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n}\n.paymentInfoSection:not(:last-child) {\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n padding-bottom: 8px;\n}\n</style>\n"],"mappings":";;;;;;;;;;EAKA,MAAM,EAAE,qBAAqB,cAAc;;uBAIzC,mBAuCM,OAvCN,YAuCM,CAtCJ,mBAMS,UANT,YAMS,CALP,YAEkB,MAAA,cAAA,GAAA;IADhB,OAAM;IACN,QAAO;iDAAS,oFAGpB,EAAA,EAAA,CAAA,GACA,mBA8BM,OA9BN,YA8BM,CA7BJ,mBAKS,UAAA;IAJP,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,MAAA,GAAA,SAAE,MAAA,gBAAA,KAAA,MAAA,gBAAA,CAAA,CAAA,GAAA,IAAA;MAAkB,WAE5B,GAAA,OAAA,OAAA,OAAA,KAAA,kBAAA,0vBAAA,CAAA,EAAA,CAAA,CAAA,CAAA"}
|