@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.
Files changed (117) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/browser/standalone.js +2309 -45729
  3. package/dist/browser/webpack-stats.json +1 -1
  4. package/dist/components/AgentScalar/AgentScalarChatInterface.vue.d.ts +2 -1
  5. package/dist/components/AgentScalar/AgentScalarChatInterface.vue.d.ts.map +1 -1
  6. package/dist/components/AgentScalar/AgentScalarChatInterface.vue.js.map +1 -1
  7. package/dist/components/AgentScalar/AgentScalarChatInterface.vue.script.js +6 -4
  8. package/dist/components/AgentScalar/AgentScalarChatInterface.vue.script.js.map +1 -1
  9. package/dist/components/AgentScalar/AgentScalarDrawer.vue.d.ts +2 -3
  10. package/dist/components/AgentScalar/AgentScalarDrawer.vue.d.ts.map +1 -1
  11. package/dist/components/AgentScalar/AgentScalarDrawer.vue.js +1 -1
  12. package/dist/components/AgentScalar/AgentScalarDrawer.vue.js.map +1 -1
  13. package/dist/components/AgentScalar/AgentScalarDrawer.vue.script.js +4 -2
  14. package/dist/components/AgentScalar/AgentScalarDrawer.vue.script.js.map +1 -1
  15. package/dist/components/AgentScalar/OpenMCPButton.vue.d.ts +2 -0
  16. package/dist/components/AgentScalar/OpenMCPButton.vue.d.ts.map +1 -1
  17. package/dist/components/AgentScalar/OpenMCPButton.vue.js +1 -1
  18. package/dist/components/AgentScalar/OpenMCPButton.vue.js.map +1 -1
  19. package/dist/components/AgentScalar/OpenMCPButton.vue.script.js +5 -5
  20. package/dist/components/AgentScalar/OpenMCPButton.vue.script.js.map +1 -1
  21. package/dist/components/ApiReference.vue.d.ts.map +1 -1
  22. package/dist/components/ApiReference.vue.js +1 -1
  23. package/dist/components/ApiReference.vue.js.map +1 -1
  24. package/dist/components/ApiReference.vue.script.js +6 -0
  25. package/dist/components/ApiReference.vue.script.js.map +1 -1
  26. package/dist/components/Content/Schema/Schema.vue.d.ts +4 -0
  27. package/dist/components/Content/Schema/Schema.vue.d.ts.map +1 -1
  28. package/dist/components/Content/Schema/Schema.vue.js +1 -1
  29. package/dist/components/Content/Schema/Schema.vue.js.map +1 -1
  30. package/dist/components/Content/Schema/Schema.vue.script.js +15 -5
  31. package/dist/components/Content/Schema/Schema.vue.script.js.map +1 -1
  32. package/dist/components/Content/Schema/SchemaComposition.vue.d.ts +4 -0
  33. package/dist/components/Content/Schema/SchemaComposition.vue.d.ts.map +1 -1
  34. package/dist/components/Content/Schema/SchemaComposition.vue.js.map +1 -1
  35. package/dist/components/Content/Schema/SchemaComposition.vue.script.js +37 -7
  36. package/dist/components/Content/Schema/SchemaComposition.vue.script.js.map +1 -1
  37. package/dist/components/Content/Schema/SchemaObjectProperties.vue.d.ts +2 -0
  38. package/dist/components/Content/Schema/SchemaObjectProperties.vue.d.ts.map +1 -1
  39. package/dist/components/Content/Schema/SchemaObjectProperties.vue.js.map +1 -1
  40. package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js +26 -6
  41. package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js.map +1 -1
  42. package/dist/components/Content/Schema/SchemaProperty.vue.d.ts +6 -0
  43. package/dist/components/Content/Schema/SchemaProperty.vue.d.ts.map +1 -1
  44. package/dist/components/Content/Schema/SchemaProperty.vue.js +1 -1
  45. package/dist/components/Content/Schema/SchemaProperty.vue.js.map +1 -1
  46. package/dist/components/Content/Schema/SchemaProperty.vue.script.js +20 -3
  47. package/dist/components/Content/Schema/SchemaProperty.vue.script.js.map +1 -1
  48. package/dist/features/Operation/components/RequestBody.vue.d.ts.map +1 -1
  49. package/dist/features/Operation/components/RequestBody.vue.js +1 -1
  50. package/dist/features/Operation/components/RequestBody.vue.js.map +1 -1
  51. package/dist/features/Operation/components/RequestBody.vue.script.js +6 -0
  52. package/dist/features/Operation/components/RequestBody.vue.script.js.map +1 -1
  53. package/dist/features/Operation/layouts/ClassicLayout.vue.d.ts.map +1 -1
  54. package/dist/features/Operation/layouts/ClassicLayout.vue.js +1 -1
  55. package/dist/features/Operation/layouts/ClassicLayout.vue.js.map +1 -1
  56. package/dist/features/Operation/layouts/ClassicLayout.vue.script.js +16 -5
  57. package/dist/features/Operation/layouts/ClassicLayout.vue.script.js.map +1 -1
  58. package/dist/features/Operation/layouts/ModernLayout.vue.d.ts.map +1 -1
  59. package/dist/features/Operation/layouts/ModernLayout.vue.js +1 -1
  60. package/dist/features/Operation/layouts/ModernLayout.vue.js.map +1 -1
  61. package/dist/features/Operation/layouts/ModernLayout.vue.script.js +16 -5
  62. package/dist/features/Operation/layouts/ModernLayout.vue.script.js.map +1 -1
  63. package/dist/features/Operation/request-body-composition-index.d.ts +8 -0
  64. package/dist/features/Operation/request-body-composition-index.d.ts.map +1 -0
  65. package/dist/features/Operation/request-body-composition-index.js +10 -0
  66. package/dist/features/Operation/request-body-composition-index.js.map +1 -0
  67. package/dist/features/developer-tools/DeveloperTools.vue.d.ts +2 -1
  68. package/dist/features/developer-tools/DeveloperTools.vue.d.ts.map +1 -1
  69. package/dist/features/developer-tools/DeveloperTools.vue.js.map +1 -1
  70. package/dist/features/developer-tools/DeveloperTools.vue.script.js +9 -2
  71. package/dist/features/developer-tools/DeveloperTools.vue.script.js.map +1 -1
  72. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.d.ts +2 -0
  73. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.d.ts.map +1 -1
  74. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.js.map +1 -1
  75. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js +3 -3
  76. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js.map +1 -1
  77. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.d.ts +2 -0
  78. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.d.ts.map +1 -1
  79. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.js.map +1 -1
  80. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js +9 -3
  81. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js.map +1 -1
  82. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.d.ts +2 -0
  83. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.d.ts.map +1 -1
  84. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.js.map +1 -1
  85. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js +6 -4
  86. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js.map +1 -1
  87. package/dist/features/developer-tools/components/DeployApiReference.vue.d.ts +2 -0
  88. package/dist/features/developer-tools/components/DeployApiReference.vue.d.ts.map +1 -1
  89. package/dist/features/developer-tools/components/DeployApiReference.vue.js.map +1 -1
  90. package/dist/features/developer-tools/components/DeployApiReference.vue.script.js +8 -2
  91. package/dist/features/developer-tools/components/DeployApiReference.vue.script.js.map +1 -1
  92. package/dist/features/developer-tools/components/ShareApiReference.vue.d.ts +2 -0
  93. package/dist/features/developer-tools/components/ShareApiReference.vue.d.ts.map +1 -1
  94. package/dist/features/developer-tools/components/ShareApiReference.vue.js.map +1 -1
  95. package/dist/features/developer-tools/components/ShareApiReference.vue.script.js +8 -2
  96. package/dist/features/developer-tools/components/ShareApiReference.vue.script.js.map +1 -1
  97. package/dist/features/example-responses/ExampleResponse.vue.d.ts.map +1 -1
  98. package/dist/features/example-responses/ExampleResponse.vue.js +1 -1
  99. package/dist/features/example-responses/ExampleResponse.vue.js.map +1 -1
  100. package/dist/features/example-responses/ExampleResponse.vue.script.js +1 -2
  101. package/dist/features/example-responses/ExampleResponse.vue.script.js.map +1 -1
  102. package/dist/features/test-request-button/TestRequestButton.vue.d.ts +1 -0
  103. package/dist/features/test-request-button/TestRequestButton.vue.d.ts.map +1 -1
  104. package/dist/features/test-request-button/TestRequestButton.vue.js +1 -1
  105. package/dist/features/test-request-button/TestRequestButton.vue.js.map +1 -1
  106. package/dist/features/test-request-button/TestRequestButton.vue.script.js +4 -2
  107. package/dist/features/test-request-button/TestRequestButton.vue.script.js.map +1 -1
  108. package/dist/helpers/upload-temp-document.d.ts +2 -1
  109. package/dist/helpers/upload-temp-document.d.ts.map +1 -1
  110. package/dist/helpers/upload-temp-document.js +3 -3
  111. package/dist/helpers/upload-temp-document.js.map +1 -1
  112. package/dist/style.css +273 -264
  113. package/package.json +15 -15
  114. package/dist/consts/urls.d.ts +0 -13
  115. package/dist/consts/urls.d.ts.map +0 -1
  116. package/dist/consts/urls.js +0 -17
  117. package/dist/consts/urls.js.map +0 -1
