@scalar/agent-chat 0.12.42 → 0.12.43
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/dist/components/RequestPreview.vue.d.ts.map +1 -1
- package/dist/components/RequestPreview.vue.js +1 -1
- package/dist/components/RequestPreview.vue.js.map +1 -1
- package/dist/components/RequestPreview.vue.script.js.map +1 -1
- package/dist/entities/registry/document.d.ts.map +1 -1
- package/dist/entities/registry/document.js.map +1 -1
- package/dist/entities/tools/ask-for-authentication.d.ts.map +1 -1
- package/dist/entities/tools/ask-for-authentication.js.map +1 -1
- package/dist/entities/tools/execute-request.d.ts +1 -1
- package/dist/entities/tools/execute-request.d.ts.map +1 -1
- package/dist/entities/tools/execute-request.js.map +1 -1
- package/dist/entities/tools/search-openapi-operations.d.ts.map +1 -1
- package/dist/entities/tools/search-openapi-operations.js.map +1 -1
- package/dist/hooks/use-chat-error.d.ts.map +1 -1
- package/dist/hooks/use-chat-error.js.map +1 -1
- package/dist/hooks/use-chat-scroll.d.ts.map +1 -1
- package/dist/hooks/use-chat-scroll.js.map +1 -1
- package/dist/hooks/use-search.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/style.css +80 -81
- package/dist/views/PromptForm.vue.js +1 -1
- package/dist/views/PromptForm.vue.js.map +1 -1
- package/dist/views/PromptForm.vue.script.js.map +1 -1
- package/dist/vue-styles.css +55 -55
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptForm.vue.script.js","names":["$emit"],"sources":["../../src/views/PromptForm.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconButton } from '@scalar/components/icon-button'\nimport { ScalarLoading } from '@scalar/components/loading'\nimport { ScalarTooltip } from '@scalar/components/tooltip'\nimport {\n ScalarIconArrowUp,\n ScalarIconCheck,\n ScalarIconLockSimple,\n ScalarIconPlus,\n ScalarIconX,\n} from '@scalar/icons'\nimport { computed, useTemplateRef, watch } from 'vue'\n\nimport ActionsDropdown from '@/components/ActionsDropdown.vue'\nimport ApprovalSection from '@/components/ApprovalSection.vue'\nimport ErrorMessageMessage from '@/components/ErrorMessage.vue'\nimport FreeMessagesInfoSection from '@/components/FreeMessagesInfoSection.vue'\nimport PaymentSection from '@/components/PaymentSection.vue'\nimport SearchPopover from '@/components/SearchPopover.vue'\nimport UploadSection from '@/components/UploadSection.vue'\nimport { AgentErrorCodes } from '@/entities/error/constants'\nimport { MAX_PROMPT_SIZE } from '@/entities/prompt/constants'\nimport { useRequestApprovals } from '@/hooks/use-chat-approvals'\nimport { useChatError } from '@/hooks/use-chat-error'\nimport { useChatPendingClientToolParts } from '@/hooks/use-chat-pending-client-tool-parts'\nimport { useUploadTmpDocument } from '@/hooks/use-upload-tmp-document'\nimport { useState } from '@/state/state'\n\nconst emit = defineEmits<{\n (e: 'submit'): void\n (e: 'uploadApi'): void\n}>()\n\ndefineExpose({ focusPrompt })\n\nconst promptRef = useTemplateRef<HTMLTextAreaElement>('agentPrompt')\n\nconst state = useState()\n\nconst inputHasContent = computed(() => state.prompt.value.trim().length > 0)\nconst promptTooLarge = computed(\n () => state.prompt.value.trim().length > MAX_PROMPT_SIZE,\n)\n\n/** Show free messages info only after at least one message has been sent and when no API key is set. */\nconst showFreeMessagesInfo = computed(\n () =>\n state.chat.messages.length > 1 &&\n !state.getAgentKey?.() &&\n chatError?.value?.code !== AgentErrorCodes.LIMIT_REACHED,\n)\n\nwatch(state.prompt, () => {\n if (!promptRef?.value) {\n return\n }\n\n if (!state.prompt.value.length) {\n promptRef.value.style.height = '0px'\n return\n }\n\n promptRef.value.style.height = 'auto'\n promptRef.value.style.height = promptRef.value.scrollHeight + 'px'\n})\n\nfunction handlePromptKeydown(e: KeyboardEvent) {\n // Ignore the Enter that only commits an IME composition (e.g. Japanese, Chinese,\n // Korean). On macOS Chrome that keydown still reports key === 'Enter' with\n // isComposing === true, so without this guard the message sends mid-composition.\n if (e.isComposing) {\n return\n }\n\n if (state.loading.value) {\n return\n }\n\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault()\n handleSubmit()\n window.scrollTo(0, document.body.scrollHeight)\n }\n}\n\nfunction focusPrompt() {\n promptRef.value?.focus()\n}\n\nwatch(\n () => state.chat.status,\n (status) => {\n if (status === 'ready' || status === 'error') {\n promptRef.value?.focus()\n }\n },\n)\n\nconst { approvalRequiredParts, respondToRequestApprovals } =\n useRequestApprovals()\n\nconst { pendingClientToolParts } = useChatPendingClientToolParts()\n\nconst uploadTmpDoc = useUploadTmpDocument()\n\nfunction acceptTerms() {\n state.terms.accept()\n\n if (state.mode === 'preview' && state.getActiveDocumentJson) {\n uploadTmpDoc.uploadTempDocument(state.getActiveDocumentJson(), true)\n }\n}\n\nconst isPending = computed(() =>\n Object.values(state.pendingDocuments).some(Boolean),\n)\n\nconst submitDisabled = computed(() => {\n const tooLarge = promptTooLarge.value\n const missingInput = !inputHasContent.value\n const awaitingApproval = approvalRequiredParts.value.length > 0\n const pendingToolParts = pendingClientToolParts.value.length > 0\n\n const isPreview = state.mode === 'preview'\n\n const termsNotAccepted = isPreview && !state.terms.accepted.value\n const uploadingTmpDoc = isPreview && !!uploadTmpDoc.uploadState.value\n const isLoading = isPending.value\n\n return (\n tooLarge ||\n missingInput ||\n awaitingApproval ||\n pendingToolParts ||\n termsNotAccepted ||\n uploadingTmpDoc ||\n isLoading\n )\n})\n\nfunction handleSubmit() {\n if (submitDisabled.value) {\n return\n }\n\n emit('submit')\n}\n\nconst chatError = useChatError()\n</script>\n\n<template>\n <div class=\"actionContainer\">\n <UploadSection\n v-if=\"uploadTmpDoc.uploadState.value || isPending\"\n :uploadState=\"uploadTmpDoc.uploadState.value ?? { type: 'loading' }\" />\n <ErrorMessageMessage\n v-if=\"chatError\"\n :error=\"chatError\" />\n <ApprovalSection\n v-if=\"approvalRequiredParts.length\"\n @approve=\"respondToRequestApprovals(true)\"\n @reject=\"respondToRequestApprovals(false)\" />\n <PaymentSection v-if=\"chatError?.code === AgentErrorCodes.LIMIT_REACHED\" />\n <FreeMessagesInfoSection v-if=\"showFreeMessagesInfo\" />\n <form\n class=\"promptForm\"\n @submit.prevent=\"handleSubmit\">\n <label\n class=\"agentLabel\"\n for=\"agentTextarea\">\n Type a Request To get Started\n </label>\n <textarea\n id=\"agentTextarea\"\n ref=\"agentPrompt\"\n v-model=\"state.prompt.value\"\n class=\"prompt custom-scroll\"\n :disabled=\"state.loading.value\"\n name=\"prompt\"\n placeholder=\"Ask me anything…\"\n @keydown=\"handlePromptKeydown\" />\n <div class=\"inputActionsContainer\">\n <div class=\"inputActionsLeft\">\n <template v-if=\"!state.hideAddApi\">\n <SearchPopover v-if=\"!state.isLoggedIn?.value\">\n <button\n class=\"addAPIButton\"\n type=\"button\">\n <ScalarIconPlus\n class=\"size-4\"\n weight=\"bold\" />\n </button>\n </SearchPopover>\n <ActionsDropdown\n v-else\n @uploadApi=\"$emit('uploadApi')\">\n <button\n class=\"addAPIButton\"\n type=\"button\">\n <ScalarIconPlus\n class=\"size-4\"\n weight=\"bold\" />\n </button>\n </ActionsDropdown>\n </template>\n <div\n v-for=\"document in state.registryDocuments.value\"\n :key=\"document.id\"\n class=\"apiPill\">\n <img\n v-if=\"document.logoUrl\"\n class=\"apiPillLogo\"\n :src=\"document.logoUrl\" />\n {{ document.title }}\n <button\n v-if=\"document.removable\"\n class=\"apiPillRemove\"\n type=\"button\"\n @click=\"state.removeDocument(document)\">\n <ScalarIconX\n class=\"size-4\"\n weight=\"bold\" />\n </button>\n </div>\n </div>\n\n <div class=\"inputActionsRight\">\n <template v-if=\"!state.loading.value\">\n <ScalarTooltip content=\"Settings\">\n <ScalarIconButton\n class=\"settingsButton h-7 w-7 p-1.5\"\n :icon=\"ScalarIconLockSimple\"\n label=\"Scalar\"\n size=\"md\"\n weight=\"bold\"\n @click=\"state.settingsModal.show()\" />\n </ScalarTooltip>\n </template>\n <div class=\"sendCheckboxContinue\">\n <div\n v-if=\"!state.terms.accepted.value && state.mode === 'preview'\"\n class=\"relative flex items-center gap-1.5\">\n <input\n id=\"agentTermsAgree\"\n class=\"sr-only\"\n type=\"checkbox\"\n @change=\"acceptTerms\" />\n <label\n class=\"termsAgree\"\n for=\"agentTermsAgree\">\n <ScalarIconCheck\n class=\"termsAgreeIcon\"\n weight=\"bold\" />\n Agree to Terms & Conditions\n </label>\n </div>\n <ScalarIconButton\n v-if=\"!state.loading.value\"\n class=\"sendButton h-7 w-7 p-1.5\"\n :disabled=\"submitDisabled\"\n :icon=\"ScalarIconArrowUp\"\n label=\"Scalar\"\n size=\"md\"\n type=\"submit\"\n weight=\"bold\" />\n <ScalarLoading\n v-else\n class=\"loader h-7 w-7\"\n :loader=\"{\n isLoading: state.loading.value,\n isValid: false,\n clear: async () => {},\n invalidate: async () => {},\n isInvalid: false,\n isActive: false,\n validate: async () => {},\n start: () => {},\n }\"\n size=\"2xl\" />\n </div>\n </div>\n </div>\n </form>\n\n <div\n v-if=\"state.chat.messages.length <= 1 && !state.hideAddApi\"\n class=\"addMoreContext\">\n <span>Load additional APIs</span>\n <div class=\"ml-auto flex items-center gap-1\">\n <button\n v-for=\"doc of state.curatedDocuments.value\"\n :key=\"doc.id\"\n class=\"addAPIContext\"\n type=\"button\"\n @click=\"state.addDocument(doc)\">\n <img\n v-if=\"doc.logoUrl\"\n :alt=\"doc.title\"\n class=\"size-4\"\n :src=\"doc.logoUrl\" />\n </button>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.actionContainer {\n background: color-mix(\n in srgb,\n var(--scalar-background-2),\n var(--scalar-background-1)\n );\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl);\n width: 100%;\n position: relative;\n /* visually hides overflowing text below */\n box-shadow: 0 24px 0 2px var(--scalar-background-1);\n}\n.promptForm {\n width: 100%;\n position: relative;\n display: flex;\n flex-direction: column;\n background: var(--scalar-background-1);\n box-shadow:\n var(--scalar-shadow-1),\n 0 0 0 var(--scalar-border-width) var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl);\n}\n\n.inputActionsContainer {\n display: flex;\n justify-content: space-between;\n padding: 0 8px 8px 8px;\n}\n\n.inputActionsLeft {\n display: flex;\n flex-wrap: wrap; /* key: allows pills to go to next line */\n align-items: center;\n gap: 5px; /* spacing between pills */\n}\n\n.inputActionsRight {\n display: flex;\n gap: 5px;\n position: relative;\n}\n\n.apiPill {\n font-size: var(--scalar-font-size-3);\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n height: 28px;\n align-items: center;\n display: flex;\n border-radius: var(--scalar-radius-3xl);\n padding: 0 8px;\n pointer-events: all;\n z-index: 1;\n gap: 4px;\n user-select: none;\n}\n.apiPillLogo {\n width: 15px;\n}\n\n.apiPillRemove {\n width: 24px;\n height: 24px;\n margin-right: -6px;\n border-radius: var(--scalar-radius-full);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.apiPill:hover .apiPillRemove {\n background: var(--scalar-background-2);\n}\n.dark-mode .apiPill:hover .apiPillRemove {\n background: var(--scalar-background-3);\n}\n\n.apiPillRemove:hover {\n color: var(--scalar-color-1);\n}\n\n.prompt {\n width: 100%;\n outline: none;\n border: none;\n resize: none;\n field-sizing: content;\n min-height: 64px;\n z-index: 1;\n max-height: 250px;\n max-width: 100%;\n overflow-y: auto;\n scrollbar-width: thin;\n word-wrap: break-word;\n font-family: var(--scalar-font);\n font-size: 16px;\n padding: 12px 12px 14px 12px;\n}\n.dark-mode .promptForm {\n background: var(--scalar-background-2);\n}\n\n.prompt:disabled {\n color: var(--scalar-color-3);\n}\n\n.addAPIButton {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--scalar-color-2);\n font-size: var(--scalar-font-size-3);\n height: 28px;\n width: 28px;\n font-weight: var(--scalar-bold);\n border-radius: var(--scalar-radius-full);\n display: flex;\n align-items: center;\n gap: 4px;\n pointer-events: all;\n z-index: 1;\n box-shadow: 0 0 0 var(--scalar-border-width) var(--scalar-border-color);\n}\n.addAPIButton:hover {\n background: color-mix(\n in srgb,\n var(--scalar-background-2),\n var(--scalar-background-1)\n );\n box-shadow: 0 0 0 var(--scalar-border-width) var(--scalar-border-color);\n}\n.dark-mode .addAPIButton:hover {\n background: var(--scalar-background-3);\n}\n\n.settingsButton {\n color: var(--scalar-color-3) !important;\n border-radius: var(--scalar-radius-full) !important;\n margin: 0 !important;\n z-index: 1;\n}\n.settingsButton[aria-disabled='true'] {\n background: var(--scalar-background-2);\n}\n.dark-mode .settingsButton:hover {\n background: var(--scalar-background-3);\n}\n\n.sendButton {\n background: var(--scalar-color-blue) !important;\n border-radius: var(--scalar-radius-full) !important;\n margin: 0 !important;\n z-index: 1;\n border: var(--scalar-border-width) solid var(--scalar-color-blue);\n}\n.sendButton:not([aria-disabled='true']) {\n color: white !important;\n}\n.sendButton:not([aria-disabled='true']):hover {\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n transparent 10%\n ) !important;\n}\n.sendButton[aria-disabled='true'] {\n background: var(--scalar-background-2) !important;\n color: var(--scalar-color-3) !important;\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.dark-mode .sendButton[aria-disabled='true'] {\n background: var(--scalar-background-3) !important;\n}\n.contextContainer {\n display: flex;\n width: 100%;\n padding: 10px 12px 12px 12px;\n color: var(--scalar-color-2);\n font-size: var(--scalar-font-size-3);\n user-select: none;\n justify-content: space-between;\n}\n\n.settingsButton {\n font-weight: var(--scalar-semibold);\n border-radius: var(--scalar-radius-lg);\n padding: 4px 6px;\n margin: -4px -6px;\n}\n.settingsButton:hover {\n background: var(--scalar-background-2);\n box-shadow: 0 0 var(--scalar-border-width) 0 var(--scalar-border-color);\n cursor: pointer;\n}\n\n.agentLabel {\n font-size: 0px;\n position: absolute;\n width: 100%;\n height: 100%;\n cursor: text;\n}\n.sendCheckboxContinue:has(input) {\n display: flex;\n align-items: center;\n border-radius: var(--scalar-radius-3xl);\n background: var(--scalar-background-2);\n box-shadow: 0 0 0 1.5px var(--scalar-background-2);\n color: var(--scalar-color-2);\n font-size: var(--scalar-font-size-3);\n font-weight: var(--scalar-semibold);\n user-select: none;\n height: 28px;\n}\n.dark-mode .sendCheckboxContinue:has(input) {\n background: var(--scalar-background-3);\n box-shadow: 0 0 0 1.5px var(--scalar-background-3);\n}\n\n.addMoreContext {\n height: 40px;\n display: flex;\n position: relative;\n font-size: var(--scalar-font-size-3);\n color: var(--scalar-color-3);\n padding: 0 8px 0 12px;\n align-items: center;\n}\n.addMoreContext:before {\n content: '';\n width: 8px;\n height: 8px;\n background: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n transform: rotate(45deg);\n left: 18px;\n top: -3px;\n position: absolute;\n box-shadow:\n -0.5px -0.5px 0 var(--scalar-border-color),\n inset 0.5px 0.5px 1px var(--scalar-border-color);\n}\n.dark-mode .addMoreContext:before {\n box-shadow: -0.5px -0.5px 0 var(--scalar-border-color);\n}\n.addAPIContext {\n width: 28px;\n height: 28px;\n border-radius: var(--scalar-radius-full);\n display: flex;\n align-items: center;\n justify-content: center;\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.termsAgree {\n display: flex;\n cursor: pointer;\n height: inherit;\n align-items: center;\n border-radius: var(--scalar-radius-3xl);\n gap: 5px;\n margin: 0px 5px;\n}\n\n.termsAgree:hover {\n color: var(--scalar-color-1);\n}\n\n.termsAgree:hover .termsAgreeIcon {\n background: var(--scalar-color-1);\n color: var(--scalar-background-1);\n}\n\n.termsAgreeIcon {\n width: inherit;\n height: inherit;\n padding: 2px;\n border-radius: var(--scalar-radius-full);\n background: var(--scalar-background-2);\n}\n</style>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PromptForm.vue.script.js","names":["$emit"],"sources":["../../src/views/PromptForm.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconButton } from '@scalar/components/icon-button'\nimport { ScalarLoading } from '@scalar/components/loading'\nimport { ScalarTooltip } from '@scalar/components/tooltip'\nimport {\n ScalarIconArrowUp,\n ScalarIconCheck,\n ScalarIconLockSimple,\n ScalarIconPlus,\n ScalarIconX,\n} from '@scalar/icons'\nimport { computed, useTemplateRef, watch } from 'vue'\n\nimport ActionsDropdown from '@/components/ActionsDropdown.vue'\nimport ApprovalSection from '@/components/ApprovalSection.vue'\nimport ErrorMessageMessage from '@/components/ErrorMessage.vue'\nimport FreeMessagesInfoSection from '@/components/FreeMessagesInfoSection.vue'\nimport PaymentSection from '@/components/PaymentSection.vue'\nimport SearchPopover from '@/components/SearchPopover.vue'\nimport UploadSection from '@/components/UploadSection.vue'\nimport { AgentErrorCodes } from '@/entities/error/constants'\nimport { MAX_PROMPT_SIZE } from '@/entities/prompt/constants'\nimport { useRequestApprovals } from '@/hooks/use-chat-approvals'\nimport { useChatError } from '@/hooks/use-chat-error'\nimport { useChatPendingClientToolParts } from '@/hooks/use-chat-pending-client-tool-parts'\nimport { useUploadTmpDocument } from '@/hooks/use-upload-tmp-document'\nimport { useState } from '@/state/state'\n\nconst emit = defineEmits<{\n (e: 'submit'): void\n (e: 'uploadApi'): void\n}>()\n\ndefineExpose({ focusPrompt })\n\nconst promptRef = useTemplateRef<HTMLTextAreaElement>('agentPrompt')\n\nconst state = useState()\n\nconst inputHasContent = computed(() => state.prompt.value.trim().length > 0)\nconst promptTooLarge = computed(\n () => state.prompt.value.trim().length > MAX_PROMPT_SIZE,\n)\n\n/** Show free messages info only after at least one message has been sent and when no API key is set. */\nconst showFreeMessagesInfo = computed(\n () =>\n state.chat.messages.length > 1 &&\n !state.getAgentKey?.() &&\n chatError?.value?.code !== AgentErrorCodes.LIMIT_REACHED,\n)\n\nwatch(state.prompt, () => {\n if (!promptRef?.value) {\n return\n }\n\n if (!state.prompt.value.length) {\n promptRef.value.style.height = '0px'\n return\n }\n\n promptRef.value.style.height = 'auto'\n promptRef.value.style.height = promptRef.value.scrollHeight + 'px'\n})\n\nfunction handlePromptKeydown(e: KeyboardEvent) {\n // Ignore the Enter that only commits an IME composition (e.g. Japanese, Chinese,\n // Korean). On macOS Chrome that keydown still reports key === 'Enter' with\n // isComposing === true, so without this guard the message sends mid-composition.\n if (e.isComposing) {\n return\n }\n\n if (state.loading.value) {\n return\n }\n\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault()\n handleSubmit()\n window.scrollTo(0, document.body.scrollHeight)\n }\n}\n\nfunction focusPrompt() {\n promptRef.value?.focus()\n}\n\nwatch(\n () => state.chat.status,\n (status) => {\n if (status === 'ready' || status === 'error') {\n promptRef.value?.focus()\n }\n },\n)\n\nconst { approvalRequiredParts, respondToRequestApprovals } =\n useRequestApprovals()\n\nconst { pendingClientToolParts } = useChatPendingClientToolParts()\n\nconst uploadTmpDoc = useUploadTmpDocument()\n\nfunction acceptTerms() {\n state.terms.accept()\n\n if (state.mode === 'preview' && state.getActiveDocumentJson) {\n void uploadTmpDoc.uploadTempDocument(state.getActiveDocumentJson(), true)\n }\n}\n\nconst isPending = computed(() =>\n Object.values(state.pendingDocuments).some(Boolean),\n)\n\nconst submitDisabled = computed(() => {\n const tooLarge = promptTooLarge.value\n const missingInput = !inputHasContent.value\n const awaitingApproval = approvalRequiredParts.value.length > 0\n const pendingToolParts = pendingClientToolParts.value.length > 0\n\n const isPreview = state.mode === 'preview'\n\n const termsNotAccepted = isPreview && !state.terms.accepted.value\n const uploadingTmpDoc = isPreview && !!uploadTmpDoc.uploadState.value\n const isLoading = isPending.value\n\n return (\n tooLarge ||\n missingInput ||\n awaitingApproval ||\n pendingToolParts ||\n termsNotAccepted ||\n uploadingTmpDoc ||\n isLoading\n )\n})\n\nfunction handleSubmit() {\n if (submitDisabled.value) {\n return\n }\n\n emit('submit')\n}\n\nconst chatError = useChatError()\n</script>\n\n<template>\n <div class=\"actionContainer\">\n <UploadSection\n v-if=\"uploadTmpDoc.uploadState.value || isPending\"\n :uploadState=\"uploadTmpDoc.uploadState.value ?? { type: 'loading' }\" />\n <ErrorMessageMessage\n v-if=\"chatError\"\n :error=\"chatError\" />\n <ApprovalSection\n v-if=\"approvalRequiredParts.length\"\n @approve=\"respondToRequestApprovals(true)\"\n @reject=\"respondToRequestApprovals(false)\" />\n <PaymentSection v-if=\"chatError?.code === AgentErrorCodes.LIMIT_REACHED\" />\n <FreeMessagesInfoSection v-if=\"showFreeMessagesInfo\" />\n <form\n class=\"promptForm\"\n @submit.prevent=\"handleSubmit\">\n <label\n class=\"agentLabel\"\n for=\"agentTextarea\">\n Type a Request To get Started\n </label>\n <textarea\n id=\"agentTextarea\"\n ref=\"agentPrompt\"\n v-model=\"state.prompt.value\"\n class=\"prompt custom-scroll\"\n :disabled=\"state.loading.value\"\n name=\"prompt\"\n placeholder=\"Ask me anything…\"\n @keydown=\"handlePromptKeydown\" />\n <div class=\"inputActionsContainer\">\n <div class=\"inputActionsLeft\">\n <template v-if=\"!state.hideAddApi\">\n <SearchPopover v-if=\"!state.isLoggedIn?.value\">\n <button\n class=\"addAPIButton\"\n type=\"button\">\n <ScalarIconPlus\n class=\"size-4\"\n weight=\"bold\" />\n </button>\n </SearchPopover>\n <ActionsDropdown\n v-else\n @uploadApi=\"$emit('uploadApi')\">\n <button\n class=\"addAPIButton\"\n type=\"button\">\n <ScalarIconPlus\n class=\"size-4\"\n weight=\"bold\" />\n </button>\n </ActionsDropdown>\n </template>\n <div\n v-for=\"document in state.registryDocuments.value\"\n :key=\"document.id\"\n class=\"apiPill\">\n <img\n v-if=\"document.logoUrl\"\n class=\"apiPillLogo\"\n :src=\"document.logoUrl\" />\n {{ document.title }}\n <button\n v-if=\"document.removable\"\n class=\"apiPillRemove\"\n type=\"button\"\n @click=\"state.removeDocument(document)\">\n <ScalarIconX\n class=\"size-4\"\n weight=\"bold\" />\n </button>\n </div>\n </div>\n\n <div class=\"inputActionsRight\">\n <template v-if=\"!state.loading.value\">\n <ScalarTooltip content=\"Settings\">\n <ScalarIconButton\n class=\"settingsButton h-7 w-7 p-1.5\"\n :icon=\"ScalarIconLockSimple\"\n label=\"Scalar\"\n size=\"md\"\n weight=\"bold\"\n @click=\"state.settingsModal.show()\" />\n </ScalarTooltip>\n </template>\n <div class=\"sendCheckboxContinue\">\n <div\n v-if=\"!state.terms.accepted.value && state.mode === 'preview'\"\n class=\"relative flex items-center gap-1.5\">\n <input\n id=\"agentTermsAgree\"\n class=\"sr-only\"\n type=\"checkbox\"\n @change=\"acceptTerms\" />\n <label\n class=\"termsAgree\"\n for=\"agentTermsAgree\">\n <ScalarIconCheck\n class=\"termsAgreeIcon\"\n weight=\"bold\" />\n Agree to Terms & Conditions\n </label>\n </div>\n <ScalarIconButton\n v-if=\"!state.loading.value\"\n class=\"sendButton h-7 w-7 p-1.5\"\n :disabled=\"submitDisabled\"\n :icon=\"ScalarIconArrowUp\"\n label=\"Scalar\"\n size=\"md\"\n type=\"submit\"\n weight=\"bold\" />\n <ScalarLoading\n v-else\n class=\"loader h-7 w-7\"\n :loader=\"{\n isLoading: state.loading.value,\n isValid: false,\n clear: async () => {},\n invalidate: async () => {},\n isInvalid: false,\n isActive: false,\n validate: async () => {},\n start: () => {},\n }\"\n size=\"2xl\" />\n </div>\n </div>\n </div>\n </form>\n\n <div\n v-if=\"state.chat.messages.length <= 1 && !state.hideAddApi\"\n class=\"addMoreContext\">\n <span>Load additional APIs</span>\n <div class=\"ml-auto flex items-center gap-1\">\n <button\n v-for=\"doc of state.curatedDocuments.value\"\n :key=\"doc.id\"\n class=\"addAPIContext\"\n type=\"button\"\n @click=\"state.addDocument(doc)\">\n <img\n v-if=\"doc.logoUrl\"\n :alt=\"doc.title\"\n class=\"size-4\"\n :src=\"doc.logoUrl\" />\n </button>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.actionContainer {\n background: color-mix(\n in srgb,\n var(--scalar-background-2),\n var(--scalar-background-1)\n );\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl);\n width: 100%;\n position: relative;\n /* visually hides overflowing text below */\n box-shadow: 0 24px 0 2px var(--scalar-background-1);\n}\n.promptForm {\n width: 100%;\n position: relative;\n display: flex;\n flex-direction: column;\n background: var(--scalar-background-1);\n box-shadow:\n var(--scalar-shadow-1),\n 0 0 0 var(--scalar-border-width) var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl);\n}\n\n.inputActionsContainer {\n display: flex;\n justify-content: space-between;\n padding: 0 8px 8px 8px;\n}\n\n.inputActionsLeft {\n display: flex;\n flex-wrap: wrap; /* key: allows pills to go to next line */\n align-items: center;\n gap: 5px; /* spacing between pills */\n}\n\n.inputActionsRight {\n display: flex;\n gap: 5px;\n position: relative;\n}\n\n.apiPill {\n font-size: var(--scalar-font-size-3);\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n height: 28px;\n align-items: center;\n display: flex;\n border-radius: var(--scalar-radius-3xl);\n padding: 0 8px;\n pointer-events: all;\n z-index: 1;\n gap: 4px;\n user-select: none;\n}\n.apiPillLogo {\n width: 15px;\n}\n\n.apiPillRemove {\n width: 24px;\n height: 24px;\n margin-right: -6px;\n border-radius: var(--scalar-radius-full);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.apiPill:hover .apiPillRemove {\n background: var(--scalar-background-2);\n}\n.dark-mode .apiPill:hover .apiPillRemove {\n background: var(--scalar-background-3);\n}\n\n.apiPillRemove:hover {\n color: var(--scalar-color-1);\n}\n\n.prompt {\n width: 100%;\n outline: none;\n border: none;\n resize: none;\n field-sizing: content;\n min-height: 64px;\n z-index: 1;\n max-height: 250px;\n max-width: 100%;\n overflow-y: auto;\n scrollbar-width: thin;\n word-wrap: break-word;\n font-family: var(--scalar-font);\n font-size: 16px;\n padding: 12px 12px 14px 12px;\n}\n.dark-mode .promptForm {\n background: var(--scalar-background-2);\n}\n\n.prompt:disabled {\n color: var(--scalar-color-3);\n}\n\n.addAPIButton {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--scalar-color-2);\n font-size: var(--scalar-font-size-3);\n height: 28px;\n width: 28px;\n font-weight: var(--scalar-bold);\n border-radius: var(--scalar-radius-full);\n display: flex;\n align-items: center;\n gap: 4px;\n pointer-events: all;\n z-index: 1;\n box-shadow: 0 0 0 var(--scalar-border-width) var(--scalar-border-color);\n}\n.addAPIButton:hover {\n background: color-mix(\n in srgb,\n var(--scalar-background-2),\n var(--scalar-background-1)\n );\n box-shadow: 0 0 0 var(--scalar-border-width) var(--scalar-border-color);\n}\n.dark-mode .addAPIButton:hover {\n background: var(--scalar-background-3);\n}\n\n.settingsButton {\n color: var(--scalar-color-3) !important;\n border-radius: var(--scalar-radius-full) !important;\n margin: 0 !important;\n z-index: 1;\n}\n.settingsButton[aria-disabled='true'] {\n background: var(--scalar-background-2);\n}\n.dark-mode .settingsButton:hover {\n background: var(--scalar-background-3);\n}\n\n.sendButton {\n background: var(--scalar-color-blue) !important;\n border-radius: var(--scalar-radius-full) !important;\n margin: 0 !important;\n z-index: 1;\n border: var(--scalar-border-width) solid var(--scalar-color-blue);\n}\n.sendButton:not([aria-disabled='true']) {\n color: white !important;\n}\n.sendButton:not([aria-disabled='true']):hover {\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n transparent 10%\n ) !important;\n}\n.sendButton[aria-disabled='true'] {\n background: var(--scalar-background-2) !important;\n color: var(--scalar-color-3) !important;\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.dark-mode .sendButton[aria-disabled='true'] {\n background: var(--scalar-background-3) !important;\n}\n.contextContainer {\n display: flex;\n width: 100%;\n padding: 10px 12px 12px 12px;\n color: var(--scalar-color-2);\n font-size: var(--scalar-font-size-3);\n user-select: none;\n justify-content: space-between;\n}\n\n.settingsButton {\n font-weight: var(--scalar-semibold);\n border-radius: var(--scalar-radius-lg);\n padding: 4px 6px;\n margin: -4px -6px;\n}\n.settingsButton:hover {\n background: var(--scalar-background-2);\n box-shadow: 0 0 var(--scalar-border-width) 0 var(--scalar-border-color);\n cursor: pointer;\n}\n\n.agentLabel {\n font-size: 0px;\n position: absolute;\n width: 100%;\n height: 100%;\n cursor: text;\n}\n.sendCheckboxContinue:has(input) {\n display: flex;\n align-items: center;\n border-radius: var(--scalar-radius-3xl);\n background: var(--scalar-background-2);\n box-shadow: 0 0 0 1.5px var(--scalar-background-2);\n color: var(--scalar-color-2);\n font-size: var(--scalar-font-size-3);\n font-weight: var(--scalar-semibold);\n user-select: none;\n height: 28px;\n}\n.dark-mode .sendCheckboxContinue:has(input) {\n background: var(--scalar-background-3);\n box-shadow: 0 0 0 1.5px var(--scalar-background-3);\n}\n\n.addMoreContext {\n height: 40px;\n display: flex;\n position: relative;\n font-size: var(--scalar-font-size-3);\n color: var(--scalar-color-3);\n padding: 0 8px 0 12px;\n align-items: center;\n}\n.addMoreContext:before {\n content: '';\n width: 8px;\n height: 8px;\n background: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n transform: rotate(45deg);\n left: 18px;\n top: -3px;\n position: absolute;\n box-shadow:\n -0.5px -0.5px 0 var(--scalar-border-color),\n inset 0.5px 0.5px 1px var(--scalar-border-color);\n}\n.dark-mode .addMoreContext:before {\n box-shadow: -0.5px -0.5px 0 var(--scalar-border-color);\n}\n.addAPIContext {\n width: 28px;\n height: 28px;\n border-radius: var(--scalar-radius-full);\n display: flex;\n align-items: center;\n justify-content: center;\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.termsAgree {\n display: flex;\n cursor: pointer;\n height: inherit;\n align-items: center;\n border-radius: var(--scalar-radius-3xl);\n gap: 5px;\n margin: 0px 5px;\n}\n\n.termsAgree:hover {\n color: var(--scalar-color-1);\n}\n\n.termsAgree:hover .termsAgreeIcon {\n background: var(--scalar-color-1);\n color: var(--scalar-background-1);\n}\n\n.termsAgreeIcon {\n width: inherit;\n height: inherit;\n padding: 2px;\n border-radius: var(--scalar-radius-full);\n background: var(--scalar-background-2);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BA,MAAM,OAAO;EAKb,SAAa,EAAE,YAAY,CAAC;EAE5B,MAAM,YAAY,eAAoC,aAAa;EAEnE,MAAM,QAAQ,SAAS;EAEvB,MAAM,kBAAkB,eAAe,MAAM,OAAO,MAAM,KAAK,CAAC,CAAC,SAAS,CAAC;EAC3E,MAAM,iBAAiB,eACf,MAAM,OAAO,MAAM,KAAK,CAAC,CAAC,SAAS,eAC3C;;EAGA,MAAM,uBAAuB,eAEzB,MAAM,KAAK,SAAS,SAAS,KAC7B,CAAC,MAAM,cAAc,KACrB,WAAW,OAAO,SAAS,gBAAgB,aAC/C;EAEA,MAAM,MAAM,cAAc;GACxB,IAAI,CAAC,WAAW,OACd;GAGF,IAAI,CAAC,MAAM,OAAO,MAAM,QAAQ;IAC9B,UAAU,MAAM,MAAM,SAAS;IAC/B;GACF;GAEA,UAAU,MAAM,MAAM,SAAS;GAC/B,UAAU,MAAM,MAAM,SAAS,UAAU,MAAM,eAAe;EAChE,CAAC;EAED,SAAS,oBAAoB,GAAkB;GAI7C,IAAI,EAAE,aACJ;GAGF,IAAI,MAAM,QAAQ,OAChB;GAGF,IAAI,EAAE,QAAQ,WAAW,CAAC,EAAE,UAAU;IACpC,EAAE,eAAe;IACjB,aAAa;IACb,OAAO,SAAS,GAAG,SAAS,KAAK,YAAY;GAC/C;EACF;EAEA,SAAS,cAAc;GACrB,UAAU,OAAO,MAAM;EACzB;EAEA,YACQ,MAAM,KAAK,SAChB,WAAW;GACV,IAAI,WAAW,WAAW,WAAW,SACnC,UAAU,OAAO,MAAM;EAE3B,CACF;EAEA,MAAM,EAAE,uBAAuB,8BAC7B,oBAAoB;EAEtB,MAAM,EAAE,2BAA2B,8BAA8B;EAEjE,MAAM,eAAe,qBAAqB;EAE1C,SAAS,cAAc;GACrB,MAAM,MAAM,OAAO;GAEnB,IAAI,MAAM,SAAS,aAAa,MAAM,uBACpC,aAAkB,mBAAmB,MAAM,sBAAsB,GAAG,IAAI;EAE5E;EAEA,MAAM,YAAY,eAChB,OAAO,OAAO,MAAM,gBAAgB,CAAC,CAAC,KAAK,OAAO,CACpD;EAEA,MAAM,iBAAiB,eAAe;GACpC,MAAM,WAAW,eAAe;GAChC,MAAM,eAAe,CAAC,gBAAgB;GACtC,MAAM,mBAAmB,sBAAsB,MAAM,SAAS;GAC9D,MAAM,mBAAmB,uBAAuB,MAAM,SAAS;GAE/D,MAAM,YAAY,MAAM,SAAS;GAEjC,MAAM,mBAAmB,aAAa,CAAC,MAAM,MAAM,SAAS;GAC5D,MAAM,kBAAkB,aAAa,CAAC,CAAC,aAAa,YAAY;GAChE,MAAM,YAAY,UAAU;GAE5B,OACE,YACA,gBACA,oBACA,oBACA,oBACA,mBACA;EAEJ,CAAC;EAED,SAAS,eAAe;GACtB,IAAI,eAAe,OACjB;GAGF,KAAK,QAAQ;EACf;EAEA,MAAM,YAAY,aAAa;;uBAI7B,mBAwJM,OAxJN,YAwJM;IAtJI,MAAA,YAAA,CAAY,CAAC,YAAY,SAAS,UAAA,SAAA,UAAA,GAD1C,YAEyE,uBAAA;;KAAtE,aAAa,MAAA,YAAA,CAAY,CAAC,YAAY,SAAK,EAAA,MAAA,UAAA;;IAEtC,MAAA,SAAA,KAAA,UAAA,GADR,YAEuB,sBAAA;;KAApB,OAAO,MAAA,SAAA;;IAEF,MAAA,qBAAA,CAAqB,CAAC,UAAA,UAAA,GAD9B,YAG+C,yBAAA;;KAD5C,WAAO,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,yBAAA,CAAyB,CAAA,IAAA;KAClC,UAAM,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,yBAAA,CAAyB,CAAA,KAAA;;IACd,MAAA,SAAA,CAAS,EAAE,SAAS,MAAA,eAAA,CAAe,CAAC,iBAAA,UAAA,GAA1D,YAA2E,wBAAA,EAAA,KAAA,EAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;IAC5C,qBAAA,SAAA,UAAA,GAA/B,YAAuD,iCAAA,EAAA,KAAA,EAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;IACvD,mBAsHO,QAAA;KArHL,OAAM;KACL,UAAM,cAAU,cAAY,CAAA,SAAA,CAAA;;+BAC7B,mBAIQ,SAAA;MAHN,OAAM;MACN,KAAI;QAAgB,mCAEtB,EAAA;oBACA,mBAQmC,YAAA;MAPjC,IAAG;MACH,KAAI;yEACK,KAAA,CAAK,CAAC,OAAO,QAAK;MAC3B,OAAM;MACL,UAAU,MAAA,KAAA,CAAK,CAAC,QAAQ;MACzB,MAAK;MACL,aAAY;MACX,WAAS;6CALD,MAAA,KAAA,CAAK,CAAC,OAAO,KAAK,CAAA,CAAA;KAM7B,mBAoGM,OApGN,YAoGM,CAnGJ,mBA0CM,OA1CN,YA0CM,CAAA,CAzCa,MAAA,KAAA,CAAK,CAAC,cAAA,UAAA,GAAvB,mBAqBW,UAAA,EAAA,KAAA,EAAA,GAAA,CAAA,CApBa,MAAA,KAAA,CAAK,CAAC,YAAY,SAAA,UAAA,GAAxC,YAQgB,uBAAA,EAAA,KAAA,EAAA,GAAA;6BADL,CANT,mBAMS,UANT,YAMS,CAHP,YAEkB,MAAA,cAAA,GAAA;OADhB,OAAM;OACN,QAAO;;;yBAGb,YAUkB,yBAAA;;MARf,aAAS,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,WAAA;;6BAOR,CANT,mBAMS,UANT,YAMS,CAHP,YAEkB,MAAA,cAAA,GAAA;OADhB,OAAM;OACN,QAAO;;;kEAIf,mBAkBM,UAAA,MAAA,WAjBe,MAAA,KAAA,CAAK,CAAC,kBAAkB,QAApC,aAAQ;0BADjB,mBAkBM,OAAA;OAhBH,KAAK,SAAS;OACf,OAAM;;OAEE,SAAS,WAAA,UAAA,GADjB,mBAG4B,OAAA;;QAD1B,OAAM;QACL,KAAK,SAAS;;uBAAW,MAC5B,gBAAG,SAAS,KAAK,IAAG,KACpB,CAAA;OACQ,SAAS,aAAA,UAAA,GADjB,mBAQS,UAAA;;QANP,OAAM;QACN,MAAK;QACJ,UAAK,WAAE,MAAA,KAAA,CAAK,CAAC,eAAe,QAAQ;WACrC,YAEkB,MAAA,WAAA,GAAA;QADhB,OAAM;QACN,QAAO;;;kBAKf,mBAsDM,OAtDN,YAsDM,CAAA,CArDa,MAAA,KAAA,CAAK,CAAC,QAAQ,SAAA,UAAA,GAC7B,YAQgB,MAAA,aAAA,GAAA;;MARD,SAAQ;;6BAOmB,CANxC,YAMwC,MAAA,gBAAA,GAAA;OALtC,OAAM;OACL,MAAM,MAAA,oBAAA;OACP,OAAM;OACN,MAAK;OACL,QAAO;OACN,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,KAAA,CAAK,CAAC,cAAc,KAAI;;;yCAGtC,mBAyCM,OAzCN,aAyCM,CAAA,CAvCK,MAAA,KAAA,CAAK,CAAC,MAAM,SAAS,SAAS,MAAA,KAAA,CAAK,CAAC,SAAI,aAAA,UAAA,GADjD,mBAgBM,OAhBN,aAgBM,CAbJ,mBAI0B,SAAA;MAHxB,IAAG;MACH,OAAM;MACN,MAAK;MACJ,UAAQ;mBACX,mBAOQ,SAPR,aAOQ,CAJN,YAEkB,MAAA,eAAA,GAAA;MADhB,OAAM;MACN,QAAO;mDAAS,iCAEpB,EAAA,EAAA,CAAA,CAAA,CAAA,KAAA,mBAAA,IAAA,IAAA,GAAA,CAGO,MAAA,KAAA,CAAK,CAAC,QAAQ,SAAA,UAAA,GADvB,YAQkB,MAAA,gBAAA,GAAA;;MANhB,OAAM;MACL,UAAU,eAAA;MACV,MAAM,MAAA,iBAAA;MACP,OAAM;MACN,MAAK;MACL,MAAK;MACL,QAAO;wDACT,YAae,MAAA,aAAA,GAAA;;MAXb,OAAM;MACL,QAAM;kBAA+B,MAAA,KAAA,CAAK,CAAC,QAAQ;;;;;;;;;MAUpD,MAAK;;;IAOP,MAAA,KAAA,CAAK,CAAC,KAAK,SAAS,UAAM,KAAA,CAAU,MAAA,KAAA,CAAK,CAAC,cAAA,UAAA,GADlD,mBAkBM,OAlBN,aAkBM,CAAA,OAAA,OAAA,OAAA,KAfJ,mBAAiC,QAAA,MAA3B,wBAAoB,EAAA,IAC1B,mBAaM,OAbN,aAaM,EAAA,UAAA,IAAA,GAZJ,mBAWS,UAAA,MAAA,WAVO,MAAA,KAAA,CAAK,CAAC,iBAAiB,QAA9B,QAAG;yBADZ,mBAWS,UAAA;MATN,KAAK,IAAI;MACV,OAAM;MACN,MAAK;MACJ,UAAK,WAAE,MAAA,KAAA,CAAK,CAAC,YAAY,GAAG;SAErB,IAAI,WAAA,UAAA,GADZ,mBAIuB,OAAA;;MAFpB,KAAK,IAAI;MACV,OAAM;MACL,KAAK,IAAI"}
|
package/dist/vue-styles.css
CHANGED
|
@@ -255,37 +255,37 @@
|
|
|
255
255
|
}
|
|
256
256
|
}
|
|
257
257
|
|
|
258
|
-
.requestHeaderContainer[data-v-
|
|
258
|
+
.requestHeaderContainer[data-v-e049f4c9] {
|
|
259
259
|
display: flex;
|
|
260
260
|
align-items: center;
|
|
261
261
|
justify-content: space-between;
|
|
262
262
|
padding: 0 5px;
|
|
263
263
|
}
|
|
264
|
-
.requestPreview[data-v-
|
|
264
|
+
.requestPreview[data-v-e049f4c9] {
|
|
265
265
|
border-radius: var(--scalar-radius-2xl);
|
|
266
266
|
display: flex;
|
|
267
267
|
flex-direction: column;
|
|
268
268
|
width: 100%;
|
|
269
269
|
position: relative;
|
|
270
270
|
}
|
|
271
|
-
.requestContent[data-v-
|
|
271
|
+
.requestContent[data-v-e049f4c9] {
|
|
272
272
|
display: grid;
|
|
273
273
|
grid-template-rows: 0fr;
|
|
274
274
|
min-height: 0;
|
|
275
275
|
overflow: hidden;
|
|
276
276
|
transition: grid-template-rows 0.2s ease-out;
|
|
277
277
|
}
|
|
278
|
-
.requestPreview.open .requestContent[data-v-
|
|
278
|
+
.requestPreview.open .requestContent[data-v-e049f4c9] {
|
|
279
279
|
grid-template-rows: 1fr;
|
|
280
280
|
}
|
|
281
|
-
.requestPreview.succeeded[data-v-
|
|
281
|
+
.requestPreview.succeeded[data-v-e049f4c9] {
|
|
282
282
|
padding: 0;
|
|
283
283
|
}
|
|
284
|
-
.requestContentInner[data-v-
|
|
284
|
+
.requestContentInner[data-v-e049f4c9] {
|
|
285
285
|
min-height: 0;
|
|
286
286
|
overflow: hidden;
|
|
287
287
|
}
|
|
288
|
-
.code[data-v-
|
|
288
|
+
.code[data-v-e049f4c9] {
|
|
289
289
|
display: flex;
|
|
290
290
|
flex-direction: column;
|
|
291
291
|
font-size: var(--scalar-font-size-4);
|
|
@@ -298,34 +298,34 @@
|
|
|
298
298
|
overflow: hidden;
|
|
299
299
|
margin-bottom: 12px;
|
|
300
300
|
}
|
|
301
|
-
.dark-mode .code[data-v-
|
|
301
|
+
.dark-mode .code[data-v-e049f4c9] {
|
|
302
302
|
background: var(--scalar-background-2);
|
|
303
303
|
}
|
|
304
|
-
.code h1[data-v-
|
|
304
|
+
.code h1[data-v-e049f4c9] {
|
|
305
305
|
font-size: var(--scalar-font-size-3);
|
|
306
306
|
color: var(--scalar-color-3);
|
|
307
307
|
padding: 8px;
|
|
308
308
|
}
|
|
309
|
-
.code[data-v-
|
|
309
|
+
.code[data-v-e049f4c9] .codeBlock {
|
|
310
310
|
max-height: calc(50vh - 100px);
|
|
311
311
|
padding-top: 0;
|
|
312
312
|
}
|
|
313
|
-
.autosendContainer[data-v-
|
|
313
|
+
.autosendContainer[data-v-e049f4c9] {
|
|
314
314
|
display: flex;
|
|
315
315
|
justify-content: space-between;
|
|
316
316
|
}
|
|
317
|
-
.sendButton[data-v-
|
|
317
|
+
.sendButton[data-v-e049f4c9] {
|
|
318
318
|
background: var(--scalar-color-blue);
|
|
319
319
|
color: white;
|
|
320
320
|
font-weight: var(--scalar-semibold);
|
|
321
321
|
padding: 5px 10px;
|
|
322
322
|
}
|
|
323
|
-
.sendButton[data-v-
|
|
324
|
-
.sendButton[data-v-
|
|
323
|
+
.sendButton[data-v-e049f4c9]:hover,
|
|
324
|
+
.sendButton[data-v-e049f4c9]:active {
|
|
325
325
|
background: color-mix(in srgb, var(--scalar-color-blue), black 10%);
|
|
326
326
|
color: white !important;
|
|
327
327
|
}
|
|
328
|
-
.toggleButton[data-v-
|
|
328
|
+
.toggleButton[data-v-e049f4c9] {
|
|
329
329
|
background: none;
|
|
330
330
|
border: none;
|
|
331
331
|
cursor: pointer;
|
|
@@ -337,7 +337,7 @@
|
|
|
337
337
|
justify-content: space-between;
|
|
338
338
|
border-radius: var(--scalar-radius-lg);
|
|
339
339
|
}
|
|
340
|
-
.toggleButton[data-v-
|
|
340
|
+
.toggleButton[data-v-e049f4c9]:hover {
|
|
341
341
|
text-decoration: underline;
|
|
342
342
|
}
|
|
343
343
|
|
|
@@ -910,7 +910,7 @@
|
|
|
910
910
|
width: 20px;
|
|
911
911
|
}
|
|
912
912
|
|
|
913
|
-
.actionContainer[data-v-
|
|
913
|
+
.actionContainer[data-v-3a0f1d21] {
|
|
914
914
|
background: color-mix(
|
|
915
915
|
in srgb,
|
|
916
916
|
var(--scalar-background-2),
|
|
@@ -923,7 +923,7 @@
|
|
|
923
923
|
/* visually hides overflowing text below */
|
|
924
924
|
box-shadow: 0 24px 0 2px var(--scalar-background-1);
|
|
925
925
|
}
|
|
926
|
-
.promptForm[data-v-
|
|
926
|
+
.promptForm[data-v-3a0f1d21] {
|
|
927
927
|
width: 100%;
|
|
928
928
|
position: relative;
|
|
929
929
|
display: flex;
|
|
@@ -934,23 +934,23 @@
|
|
|
934
934
|
0 0 0 var(--scalar-border-width) var(--scalar-border-color);
|
|
935
935
|
border-radius: var(--scalar-radius-3xl);
|
|
936
936
|
}
|
|
937
|
-
.inputActionsContainer[data-v-
|
|
937
|
+
.inputActionsContainer[data-v-3a0f1d21] {
|
|
938
938
|
display: flex;
|
|
939
939
|
justify-content: space-between;
|
|
940
940
|
padding: 0 8px 8px 8px;
|
|
941
941
|
}
|
|
942
|
-
.inputActionsLeft[data-v-
|
|
942
|
+
.inputActionsLeft[data-v-3a0f1d21] {
|
|
943
943
|
display: flex;
|
|
944
944
|
flex-wrap: wrap; /* key: allows pills to go to next line */
|
|
945
945
|
align-items: center;
|
|
946
946
|
gap: 5px; /* spacing between pills */
|
|
947
947
|
}
|
|
948
|
-
.inputActionsRight[data-v-
|
|
948
|
+
.inputActionsRight[data-v-3a0f1d21] {
|
|
949
949
|
display: flex;
|
|
950
950
|
gap: 5px;
|
|
951
951
|
position: relative;
|
|
952
952
|
}
|
|
953
|
-
.apiPill[data-v-
|
|
953
|
+
.apiPill[data-v-3a0f1d21] {
|
|
954
954
|
font-size: var(--scalar-font-size-3);
|
|
955
955
|
border: var(--scalar-border-width) solid var(--scalar-border-color);
|
|
956
956
|
color: var(--scalar-color-2);
|
|
@@ -965,10 +965,10 @@
|
|
|
965
965
|
gap: 4px;
|
|
966
966
|
user-select: none;
|
|
967
967
|
}
|
|
968
|
-
.apiPillLogo[data-v-
|
|
968
|
+
.apiPillLogo[data-v-3a0f1d21] {
|
|
969
969
|
width: 15px;
|
|
970
970
|
}
|
|
971
|
-
.apiPillRemove[data-v-
|
|
971
|
+
.apiPillRemove[data-v-3a0f1d21] {
|
|
972
972
|
width: 24px;
|
|
973
973
|
height: 24px;
|
|
974
974
|
margin-right: -6px;
|
|
@@ -977,16 +977,16 @@
|
|
|
977
977
|
align-items: center;
|
|
978
978
|
justify-content: center;
|
|
979
979
|
}
|
|
980
|
-
.apiPill:hover .apiPillRemove[data-v-
|
|
980
|
+
.apiPill:hover .apiPillRemove[data-v-3a0f1d21] {
|
|
981
981
|
background: var(--scalar-background-2);
|
|
982
982
|
}
|
|
983
|
-
.dark-mode .apiPill:hover .apiPillRemove[data-v-
|
|
983
|
+
.dark-mode .apiPill:hover .apiPillRemove[data-v-3a0f1d21] {
|
|
984
984
|
background: var(--scalar-background-3);
|
|
985
985
|
}
|
|
986
|
-
.apiPillRemove[data-v-
|
|
986
|
+
.apiPillRemove[data-v-3a0f1d21]:hover {
|
|
987
987
|
color: var(--scalar-color-1);
|
|
988
988
|
}
|
|
989
|
-
.prompt[data-v-
|
|
989
|
+
.prompt[data-v-3a0f1d21] {
|
|
990
990
|
width: 100%;
|
|
991
991
|
outline: none;
|
|
992
992
|
border: none;
|
|
@@ -1003,13 +1003,13 @@
|
|
|
1003
1003
|
font-size: 16px;
|
|
1004
1004
|
padding: 12px 12px 14px 12px;
|
|
1005
1005
|
}
|
|
1006
|
-
.dark-mode .promptForm[data-v-
|
|
1006
|
+
.dark-mode .promptForm[data-v-3a0f1d21] {
|
|
1007
1007
|
background: var(--scalar-background-2);
|
|
1008
1008
|
}
|
|
1009
|
-
.prompt[data-v-
|
|
1009
|
+
.prompt[data-v-3a0f1d21]:disabled {
|
|
1010
1010
|
color: var(--scalar-color-3);
|
|
1011
1011
|
}
|
|
1012
|
-
.addAPIButton[data-v-
|
|
1012
|
+
.addAPIButton[data-v-3a0f1d21] {
|
|
1013
1013
|
display: flex;
|
|
1014
1014
|
align-items: center;
|
|
1015
1015
|
justify-content: center;
|
|
@@ -1026,7 +1026,7 @@
|
|
|
1026
1026
|
z-index: 1;
|
|
1027
1027
|
box-shadow: 0 0 0 var(--scalar-border-width) var(--scalar-border-color);
|
|
1028
1028
|
}
|
|
1029
|
-
.addAPIButton[data-v-
|
|
1029
|
+
.addAPIButton[data-v-3a0f1d21]:hover {
|
|
1030
1030
|
background: color-mix(
|
|
1031
1031
|
in srgb,
|
|
1032
1032
|
var(--scalar-background-2),
|
|
@@ -1034,47 +1034,47 @@
|
|
|
1034
1034
|
);
|
|
1035
1035
|
box-shadow: 0 0 0 var(--scalar-border-width) var(--scalar-border-color);
|
|
1036
1036
|
}
|
|
1037
|
-
.dark-mode .addAPIButton[data-v-
|
|
1037
|
+
.dark-mode .addAPIButton[data-v-3a0f1d21]:hover {
|
|
1038
1038
|
background: var(--scalar-background-3);
|
|
1039
1039
|
}
|
|
1040
|
-
.settingsButton[data-v-
|
|
1040
|
+
.settingsButton[data-v-3a0f1d21] {
|
|
1041
1041
|
color: var(--scalar-color-3) !important;
|
|
1042
1042
|
border-radius: var(--scalar-radius-full) !important;
|
|
1043
1043
|
margin: 0 !important;
|
|
1044
1044
|
z-index: 1;
|
|
1045
1045
|
}
|
|
1046
|
-
.settingsButton[aria-disabled='true'][data-v-
|
|
1046
|
+
.settingsButton[aria-disabled='true'][data-v-3a0f1d21] {
|
|
1047
1047
|
background: var(--scalar-background-2);
|
|
1048
1048
|
}
|
|
1049
|
-
.dark-mode .settingsButton[data-v-
|
|
1049
|
+
.dark-mode .settingsButton[data-v-3a0f1d21]:hover {
|
|
1050
1050
|
background: var(--scalar-background-3);
|
|
1051
1051
|
}
|
|
1052
|
-
.sendButton[data-v-
|
|
1052
|
+
.sendButton[data-v-3a0f1d21] {
|
|
1053
1053
|
background: var(--scalar-color-blue) !important;
|
|
1054
1054
|
border-radius: var(--scalar-radius-full) !important;
|
|
1055
1055
|
margin: 0 !important;
|
|
1056
1056
|
z-index: 1;
|
|
1057
1057
|
border: var(--scalar-border-width) solid var(--scalar-color-blue);
|
|
1058
1058
|
}
|
|
1059
|
-
.sendButton[data-v-
|
|
1059
|
+
.sendButton[data-v-3a0f1d21]:not([aria-disabled='true']) {
|
|
1060
1060
|
color: white !important;
|
|
1061
1061
|
}
|
|
1062
|
-
.sendButton[data-v-
|
|
1062
|
+
.sendButton[data-v-3a0f1d21]:not([aria-disabled='true']):hover {
|
|
1063
1063
|
background: color-mix(
|
|
1064
1064
|
in srgb,
|
|
1065
1065
|
var(--scalar-color-blue),
|
|
1066
1066
|
transparent 10%
|
|
1067
1067
|
) !important;
|
|
1068
1068
|
}
|
|
1069
|
-
.sendButton[aria-disabled='true'][data-v-
|
|
1069
|
+
.sendButton[aria-disabled='true'][data-v-3a0f1d21] {
|
|
1070
1070
|
background: var(--scalar-background-2) !important;
|
|
1071
1071
|
color: var(--scalar-color-3) !important;
|
|
1072
1072
|
border: var(--scalar-border-width) solid var(--scalar-border-color);
|
|
1073
1073
|
}
|
|
1074
|
-
.dark-mode .sendButton[aria-disabled='true'][data-v-
|
|
1074
|
+
.dark-mode .sendButton[aria-disabled='true'][data-v-3a0f1d21] {
|
|
1075
1075
|
background: var(--scalar-background-3) !important;
|
|
1076
1076
|
}
|
|
1077
|
-
.contextContainer[data-v-
|
|
1077
|
+
.contextContainer[data-v-3a0f1d21] {
|
|
1078
1078
|
display: flex;
|
|
1079
1079
|
width: 100%;
|
|
1080
1080
|
padding: 10px 12px 12px 12px;
|
|
@@ -1083,25 +1083,25 @@
|
|
|
1083
1083
|
user-select: none;
|
|
1084
1084
|
justify-content: space-between;
|
|
1085
1085
|
}
|
|
1086
|
-
.settingsButton[data-v-
|
|
1086
|
+
.settingsButton[data-v-3a0f1d21] {
|
|
1087
1087
|
font-weight: var(--scalar-semibold);
|
|
1088
1088
|
border-radius: var(--scalar-radius-lg);
|
|
1089
1089
|
padding: 4px 6px;
|
|
1090
1090
|
margin: -4px -6px;
|
|
1091
1091
|
}
|
|
1092
|
-
.settingsButton[data-v-
|
|
1092
|
+
.settingsButton[data-v-3a0f1d21]:hover {
|
|
1093
1093
|
background: var(--scalar-background-2);
|
|
1094
1094
|
box-shadow: 0 0 var(--scalar-border-width) 0 var(--scalar-border-color);
|
|
1095
1095
|
cursor: pointer;
|
|
1096
1096
|
}
|
|
1097
|
-
.agentLabel[data-v-
|
|
1097
|
+
.agentLabel[data-v-3a0f1d21] {
|
|
1098
1098
|
font-size: 0px;
|
|
1099
1099
|
position: absolute;
|
|
1100
1100
|
width: 100%;
|
|
1101
1101
|
height: 100%;
|
|
1102
1102
|
cursor: text;
|
|
1103
1103
|
}
|
|
1104
|
-
.sendCheckboxContinue[data-v-
|
|
1104
|
+
.sendCheckboxContinue[data-v-3a0f1d21]:has(input) {
|
|
1105
1105
|
display: flex;
|
|
1106
1106
|
align-items: center;
|
|
1107
1107
|
border-radius: var(--scalar-radius-3xl);
|
|
@@ -1113,11 +1113,11 @@
|
|
|
1113
1113
|
user-select: none;
|
|
1114
1114
|
height: 28px;
|
|
1115
1115
|
}
|
|
1116
|
-
.dark-mode .sendCheckboxContinue[data-v-
|
|
1116
|
+
.dark-mode .sendCheckboxContinue[data-v-3a0f1d21]:has(input) {
|
|
1117
1117
|
background: var(--scalar-background-3);
|
|
1118
1118
|
box-shadow: 0 0 0 1.5px var(--scalar-background-3);
|
|
1119
1119
|
}
|
|
1120
|
-
.addMoreContext[data-v-
|
|
1120
|
+
.addMoreContext[data-v-3a0f1d21] {
|
|
1121
1121
|
height: 40px;
|
|
1122
1122
|
display: flex;
|
|
1123
1123
|
position: relative;
|
|
@@ -1126,7 +1126,7 @@
|
|
|
1126
1126
|
padding: 0 8px 0 12px;
|
|
1127
1127
|
align-items: center;
|
|
1128
1128
|
}
|
|
1129
|
-
.addMoreContext[data-v-
|
|
1129
|
+
.addMoreContext[data-v-3a0f1d21]:before {
|
|
1130
1130
|
content: '';
|
|
1131
1131
|
width: 8px;
|
|
1132
1132
|
height: 8px;
|
|
@@ -1143,10 +1143,10 @@
|
|
|
1143
1143
|
-0.5px -0.5px 0 var(--scalar-border-color),
|
|
1144
1144
|
inset 0.5px 0.5px 1px var(--scalar-border-color);
|
|
1145
1145
|
}
|
|
1146
|
-
.dark-mode .addMoreContext[data-v-
|
|
1146
|
+
.dark-mode .addMoreContext[data-v-3a0f1d21]:before {
|
|
1147
1147
|
box-shadow: -0.5px -0.5px 0 var(--scalar-border-color);
|
|
1148
1148
|
}
|
|
1149
|
-
.addAPIContext[data-v-
|
|
1149
|
+
.addAPIContext[data-v-3a0f1d21] {
|
|
1150
1150
|
width: 28px;
|
|
1151
1151
|
height: 28px;
|
|
1152
1152
|
border-radius: var(--scalar-radius-full);
|
|
@@ -1155,7 +1155,7 @@
|
|
|
1155
1155
|
justify-content: center;
|
|
1156
1156
|
border: var(--scalar-border-width) solid var(--scalar-border-color);
|
|
1157
1157
|
}
|
|
1158
|
-
.termsAgree[data-v-
|
|
1158
|
+
.termsAgree[data-v-3a0f1d21] {
|
|
1159
1159
|
display: flex;
|
|
1160
1160
|
cursor: pointer;
|
|
1161
1161
|
height: inherit;
|
|
@@ -1164,14 +1164,14 @@
|
|
|
1164
1164
|
gap: 5px;
|
|
1165
1165
|
margin: 0px 5px;
|
|
1166
1166
|
}
|
|
1167
|
-
.termsAgree[data-v-
|
|
1167
|
+
.termsAgree[data-v-3a0f1d21]:hover {
|
|
1168
1168
|
color: var(--scalar-color-1);
|
|
1169
1169
|
}
|
|
1170
|
-
.termsAgree:hover .termsAgreeIcon[data-v-
|
|
1170
|
+
.termsAgree:hover .termsAgreeIcon[data-v-3a0f1d21] {
|
|
1171
1171
|
background: var(--scalar-color-1);
|
|
1172
1172
|
color: var(--scalar-background-1);
|
|
1173
1173
|
}
|
|
1174
|
-
.termsAgreeIcon[data-v-
|
|
1174
|
+
.termsAgreeIcon[data-v-3a0f1d21] {
|
|
1175
1175
|
width: inherit;
|
|
1176
1176
|
height: inherit;
|
|
1177
1177
|
padding: 2px;
|
package/package.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"url": "git+https://github.com/scalar/scalar.git",
|
|
11
11
|
"directory": "packages/agent-chat"
|
|
12
12
|
},
|
|
13
|
-
"version": "0.12.
|
|
13
|
+
"version": "0.12.43",
|
|
14
14
|
"engines": {
|
|
15
15
|
"node": ">=22"
|
|
16
16
|
},
|
|
@@ -46,18 +46,18 @@
|
|
|
46
46
|
],
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@ai-sdk/vue": "3.0.33",
|
|
49
|
-
"@scalar/api-client": "3.
|
|
50
|
-
"@scalar/components": "0.31.
|
|
51
|
-
"@scalar/helpers": "0.16.
|
|
49
|
+
"@scalar/api-client": "3.23.0",
|
|
50
|
+
"@scalar/components": "0.31.1",
|
|
51
|
+
"@scalar/helpers": "0.16.3",
|
|
52
52
|
"@scalar/icons": "0.7.6",
|
|
53
|
-
"@scalar/json-magic": "0.15.
|
|
54
|
-
"@scalar/openapi-types": "0.9.
|
|
55
|
-
"@scalar/schemas": "0.13.
|
|
56
|
-
"@scalar/themes": "0.19.
|
|
57
|
-
"@scalar/types": "0.23.
|
|
53
|
+
"@scalar/json-magic": "0.15.7",
|
|
54
|
+
"@scalar/openapi-types": "0.9.8",
|
|
55
|
+
"@scalar/schemas": "0.13.2",
|
|
56
|
+
"@scalar/themes": "0.19.1",
|
|
57
|
+
"@scalar/types": "0.23.2",
|
|
58
58
|
"@scalar/use-toasts": "0.10.5",
|
|
59
|
-
"@scalar/validation": "0.6.
|
|
60
|
-
"@scalar/workspace-store": "0.68.
|
|
59
|
+
"@scalar/validation": "0.6.7",
|
|
60
|
+
"@scalar/workspace-store": "0.68.3",
|
|
61
61
|
"@vueuse/core": "13.9.0",
|
|
62
62
|
"ai": "6.0.33",
|
|
63
63
|
"js-base64": "^3.9.2",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"vue": "^3.5.40"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@scalar/sidebar": "0.
|
|
69
|
+
"@scalar/sidebar": "0.12.0",
|
|
70
70
|
"@tailwindcss/cli": "^4.3.3",
|
|
71
71
|
"@tailwindcss/vite": "^4.3.3",
|
|
72
72
|
"@types/jsdom": "28.0.1",
|