@scalar/api-reference 1.49.4 → 1.49.6
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/CHANGELOG.md +15 -0
- package/dist/browser/standalone.js +2309 -45729
- package/dist/browser/webpack-stats.json +1 -1
- package/dist/components/AgentScalar/AgentScalarChatInterface.vue.d.ts +2 -1
- package/dist/components/AgentScalar/AgentScalarChatInterface.vue.d.ts.map +1 -1
- package/dist/components/AgentScalar/AgentScalarChatInterface.vue.js.map +1 -1
- package/dist/components/AgentScalar/AgentScalarChatInterface.vue.script.js +6 -4
- package/dist/components/AgentScalar/AgentScalarChatInterface.vue.script.js.map +1 -1
- package/dist/components/AgentScalar/AgentScalarDrawer.vue.d.ts +2 -3
- package/dist/components/AgentScalar/AgentScalarDrawer.vue.d.ts.map +1 -1
- package/dist/components/AgentScalar/AgentScalarDrawer.vue.js +1 -1
- package/dist/components/AgentScalar/AgentScalarDrawer.vue.js.map +1 -1
- package/dist/components/AgentScalar/AgentScalarDrawer.vue.script.js +4 -2
- package/dist/components/AgentScalar/AgentScalarDrawer.vue.script.js.map +1 -1
- package/dist/components/AgentScalar/OpenMCPButton.vue.d.ts +2 -0
- package/dist/components/AgentScalar/OpenMCPButton.vue.d.ts.map +1 -1
- package/dist/components/AgentScalar/OpenMCPButton.vue.js +1 -1
- package/dist/components/AgentScalar/OpenMCPButton.vue.js.map +1 -1
- package/dist/components/AgentScalar/OpenMCPButton.vue.script.js +5 -5
- package/dist/components/AgentScalar/OpenMCPButton.vue.script.js.map +1 -1
- package/dist/components/ApiReference.vue.d.ts.map +1 -1
- package/dist/components/ApiReference.vue.js +1 -1
- package/dist/components/ApiReference.vue.js.map +1 -1
- package/dist/components/ApiReference.vue.script.js +6 -0
- package/dist/components/ApiReference.vue.script.js.map +1 -1
- package/dist/components/Content/Schema/Schema.vue.d.ts +4 -0
- package/dist/components/Content/Schema/Schema.vue.d.ts.map +1 -1
- package/dist/components/Content/Schema/Schema.vue.js +1 -1
- package/dist/components/Content/Schema/Schema.vue.js.map +1 -1
- package/dist/components/Content/Schema/Schema.vue.script.js +15 -5
- package/dist/components/Content/Schema/Schema.vue.script.js.map +1 -1
- package/dist/components/Content/Schema/SchemaComposition.vue.d.ts +4 -0
- package/dist/components/Content/Schema/SchemaComposition.vue.d.ts.map +1 -1
- package/dist/components/Content/Schema/SchemaComposition.vue.js.map +1 -1
- package/dist/components/Content/Schema/SchemaComposition.vue.script.js +37 -7
- package/dist/components/Content/Schema/SchemaComposition.vue.script.js.map +1 -1
- package/dist/components/Content/Schema/SchemaObjectProperties.vue.d.ts +2 -0
- package/dist/components/Content/Schema/SchemaObjectProperties.vue.d.ts.map +1 -1
- package/dist/components/Content/Schema/SchemaObjectProperties.vue.js.map +1 -1
- package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js +26 -6
- package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js.map +1 -1
- package/dist/components/Content/Schema/SchemaProperty.vue.d.ts +6 -0
- package/dist/components/Content/Schema/SchemaProperty.vue.d.ts.map +1 -1
- package/dist/components/Content/Schema/SchemaProperty.vue.js +1 -1
- package/dist/components/Content/Schema/SchemaProperty.vue.js.map +1 -1
- package/dist/components/Content/Schema/SchemaProperty.vue.script.js +20 -3
- package/dist/components/Content/Schema/SchemaProperty.vue.script.js.map +1 -1
- package/dist/features/Operation/components/RequestBody.vue.d.ts.map +1 -1
- package/dist/features/Operation/components/RequestBody.vue.js +1 -1
- package/dist/features/Operation/components/RequestBody.vue.js.map +1 -1
- package/dist/features/Operation/components/RequestBody.vue.script.js +6 -0
- package/dist/features/Operation/components/RequestBody.vue.script.js.map +1 -1
- package/dist/features/Operation/layouts/ClassicLayout.vue.d.ts.map +1 -1
- package/dist/features/Operation/layouts/ClassicLayout.vue.js +1 -1
- package/dist/features/Operation/layouts/ClassicLayout.vue.js.map +1 -1
- package/dist/features/Operation/layouts/ClassicLayout.vue.script.js +16 -5
- package/dist/features/Operation/layouts/ClassicLayout.vue.script.js.map +1 -1
- package/dist/features/Operation/layouts/ModernLayout.vue.d.ts.map +1 -1
- package/dist/features/Operation/layouts/ModernLayout.vue.js +1 -1
- package/dist/features/Operation/layouts/ModernLayout.vue.js.map +1 -1
- package/dist/features/Operation/layouts/ModernLayout.vue.script.js +16 -5
- package/dist/features/Operation/layouts/ModernLayout.vue.script.js.map +1 -1
- package/dist/features/Operation/request-body-composition-index.d.ts +8 -0
- package/dist/features/Operation/request-body-composition-index.d.ts.map +1 -0
- package/dist/features/Operation/request-body-composition-index.js +10 -0
- package/dist/features/Operation/request-body-composition-index.js.map +1 -0
- package/dist/features/developer-tools/DeveloperTools.vue.d.ts +2 -1
- package/dist/features/developer-tools/DeveloperTools.vue.d.ts.map +1 -1
- package/dist/features/developer-tools/DeveloperTools.vue.js.map +1 -1
- package/dist/features/developer-tools/DeveloperTools.vue.script.js +9 -2
- package/dist/features/developer-tools/DeveloperTools.vue.script.js.map +1 -1
- package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.d.ts +2 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.d.ts.map +1 -1
- package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.js.map +1 -1
- package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js +3 -3
- package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js.map +1 -1
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.d.ts +2 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.d.ts.map +1 -1
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.js.map +1 -1
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js +9 -3
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js.map +1 -1
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.d.ts +2 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.d.ts.map +1 -1
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.js.map +1 -1
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js +6 -4
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js.map +1 -1
- package/dist/features/developer-tools/components/DeployApiReference.vue.d.ts +2 -0
- package/dist/features/developer-tools/components/DeployApiReference.vue.d.ts.map +1 -1
- package/dist/features/developer-tools/components/DeployApiReference.vue.js.map +1 -1
- package/dist/features/developer-tools/components/DeployApiReference.vue.script.js +8 -2
- package/dist/features/developer-tools/components/DeployApiReference.vue.script.js.map +1 -1
- package/dist/features/developer-tools/components/ShareApiReference.vue.d.ts +2 -0
- package/dist/features/developer-tools/components/ShareApiReference.vue.d.ts.map +1 -1
- package/dist/features/developer-tools/components/ShareApiReference.vue.js.map +1 -1
- package/dist/features/developer-tools/components/ShareApiReference.vue.script.js +8 -2
- package/dist/features/developer-tools/components/ShareApiReference.vue.script.js.map +1 -1
- package/dist/features/example-responses/ExampleResponse.vue.d.ts.map +1 -1
- package/dist/features/example-responses/ExampleResponse.vue.js +1 -1
- package/dist/features/example-responses/ExampleResponse.vue.js.map +1 -1
- package/dist/features/example-responses/ExampleResponse.vue.script.js +1 -2
- package/dist/features/example-responses/ExampleResponse.vue.script.js.map +1 -1
- package/dist/features/test-request-button/TestRequestButton.vue.d.ts +1 -0
- package/dist/features/test-request-button/TestRequestButton.vue.d.ts.map +1 -1
- package/dist/features/test-request-button/TestRequestButton.vue.js +1 -1
- package/dist/features/test-request-button/TestRequestButton.vue.js.map +1 -1
- package/dist/features/test-request-button/TestRequestButton.vue.script.js +4 -2
- package/dist/features/test-request-button/TestRequestButton.vue.script.js.map +1 -1
- package/dist/helpers/upload-temp-document.d.ts +2 -1
- package/dist/helpers/upload-temp-document.d.ts.map +1 -1
- package/dist/helpers/upload-temp-document.js +3 -3
- package/dist/helpers/upload-temp-document.js.map +1 -1
- package/dist/style.css +273 -264
- package/package.json +15 -15
- package/dist/consts/urls.d.ts +0 -13
- package/dist/consts/urls.d.ts.map +0 -1
- package/dist/consts/urls.js +0 -17
- package/dist/consts/urls.js.map +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ApiReferenceConfigurationWithSource, ExternalUrls } from '@scalar/types/api-reference';
|
|
2
2
|
import type { WorkspaceStore } from '@scalar/workspace-store/client';
|
|
3
3
|
import type { Ref } from 'vue';
|
|
4
4
|
type __VLS_Props = {
|
|
5
5
|
agentScalarConfiguration: ApiReferenceConfigurationWithSource['agent'];
|
|
6
|
+
externalUrls: ExternalUrls;
|
|
6
7
|
workspaceStore: WorkspaceStore;
|
|
7
8
|
prefilledMessage?: Ref<string>;
|
|
8
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentScalarChatInterface.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AgentScalar/AgentScalarChatInterface.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AgentScalarChatInterface.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AgentScalar/AgentScalarChatInterface.vue"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EACV,mCAAmC,EACnC,YAAY,EACb,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAE9B,KAAK,WAAW,GAAG;IACjB,wBAAwB,EAAE,mCAAmC,CAAC,OAAO,CAAC,CAAA;IACtE,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,cAAc,CAAA;IAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC/B,CAAC;AAkEF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentScalarChatInterface.vue.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarChatInterface.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Chat } from '@scalar/agent-chat'\nimport
|
|
1
|
+
{"version":3,"file":"AgentScalarChatInterface.vue.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarChatInterface.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Chat } from '@scalar/agent-chat'\nimport type {\n ApiReferenceConfigurationWithSource,\n ExternalUrls,\n} from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { Ref } from 'vue'\n\nconst {\n agentScalarConfiguration,\n externalUrls,\n workspaceStore,\n prefilledMessage,\n} = defineProps<{\n agentScalarConfiguration: ApiReferenceConfigurationWithSource['agent']\n externalUrls: ExternalUrls\n workspaceStore: WorkspaceStore\n prefilledMessage?: Ref<string>\n}>()\n</script>\n\n<template>\n <Chat\n :baseUrl=\"externalUrls.apiBaseUrl\"\n :dashboardUrl=\"externalUrls.dashboardUrl\"\n :getActiveDocumentJson=\"() => workspaceStore.exportActiveDocument('json')!\"\n :getAgentKey=\"\n agentScalarConfiguration?.key\n ? () => agentScalarConfiguration?.key ?? ''\n : undefined\n \"\n :hideAddApi=\"agentScalarConfiguration?.hideAddApi\"\n :mode=\"agentScalarConfiguration?.key ? 'full' : 'preview'\"\n :platformProxyUrl=\"externalUrls.proxyUrl\"\n :prefilledMessage=\"prefilledMessage\"\n :registryDocuments=\"[]\"\n :registryUrl=\"externalUrls.registryUrl\" />\n</template>\n"],"mappings":""}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { API_BASE_URL, DASHBOARD_URL, REGISTRY_URL } from "../../consts/urls.js";
|
|
2
1
|
import { createBlock, defineComponent, openBlock, unref } from "vue";
|
|
3
2
|
import { Chat } from "@scalar/agent-chat";
|
|
4
3
|
//#region src/components/AgentScalar/AgentScalarChatInterface.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -6,21 +5,23 @@ var AgentScalarChatInterface_vue_vue_type_script_setup_true_lang_default = /* @_
|
|
|
6
5
|
__name: "AgentScalarChatInterface",
|
|
7
6
|
props: {
|
|
8
7
|
agentScalarConfiguration: {},
|
|
8
|
+
externalUrls: {},
|
|
9
9
|
workspaceStore: {},
|
|
10
10
|
prefilledMessage: {}
|
|
11
11
|
},
|
|
12
12
|
setup(__props) {
|
|
13
13
|
return (_ctx, _cache) => {
|
|
14
14
|
return openBlock(), createBlock(unref(Chat), {
|
|
15
|
-
baseUrl:
|
|
16
|
-
dashboardUrl:
|
|
15
|
+
baseUrl: __props.externalUrls.apiBaseUrl,
|
|
16
|
+
dashboardUrl: __props.externalUrls.dashboardUrl,
|
|
17
17
|
getActiveDocumentJson: () => __props.workspaceStore.exportActiveDocument("json"),
|
|
18
18
|
getAgentKey: __props.agentScalarConfiguration?.key ? () => __props.agentScalarConfiguration?.key ?? "" : void 0,
|
|
19
19
|
hideAddApi: __props.agentScalarConfiguration?.hideAddApi,
|
|
20
20
|
mode: __props.agentScalarConfiguration?.key ? "full" : "preview",
|
|
21
|
+
platformProxyUrl: __props.externalUrls.proxyUrl,
|
|
21
22
|
prefilledMessage: __props.prefilledMessage,
|
|
22
23
|
registryDocuments: [],
|
|
23
|
-
registryUrl:
|
|
24
|
+
registryUrl: __props.externalUrls.registryUrl
|
|
24
25
|
}, null, 8, [
|
|
25
26
|
"baseUrl",
|
|
26
27
|
"dashboardUrl",
|
|
@@ -28,6 +29,7 @@ var AgentScalarChatInterface_vue_vue_type_script_setup_true_lang_default = /* @_
|
|
|
28
29
|
"getAgentKey",
|
|
29
30
|
"hideAddApi",
|
|
30
31
|
"mode",
|
|
32
|
+
"platformProxyUrl",
|
|
31
33
|
"prefilledMessage",
|
|
32
34
|
"registryUrl"
|
|
33
35
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentScalarChatInterface.vue.script.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarChatInterface.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Chat } from '@scalar/agent-chat'\nimport
|
|
1
|
+
{"version":3,"file":"AgentScalarChatInterface.vue.script.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarChatInterface.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Chat } from '@scalar/agent-chat'\nimport type {\n ApiReferenceConfigurationWithSource,\n ExternalUrls,\n} from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { Ref } from 'vue'\n\nconst {\n agentScalarConfiguration,\n externalUrls,\n workspaceStore,\n prefilledMessage,\n} = defineProps<{\n agentScalarConfiguration: ApiReferenceConfigurationWithSource['agent']\n externalUrls: ExternalUrls\n workspaceStore: WorkspaceStore\n prefilledMessage?: Ref<string>\n}>()\n</script>\n\n<template>\n <Chat\n :baseUrl=\"externalUrls.apiBaseUrl\"\n :dashboardUrl=\"externalUrls.dashboardUrl\"\n :getActiveDocumentJson=\"() => workspaceStore.exportActiveDocument('json')!\"\n :getAgentKey=\"\n agentScalarConfiguration?.key\n ? () => agentScalarConfiguration?.key ?? ''\n : undefined\n \"\n :hideAddApi=\"agentScalarConfiguration?.hideAddApi\"\n :mode=\"agentScalarConfiguration?.key ? 'full' : 'preview'\"\n :platformProxyUrl=\"externalUrls.proxyUrl\"\n :prefilledMessage=\"prefilledMessage\"\n :registryDocuments=\"[]\"\n :registryUrl=\"externalUrls.registryUrl\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;uBAuBE,YAc4C,MAAA,KAAA,EAAA;IAbzC,SAAS,QAAA,aAAa;IACtB,cAAc,QAAA,aAAa;IAC3B,6BAA6B,QAAA,eAAe,qBAAoB,OAAA;IAChE,aAAoB,QAAA,0BAA0B,YAAoB,QAAA,0BAA0B,OAAG,KAAiB,KAAA;IAKhH,YAAY,QAAA,0BAA0B;IACtC,MAAM,QAAA,0BAA0B,MAAG,SAAA;IACnC,kBAAkB,QAAA,aAAa;IAC/B,kBAAkB,QAAA;IAClB,mBAAmB,EAAE;IACrB,aAAa,QAAA,aAAa"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { ApiReferenceConfigurationWithSource } from '@scalar/types/api-reference';
|
|
1
|
+
import type { ApiReferenceConfigurationWithSource, ExternalUrls } from '@scalar/types/api-reference';
|
|
2
2
|
import type { WorkspaceStore } from '@scalar/workspace-store/client';
|
|
3
|
-
import type { WorkspaceEventBus } from '@scalar/workspace-store/events';
|
|
4
3
|
type __VLS_Props = {
|
|
5
4
|
agentScalarConfiguration: ApiReferenceConfigurationWithSource['agent'];
|
|
5
|
+
externalUrls: ExternalUrls;
|
|
6
6
|
workspaceStore: WorkspaceStore;
|
|
7
|
-
eventBus: WorkspaceEventBus;
|
|
8
7
|
};
|
|
9
8
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
9
|
declare const _default: typeof __VLS_export;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentScalarDrawer.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AgentScalar/AgentScalarDrawer.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AgentScalarDrawer.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AgentScalar/AgentScalarDrawer.vue"],"names":[],"mappings":"AAqFA,OAAO,KAAK,EACV,mCAAmC,EACnC,YAAY,EACb,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAKpE,KAAK,WAAW,GAAG;IACjB,wBAAwB,EAAE,mCAAmC,CAAC,OAAO,CAAC,CAAA;IACtE,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,cAAc,CAAA;CAC/B,CAAC;AAgLF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -2,7 +2,7 @@ import AgentScalarDrawer_vue_vue_type_script_setup_true_lang_default from "./Age
|
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
4
|
//#region src/components/AgentScalar/AgentScalarDrawer.vue
|
|
5
|
-
var AgentScalarDrawer_default = /* @__PURE__ */ _plugin_vue_export_helper_default(AgentScalarDrawer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var AgentScalarDrawer_default = /* @__PURE__ */ _plugin_vue_export_helper_default(AgentScalarDrawer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-1c6c3dbf"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { AgentScalarDrawer_default as default };
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentScalarDrawer.vue.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarDrawer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconButton } from '@scalar/components'\nimport { ScalarIconX } from '@scalar/icons'\nimport type {
|
|
1
|
+
{"version":3,"file":"AgentScalarDrawer.vue.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarDrawer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconButton } from '@scalar/components'\nimport { ScalarIconX } from '@scalar/icons'\nimport type {\n ApiReferenceConfigurationWithSource,\n ExternalUrls,\n} from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { defineAsyncComponent } from 'vue'\n\nimport { useAgentContext } from '@/hooks/use-agent'\n\ndefineProps<{\n agentScalarConfiguration: ApiReferenceConfigurationWithSource['agent']\n externalUrls: ExternalUrls\n workspaceStore: WorkspaceStore\n}>()\n\nconst agentContext = useAgentContext()\n\nconst AgentScalarChatInterface = defineAsyncComponent(\n async () => import('./AgentScalarChatInterface.vue'),\n)\n</script>\n\n<template>\n <Transition\n enterActiveClass=\"transition-opacity duration-500\"\n enterFromClass=\"opacity-0\"\n enterToClass=\"opacity-100\"\n leaveActiveClass=\"transition-opacity duration-200\"\n leaveFromClass=\"opacity-100\"\n leaveToClass=\"opacity-0\">\n <div\n v-show=\"agentContext?.showAgent.value\"\n class=\"agent-scalar-overlay bg-backdrop fixed inset-0 z-10 ease-[cubic-bezier(0.77,0,0.175,1)]\"\n @click=\"agentContext?.closeAgent()\" />\n </Transition>\n <Transition\n enterActiveClass=\"transition-transform duration-300\"\n enterFromClass=\"-translate-x-full\"\n enterToClass=\"translate-x-0\"\n leaveActiveClass=\"transition-transform duration-200\"\n leaveFromClass=\"translate-x-0\"\n leaveToClass=\"-translate-x-full\">\n <div\n v-show=\"agentContext?.showAgent.value\"\n class=\"agent-scalar left-w-sidebar bg-b-1 fixed inset-y-0 right-12 z-10 grid border-r shadow-lg\"\n @keydown.escape=\"agentContext?.closeAgent()\">\n <div\n class=\"agent-scalar-container custom-scroll custom-scroll-self-contain-overflow overflow-auto px-6\">\n <AgentScalarChatInterface\n :agentScalarConfiguration\n :externalUrls\n :prefilledMessage=\"agentContext?.prefilledMessage\"\n :workspaceStore />\n </div>\n <ScalarIconButton\n class=\"agent-scalar-exit-button absolute top-2 right-2\"\n :icon=\"ScalarIconX\"\n label=\"Close Client\"\n weight=\"bold\"\n @click=\"agentContext?.closeAgent()\" />\n </div>\n </Transition>\n</template>\n\n<style scoped>\n@reference \"../../style.css\";\n\n@media (max-width: 1000px) {\n .agent-scalar.agent-scalar {\n @apply inset-x-0 top-12 rounded-t-lg;\n }\n .agent-scalar.agent-scalar,\n .agent-scalar-overlay.agent-scalar-overlay {\n @apply z-15;\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -8,8 +8,8 @@ var AgentScalarDrawer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
8
8
|
__name: "AgentScalarDrawer",
|
|
9
9
|
props: {
|
|
10
10
|
agentScalarConfiguration: {},
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
externalUrls: {},
|
|
12
|
+
workspaceStore: {}
|
|
13
13
|
},
|
|
14
14
|
setup(__props) {
|
|
15
15
|
const agentContext = useAgentContext();
|
|
@@ -41,10 +41,12 @@ var AgentScalarDrawer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
41
41
|
onKeydown: _cache[2] || (_cache[2] = withKeys(($event) => unref(agentContext)?.closeAgent(), ["escape"]))
|
|
42
42
|
}, [createElementVNode("div", _hoisted_1, [createVNode(unref(AgentScalarChatInterface), {
|
|
43
43
|
agentScalarConfiguration: __props.agentScalarConfiguration,
|
|
44
|
+
externalUrls: __props.externalUrls,
|
|
44
45
|
prefilledMessage: unref(agentContext)?.prefilledMessage,
|
|
45
46
|
workspaceStore: __props.workspaceStore
|
|
46
47
|
}, null, 8, [
|
|
47
48
|
"agentScalarConfiguration",
|
|
49
|
+
"externalUrls",
|
|
48
50
|
"prefilledMessage",
|
|
49
51
|
"workspaceStore"
|
|
50
52
|
])]), createVNode(unref(ScalarIconButton), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentScalarDrawer.vue.script.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarDrawer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconButton } from '@scalar/components'\nimport { ScalarIconX } from '@scalar/icons'\nimport type {
|
|
1
|
+
{"version":3,"file":"AgentScalarDrawer.vue.script.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarDrawer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconButton } from '@scalar/components'\nimport { ScalarIconX } from '@scalar/icons'\nimport type {\n ApiReferenceConfigurationWithSource,\n ExternalUrls,\n} from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { defineAsyncComponent } from 'vue'\n\nimport { useAgentContext } from '@/hooks/use-agent'\n\ndefineProps<{\n agentScalarConfiguration: ApiReferenceConfigurationWithSource['agent']\n externalUrls: ExternalUrls\n workspaceStore: WorkspaceStore\n}>()\n\nconst agentContext = useAgentContext()\n\nconst AgentScalarChatInterface = defineAsyncComponent(\n async () => import('./AgentScalarChatInterface.vue'),\n)\n</script>\n\n<template>\n <Transition\n enterActiveClass=\"transition-opacity duration-500\"\n enterFromClass=\"opacity-0\"\n enterToClass=\"opacity-100\"\n leaveActiveClass=\"transition-opacity duration-200\"\n leaveFromClass=\"opacity-100\"\n leaveToClass=\"opacity-0\">\n <div\n v-show=\"agentContext?.showAgent.value\"\n class=\"agent-scalar-overlay bg-backdrop fixed inset-0 z-10 ease-[cubic-bezier(0.77,0,0.175,1)]\"\n @click=\"agentContext?.closeAgent()\" />\n </Transition>\n <Transition\n enterActiveClass=\"transition-transform duration-300\"\n enterFromClass=\"-translate-x-full\"\n enterToClass=\"translate-x-0\"\n leaveActiveClass=\"transition-transform duration-200\"\n leaveFromClass=\"translate-x-0\"\n leaveToClass=\"-translate-x-full\">\n <div\n v-show=\"agentContext?.showAgent.value\"\n class=\"agent-scalar left-w-sidebar bg-b-1 fixed inset-y-0 right-12 z-10 grid border-r shadow-lg\"\n @keydown.escape=\"agentContext?.closeAgent()\">\n <div\n class=\"agent-scalar-container custom-scroll custom-scroll-self-contain-overflow overflow-auto px-6\">\n <AgentScalarChatInterface\n :agentScalarConfiguration\n :externalUrls\n :prefilledMessage=\"agentContext?.prefilledMessage\"\n :workspaceStore />\n </div>\n <ScalarIconButton\n class=\"agent-scalar-exit-button absolute top-2 right-2\"\n :icon=\"ScalarIconX\"\n label=\"Close Client\"\n weight=\"bold\"\n @click=\"agentContext?.closeAgent()\" />\n </div>\n </Transition>\n</template>\n\n<style scoped>\n@reference \"../../style.css\";\n\n@media (max-width: 1000px) {\n .agent-scalar.agent-scalar {\n @apply inset-x-0 top-12 rounded-t-lg;\n }\n .agent-scalar.agent-scalar,\n .agent-scalar-overlay.agent-scalar-overlay {\n @apply z-15;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;EAkBA,MAAM,eAAe,iBAAgB;EAErC,MAAM,2BAA2B,qBAC/B,YAAY,OAAO,qCACrB;;2DAIE,YAWa,YAAA;IAVX,kBAAiB;IACjB,gBAAe;IACf,cAAa;IACb,kBAAiB;IACjB,gBAAe;IACf,cAAa;;2BAI2B,CAAA,eAHxC,mBAGwC,OAAA;KADtC,OAAM;KACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,aAAY,EAAE,YAAU;4BAFxB,MAAA,aAAY,EAAE,UAAU,MAAK,CAAA,CAAA,CAAA,CAAA;;OAIzC,YA0Ba,YAAA;IAzBX,kBAAiB;IACjB,gBAAe;IACf,cAAa;IACb,kBAAiB;IACjB,gBAAe;IACf,cAAa;;2BAmBP,CAAA,eAlBN,mBAkBM,OAAA;KAhBJ,OAAM;KACL,WAAO,OAAA,OAAA,OAAA,KAAA,UAAA,WAAS,MAAA,aAAY,EAAE,YAAU,EAAA,CAAA,SAAA,CAAA;QACzC,mBAOM,OAPN,YAOM,CALJ,YAIoB,MAAA,yBAAA,EAAA;KAHjB,0BAAA,QAAA;KACA,cAAA,QAAA;KACA,kBAAkB,MAAA,aAAY,EAAE;KAChC,gBAAA,QAAA;;;;;;UAEL,YAKwC,MAAA,iBAAA,EAAA;KAJtC,OAAM;KACL,MAAM,MAAA,YAAW;KAClB,OAAM;KACN,QAAO;KACN,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,aAAY,EAAE,YAAU;2CAhB1B,MAAA,aAAY,EAAE,UAAU,MAAK,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import type { ExternalUrls } from '@scalar/types/api-reference';
|
|
1
2
|
import type { WorkspaceStore } from '@scalar/workspace-store/client';
|
|
2
3
|
type __VLS_Props = {
|
|
3
4
|
config?: {
|
|
4
5
|
name?: string;
|
|
5
6
|
url?: string;
|
|
6
7
|
};
|
|
8
|
+
externalUrls: ExternalUrls;
|
|
7
9
|
url?: string;
|
|
8
10
|
workspace: WorkspaceStore;
|
|
9
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenMCPButton.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AgentScalar/OpenMCPButton.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OpenMCPButton.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AgentScalar/OpenMCPButton.vue"],"names":[],"mappings":"AA4SA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAKpE,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;IACD,YAAY,EAAE,YAAY,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,cAAc,CAAA;CAC1B,CAAC;AAmEF,KAAK,gBAAgB,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAKF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAiOxD,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
|
|
|
2
2
|
import OpenMCPButton_vue_vue_type_script_setup_true_lang_default from "./OpenMCPButton.vue.script.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/components/AgentScalar/OpenMCPButton.vue
|
|
5
|
-
var OpenMCPButton_default = /* @__PURE__ */ _plugin_vue_export_helper_default(OpenMCPButton_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var OpenMCPButton_default = /* @__PURE__ */ _plugin_vue_export_helper_default(OpenMCPButton_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e53c0a75"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { OpenMCPButton_default as default };
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenMCPButton.vue.js","names":[],"sources":["../../../src/components/AgentScalar/OpenMCPButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLoadingState } from '@scalar/components'\nimport { ScalarIconArrowUpRight } from '@scalar/icons'\nimport { isValidUrl } from '@scalar/oas-utils/helpers'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport { useToasts } from '@scalar/use-toasts'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { nextTick } from 'vue'\n\nimport {
|
|
1
|
+
{"version":3,"file":"OpenMCPButton.vue.js","names":[],"sources":["../../../src/components/AgentScalar/OpenMCPButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLoadingState } from '@scalar/components'\nimport { ScalarIconArrowUpRight } from '@scalar/icons'\nimport { isValidUrl } from '@scalar/oas-utils/helpers'\nimport type { ExternalUrls } from '@scalar/types/api-reference'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport { useToasts } from '@scalar/use-toasts'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { nextTick } from 'vue'\n\nimport { uploadTempDocument } from '@/helpers/upload-temp-document'\n\nconst props = defineProps<{\n config?: {\n name?: string\n url?: string\n }\n externalUrls: ExternalUrls\n url?: string\n workspace: WorkspaceStore\n}>()\n\nconst { copyToClipboard } = useClipboard()\n\nconst { toast } = useToasts()\n\nconst loader = useLoadingState()\n\nconst hasConfig = props.config?.name || props.config?.url\n\nconst encoded = btoa(JSON.stringify(props.config ?? {}))\n\nconst name = encodeURIComponent(props.config?.name ?? '')\nconst cursorLink = `cursor://anysphere.cursor-deeplink/mcp/install?name=${name}&config=${encoded}`\nconst vscodeLink = `vscode:mcp/install?${encodeURIComponent(JSON.stringify(props.config ?? {}))}`\n\nconst docUrl = defineModel<string>('url')\n\n/** Generate and open the registration link */\nasync function generateRegisterLink() {\n if (loader.isLoading || !props.workspace) {\n return\n }\n\n // If we have already have a document URL that is valid\n if (docUrl.value && isValidUrl(docUrl.value)) {\n openRegisterLink(docUrl.value)\n return\n }\n\n loader.start()\n\n const document = props.workspace.exportActiveDocument('json')\n\n if (!document) {\n toast('Unable to export active document', 'error')\n await loader.invalidate()\n return\n }\n\n try {\n docUrl.value = await uploadTempDocument(document, props.externalUrls)\n await loader.validate()\n openRegisterLink(docUrl.value)\n\n await nextTick()\n\n await loader.clear()\n } catch (error) {\n const message =\n error instanceof Error ? error.message : 'An unknown error occurred'\n toast(message, 'error')\n await loader.invalidate()\n }\n}\n\n/** Open the registration link in a new tab */\nfunction openRegisterLink(documentUrl: string) {\n const url = new URL(`${props.externalUrls.dashboardUrl}/register`)\n url.searchParams.set('url', documentUrl)\n url.searchParams.set('createMcp', 'true')\n\n window.open(url.toString(), '_blank')\n}\n</script>\n\n<template>\n <div class=\"scalar-mcp-layer\">\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? vscodeLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n fill=\"currentColor\"\n height=\"800\"\n viewBox=\"0 0 32 32\"\n width=\"800\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M30.865 3.448 24.282.281a1.99 1.99 0 0 0-2.276.385L9.397 12.171 3.902 8.004a1.33 1.33 0 0 0-1.703.073L.439 9.681a1.33 1.33 0 0 0-.005 1.969L5.2 15.999.434 20.348a1.33 1.33 0 0 0 .005 1.969l1.76 1.604a1.33 1.33 0 0 0 1.703.073l5.495-4.172 12.615 11.51a1.98 1.98 0 0 0 2.271.385l6.589-3.172a1.99 1.99 0 0 0 1.13-1.802V5.248c0-.766-.443-1.469-1.135-1.802zm-6.86 19.818L14.432 16l9.573-7.266z\" />\n </svg>\n VS Code\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? cursorLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n viewBox=\"0 0 466.73 532.09\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M457.43 125.94 244.42 2.96a22.13 22.13 0 0 0-22.12 0L9.3 125.94C3.55 129.26 0 135.4 0 142.05v247.99c0 6.65 3.55 12.79 9.3 16.11l213.01 122.98a22.13 22.13 0 0 0 22.12 0l213.01-122.98c5.75-3.32 9.3-9.46 9.3-16.11V142.05c0-6.65-3.55-12.79-9.3-16.11zm-13.38 26.05L238.42 508.15c-1.39 2.4-5.06 1.42-5.06-1.36V273.58c0-4.66-2.49-8.97-6.53-11.31L24.87 145.67c-2.4-1.39-1.42-5.06 1.36-5.06h411.26c5.84 0 9.49 6.33 6.57 11.39h-.01Z\"\n style=\"fill: currentColor\" />\n </svg>\n Cursor\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <!-- localhost + you don't have a MCP added -->\n <div\n v-if=\"!hasConfig\"\n class=\"scalar-mcp-layer-link\"\n @click=\"generateRegisterLink\">\n <svg\n class=\"mcp-logo\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n Generate MCP\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </div>\n <!-- you do have an MCP added -->\n <div\n v-else\n class=\"scalar-mcp-layer-link\"\n @click=\"copyToClipboard(config?.url ?? '')\">\n Connect MCP\n <svg\n class=\"mcp-logo ml-auto\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n </div>\n </div>\n</template>\n\n<style scoped>\n.scalar-mcp-layer {\n gap: 2px;\n display: flex;\n flex-direction: column;\n background: transparent;\n position: relative;\n justify-content: flex-end;\n transition: all 0.4s ease-in-out;\n height: 32px;\n}\n.scalar-mcp-layer:hover {\n height: 172px;\n}\n.scalar-mcp-layer-link:hover {\n cursor: pointer !important;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link {\n cursor: pointer;\n width: 100%;\n padding: 9px 6px;\n height: 31px;\n display: block;\n text-align: center;\n display: flex;\n align-items: center;\n white-space: nowrap;\n font-size: var(--scalar-small);\n line-height: 1.385;\n text-decoration: none;\n border-radius: var(--scalar-radius);\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n gap: 6px;\n color: var(--scalar-sidebar-color-1);\n background: var(--scalar-background-1);\n transition: transform 0.2s ease-in-out;\n position: absolute;\n bottom: 0;\n}\n/* increase click area for gap */\n.scalar-mcp-layer-link:after {\n content: '';\n position: absolute;\n bottom: -2px;\n height: 2px;\n width: 100%;\n left: 0;\n}\n.scalar-mcp-layer div.scalar-mcp-layer-link {\n cursor: default;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(1) {\n transform: translate3d(0, 0, 0);\n position: relative;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(2) {\n transform: translate3d(0, -2px, 0) scale(0.99);\n}\n.scalar-mcp-layer:hover a:nth-last-child(2) {\n transform: translate3d(0, calc(-100% - 2px), 0) scale(0.99);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(3) {\n transform: translate3d(0, -4px, 0) scale(0.98);\n}\n.scalar-mcp-layer:hover a:nth-last-child(3) {\n transform: translate3d(0, calc(-200% - 4px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(4) {\n transform: translate3d(0, -6px, 0) scale(0.97);\n}\n.scalar-mcp-layer:hover a:nth-last-child(4) {\n transform: translate3d(0, calc(-300% - 6px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, -8px, 0) scale(0.96);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, calc(-400% - 8px), 0) scale(1);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link {\n transition: transform 0.2s ease-in-out 0.1s;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:hover {\n background: var(--scalar-background-2);\n}\n.scalar-mcp-layer .mcp-logo {\n width: 16px;\n height: 16px;\n color: var(--scalar-sidebar-color-1);\n}\n.mcp-nav {\n color: var(--scalar-sidebar-color-2);\n}\n</style>\n"],"mappings":""}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { DASHBOARD_REGISTER_URL } from "../../consts/urls.js";
|
|
2
1
|
import { uploadTempDocument } from "../../helpers/upload-temp-document.js";
|
|
3
2
|
import { createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, nextTick, openBlock, unref, useModel } from "vue";
|
|
4
3
|
import { useLoadingState } from "@scalar/components";
|
|
@@ -14,6 +13,7 @@ var OpenMCPButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
14
13
|
__name: "OpenMCPButton",
|
|
15
14
|
props: /* @__PURE__ */ mergeModels({
|
|
16
15
|
config: {},
|
|
16
|
+
externalUrls: {},
|
|
17
17
|
url: {},
|
|
18
18
|
workspace: {}
|
|
19
19
|
}, {
|
|
@@ -46,7 +46,7 @@ var OpenMCPButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
48
|
try {
|
|
49
|
-
docUrl.value = await uploadTempDocument(document);
|
|
49
|
+
docUrl.value = await uploadTempDocument(document, props.externalUrls);
|
|
50
50
|
await loader.validate();
|
|
51
51
|
openRegisterLink(docUrl.value);
|
|
52
52
|
await nextTick();
|
|
@@ -57,9 +57,9 @@ var OpenMCPButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
/** Open the registration link in a new tab */
|
|
60
|
-
function openRegisterLink(
|
|
61
|
-
const url = new URL(
|
|
62
|
-
url.searchParams.set("url",
|
|
60
|
+
function openRegisterLink(documentUrl) {
|
|
61
|
+
const url = new URL(`${props.externalUrls.dashboardUrl}/register`);
|
|
62
|
+
url.searchParams.set("url", documentUrl);
|
|
63
63
|
url.searchParams.set("createMcp", "true");
|
|
64
64
|
window.open(url.toString(), "_blank");
|
|
65
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenMCPButton.vue.script.js","names":[],"sources":["../../../src/components/AgentScalar/OpenMCPButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLoadingState } from '@scalar/components'\nimport { ScalarIconArrowUpRight } from '@scalar/icons'\nimport { isValidUrl } from '@scalar/oas-utils/helpers'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport { useToasts } from '@scalar/use-toasts'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { nextTick } from 'vue'\n\nimport { DASHBOARD_REGISTER_URL } from '@/consts/urls'\nimport { uploadTempDocument } from '@/helpers/upload-temp-document'\n\nconst props = defineProps<{\n config?: {\n name?: string\n url?: string\n }\n url?: string\n workspace: WorkspaceStore\n}>()\n\nconst { copyToClipboard } = useClipboard()\n\nconst { toast } = useToasts()\n\nconst loader = useLoadingState()\n\nconst hasConfig = props.config?.name || props.config?.url\n\nconst encoded = btoa(JSON.stringify(props.config ?? {}))\n\nconst name = encodeURIComponent(props.config?.name ?? '')\nconst cursorLink = `cursor://anysphere.cursor-deeplink/mcp/install?name=${name}&config=${encoded}`\nconst vscodeLink = `vscode:mcp/install?${encodeURIComponent(JSON.stringify(props.config ?? {}))}`\n\nconst docUrl = defineModel<string>('url')\n\n/** Generate and open the registration link */\nasync function generateRegisterLink() {\n if (loader.isLoading || !props.workspace) {\n return\n }\n\n // If we have already have a document URL that is valid\n if (docUrl.value && isValidUrl(docUrl.value)) {\n openRegisterLink(docUrl.value)\n return\n }\n\n loader.start()\n\n const document = props.workspace.exportActiveDocument('json')\n\n if (!document) {\n toast('Unable to export active document', 'error')\n await loader.invalidate()\n return\n }\n\n try {\n docUrl.value = await uploadTempDocument(document)\n await loader.validate()\n openRegisterLink(docUrl.value)\n\n await nextTick()\n\n await loader.clear()\n } catch (error) {\n const message =\n error instanceof Error ? error.message : 'An unknown error occurred'\n toast(message, 'error')\n await loader.invalidate()\n }\n}\n\n/** Open the registration link in a new tab */\nfunction openRegisterLink(docUrl: string) {\n const url = new URL(DASHBOARD_REGISTER_URL)\n url.searchParams.set('url', docUrl)\n url.searchParams.set('createMcp', 'true')\n\n window.open(url.toString(), '_blank')\n}\n</script>\n\n<template>\n <div class=\"scalar-mcp-layer\">\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? vscodeLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n fill=\"currentColor\"\n height=\"800\"\n viewBox=\"0 0 32 32\"\n width=\"800\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M30.865 3.448 24.282.281a1.99 1.99 0 0 0-2.276.385L9.397 12.171 3.902 8.004a1.33 1.33 0 0 0-1.703.073L.439 9.681a1.33 1.33 0 0 0-.005 1.969L5.2 15.999.434 20.348a1.33 1.33 0 0 0 .005 1.969l1.76 1.604a1.33 1.33 0 0 0 1.703.073l5.495-4.172 12.615 11.51a1.98 1.98 0 0 0 2.271.385l6.589-3.172a1.99 1.99 0 0 0 1.13-1.802V5.248c0-.766-.443-1.469-1.135-1.802zm-6.86 19.818L14.432 16l9.573-7.266z\" />\n </svg>\n VS Code\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? cursorLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n viewBox=\"0 0 466.73 532.09\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M457.43 125.94 244.42 2.96a22.13 22.13 0 0 0-22.12 0L9.3 125.94C3.55 129.26 0 135.4 0 142.05v247.99c0 6.65 3.55 12.79 9.3 16.11l213.01 122.98a22.13 22.13 0 0 0 22.12 0l213.01-122.98c5.75-3.32 9.3-9.46 9.3-16.11V142.05c0-6.65-3.55-12.79-9.3-16.11zm-13.38 26.05L238.42 508.15c-1.39 2.4-5.06 1.42-5.06-1.36V273.58c0-4.66-2.49-8.97-6.53-11.31L24.87 145.67c-2.4-1.39-1.42-5.06 1.36-5.06h411.26c5.84 0 9.49 6.33 6.57 11.39h-.01Z\"\n style=\"fill: currentColor\" />\n </svg>\n Cursor\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <!-- localhost + you don't have a MCP added -->\n <div\n v-if=\"!hasConfig\"\n class=\"scalar-mcp-layer-link\"\n @click=\"generateRegisterLink\">\n <svg\n class=\"mcp-logo\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n Generate MCP\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </div>\n <!-- you do have an MCP added -->\n <div\n v-else\n class=\"scalar-mcp-layer-link\"\n @click=\"copyToClipboard(config?.url ?? '')\">\n Connect MCP\n <svg\n class=\"mcp-logo ml-auto\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n </div>\n </div>\n</template>\n\n<style scoped>\n.scalar-mcp-layer {\n gap: 2px;\n display: flex;\n flex-direction: column;\n background: transparent;\n position: relative;\n justify-content: flex-end;\n transition: all 0.4s ease-in-out;\n height: 32px;\n}\n.scalar-mcp-layer:hover {\n height: 172px;\n}\n.scalar-mcp-layer-link:hover {\n cursor: pointer !important;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link {\n cursor: pointer;\n width: 100%;\n padding: 9px 6px;\n height: 31px;\n display: block;\n text-align: center;\n display: flex;\n align-items: center;\n white-space: nowrap;\n font-size: var(--scalar-small);\n line-height: 1.385;\n text-decoration: none;\n border-radius: var(--scalar-radius);\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n gap: 6px;\n color: var(--scalar-sidebar-color-1);\n background: var(--scalar-background-1);\n transition: transform 0.2s ease-in-out;\n position: absolute;\n bottom: 0;\n}\n/* increase click area for gap */\n.scalar-mcp-layer-link:after {\n content: '';\n position: absolute;\n bottom: -2px;\n height: 2px;\n width: 100%;\n left: 0;\n}\n.scalar-mcp-layer div.scalar-mcp-layer-link {\n cursor: default;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(1) {\n transform: translate3d(0, 0, 0);\n position: relative;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(2) {\n transform: translate3d(0, -2px, 0) scale(0.99);\n}\n.scalar-mcp-layer:hover a:nth-last-child(2) {\n transform: translate3d(0, calc(-100% - 2px), 0) scale(0.99);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(3) {\n transform: translate3d(0, -4px, 0) scale(0.98);\n}\n.scalar-mcp-layer:hover a:nth-last-child(3) {\n transform: translate3d(0, calc(-200% - 4px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(4) {\n transform: translate3d(0, -6px, 0) scale(0.97);\n}\n.scalar-mcp-layer:hover a:nth-last-child(4) {\n transform: translate3d(0, calc(-300% - 6px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, -8px, 0) scale(0.96);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, calc(-400% - 8px), 0) scale(1);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link {\n transition: transform 0.2s ease-in-out 0.1s;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:hover {\n background: var(--scalar-background-2);\n}\n.scalar-mcp-layer .mcp-logo {\n width: 16px;\n height: 16px;\n color: var(--scalar-sidebar-color-1);\n}\n.mcp-nav {\n color: var(--scalar-sidebar-color-2);\n}\n</style>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpenMCPButton.vue.script.js","names":[],"sources":["../../../src/components/AgentScalar/OpenMCPButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLoadingState } from '@scalar/components'\nimport { ScalarIconArrowUpRight } from '@scalar/icons'\nimport { isValidUrl } from '@scalar/oas-utils/helpers'\nimport type { ExternalUrls } from '@scalar/types/api-reference'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport { useToasts } from '@scalar/use-toasts'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { nextTick } from 'vue'\n\nimport { uploadTempDocument } from '@/helpers/upload-temp-document'\n\nconst props = defineProps<{\n config?: {\n name?: string\n url?: string\n }\n externalUrls: ExternalUrls\n url?: string\n workspace: WorkspaceStore\n}>()\n\nconst { copyToClipboard } = useClipboard()\n\nconst { toast } = useToasts()\n\nconst loader = useLoadingState()\n\nconst hasConfig = props.config?.name || props.config?.url\n\nconst encoded = btoa(JSON.stringify(props.config ?? {}))\n\nconst name = encodeURIComponent(props.config?.name ?? '')\nconst cursorLink = `cursor://anysphere.cursor-deeplink/mcp/install?name=${name}&config=${encoded}`\nconst vscodeLink = `vscode:mcp/install?${encodeURIComponent(JSON.stringify(props.config ?? {}))}`\n\nconst docUrl = defineModel<string>('url')\n\n/** Generate and open the registration link */\nasync function generateRegisterLink() {\n if (loader.isLoading || !props.workspace) {\n return\n }\n\n // If we have already have a document URL that is valid\n if (docUrl.value && isValidUrl(docUrl.value)) {\n openRegisterLink(docUrl.value)\n return\n }\n\n loader.start()\n\n const document = props.workspace.exportActiveDocument('json')\n\n if (!document) {\n toast('Unable to export active document', 'error')\n await loader.invalidate()\n return\n }\n\n try {\n docUrl.value = await uploadTempDocument(document, props.externalUrls)\n await loader.validate()\n openRegisterLink(docUrl.value)\n\n await nextTick()\n\n await loader.clear()\n } catch (error) {\n const message =\n error instanceof Error ? error.message : 'An unknown error occurred'\n toast(message, 'error')\n await loader.invalidate()\n }\n}\n\n/** Open the registration link in a new tab */\nfunction openRegisterLink(documentUrl: string) {\n const url = new URL(`${props.externalUrls.dashboardUrl}/register`)\n url.searchParams.set('url', documentUrl)\n url.searchParams.set('createMcp', 'true')\n\n window.open(url.toString(), '_blank')\n}\n</script>\n\n<template>\n <div class=\"scalar-mcp-layer\">\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? vscodeLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n fill=\"currentColor\"\n height=\"800\"\n viewBox=\"0 0 32 32\"\n width=\"800\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M30.865 3.448 24.282.281a1.99 1.99 0 0 0-2.276.385L9.397 12.171 3.902 8.004a1.33 1.33 0 0 0-1.703.073L.439 9.681a1.33 1.33 0 0 0-.005 1.969L5.2 15.999.434 20.348a1.33 1.33 0 0 0 .005 1.969l1.76 1.604a1.33 1.33 0 0 0 1.703.073l5.495-4.172 12.615 11.51a1.98 1.98 0 0 0 2.271.385l6.589-3.172a1.99 1.99 0 0 0 1.13-1.802V5.248c0-.766-.443-1.469-1.135-1.802zm-6.86 19.818L14.432 16l9.573-7.266z\" />\n </svg>\n VS Code\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? cursorLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n viewBox=\"0 0 466.73 532.09\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M457.43 125.94 244.42 2.96a22.13 22.13 0 0 0-22.12 0L9.3 125.94C3.55 129.26 0 135.4 0 142.05v247.99c0 6.65 3.55 12.79 9.3 16.11l213.01 122.98a22.13 22.13 0 0 0 22.12 0l213.01-122.98c5.75-3.32 9.3-9.46 9.3-16.11V142.05c0-6.65-3.55-12.79-9.3-16.11zm-13.38 26.05L238.42 508.15c-1.39 2.4-5.06 1.42-5.06-1.36V273.58c0-4.66-2.49-8.97-6.53-11.31L24.87 145.67c-2.4-1.39-1.42-5.06 1.36-5.06h411.26c5.84 0 9.49 6.33 6.57 11.39h-.01Z\"\n style=\"fill: currentColor\" />\n </svg>\n Cursor\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <!-- localhost + you don't have a MCP added -->\n <div\n v-if=\"!hasConfig\"\n class=\"scalar-mcp-layer-link\"\n @click=\"generateRegisterLink\">\n <svg\n class=\"mcp-logo\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n Generate MCP\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </div>\n <!-- you do have an MCP added -->\n <div\n v-else\n class=\"scalar-mcp-layer-link\"\n @click=\"copyToClipboard(config?.url ?? '')\">\n Connect MCP\n <svg\n class=\"mcp-logo ml-auto\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n </div>\n </div>\n</template>\n\n<style scoped>\n.scalar-mcp-layer {\n gap: 2px;\n display: flex;\n flex-direction: column;\n background: transparent;\n position: relative;\n justify-content: flex-end;\n transition: all 0.4s ease-in-out;\n height: 32px;\n}\n.scalar-mcp-layer:hover {\n height: 172px;\n}\n.scalar-mcp-layer-link:hover {\n cursor: pointer !important;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link {\n cursor: pointer;\n width: 100%;\n padding: 9px 6px;\n height: 31px;\n display: block;\n text-align: center;\n display: flex;\n align-items: center;\n white-space: nowrap;\n font-size: var(--scalar-small);\n line-height: 1.385;\n text-decoration: none;\n border-radius: var(--scalar-radius);\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n gap: 6px;\n color: var(--scalar-sidebar-color-1);\n background: var(--scalar-background-1);\n transition: transform 0.2s ease-in-out;\n position: absolute;\n bottom: 0;\n}\n/* increase click area for gap */\n.scalar-mcp-layer-link:after {\n content: '';\n position: absolute;\n bottom: -2px;\n height: 2px;\n width: 100%;\n left: 0;\n}\n.scalar-mcp-layer div.scalar-mcp-layer-link {\n cursor: default;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(1) {\n transform: translate3d(0, 0, 0);\n position: relative;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(2) {\n transform: translate3d(0, -2px, 0) scale(0.99);\n}\n.scalar-mcp-layer:hover a:nth-last-child(2) {\n transform: translate3d(0, calc(-100% - 2px), 0) scale(0.99);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(3) {\n transform: translate3d(0, -4px, 0) scale(0.98);\n}\n.scalar-mcp-layer:hover a:nth-last-child(3) {\n transform: translate3d(0, calc(-200% - 4px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(4) {\n transform: translate3d(0, -6px, 0) scale(0.97);\n}\n.scalar-mcp-layer:hover a:nth-last-child(4) {\n transform: translate3d(0, calc(-300% - 6px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, -8px, 0) scale(0.96);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, calc(-400% - 8px), 0) scale(1);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link {\n transition: transform 0.2s ease-in-out 0.1s;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:hover {\n background: var(--scalar-background-2);\n}\n.scalar-mcp-layer .mcp-logo {\n width: 16px;\n height: 16px;\n color: var(--scalar-sidebar-color-1);\n}\n.mcp-nav {\n color: var(--scalar-sidebar-color-2);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAYA,MAAM,QAAQ;EAUd,MAAM,EAAE,oBAAoB,cAAa;EAEzC,MAAM,EAAE,UAAU,WAAU;EAE5B,MAAM,SAAS,iBAAgB;EAE/B,MAAM,YAAY,MAAM,QAAQ,QAAQ,MAAM,QAAQ;EAEtD,MAAM,UAAU,KAAK,KAAK,UAAU,MAAM,UAAU,EAAE,CAAC,CAAA;EAGvD,MAAM,aAAa,uDADN,mBAAmB,MAAM,QAAQ,QAAQ,GAAE,CACuB,UAAU;EACzF,MAAM,aAAa,sBAAsB,mBAAmB,KAAK,UAAU,MAAM,UAAU,EAAE,CAAC,CAAC;EAE/F,MAAM,SAAS,SAAmB,SAAC,MAAK;;EAGxC,eAAe,uBAAuB;AACpC,OAAI,OAAO,aAAa,CAAC,MAAM,UAC7B;AAIF,OAAI,OAAO,SAAS,WAAW,OAAO,MAAM,EAAE;AAC5C,qBAAiB,OAAO,MAAK;AAC7B;;AAGF,UAAO,OAAM;GAEb,MAAM,WAAW,MAAM,UAAU,qBAAqB,OAAM;AAE5D,OAAI,CAAC,UAAU;AACb,UAAM,oCAAoC,QAAO;AACjD,UAAM,OAAO,YAAW;AACxB;;AAGF,OAAI;AACF,WAAO,QAAQ,MAAM,mBAAmB,UAAU,MAAM,aAAY;AACpE,UAAM,OAAO,UAAS;AACtB,qBAAiB,OAAO,MAAK;AAE7B,UAAM,UAAS;AAEf,UAAM,OAAO,OAAM;YACZ,OAAO;AAGd,UADE,iBAAiB,QAAQ,MAAM,UAAU,6BAC5B,QAAO;AACtB,UAAM,OAAO,YAAW;;;;EAK5B,SAAS,iBAAiB,aAAqB;GAC7C,MAAM,MAAM,IAAI,IAAI,GAAG,MAAM,aAAa,aAAa,WAAU;AACjE,OAAI,aAAa,IAAI,OAAO,YAAW;AACvC,OAAI,aAAa,IAAI,aAAa,OAAM;AAExC,UAAO,KAAK,IAAI,UAAU,EAAE,SAAQ;;;uBAKpC,mBA8GM,OA9GN,YA8GM;IA7GJ,mBAwBI,KAAA;KAvBF,OAAM;KACL,MAAM,MAAA,UAAS,GAAG,aAAa,KAAA;KAC/B,QAAQ,MAAA,UAAS,GAAA,WAAc,KAAA;KAC/B,SAAK,OAAA,OAAA,OAAA,MAAY,MAAC;WAAsB,MAAA,UAAS,EAAA;AAAgB,SAAE,gBAAc;AAAe,6BAAoB;;;;+BAQrH,mBASM,OAAA;MARJ,OAAM;MACN,MAAK;MACL,QAAO;MACP,SAAQ;MACR,OAAM;MACN,OAAM;SACN,mBAC6Y,QAAA,EAA3Y,GAAE,wYAAsY,CAAA,CAAA,EAAA,GAAA;+CACtY,aAEN,GAAA;KAAA,YAAyD,MAAA,uBAAA,EAAA,EAAjC,OAAM,0BAAwB,CAAA;;IAExD,mBAsBI,KAAA;KArBF,OAAM;KACL,MAAM,MAAA,UAAS,GAAG,aAAa,KAAA;KAC/B,QAAQ,MAAA,UAAS,GAAA,WAAc,KAAA;KAC/B,SAAK,OAAA,OAAA,OAAA,MAAY,MAAC;WAAsB,MAAA,UAAS,EAAA;AAAgB,SAAE,gBAAc;AAAe,6BAAoB;;;;+BAQrH,mBAOM,OAAA;MANJ,OAAM;MACN,SAAQ;MACR,OAAM;SACN,mBAE+B,QAAA;MAD7B,GAAE;MACF,OAAA,EAAA,QAAA,gBAA0B;;+CACxB,YAEN,GAAA;KAAA,YAAyD,MAAA,uBAAA,EAAA,EAAjC,OAAM,0BAAwB,CAAA;;KAI/C,MAAA,UAAS,IAAA,WAAA,EADlB,mBA6BM,OAAA;;KA3BJ,OAAM;KACL,SAAO;;+BACR,mBAsBM,OAAA;MArBJ,OAAM;MACN,MAAK;MACL,QAAO;MACP,SAAQ;MACR,OAAM;MACN,OAAM;;MACN,mBAIsB,QAAA;OAHpB,GAAE;OACF,QAAO;OACP,kBAAe;OACf,gBAAa;;MACf,mBAIsB,QAAA;OAHpB,GAAE;OACF,QAAO;OACP,kBAAe;OACf,gBAAa;;MACf,mBAIsB,QAAA;OAHpB,GAAE;OACF,QAAO;OACP,kBAAe;OACf,gBAAa;;;+CACX,kBAEN,GAAA;KAAA,YAAyD,MAAA,uBAAA,EAAA,EAAjC,OAAM,0BAAwB,CAAA;wBAGxD,mBA4BM,OAAA;;KA1BJ,OAAM;KACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,gBAAe,CAAC,QAAA,QAAQ,OAAG,GAAA;sDAAS,iBAE5C,GAAA,EAAA,mBAsBM,OAAA;KArBJ,OAAM;KACN,MAAK;KACL,QAAO;KACP,SAAQ;KACR,OAAM;KACN,OAAM;;KACN,mBAIsB,QAAA;MAHpB,GAAE;MACF,QAAO;MACP,kBAAe;MACf,gBAAa;;KACf,mBAIsB,QAAA;MAHpB,GAAE;MACF,QAAO;MACP,kBAAe;MACf,gBAAa;;KACf,mBAIsB,QAAA;MAHpB,GAAE;MACF,QAAO;MACP,kBAAe;MACf,gBAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiReference.vue.d.ts","sourceRoot":"","sources":["../../src/components/ApiReference.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ApiReference.vue.d.ts","sourceRoot":"","sources":["../../src/components/ApiReference.vue"],"names":[],"mappings":"AA8wCA,OAAO,EAEL,KAAK,4BAA4B,EAGlC,MAAM,6BAA6B,CAAA;AAMpC,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4CAA4C,CAAA;AAuDnD,KAAK,WAAW,GAAG;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,4BAA4B,CAAA;CAC7C,CAAC;AAGF,KAAK,WAAW,GAAG;IACjB,eAAe,CAAC,IAAI;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,aAAa,CAAC,IAAI;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;IACxC,eAAe,CAAC,IAAI;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,aAAa,CAAC,IAAI;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;IACxC,oBAAoB,CAAC,IAAI;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,MAAM,CAAC,IAAI;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAClC,CAAC;AA22CF,QAAA,MAAM,UAAU;;;;oPAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
|
|
@@ -5,7 +5,7 @@ import ApiReference_vue_vue_type_script_setup_true_lang_default from "./ApiRefer
|
|
|
5
5
|
/* empty css */
|
|
6
6
|
/* empty css */
|
|
7
7
|
//#region src/components/ApiReference.vue
|
|
8
|
-
var ApiReference_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ApiReference_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
8
|
+
var ApiReference_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ApiReference_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-274a4872"]]);
|
|
9
9
|
//#endregion
|
|
10
10
|
export { ApiReference_default as default };
|
|
11
11
|
|