@@ -1,8 +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
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":"AAoCA,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,6BAA6B,CAAA;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAI9B,KAAK,WAAW,GAAG;IACf,wBAAwB,EAAE,mCAAmC,CAAC,OAAO,CAAC,CAAA;IACtE,cAAc,EAAE,cAAc,CAAA;IAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC/B,CAAC;AAiEJ,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
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 { type ApiReferenceConfigurationWithSource } from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { Ref } from 'vue'\n\nimport { API_BASE_URL, DASHBOARD_URL, REGISTRY_URL } from '@/consts/urls'\n\nconst { agentScalarConfiguration, workspaceStore, prefilledMessage } =\n defineProps<{\n agentScalarConfiguration: ApiReferenceConfigurationWithSource['agent']\n workspaceStore: WorkspaceStore\n prefilledMessage?: Ref<string>\n }>()\n</script>\n\n<template>\n <Chat\n :baseUrl=\"API_BASE_URL\"\n :dashboardUrl=\"DASHBOARD_URL\"\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 :prefilledMessage=\"prefilledMessage\"\n :registryDocuments=\"[]\"\n :registryUrl=\"REGISTRY_URL\" />\n</template>\n"],"mappings":""}
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: unref(API_BASE_URL),
16
- dashboardUrl: unref(DASHBOARD_URL),
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: unref(REGISTRY_URL)
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 { type ApiReferenceConfigurationWithSource } from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { Ref } from 'vue'\n\nimport { API_BASE_URL, DASHBOARD_URL, REGISTRY_URL } from '@/consts/urls'\n\nconst { agentScalarConfiguration, workspaceStore, prefilledMessage } =\n defineProps<{\n agentScalarConfiguration: ApiReferenceConfigurationWithSource['agent']\n workspaceStore: WorkspaceStore\n prefilledMessage?: Ref<string>\n }>()\n</script>\n\n<template>\n <Chat\n :baseUrl=\"API_BASE_URL\"\n :dashboardUrl=\"DASHBOARD_URL\"\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 :prefilledMessage=\"prefilledMessage\"\n :registryDocuments=\"[]\"\n :registryUrl=\"REGISTRY_URL\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;uBAiBE,YAagC,MAAA,KAAA,EAAA;IAZ7B,SAAS,MAAA,aAAY;IACrB,cAAc,MAAA,cAAa;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;IAClB,mBAAmB,EAAE;IACrB,aAAa,MAAA,aAAY"}
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":"AAkFA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,6BAA6B,CAAA;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAKvE,KAAK,WAAW,GAAG;IACjB,wBAAwB,EAAE,mCAAmC,CAAC,OAAO,CAAC,CAAA;IACtE,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,CAAC;AA8KF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
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-c00f79dd"]]);
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 { ApiReferenceConfigurationWithSource } from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { defineAsyncComponent } from 'vue'\n\nimport { useAgentContext } from '@/hooks/use-agent'\n\ndefineProps<{\n agentScalarConfiguration: ApiReferenceConfigurationWithSource['agent']\n workspaceStore: WorkspaceStore\n eventBus: WorkspaceEventBus\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 :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":""}
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
- workspaceStore: {},
12
- eventBus: {}
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 { ApiReferenceConfigurationWithSource } from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { defineAsyncComponent } from 'vue'\n\nimport { useAgentContext } from '@/hooks/use-agent'\n\ndefineProps<{\n agentScalarConfiguration: ApiReferenceConfigurationWithSource['agent']\n workspaceStore: WorkspaceStore\n eventBus: WorkspaceEventBus\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 :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":";;;;;;;;;;;;;;EAgBA,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,YAyBa,YAAA;IAxBX,kBAAiB;IACjB,gBAAe;IACf,cAAa;IACb,kBAAiB;IACjB,gBAAe;IACf,cAAa;;2BAkBP,CAAA,eAjBN,mBAiBM,OAAA;KAfJ,OAAM;KACL,WAAO,OAAA,OAAA,OAAA,KAAA,UAAA,WAAS,MAAA,aAAY,EAAE,YAAU,EAAA,CAAA,SAAA,CAAA;QACzC,mBAMM,OANN,YAMM,CAJJ,YAGoB,MAAA,yBAAA,EAAA;KAFjB,0BAAA,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;2CAf1B,MAAA,aAAY,EAAE,UAAU,MAAK,CAAA,CAAA,CAAA,CAAA"}
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":"AA6SA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAMpE,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;IACD,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"}
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-d7102814"]]);
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 { 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":""}
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(docUrl) {
61
- const url = new URL(DASHBOARD_REGISTER_URL);
62
- url.searchParams.set("url", docUrl);
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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ApiReference.vue.d.ts","sourceRoot":"","sources":["../../src/components/ApiReference.vue"],"names":[],"mappings":"AA2wCA,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;AAq2CF,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"}
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-02b3aaa4"]]);
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