@scalar/agent-chat 0.12.44 → 0.12.46
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/App.test.d.ts +2 -0
- package/dist/App.test.d.ts.map +1 -0
- package/dist/App.vue.d.ts +5 -1
- package/dist/App.vue.d.ts.map +1 -1
- package/dist/App.vue.js +1 -1
- package/dist/App.vue.js.map +1 -1
- package/dist/{App.vue.script.js → App.vue_vue_type_script_setup_true_lang.js} +3 -1
- package/dist/App.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/Chat.vue.d.ts.map +1 -1
- package/dist/Chat.vue.js +1 -1
- package/dist/Chat.vue.js.map +1 -1
- package/dist/{Chat.vue.script.js → Chat.vue_vue_type_script_setup_true_lang.js} +14 -6
- package/dist/Chat.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/client-tools/execute-request.js +3 -2
- package/dist/client-tools/execute-request.js.map +1 -1
- package/dist/components/ActionsDropdown.vue.js +2 -2
- package/dist/components/ActionsDropdown.vue.js.map +1 -1
- package/dist/components/{ActionsDropdown.vue.script.js → ActionsDropdown.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/ActionsDropdown.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/ApprovalSection.vue.js +2 -2
- package/dist/components/ApprovalSection.vue.js.map +1 -1
- package/dist/components/{ApprovalSection.vue.script.js → ApprovalSection.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/ApprovalSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
- 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 +2 -2
- package/dist/components/ContextItem.vue.js.map +1 -1
- package/dist/components/{ContextItem.vue.script.js → ContextItem.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/ContextItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/ErrorMessage.vue.js +2 -2
- package/dist/components/ErrorMessage.vue.js.map +1 -1
- package/dist/components/{ErrorMessage.vue.script.js → ErrorMessage.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/ErrorMessage.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/FreeMessagesInfoSection.vue.js +2 -2
- package/dist/components/FreeMessagesInfoSection.vue.js.map +1 -1
- package/dist/components/{FreeMessagesInfoSection.vue.script.js → FreeMessagesInfoSection.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/FreeMessagesInfoSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
- 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.map +1 -1
- package/dist/components/PaymentSection.vue.js +2 -2
- package/dist/components/PaymentSection.vue.js.map +1 -1
- package/dist/components/{PaymentSection.vue.script.js → PaymentSection.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/PaymentSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
- 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.js +2 -2
- package/dist/components/RequestPreview.vue.js.map +1 -1
- package/dist/components/{RequestPreview.vue.script.js → RequestPreview.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/RequestPreview.vue_vue_type_script_setup_true_lang.js.map +1 -0
- 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.d.ts +2 -2
- package/dist/components/ResponseBody/ResponseBody.vue.js +1 -1
- package/dist/components/ResponseBody/ResponseBody.vue.js.map +1 -1
- package/dist/components/ResponseBody/{ResponseBody.vue.script.js → ResponseBody.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/ResponseBody/ResponseBody.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/ResponseBody/ResponseBodyInfo.vue.js.map +1 -1
- package/dist/components/ResponseBody/ResponseBodyPreview.vue.d.ts +1 -1
- package/dist/components/ResponseBody/ResponseBodyPreview.vue.js +2 -2
- package/dist/components/ResponseBody/ResponseBodyPreview.vue.js.map +1 -1
- package/dist/components/ResponseBody/{ResponseBodyPreview.vue.script.js → ResponseBodyPreview.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/ResponseBody/ResponseBodyPreview.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/ResponseBody/ResponseBodyRaw.vue.js +1 -1
- package/dist/components/ResponseBody/ResponseBodyRaw.vue.js.map +1 -1
- package/dist/components/ResponseBody/{ResponseBodyRaw.vue.script.js → ResponseBodyRaw.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/ResponseBody/ResponseBodyRaw.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/ResponseBody/ResponseBodyToggle.vue.js +1 -1
- package/dist/components/ResponseBody/ResponseBodyToggle.vue.js.map +1 -1
- package/dist/components/ResponseBody/{ResponseBodyToggle.vue.script.js → ResponseBodyToggle.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/ResponseBody/ResponseBodyToggle.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/SearchPopover.vue.js +2 -2
- package/dist/components/SearchPopover.vue.js.map +1 -1
- package/dist/components/{SearchPopover.vue.script.js → SearchPopover.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/SearchPopover.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/Selector.vue.js +1 -1
- package/dist/components/Selector.vue.js.map +1 -1
- package/dist/components/{Selector.vue.script.js → Selector.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/Selector.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/SendingRequest.vue.js +1 -1
- package/dist/components/SendingRequest.vue.js.map +1 -1
- package/dist/components/ServerSelector.vue.js +1 -1
- package/dist/components/ServerSelector.vue.js.map +1 -1
- package/dist/components/{ServerSelector.vue.script.js → ServerSelector.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/components/ServerSelector.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/UploadSection.vue.js +3 -3
- package/dist/components/UploadSection.vue.js.map +1 -1
- package/dist/components/{UploadSection.vue.script.js → UploadSection.vue_vue_type_script_setup_true_lang.js} +3 -3
- package/dist/components/UploadSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/entities/tools/execute-request.d.ts +1 -1
- package/dist/entities/tools/get-openapi-specs-summary.d.ts +3 -2
- package/dist/entities/tools/get-openapi-specs-summary.d.ts.map +1 -1
- package/dist/entities/tools/get-openapi-specs-summary.js.map +1 -1
- package/dist/entities/tools/search-openapi-operations.d.ts +2 -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/helpers/get-search-result-labels.d.ts +3 -0
- package/dist/helpers/get-search-result-labels.d.ts.map +1 -0
- package/dist/helpers/get-search-result-labels.js +38 -0
- package/dist/helpers/get-search-result-labels.js.map +1 -0
- package/dist/helpers/get-search-result-labels.test.d.ts +2 -0
- package/dist/helpers/get-search-result-labels.test.d.ts.map +1 -0
- package/dist/helpers.d.ts +0 -3
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +6 -7
- package/dist/helpers.js.map +1 -1
- package/dist/hooks/use-agent-key-documents.js +1 -1
- package/dist/hooks/use-agent-key-documents.js.map +1 -1
- package/dist/hooks/use-upload-tmp-document.d.ts +1 -1
- package/dist/hooks/use-upload-tmp-document.d.ts.map +1 -1
- package/dist/hooks/use-upload-tmp-document.js +24 -17
- package/dist/hooks/use-upload-tmp-document.js.map +1 -1
- package/dist/index.js +1 -2
- package/dist/package.json +2 -1
- package/dist/registry/add-documents-to-store.d.ts.map +1 -1
- package/dist/registry/add-documents-to-store.js.map +1 -1
- package/dist/state/state.d.ts +6 -2
- package/dist/state/state.d.ts.map +1 -1
- package/dist/state/state.js +15 -6
- package/dist/state/state.js.map +1 -1
- package/dist/state/state.test.d.ts +2 -0
- package/dist/state/state.test.d.ts.map +1 -0
- package/dist/style.css +137 -109
- package/dist/views/Catalog/Catalog.vue.js +3 -3
- package/dist/views/Catalog/Catalog.vue.js.map +1 -1
- package/dist/views/Catalog/{Catalog.vue.script.js → Catalog.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/views/Catalog/Catalog.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/views/Chat/Chat.vue.js +2 -2
- package/dist/views/Chat/Chat.vue.js.map +1 -1
- package/dist/views/Chat/{Chat.vue.script.js → Chat.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/views/Chat/Chat.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/views/Chat/Messages/AskForAuthentication.vue.d.ts.map +1 -1
- package/dist/views/Chat/Messages/AskForAuthentication.vue.js +3 -3
- package/dist/views/Chat/Messages/AskForAuthentication.vue.js.map +1 -1
- package/dist/views/Chat/Messages/{AskForAuthentication.vue.script.js → AskForAuthentication.vue_vue_type_script_setup_true_lang.js} +45 -36
- package/dist/views/Chat/Messages/AskForAuthentication.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/views/Chat/Messages/ExecuteRequestTool.vue.d.ts.map +1 -1
- package/dist/views/Chat/Messages/ExecuteRequestTool.vue.js +3 -3
- package/dist/views/Chat/Messages/ExecuteRequestTool.vue.js.map +1 -1
- package/dist/views/Chat/Messages/{ExecuteRequestTool.vue.script.js → ExecuteRequestTool.vue_vue_type_script_setup_true_lang.js} +9 -4
- package/dist/views/Chat/Messages/ExecuteRequestTool.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.js +1 -1
- package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.js.map +1 -1
- package/dist/views/Chat/Messages/{GetOpenAPISpecsSummary.vue.script.js → GetOpenAPISpecsSummary.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/views/Chat/Messages/SearchOpenAPIOperationsTool.vue.d.ts.map +1 -1
- package/dist/views/Chat/Messages/SearchOpenAPIOperationsTool.vue.js +3 -3
- package/dist/views/Chat/Messages/SearchOpenAPIOperationsTool.vue.js.map +1 -1
- package/dist/views/Chat/Messages/{SearchOpenAPIOperationsTool.vue.script.js → SearchOpenAPIOperationsTool.vue_vue_type_script_setup_true_lang.js} +7 -10
- package/dist/views/Chat/Messages/SearchOpenAPIOperationsTool.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/views/Chat/Messages/Text.vue.js +1 -1
- package/dist/views/Chat/Messages/Text.vue.js.map +1 -1
- package/dist/views/Chat/Messages/{Text.vue.script.js → Text.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/views/Chat/Messages/Text.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/views/Layout.vue.js +2 -2
- package/dist/views/Layout.vue.js.map +1 -1
- package/dist/views/{Layout.vue.script.js → Layout.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/views/Layout.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/views/PromptForm.vue.d.ts.map +1 -1
- package/dist/views/PromptForm.vue.js +3 -3
- package/dist/views/PromptForm.vue.js.map +1 -1
- package/dist/views/{PromptForm.vue.script.js → PromptForm.vue_vue_type_script_setup_true_lang.js} +1 -2
- package/dist/views/PromptForm.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/views/Settings/Auth.vue.js +1 -1
- package/dist/views/Settings/Auth.vue.js.map +1 -1
- package/dist/views/Settings/{Auth.vue.script.js → Auth.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/views/Settings/Auth.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/views/Settings/DocSettings.vue.js +2 -2
- package/dist/views/Settings/DocSettings.vue.js.map +1 -1
- package/dist/views/Settings/{DocSettings.vue.script.js → DocSettings.vue_vue_type_script_setup_true_lang.js} +1 -1
- package/dist/views/Settings/DocSettings.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/views/Settings/Settings.vue.d.ts.map +1 -1
- package/dist/views/Settings/Settings.vue.js +4 -4
- package/dist/views/Settings/Settings.vue.js.map +1 -1
- package/dist/views/Settings/{Settings.vue.script.js → Settings.vue_vue_type_script_setup_true_lang.js} +11 -7
- package/dist/views/Settings/Settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/views/Start.vue.js +3 -3
- package/dist/views/Start.vue.js.map +1 -1
- package/dist/views/{Start.vue.script.js → Start.vue_vue_type_script_setup_true_lang.js} +2 -2
- package/dist/views/Start.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue-styles.css +71 -71
- package/package.json +23 -22
- package/dist/App.vue.script.js.map +0 -1
- package/dist/Chat.vue.script.js.map +0 -1
- package/dist/components/ActionsDropdown.vue.script.js.map +0 -1
- package/dist/components/ApprovalSection.vue.script.js.map +0 -1
- package/dist/components/ContextItem.vue.script.js.map +0 -1
- package/dist/components/ErrorMessage.vue.script.js.map +0 -1
- package/dist/components/FreeMessagesInfoSection.vue.script.js.map +0 -1
- package/dist/components/PaymentSection.vue.script.js.map +0 -1
- package/dist/components/RequestPreview.vue.script.js.map +0 -1
- package/dist/components/ResponseBody/ResponseBody.vue.script.js.map +0 -1
- package/dist/components/ResponseBody/ResponseBodyPreview.vue.script.js.map +0 -1
- package/dist/components/ResponseBody/ResponseBodyRaw.vue.script.js.map +0 -1
- package/dist/components/ResponseBody/ResponseBodyToggle.vue.script.js.map +0 -1
- package/dist/components/SearchPopover.vue.script.js.map +0 -1
- package/dist/components/Selector.vue.script.js.map +0 -1
- package/dist/components/ServerSelector.vue.script.js.map +0 -1
- package/dist/components/UploadSection.vue.script.js.map +0 -1
- package/dist/views/Catalog/Catalog.vue.script.js.map +0 -1
- package/dist/views/Chat/Chat.vue.script.js.map +0 -1
- package/dist/views/Chat/Messages/AskForAuthentication.vue.script.js.map +0 -1
- package/dist/views/Chat/Messages/ExecuteRequestTool.vue.script.js.map +0 -1
- package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.script.js.map +0 -1
- package/dist/views/Chat/Messages/SearchOpenAPIOperationsTool.vue.script.js.map +0 -1
- package/dist/views/Chat/Messages/Text.vue.script.js.map +0 -1
- package/dist/views/Layout.vue.script.js.map +0 -1
- package/dist/views/PromptForm.vue.script.js.map +0 -1
- package/dist/views/Settings/Auth.vue.script.js.map +0 -1
- package/dist/views/Settings/DocSettings.vue.script.js.map +0 -1
- package/dist/views/Settings/Settings.vue.script.js.map +0 -1
- package/dist/views/Start.vue.script.js.map +0 -1
package/dist/vue-styles.css
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
position: relative;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
.askForAuthentication[data-v-
|
|
24
|
+
.askForAuthentication[data-v-508e8718] {
|
|
25
25
|
display: flex;
|
|
26
26
|
flex-direction: column;
|
|
27
27
|
width: 100%;
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
0 calc(-1 * var(--scalar-border-width)) 0 var(--scalar-background-1);
|
|
35
35
|
padding: 0;
|
|
36
36
|
}
|
|
37
|
-
.authContent[data-v-
|
|
37
|
+
.authContent[data-v-508e8718] {
|
|
38
38
|
display: grid;
|
|
39
39
|
grid-template-rows: 0fr;
|
|
40
40
|
min-height: 0;
|
|
@@ -44,19 +44,19 @@
|
|
|
44
44
|
margin: auto;
|
|
45
45
|
width: 100%;
|
|
46
46
|
}
|
|
47
|
-
.authContentInner[data-v-
|
|
47
|
+
.authContentInner[data-v-508e8718] > div {
|
|
48
48
|
margin: 36px 0 48px 0;
|
|
49
49
|
}
|
|
50
|
-
.authContent[data-v-
|
|
50
|
+
.authContent[data-v-508e8718] .markdown {
|
|
51
51
|
margin-bottom: 0 !important;
|
|
52
52
|
}
|
|
53
|
-
.askForAuthentication.open .authContent[data-v-
|
|
53
|
+
.askForAuthentication.open .authContent[data-v-508e8718] {
|
|
54
54
|
grid-template-rows: 1fr;
|
|
55
55
|
}
|
|
56
|
-
.continueButton[data-v-
|
|
56
|
+
.continueButton[data-v-508e8718] {
|
|
57
57
|
align-self: flex-end;
|
|
58
58
|
}
|
|
59
|
-
.toggleButton[data-v-
|
|
59
|
+
.toggleButton[data-v-508e8718] {
|
|
60
60
|
background: none;
|
|
61
61
|
border: none;
|
|
62
62
|
cursor: pointer;
|
|
@@ -68,11 +68,11 @@
|
|
|
68
68
|
justify-content: space-between;
|
|
69
69
|
border-radius: var(--scalar-radius-lg);
|
|
70
70
|
}
|
|
71
|
-
.authContentInner[data-v-
|
|
71
|
+
.authContentInner[data-v-508e8718] {
|
|
72
72
|
min-height: 0;
|
|
73
73
|
overflow: hidden;
|
|
74
74
|
}
|
|
75
|
-
.authorizeButton[data-v-
|
|
75
|
+
.authorizeButton[data-v-508e8718] {
|
|
76
76
|
background: var(--scalar-color-blue) !important;
|
|
77
77
|
color: white !important;
|
|
78
78
|
margin: 0 !important;
|
|
@@ -341,7 +341,7 @@
|
|
|
341
341
|
text-decoration: underline;
|
|
342
342
|
}
|
|
343
343
|
|
|
344
|
-
.executeRequestTool[data-v-
|
|
344
|
+
.executeRequestTool[data-v-0c85bad4] {
|
|
345
345
|
display: flex;
|
|
346
346
|
flex-direction: column;
|
|
347
347
|
gap: 10px;
|
|
@@ -511,17 +511,17 @@
|
|
|
511
511
|
}
|
|
512
512
|
}
|
|
513
513
|
|
|
514
|
-
.operations[data-v-
|
|
514
|
+
.operations[data-v-fa6f5acc] {
|
|
515
515
|
display: flex;
|
|
516
516
|
gap: 5px;
|
|
517
517
|
align-items: center;
|
|
518
518
|
flex-wrap: wrap;
|
|
519
519
|
margin-bottom: 12px;
|
|
520
520
|
}
|
|
521
|
-
.operations[data-v-
|
|
521
|
+
.operations[data-v-fa6f5acc]:empty {
|
|
522
522
|
margin-bottom: -12px;
|
|
523
523
|
}
|
|
524
|
-
.overflowPopover[data-v-
|
|
524
|
+
.overflowPopover[data-v-fa6f5acc] {
|
|
525
525
|
display: flex;
|
|
526
526
|
flex-direction: column;
|
|
527
527
|
gap: 5px;
|
|
@@ -868,7 +868,7 @@
|
|
|
868
868
|
margin: 10px;
|
|
869
869
|
}
|
|
870
870
|
|
|
871
|
-
.uploadSection[data-v-
|
|
871
|
+
.uploadSection[data-v-b82d2f3a] {
|
|
872
872
|
width: 100%;
|
|
873
873
|
margin-bottom: -16px;
|
|
874
874
|
padding: 8px 8px 24px 12px;
|
|
@@ -887,30 +887,30 @@
|
|
|
887
887
|
top: 0;
|
|
888
888
|
transform: translate3d(0, calc(-100% + 16px), 0);
|
|
889
889
|
}
|
|
890
|
-
.uploadSection.error[data-v-
|
|
890
|
+
.uploadSection.error[data-v-b82d2f3a] {
|
|
891
891
|
background: color-mix(
|
|
892
892
|
in srgb,
|
|
893
893
|
var(--scalar-color-red),
|
|
894
894
|
var(--scalar-background-1) 95%
|
|
895
895
|
);
|
|
896
896
|
}
|
|
897
|
-
.uploadSection.done[data-v-
|
|
897
|
+
.uploadSection.done[data-v-b82d2f3a] {
|
|
898
898
|
background: color-mix(
|
|
899
899
|
in srgb,
|
|
900
900
|
var(--scalar-color-green),
|
|
901
901
|
var(--scalar-background-1) 95%
|
|
902
902
|
);
|
|
903
903
|
}
|
|
904
|
-
.uploadText[data-v-
|
|
904
|
+
.uploadText[data-v-b82d2f3a] {
|
|
905
905
|
font-weight: var(--scalar-semibold);
|
|
906
906
|
font-size: var(--scalar-font-size-3);
|
|
907
907
|
}
|
|
908
|
-
.icon[data-v-
|
|
908
|
+
.icon[data-v-b82d2f3a] {
|
|
909
909
|
height: 20px;
|
|
910
910
|
width: 20px;
|
|
911
911
|
}
|
|
912
912
|
|
|
913
|
-
.actionContainer[data-v-
|
|
913
|
+
.actionContainer[data-v-6aae4d61] {
|
|
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-6aae4d61] {
|
|
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-6aae4d61] {
|
|
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-6aae4d61] {
|
|
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-6aae4d61] {
|
|
949
949
|
display: flex;
|
|
950
950
|
gap: 5px;
|
|
951
951
|
position: relative;
|
|
952
952
|
}
|
|
953
|
-
.apiPill[data-v-
|
|
953
|
+
.apiPill[data-v-6aae4d61] {
|
|
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-6aae4d61] {
|
|
969
969
|
width: 15px;
|
|
970
970
|
}
|
|
971
|
-
.apiPillRemove[data-v-
|
|
971
|
+
.apiPillRemove[data-v-6aae4d61] {
|
|
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-6aae4d61] {
|
|
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-6aae4d61] {
|
|
984
984
|
background: var(--scalar-background-3);
|
|
985
985
|
}
|
|
986
|
-
.apiPillRemove[data-v-
|
|
986
|
+
.apiPillRemove[data-v-6aae4d61]:hover {
|
|
987
987
|
color: var(--scalar-color-1);
|
|
988
988
|
}
|
|
989
|
-
.prompt[data-v-
|
|
989
|
+
.prompt[data-v-6aae4d61] {
|
|
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-6aae4d61] {
|
|
1007
1007
|
background: var(--scalar-background-2);
|
|
1008
1008
|
}
|
|
1009
|
-
.prompt[data-v-
|
|
1009
|
+
.prompt[data-v-6aae4d61]:disabled {
|
|
1010
1010
|
color: var(--scalar-color-3);
|
|
1011
1011
|
}
|
|
1012
|
-
.addAPIButton[data-v-
|
|
1012
|
+
.addAPIButton[data-v-6aae4d61] {
|
|
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-6aae4d61]: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-6aae4d61]:hover {
|
|
1038
1038
|
background: var(--scalar-background-3);
|
|
1039
1039
|
}
|
|
1040
|
-
.settingsButton[data-v-
|
|
1040
|
+
.settingsButton[data-v-6aae4d61] {
|
|
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-6aae4d61] {
|
|
1047
1047
|
background: var(--scalar-background-2);
|
|
1048
1048
|
}
|
|
1049
|
-
.dark-mode .settingsButton[data-v-
|
|
1049
|
+
.dark-mode .settingsButton[data-v-6aae4d61]:hover {
|
|
1050
1050
|
background: var(--scalar-background-3);
|
|
1051
1051
|
}
|
|
1052
|
-
.sendButton[data-v-
|
|
1052
|
+
.sendButton[data-v-6aae4d61] {
|
|
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-6aae4d61]:not([aria-disabled='true']) {
|
|
1060
1060
|
color: white !important;
|
|
1061
1061
|
}
|
|
1062
|
-
.sendButton[data-v-
|
|
1062
|
+
.sendButton[data-v-6aae4d61]: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-6aae4d61] {
|
|
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-6aae4d61] {
|
|
1075
1075
|
background: var(--scalar-background-3) !important;
|
|
1076
1076
|
}
|
|
1077
|
-
.contextContainer[data-v-
|
|
1077
|
+
.contextContainer[data-v-6aae4d61] {
|
|
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-6aae4d61] {
|
|
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-6aae4d61]: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-6aae4d61] {
|
|
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-6aae4d61]: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-6aae4d61]: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-6aae4d61] {
|
|
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-6aae4d61]: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-6aae4d61]:before {
|
|
1147
1147
|
box-shadow: -0.5px -0.5px 0 var(--scalar-border-color);
|
|
1148
1148
|
}
|
|
1149
|
-
.addAPIContext[data-v-
|
|
1149
|
+
.addAPIContext[data-v-6aae4d61] {
|
|
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-6aae4d61] {
|
|
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-6aae4d61]:hover {
|
|
1168
1168
|
color: var(--scalar-color-1);
|
|
1169
1169
|
}
|
|
1170
|
-
.termsAgree:hover .termsAgreeIcon[data-v-
|
|
1170
|
+
.termsAgree:hover .termsAgreeIcon[data-v-6aae4d61] {
|
|
1171
1171
|
background: var(--scalar-color-1);
|
|
1172
1172
|
color: var(--scalar-background-1);
|
|
1173
1173
|
}
|
|
1174
|
-
.termsAgreeIcon[data-v-
|
|
1174
|
+
.termsAgreeIcon[data-v-6aae4d61] {
|
|
1175
1175
|
width: inherit;
|
|
1176
1176
|
height: inherit;
|
|
1177
1177
|
padding: 2px;
|
|
@@ -1222,10 +1222,10 @@ div + .userMessage[data-v-6573ec87] {
|
|
|
1222
1222
|
margin-bottom: 12px;
|
|
1223
1223
|
}
|
|
1224
1224
|
|
|
1225
|
-
.agentLogo[data-v-
|
|
1225
|
+
.agentLogo[data-v-b27bdc01] {
|
|
1226
1226
|
margin-bottom: 15px;
|
|
1227
1227
|
}
|
|
1228
|
-
.startContainer[data-v-
|
|
1228
|
+
.startContainer[data-v-b27bdc01] {
|
|
1229
1229
|
display: flex;
|
|
1230
1230
|
flex-direction: column;
|
|
1231
1231
|
align-items: center;
|
|
@@ -1235,12 +1235,12 @@ div + .userMessage[data-v-6573ec87] {
|
|
|
1235
1235
|
max-width: 720px;
|
|
1236
1236
|
position: relative;
|
|
1237
1237
|
}
|
|
1238
|
-
.promptText[data-v-
|
|
1238
|
+
.promptText[data-v-b27bdc01] {
|
|
1239
1239
|
font-size: 1.5rem;
|
|
1240
1240
|
font-weight: var(--scalar-font-bold);
|
|
1241
1241
|
margin-bottom: 50px;
|
|
1242
1242
|
}
|
|
1243
|
-
.disclaimerText[data-v-
|
|
1243
|
+
.disclaimerText[data-v-b27bdc01] {
|
|
1244
1244
|
text-align: center;
|
|
1245
1245
|
color: var(--scalar-color-3);
|
|
1246
1246
|
font-size: var(--scalar-font-size-3);
|
|
@@ -1248,7 +1248,7 @@ div + .userMessage[data-v-6573ec87] {
|
|
|
1248
1248
|
line-height: 1.44;
|
|
1249
1249
|
margin-top: 40px;
|
|
1250
1250
|
}
|
|
1251
|
-
.disclaimerLink[data-v-
|
|
1251
|
+
.disclaimerLink[data-v-b27bdc01] {
|
|
1252
1252
|
text-decoration: underline;
|
|
1253
1253
|
}
|
|
1254
1254
|
|
|
@@ -1281,13 +1281,13 @@ div + .userMessage[data-v-6573ec87] {
|
|
|
1281
1281
|
overflow-x: hidden;
|
|
1282
1282
|
}
|
|
1283
1283
|
|
|
1284
|
-
.documentList[data-v-
|
|
1284
|
+
.documentList[data-v-1a8828eb] {
|
|
1285
1285
|
display: flex;
|
|
1286
1286
|
flex-direction: column;
|
|
1287
1287
|
font-size: var(--scalar-font-size-3);
|
|
1288
1288
|
margin-bottom: 12px;
|
|
1289
1289
|
}
|
|
1290
|
-
.document[data-v-
|
|
1290
|
+
.document[data-v-1a8828eb] {
|
|
1291
1291
|
display: flex;
|
|
1292
1292
|
flex-direction: column;
|
|
1293
1293
|
width: calc(100% + 24px);
|
|
@@ -1297,10 +1297,10 @@ div + .userMessage[data-v-6573ec87] {
|
|
|
1297
1297
|
border-top: var(--scalar-border-width) solid var(--scalar-border-color);
|
|
1298
1298
|
border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);
|
|
1299
1299
|
}
|
|
1300
|
-
.document[data-v-
|
|
1300
|
+
.document[data-v-1a8828eb]:first-of-type:not(:last-of-type) {
|
|
1301
1301
|
border-bottom: none;
|
|
1302
1302
|
}
|
|
1303
|
-
.documentName[data-v-
|
|
1303
|
+
.documentName[data-v-1a8828eb] {
|
|
1304
1304
|
gap: 4px;
|
|
1305
1305
|
display: flex;
|
|
1306
1306
|
align-items: center;
|
|
@@ -1308,10 +1308,10 @@ div + .userMessage[data-v-6573ec87] {
|
|
|
1308
1308
|
color: var(--scalar-color-2);
|
|
1309
1309
|
padding: 12px 0;
|
|
1310
1310
|
}
|
|
1311
|
-
.documentNameActive[data-v-
|
|
1311
|
+
.documentNameActive[data-v-1a8828eb] {
|
|
1312
1312
|
color: var(--scalar-color-1);
|
|
1313
1313
|
}
|
|
1314
|
-
.settingsHeading[data-v-
|
|
1314
|
+
.settingsHeading[data-v-1a8828eb] {
|
|
1315
1315
|
font-size: 19px;
|
|
1316
1316
|
margin-bottom: 12px;
|
|
1317
1317
|
display: flex;
|
|
@@ -1319,16 +1319,16 @@ div + .userMessage[data-v-6573ec87] {
|
|
|
1319
1319
|
align-items: center;
|
|
1320
1320
|
font-weight: var(--scalar-semibold);
|
|
1321
1321
|
}
|
|
1322
|
-
.proxyUrlContainer[data-v-
|
|
1322
|
+
.proxyUrlContainer[data-v-1a8828eb] {
|
|
1323
1323
|
font-size: var(--scalar-font-size-3);
|
|
1324
1324
|
display: flex;
|
|
1325
1325
|
gap: 5px;
|
|
1326
1326
|
flex-direction: column;
|
|
1327
1327
|
}
|
|
1328
|
-
.proxyUrlContainer label[data-v-
|
|
1328
|
+
.proxyUrlContainer label[data-v-1a8828eb] {
|
|
1329
1329
|
font-weight: var(--scalar-semibold);
|
|
1330
1330
|
}
|
|
1331
|
-
.noDocuments[data-v-
|
|
1331
|
+
.noDocuments[data-v-1a8828eb] {
|
|
1332
1332
|
color: var(--scalar-color-2);
|
|
1333
1333
|
margin-bottom: 10px;
|
|
1334
1334
|
}
|
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.46",
|
|
14
14
|
"engines": {
|
|
15
15
|
"node": ">=22"
|
|
16
16
|
},
|
|
@@ -45,37 +45,38 @@
|
|
|
45
45
|
"dist"
|
|
46
46
|
],
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@ai-sdk/vue": "
|
|
49
|
-
"@scalar/api-client": "3.23.
|
|
50
|
-
"@scalar/components": "0.
|
|
48
|
+
"@ai-sdk/vue": "4.0.142",
|
|
49
|
+
"@scalar/api-client": "3.23.3",
|
|
50
|
+
"@scalar/components": "0.33.0",
|
|
51
51
|
"@scalar/helpers": "0.16.4",
|
|
52
|
-
"@scalar/icons": "0.7.
|
|
53
|
-
"@scalar/json-magic": "0.
|
|
52
|
+
"@scalar/icons": "0.7.8",
|
|
53
|
+
"@scalar/json-magic": "0.17.0",
|
|
54
54
|
"@scalar/openapi-types": "0.9.8",
|
|
55
|
-
"@scalar/schemas": "0.
|
|
56
|
-
"@scalar/themes": "0.19.
|
|
57
|
-
"@scalar/types": "0.
|
|
58
|
-
"@scalar/use-toasts": "0.10.
|
|
55
|
+
"@scalar/schemas": "0.15.0",
|
|
56
|
+
"@scalar/themes": "0.19.3",
|
|
57
|
+
"@scalar/types": "0.25.0",
|
|
58
|
+
"@scalar/use-toasts": "0.10.6",
|
|
59
59
|
"@scalar/validation": "0.6.7",
|
|
60
|
-
"@scalar/workspace-store": "0.
|
|
61
|
-
"@vueuse/core": "
|
|
62
|
-
"ai": "
|
|
63
|
-
"js-base64": "^3.9.
|
|
60
|
+
"@scalar/workspace-store": "0.69.0",
|
|
61
|
+
"@vueuse/core": "15.0.0",
|
|
62
|
+
"ai": "7.0.142",
|
|
63
|
+
"js-base64": "^3.9.4",
|
|
64
64
|
"neverpanic": "0.0.8",
|
|
65
65
|
"truncate-json": "3.0.1",
|
|
66
|
-
"vue": "^3.5.
|
|
66
|
+
"vue": "^3.5.44"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@scalar/sidebar": "0.12.
|
|
69
|
+
"@scalar/sidebar": "0.12.3",
|
|
70
70
|
"@tailwindcss/cli": "^4.3.3",
|
|
71
71
|
"@tailwindcss/vite": "^4.3.3",
|
|
72
|
-
"@types/jsdom": "28.0.
|
|
73
|
-
"@vitejs/plugin-vue": "^6.0.
|
|
74
|
-
"
|
|
75
|
-
"
|
|
72
|
+
"@types/jsdom": "28.0.3",
|
|
73
|
+
"@vitejs/plugin-vue": "^6.0.10",
|
|
74
|
+
"@vue/test-utils": "2.5.1",
|
|
75
|
+
"hono": "^4.13.13",
|
|
76
|
+
"jsdom": "29.0.1",
|
|
76
77
|
"tailwindcss": "^4.3.3",
|
|
77
|
-
"vite": "8.
|
|
78
|
-
"vitest": "4.1.
|
|
78
|
+
"vite": "8.3.4",
|
|
79
|
+
"vitest": "4.1.12"
|
|
79
80
|
},
|
|
80
81
|
"scripts": {
|
|
81
82
|
"build": "vite build && pnpm build:styles && vue-tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && shx cp package.json dist",
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.vue.script.js","names":["$emit"],"sources":["../src/Chat.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLazyApiClient } from '@scalar/api-client/modal/use-lazy-api-client'\nimport { initializeWorkspaceEventHandlers } from '@scalar/api-client/v2/workspace-events'\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')\n// Authentication and server controls also work before the request editor opens.\nconst stopClientEvents = initializeWorkspaceEventHandlers({\n eventBus,\n store: ref(workspaceStore),\n hooks: {},\n})\nconst clientLoadingStatus = ref<'idle' | 'loading' | 'error'>('idle')\nuseLazyApiClient({\n eventBus,\n status: clientLoadingStatus,\n load: async () => {\n const { createApiClientModal } = await import('@scalar/api-client/modal')\n return () => {\n if (!clientModalRef.value) {\n return null\n }\n stopClientEvents()\n return createApiClientModal({\n el: clientModalRef.value,\n options: config,\n eventBus,\n workspaceStore,\n })\n }\n },\n})\nonBeforeUnmount(stopClientEvents)\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\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 <div\n v-if=\"clientLoadingStatus !== 'idle'\"\n class=\"bg-b-1 text-c-1 fixed right-4 bottom-4 z-[10001] rounded-lg border px-4 py-3 text-sm shadow-lg\"\n :role=\"clientLoadingStatus === 'error' ? 'alert' : 'status'\">\n {{\n clientLoadingStatus === 'loading'\n ? 'Loading request editor…'\n : 'Could not load the request editor. Refresh the page and try again.'\n }}\n </div>\n <Layout\n @submit=\"handleSubmit\"\n @uploadApi=\"$emit('uploadApi')\" />\n <Settings :modalState=\"settingsModal\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;EAiBA,MAAM,EACJ,MACA,QACA,eACA,UACA,gBACA,QACA,MACA,gBACE,SAAS;EAEb,MAAM,iBAAiB,eAA4B,aAAa;EAEhE,MAAM,mBAAmB,iCAAiC;GACxD;GACA,OAAO,IAAI,cAAc;GACzB,OAAO,CAAC;EACV,CAAC;EACD,MAAM,sBAAsB,IAAkC,MAAM;EACpE,iBAAiB;GACf;GACA,QAAQ;GACR,MAAM,YAAY;IAChB,MAAM,EAAE,yBAAyB,MAAM,OAAO;IAC9C,aAAa;KACX,IAAI,CAAC,eAAe,OAClB,OAAO;KAET,iBAAiB;KACjB,OAAO,qBAAqB;MAC1B,IAAI,eAAe;MACnB,SAAS;MACT;MACA;KACF,CAAC;IACH;GACF;EACF,CAAC;EACD,gBAAgB,gBAAgB;EAEhC,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;EAEL,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;IAEjB,oBAAA,UAAmB,UAAA,UAAA,GAD3B,mBASM,OAAA;;KAPJ,OAAM;KACL,MAAM,oBAAA,UAAmB,UAAA,UAAA;uBAExB,oBAAA,UAAmB,YAAA,4BAAA,oEAAA,GAAA,GAAA,UAAA,KAAA,mBAAA,IAAA,IAAA;IAKvB,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"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
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 class=\"actionButton rejectButton\"\n type=\"button\"\n @click=\"emit('reject')\">\n Reject\n </button>\n <button\n class=\"actionButton approveButton\"\n type=\"button\"\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,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,QAAA;MAAY,UAE1B,GACA,mBAKS,UAAA;IAJP,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,SAAA;MAAa,WAE3B,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RequestPreview.vue.script.js","names":[],"sources":["../../src/components/RequestPreview.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarCodeBlock } from '@scalar/components/code-block'\nimport { ScalarIconCaretDown, ScalarIconCaretRight } from '@scalar/icons'\nimport { type DeepPartial } from 'ai'\nimport { computed, ref } from 'vue'\n\nimport AutosendPaused from '@/components/AutosendPaused.vue'\nimport BuildingRequest from '@/components/BuildingRequest.vue'\nimport RequestApproved from '@/components/RequestApproved.vue'\nimport RequestFailed from '@/components/RequestFailed.vue'\nimport RequestRejected from '@/components/RequestRejected.vue'\nimport RequestSuccess from '@/components/RequestSuccess.vue'\nimport { getMediaTypeConfig } from '@/components/ResponseBody/helpers/media-types'\nimport { processResponseBody } from '@/components/ResponseBody/helpers/process-response-body'\nimport ResponseBody from '@/components/ResponseBody/ResponseBody.vue'\nimport ResponseBodyToggle from '@/components/ResponseBody/ResponseBodyToggle.vue'\nimport SendingRequest from '@/components/SendingRequest.vue'\nimport type {\n ExecuteClientSideRequestToolInput,\n ExecuteClientSideRequestToolOutput,\n} from '@/entities/tools/execute-request'\n\nconst { request, response, state } = defineProps<{\n request?:\n | ExecuteClientSideRequestToolInput\n | DeepPartial<ExecuteClientSideRequestToolInput>\n response?: ExecuteClientSideRequestToolOutput\n state:\n | 'requiresApproval'\n | 'sendingRequest'\n | 'requestSucceeded'\n | 'requestFailed'\n | 'approved'\n | 'rejected'\n | 'buildingRequest'\n}>()\n\nconst responseData = computed(() => {\n if (response?.success) {\n return {\n data: response.data.responseBody,\n headers: response.data.headers,\n }\n }\n\n if (response?.error?.code === 'REQUEST_NOT_OK') {\n return {\n data: response.error.detail.responseBody,\n headers: response.error.detail.headers,\n }\n }\n\n return undefined\n})\n\nconst showRequestToggle = ref(false)\n\n/** Show request preview automatically for failed requests or when approval is required. */\nconst shouldShowRequest = computed(() => {\n if (state === 'requestFailed' || state === 'requiresApproval') {\n return true\n }\n return showRequestToggle.value\n})\n\nconst responseBody = computed(() =>\n processResponseBody({\n data: responseData.value?.data,\n headers: responseData.value?.headers,\n }),\n)\n\nconst mediaConfig = computed(() =>\n getMediaTypeConfig(responseBody.value.mimeType?.essence ?? ''),\n)\n\nconst displayToggle = ref<'preview' | 'raw'>()\nfunction toggleDisplay(mode: 'preview' | 'raw') {\n displayToggle.value = mode\n}\n\nconst displayMode = computed(() => {\n if (displayToggle.value) {\n return displayToggle.value\n }\n\n if (mediaConfig.value?.raw && !mediaConfig.value.preview) {\n return 'raw'\n }\n if (mediaConfig.value?.preview) {\n return 'preview'\n }\n\n return 'raw'\n})\n</script>\n\n<template>\n <div\n class=\"requestPreview\"\n :class=\"{\n open: shouldShowRequest,\n succeeded: state === 'requestSucceeded',\n }\">\n <RequestApproved v-if=\"state === 'approved'\" />\n <div\n v-else-if=\"state === 'buildingRequest'\"\n class=\"autosendContainer\">\n <BuildingRequest />\n </div>\n <div\n v-else-if=\"state === 'requiresApproval'\"\n class=\"autosendContainer\">\n <AutosendPaused />\n </div>\n <button\n v-else-if=\"state === 'sendingRequest'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <SendingRequest />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <button\n v-else-if=\"state === 'requestSucceeded'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <RequestSuccess />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <button\n v-else-if=\"state === 'rejected'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <RequestRejected />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <RequestFailed v-else-if=\"state === 'requestFailed'\" />\n <div class=\"requestContent\">\n <div class=\"requestContentInner\">\n <div\n v-if=\"request\"\n class=\"code\">\n <div class=\"requestHeaderContainer\">\n <h1>Request</h1>\n </div>\n <ScalarCodeBlock\n class=\"codeBlock\"\n :content=\"JSON.stringify(request, null, 2)\"\n lang=\"json\" />\n </div>\n <div\n v-if=\"responseData\"\n class=\"code\">\n <div class=\"requestHeaderContainer\">\n <h1>Response</h1>\n <ResponseBodyToggle\n v-if=\"mediaConfig?.raw && mediaConfig.preview\"\n v-model=\"displayMode\"\n @toggle=\"toggleDisplay\" />\n </div>\n <ResponseBody\n :data=\"responseData.data\"\n :display=\"displayMode\"\n :mediaConfig=\"mediaConfig\"\n :responseBody=\"responseBody\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.requestHeaderContainer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 5px;\n}\n\n.requestPreview {\n border-radius: var(--scalar-radius-2xl);\n display: flex;\n flex-direction: column;\n width: 100%;\n position: relative;\n}\n\n.requestContent {\n display: grid;\n grid-template-rows: 0fr;\n min-height: 0;\n overflow: hidden;\n transition: grid-template-rows 0.2s ease-out;\n}\n\n.requestPreview.open .requestContent {\n grid-template-rows: 1fr;\n}\n.requestPreview.succeeded {\n padding: 0;\n}\n\n.requestContentInner {\n min-height: 0;\n overflow: hidden;\n}\n.code {\n display: flex;\n flex-direction: column;\n font-size: var(--scalar-font-size-4);\n border-radius: var(--scalar-radius-2xl);\n background: color-mix(\n in srgb,\n var(--scalar-background-2),\n var(--scalar-background-1)\n );\n overflow: hidden;\n margin-bottom: 12px;\n}\n.dark-mode .code {\n background: var(--scalar-background-2);\n}\n.code h1 {\n font-size: var(--scalar-font-size-3);\n color: var(--scalar-color-3);\n padding: 8px;\n}\n.code :deep(.codeBlock) {\n max-height: calc(50vh - 100px);\n padding-top: 0;\n}\n.autosendContainer {\n display: flex;\n justify-content: space-between;\n}\n\n.sendButton {\n background: var(--scalar-color-blue);\n color: white;\n font-weight: var(--scalar-semibold);\n padding: 5px 10px;\n}\n.sendButton:hover,\n.sendButton:active {\n background: color-mix(in srgb, var(--scalar-color-blue), black 10%);\n color: white !important;\n}\n\n.toggleButton {\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n position: relative;\n display: flex;\n align-items: center;\n color: var(--scalar-color-3);\n justify-content: space-between;\n border-radius: var(--scalar-radius-lg);\n}\n\n.toggleButton:hover {\n text-decoration: underline;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCA,MAAM,eAAe,eAAe;GAClC,IAAI,QAAA,UAAU,SACZ,OAAO;IACL,MAAM,QAAA,SAAS,KAAK;IACpB,SAAS,QAAA,SAAS,KAAK;GACzB;GAGF,IAAI,QAAA,UAAU,OAAO,SAAS,kBAC5B,OAAO;IACL,MAAM,QAAA,SAAS,MAAM,OAAO;IAC5B,SAAS,QAAA,SAAS,MAAM,OAAO;GACjC;EAIJ,CAAC;EAED,MAAM,oBAAoB,IAAI,KAAK;;EAGnC,MAAM,oBAAoB,eAAe;GACvC,IAAI,QAAA,UAAU,mBAAmB,QAAA,UAAU,oBACzC,OAAO;GAET,OAAO,kBAAkB;EAC3B,CAAC;EAED,MAAM,eAAe,eACnB,oBAAoB;GAClB,MAAM,aAAa,OAAO;GAC1B,SAAS,aAAa,OAAO;EAC/B,CAAC,CACH;EAEA,MAAM,cAAc,eAClB,mBAAmB,aAAa,MAAM,UAAU,WAAW,EAAE,CAC/D;EAEA,MAAM,gBAAgB,IAAuB;EAC7C,SAAS,cAAc,MAAyB;GAC9C,cAAc,QAAQ;EACxB;EAEA,MAAM,cAAc,eAAe;GACjC,IAAI,cAAc,OAChB,OAAO,cAAc;GAGvB,IAAI,YAAY,OAAO,OAAO,CAAC,YAAY,MAAM,SAC/C,OAAO;GAET,IAAI,YAAY,OAAO,SACrB,OAAO;GAGT,OAAO;EACT,CAAC;;uBAIC,mBA+EM,OAAA,EA9EJ,OAAK,eAAA,CAAC,kBAAgB;UACA,kBAAA;eAAoC,QAAA,UAAK;WAIxC,QAAA,UAAK,cAAA,UAAA,GAA5B,YAA+C,yBAAA,EAAA,KAAA,EAAA,CAAA,KAElC,QAAA,UAAK,qBAAA,UAAA,GADlB,mBAIM,OAJN,YAIM,CADJ,YAAmB,uBAAA,CAAA,CAAA,KAGR,QAAA,UAAK,sBAAA,UAAA,GADlB,mBAIM,OAJN,YAIM,CADJ,YAAkB,sBAAA,CAAA,CAAA,KAGP,QAAA,UAAK,oBAAA,UAAA,GADlB,mBASS,UAAA;;IAPP,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,kBAAA,QAAiB,CAAI,kBAAA;OAC7B,YAAkB,sBAAA,GAES,kBAAA,SAAA,UAAA,GAA3B,YAAgD,MAAA,mBAAA,GAAA,EAAA,KAAA,EAAA,CAAA,MAAA,UAAA,GAChD,YAA+B,MAAA,oBAAA,GAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,KAGpB,QAAA,UAAK,sBAAA,UAAA,GADlB,mBASS,UAAA;;IAPP,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,kBAAA,QAAiB,CAAI,kBAAA;OAC7B,YAAkB,sBAAA,GAES,kBAAA,SAAA,UAAA,GAA3B,YAAgD,MAAA,mBAAA,GAAA,EAAA,KAAA,EAAA,CAAA,MAAA,UAAA,GAChD,YAA+B,MAAA,oBAAA,GAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,KAGpB,QAAA,UAAK,cAAA,UAAA,GADlB,mBASS,UAAA;;IAPP,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,kBAAA,QAAiB,CAAI,kBAAA;OAC7B,YAAmB,uBAAA,GAEQ,kBAAA,SAAA,UAAA,GAA3B,YAAgD,MAAA,mBAAA,GAAA,EAAA,KAAA,EAAA,CAAA,MAAA,UAAA,GAChD,YAA+B,MAAA,oBAAA,GAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,KAEP,QAAA,UAAK,mBAAA,UAAA,GAA/B,YAAuD,uBAAA,EAAA,KAAA,EAAA,CAAA,KAAA,mBAAA,IAAA,IAAA,GACvD,mBA8BM,OA9BN,YA8BM,CA7BJ,mBA4BM,OA5BN,YA4BM,CA1BI,QAAA,WAAA,UAAA,GADR,mBAUM,OAVN,YAUM,CAAA,OAAA,OAAA,OAAA,KAPJ,mBAEM,OAAA,EAFD,OAAM,yBAAwB,GAAA,CACjC,mBAAgB,MAAA,MAAZ,SAAO,CAAA,GAAA,EAAA,IAEb,YAGgB,MAAA,eAAA,GAAA;IAFd,OAAM;IACL,SAAS,KAAK,UAAU,QAAA,SAAO,MAAA,CAAA;IAChC,MAAK;+DAGD,aAAA,SAAA,UAAA,GADR,mBAeM,OAfN,YAeM,CAZJ,mBAMM,OANN,YAMM,CAAA,OAAA,OAAA,OAAA,KALJ,mBAAiB,MAAA,MAAb,YAAQ,EAAA,IAEJ,YAAA,OAAa,OAAO,YAAA,MAAY,WAAA,UAAA,GADxC,YAG4B,4BAAA;;gBADjB,YAAA;6EAAW,QAAA;IACnB,UAAQ;kEAEb,YAIiC,sBAAA;IAH9B,MAAM,aAAA,MAAa;IACnB,SAAS,YAAA;IACT,aAAa,YAAA;IACb,cAAc,aAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseBody.vue.script.js","names":[],"sources":["../../../src/components/ResponseBody/ResponseBody.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { type MediaConfig } from '@/components/ResponseBody/helpers/media-types'\nimport ResponseBodyInfo from '@/components/ResponseBody/ResponseBodyInfo.vue'\nimport ResponseBodyPreview from '@/components/ResponseBody/ResponseBodyPreview.vue'\nimport ResponseBodyRaw from '@/components/ResponseBody/ResponseBodyRaw.vue'\nimport type { MimeType } from '@/types/mime-type'\n\nconst { data, responseBody, mediaConfig, display } = defineProps<{\n data: unknown\n responseBody: {\n mimeType?: MimeType\n attachmentFilename: string\n dataUrl: string\n }\n mediaConfig?: MediaConfig\n display?: 'preview' | 'raw'\n}>()\n</script>\n\n<template>\n <ResponseBodyRaw\n v-if=\"mediaConfig?.raw && display === 'raw' && mediaConfig.language\"\n :key=\"responseBody.dataUrl\"\n :content=\"data\"\n :language=\"mediaConfig.language\" />\n <ResponseBodyPreview\n v-if=\"mediaConfig?.preview && display === 'preview'\"\n :key=\"responseBody.dataUrl\"\n :alpha=\"mediaConfig.alpha\"\n :mode=\"mediaConfig.preview\"\n :src=\"responseBody.dataUrl\"\n :type=\"responseBody.mimeType?.essence ?? ''\" />\n <ResponseBodyInfo v-if=\"!mediaConfig?.raw && !mediaConfig?.preview\">\n Binary file\n </ResponseBodyInfo>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;IAqBU,QAAA,aAAa,OAAO,QAAA,YAAO,SAAc,QAAA,YAAY,YAAA,UAAA,GAD7D,YAIqC,yBAAA;KAFlC,KAAK,QAAA,aAAa;KAClB,SAAS,QAAA;KACT,UAAU,QAAA,YAAY;;IAEjB,QAAA,aAAa,WAAW,QAAA,YAAO,aAAA,UAAA,GADvC,YAMiD,6BAAA;KAJ9C,KAAK,QAAA,aAAa;KAClB,OAAO,QAAA,YAAY;KACnB,MAAM,QAAA,YAAY;KAClB,KAAK,QAAA,aAAa;KAClB,MAAM,QAAA,aAAa,UAAU,WAAO;;;;;;;KACd,QAAA,aAAa,OAAG,CAAK,QAAA,aAAa,WAAA,UAAA,GAA3D,YAEmB,0BAAA,EAAA,KAAA,EAAA,GAAA;4BAAnB,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAAA,gBAFoE,iBAEpE,EAAA,CAAA,EAAA,CAAA"}
|