@scalar/agent-chat 0.12.34 → 0.12.36

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.vue.d.ts","sourceRoot":"","sources":["../src/Chat.vue"],"names":[],"mappings":"AAgNA,QAAA,MAAM,YAAY;;;;iFAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"Chat.vue.d.ts","sourceRoot":"","sources":["../src/Chat.vue"],"names":[],"mappings":"AAoQA,QAAA,MAAM,YAAY;;;;iFAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.vue.js","names":[],"sources":["../src/Chat.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n createApiClientModal,\n type ApiClientModal,\n} from '@scalar/api-client/modal'\nimport { onBeforeUnmount, onMounted, ref, useTemplateRef } from 'vue'\n\nimport { useAgentKeyDocuments } from '@/hooks/use-agent-key-documents'\nimport { useChatScroll } from '@/hooks/use-chat-scroll'\nimport { useCuratedDocuments } from '@/hooks/use-curated-documents'\nimport { getTmpDocFromLocalStorage } from '@/hooks/use-upload-tmp-document'\nimport { useState } from '@/state/state'\nimport Layout from '@/views/Layout.vue'\nimport Settings from '@/views/Settings/Settings.vue'\n\ndefineEmits<{\n (e: 'uploadApi'): void\n}>()\n\nconst {\n chat,\n prompt,\n settingsModal,\n eventBus,\n workspaceStore,\n config,\n mode,\n addDocument,\n} = useState()\n\nconst clientModalRef = useTemplateRef<HTMLElement>('clientModal')\nconst apiClient = ref<ApiClientModal | null>(null)\n\nonMounted(async () => {\n const tmpDoc = getTmpDocFromLocalStorage()\n\n if (mode === 'preview' && tmpDoc) {\n await addDocument({\n namespace: tmpDoc.namespace,\n slug: tmpDoc.slug,\n removable: false,\n tmp: true,\n })\n }\n\n if (!clientModalRef.value) {\n return\n }\n\n apiClient.value = createApiClientModal({\n el: clientModalRef.value,\n options: config,\n eventBus,\n workspaceStore,\n })\n})\n\nonBeforeUnmount(() => {\n apiClient.value?.app.unmount()\n})\n\nuseChatScroll()\nuseAgentKeyDocuments()\nuseCuratedDocuments()\n\nasync function handleSubmit() {\n await chat.sendMessage({ text: prompt.value })\n}\n</script>\n\n<template>\n <div ref=\"clientModal\" />\n <Layout\n @submit=\"handleSubmit\"\n @uploadApi=\"$emit('uploadApi')\" />\n <Settings :modalState=\"settingsModal\" />\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"Chat.vue.js","names":[],"sources":["../src/Chat.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLazyApiClient } from '@scalar/api-client/modal/use-lazy-api-client'\nimport { initializeWorkspaceEventHandlers } from '@scalar/api-client/v2/workspace-events'\nimport { onBeforeUnmount, onMounted, ref, useTemplateRef } from 'vue'\n\nimport { useAgentKeyDocuments } from '@/hooks/use-agent-key-documents'\nimport { useChatScroll } from '@/hooks/use-chat-scroll'\nimport { useCuratedDocuments } from '@/hooks/use-curated-documents'\nimport { getTmpDocFromLocalStorage } from '@/hooks/use-upload-tmp-document'\nimport { useState } from '@/state/state'\nimport Layout from '@/views/Layout.vue'\nimport Settings from '@/views/Settings/Settings.vue'\n\ndefineEmits<{\n (e: 'uploadApi'): void\n}>()\n\nconst {\n chat,\n prompt,\n settingsModal,\n eventBus,\n workspaceStore,\n config,\n mode,\n addDocument,\n} = useState()\n\nconst clientModalRef = useTemplateRef<HTMLElement>('clientModal')\n// Authentication and server controls also work before the request editor opens.\nconst stopClientEvents = initializeWorkspaceEventHandlers({\n eventBus,\n store: ref(workspaceStore),\n hooks: {},\n})\nconst clientLoadingStatus = ref<'idle' | 'loading' | 'error'>('idle')\nuseLazyApiClient({\n eventBus,\n status: clientLoadingStatus,\n load: async () => {\n const { createApiClientModal } = await import('@scalar/api-client/modal')\n return () => {\n if (!clientModalRef.value) {\n return null\n }\n stopClientEvents()\n return createApiClientModal({\n el: clientModalRef.value,\n options: config,\n eventBus,\n workspaceStore,\n })\n }\n },\n})\nonBeforeUnmount(stopClientEvents)\n\nonMounted(async () => {\n const tmpDoc = getTmpDocFromLocalStorage()\n\n if (mode === 'preview' && tmpDoc) {\n await addDocument({\n namespace: tmpDoc.namespace,\n slug: tmpDoc.slug,\n removable: false,\n tmp: true,\n })\n }\n})\n\nuseChatScroll()\nuseAgentKeyDocuments()\nuseCuratedDocuments()\n\nasync function handleSubmit() {\n await chat.sendMessage({ text: prompt.value })\n}\n</script>\n\n<template>\n <div ref=\"clientModal\" />\n <div\n v-if=\"clientLoadingStatus !== 'idle'\"\n class=\"bg-b-1 text-c-1 fixed right-4 bottom-4 z-[10001] rounded-lg border px-4 py-3 text-sm shadow-lg\"\n :role=\"clientLoadingStatus === 'error' ? 'alert' : 'status'\">\n {{\n clientLoadingStatus === 'loading'\n ? 'Loading request editor…'\n : 'Could not load the request editor. Refresh the page and try again.'\n }}\n </div>\n <Layout\n @submit=\"handleSubmit\"\n @uploadApi=\"$emit('uploadApi')\" />\n <Settings :modalState=\"settingsModal\" />\n</template>\n"],"mappings":""}
@@ -5,17 +5,42 @@ import { useChatScroll } from "./hooks/use-chat-scroll.js";
5
5
  import { useCuratedDocuments } from "./hooks/use-curated-documents.js";
6
6
  import Layout_default from "./views/Layout.vue.js";
7
7
  import Settings_default from "./views/Settings/Settings.vue.js";
8
- import { Fragment, createElementBlock, createElementVNode, createVNode, defineComponent, onBeforeUnmount, onMounted, openBlock, ref, unref, useTemplateRef } from "vue";
9
- import { createApiClientModal } from "@scalar/api-client/modal";
8
+ import { Fragment, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, onBeforeUnmount, onMounted, openBlock, ref, toDisplayString, unref, useTemplateRef } from "vue";
9
+ import { useLazyApiClient } from "@scalar/api-client/modal/use-lazy-api-client";
10
+ import { initializeWorkspaceEventHandlers } from "@scalar/api-client/v2/workspace-events";
10
11
  //#region src/Chat.vue?vue&type=script&setup=true&lang.ts
11
12
  var _hoisted_1 = { ref: "clientModal" };
13
+ var _hoisted_2 = ["role"];
12
14
  var Chat_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
13
15
  __name: "Chat",
14
16
  emits: ["uploadApi"],
15
17
  setup(__props) {
16
18
  const { chat, prompt, settingsModal, eventBus, workspaceStore, config, mode, addDocument } = useState();
17
19
  const clientModalRef = useTemplateRef("clientModal");
18
- const apiClient = ref(null);
20
+ const stopClientEvents = initializeWorkspaceEventHandlers({
21
+ eventBus,
22
+ store: ref(workspaceStore),
23
+ hooks: {}
24
+ });
25
+ const clientLoadingStatus = ref("idle");
26
+ useLazyApiClient({
27
+ eventBus,
28
+ status: clientLoadingStatus,
29
+ load: async () => {
30
+ const { createApiClientModal } = await import("@scalar/api-client/modal");
31
+ return () => {
32
+ if (!clientModalRef.value) return null;
33
+ stopClientEvents();
34
+ return createApiClientModal({
35
+ el: clientModalRef.value,
36
+ options: config,
37
+ eventBus,
38
+ workspaceStore
39
+ });
40
+ };
41
+ }
42
+ });
43
+ onBeforeUnmount(stopClientEvents);
19
44
  onMounted(async () => {
20
45
  const tmpDoc = getTmpDocFromLocalStorage();
21
46
  if (mode === "preview" && tmpDoc) await addDocument({
@@ -24,16 +49,6 @@ var Chat_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
24
49
  removable: false,
25
50
  tmp: true
26
51
  });
27
- if (!clientModalRef.value) return;
28
- apiClient.value = createApiClientModal({
29
- el: clientModalRef.value,
30
- options: config,
31
- eventBus,
32
- workspaceStore
33
- });
34
- });
35
- onBeforeUnmount(() => {
36
- apiClient.value?.app.unmount();
37
52
  });
38
53
  useChatScroll();
39
54
  useAgentKeyDocuments();
@@ -44,6 +59,11 @@ var Chat_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
44
59
  return (_ctx, _cache) => {
45
60
  return openBlock(), createElementBlock(Fragment, null, [
46
61
  createElementVNode("div", _hoisted_1, null, 512),
62
+ clientLoadingStatus.value !== "idle" ? (openBlock(), createElementBlock("div", {
63
+ key: 0,
64
+ class: "bg-b-1 text-c-1 fixed right-4 bottom-4 z-[10001] rounded-lg border px-4 py-3 text-sm shadow-lg",
65
+ role: clientLoadingStatus.value === "error" ? "alert" : "status"
66
+ }, toDisplayString(clientLoadingStatus.value === "loading" ? "Loading request editor…" : "Could not load the request editor. Refresh the page and try again."), 9, _hoisted_2)) : createCommentVNode("", true),
47
67
  createVNode(Layout_default, {
48
68
  onSubmit: handleSubmit,
49
69
  onUploadApi: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("uploadApi"))
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.vue.script.js","names":["$emit"],"sources":["../src/Chat.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n createApiClientModal,\n type ApiClientModal,\n} from '@scalar/api-client/modal'\nimport { onBeforeUnmount, onMounted, ref, useTemplateRef } from 'vue'\n\nimport { useAgentKeyDocuments } from '@/hooks/use-agent-key-documents'\nimport { useChatScroll } from '@/hooks/use-chat-scroll'\nimport { useCuratedDocuments } from '@/hooks/use-curated-documents'\nimport { getTmpDocFromLocalStorage } from '@/hooks/use-upload-tmp-document'\nimport { useState } from '@/state/state'\nimport Layout from '@/views/Layout.vue'\nimport Settings from '@/views/Settings/Settings.vue'\n\ndefineEmits<{\n (e: 'uploadApi'): void\n}>()\n\nconst {\n chat,\n prompt,\n settingsModal,\n eventBus,\n workspaceStore,\n config,\n mode,\n addDocument,\n} = useState()\n\nconst clientModalRef = useTemplateRef<HTMLElement>('clientModal')\nconst apiClient = ref<ApiClientModal | null>(null)\n\nonMounted(async () => {\n const tmpDoc = getTmpDocFromLocalStorage()\n\n if (mode === 'preview' && tmpDoc) {\n await addDocument({\n namespace: tmpDoc.namespace,\n slug: tmpDoc.slug,\n removable: false,\n tmp: true,\n })\n }\n\n if (!clientModalRef.value) {\n return\n }\n\n apiClient.value = createApiClientModal({\n el: clientModalRef.value,\n options: config,\n eventBus,\n workspaceStore,\n })\n})\n\nonBeforeUnmount(() => {\n apiClient.value?.app.unmount()\n})\n\nuseChatScroll()\nuseAgentKeyDocuments()\nuseCuratedDocuments()\n\nasync function handleSubmit() {\n await chat.sendMessage({ text: prompt.value })\n}\n</script>\n\n<template>\n <div ref=\"clientModal\" />\n <Layout\n @submit=\"handleSubmit\"\n @uploadApi=\"$emit('uploadApi')\" />\n <Settings :modalState=\"settingsModal\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAmBA,MAAM,EACJ,MACA,QACA,eACA,UACA,gBACA,QACA,MACA,gBACE,SAAS;EAEb,MAAM,iBAAiB,eAA4B,aAAa;EAChE,MAAM,YAAY,IAA2B,IAAI;EAEjD,UAAU,YAAY;GACpB,MAAM,SAAS,0BAA0B;GAEzC,IAAI,SAAS,aAAa,QACxB,MAAM,YAAY;IAChB,WAAW,OAAO;IAClB,MAAM,OAAO;IACb,WAAW;IACX,KAAK;GACP,CAAC;GAGH,IAAI,CAAC,eAAe,OAClB;GAGF,UAAU,QAAQ,qBAAqB;IACrC,IAAI,eAAe;IACnB,SAAS;IACT;IACA;GACF,CAAC;EACH,CAAC;EAED,sBAAsB;GACpB,UAAU,OAAO,IAAI,QAAQ;EAC/B,CAAC;EAED,cAAc;EACd,qBAAqB;EACrB,oBAAoB;EAEpB,eAAe,eAAe;GAC5B,MAAM,KAAK,YAAY,EAAE,MAAM,OAAO,MAAM,CAAC;EAC/C;;;IAIE,mBAAyB,OAAzB,YAAyB,MAAA,GAAA;IACzB,YAEoC,gBAAA;KADjC,UAAQ;KACR,aAAS,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,WAAA;;IACnB,YAAwC,kBAAA,EAA7B,YAAY,MAAA,aAAA,EAAa,GAAA,MAAA,GAAA,CAAA,YAAA,CAAA"}
1
+ {"version":3,"file":"Chat.vue.script.js","names":["$emit"],"sources":["../src/Chat.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLazyApiClient } from '@scalar/api-client/modal/use-lazy-api-client'\nimport { initializeWorkspaceEventHandlers } from '@scalar/api-client/v2/workspace-events'\nimport { onBeforeUnmount, onMounted, ref, useTemplateRef } from 'vue'\n\nimport { useAgentKeyDocuments } from '@/hooks/use-agent-key-documents'\nimport { useChatScroll } from '@/hooks/use-chat-scroll'\nimport { useCuratedDocuments } from '@/hooks/use-curated-documents'\nimport { getTmpDocFromLocalStorage } from '@/hooks/use-upload-tmp-document'\nimport { useState } from '@/state/state'\nimport Layout from '@/views/Layout.vue'\nimport Settings from '@/views/Settings/Settings.vue'\n\ndefineEmits<{\n (e: 'uploadApi'): void\n}>()\n\nconst {\n chat,\n prompt,\n settingsModal,\n eventBus,\n workspaceStore,\n config,\n mode,\n addDocument,\n} = useState()\n\nconst clientModalRef = useTemplateRef<HTMLElement>('clientModal')\n// Authentication and server controls also work before the request editor opens.\nconst stopClientEvents = initializeWorkspaceEventHandlers({\n eventBus,\n store: ref(workspaceStore),\n hooks: {},\n})\nconst clientLoadingStatus = ref<'idle' | 'loading' | 'error'>('idle')\nuseLazyApiClient({\n eventBus,\n status: clientLoadingStatus,\n load: async () => {\n const { createApiClientModal } = await import('@scalar/api-client/modal')\n return () => {\n if (!clientModalRef.value) {\n return null\n }\n stopClientEvents()\n return createApiClientModal({\n el: clientModalRef.value,\n options: config,\n eventBus,\n workspaceStore,\n })\n }\n },\n})\nonBeforeUnmount(stopClientEvents)\n\nonMounted(async () => {\n const tmpDoc = getTmpDocFromLocalStorage()\n\n if (mode === 'preview' && tmpDoc) {\n await addDocument({\n namespace: tmpDoc.namespace,\n slug: tmpDoc.slug,\n removable: false,\n tmp: true,\n })\n }\n})\n\nuseChatScroll()\nuseAgentKeyDocuments()\nuseCuratedDocuments()\n\nasync function handleSubmit() {\n await chat.sendMessage({ text: prompt.value })\n}\n</script>\n\n<template>\n <div ref=\"clientModal\" />\n <div\n v-if=\"clientLoadingStatus !== 'idle'\"\n class=\"bg-b-1 text-c-1 fixed right-4 bottom-4 z-[10001] rounded-lg border px-4 py-3 text-sm shadow-lg\"\n :role=\"clientLoadingStatus === 'error' ? 'alert' : 'status'\">\n {{\n clientLoadingStatus === 'loading'\n ? 'Loading request editor…'\n : 'Could not load the request editor. Refresh the page and try again.'\n }}\n </div>\n <Layout\n @submit=\"handleSubmit\"\n @uploadApi=\"$emit('uploadApi')\" />\n <Settings :modalState=\"settingsModal\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;EAiBA,MAAM,EACJ,MACA,QACA,eACA,UACA,gBACA,QACA,MACA,gBACE,SAAS;EAEb,MAAM,iBAAiB,eAA4B,aAAa;EAEhE,MAAM,mBAAmB,iCAAiC;GACxD;GACA,OAAO,IAAI,cAAc;GACzB,OAAO,CAAC;EACV,CAAC;EACD,MAAM,sBAAsB,IAAkC,MAAM;EACpE,iBAAiB;GACf;GACA,QAAQ;GACR,MAAM,YAAY;IAChB,MAAM,EAAE,yBAAyB,MAAM,OAAO;IAC9C,aAAa;KACX,IAAI,CAAC,eAAe,OAClB,OAAO;KAET,iBAAiB;KACjB,OAAO,qBAAqB;MAC1B,IAAI,eAAe;MACnB,SAAS;MACT;MACA;KACF,CAAC;IACH;GACF;EACF,CAAC;EACD,gBAAgB,gBAAgB;EAEhC,UAAU,YAAY;GACpB,MAAM,SAAS,0BAA0B;GAEzC,IAAI,SAAS,aAAa,QACxB,MAAM,YAAY;IAChB,WAAW,OAAO;IAClB,MAAM,OAAO;IACb,WAAW;IACX,KAAK;GACP,CAAC;EAEL,CAAC;EAED,cAAc;EACd,qBAAqB;EACrB,oBAAoB;EAEpB,eAAe,eAAe;GAC5B,MAAM,KAAK,YAAY,EAAE,MAAM,OAAO,MAAM,CAAC;EAC/C;;;IAIE,mBAAyB,OAAzB,YAAyB,MAAA,GAAA;IAEjB,oBAAA,UAAmB,UAAA,UAAA,GAD3B,mBASM,OAAA;;KAPJ,OAAM;KACL,MAAM,oBAAA,UAAmB,UAAA,UAAA;uBAExB,oBAAA,UAAmB,YAAA,4BAAA,oEAAA,GAAA,GAAA,UAAA,KAAA,mBAAA,IAAA,IAAA;IAKvB,YAEoC,gBAAA;KADjC,UAAQ;KACR,aAAS,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,WAAA;;IACnB,YAAwC,kBAAA,EAA7B,YAAY,MAAA,aAAA,EAAa,GAAA,MAAA,GAAA,CAAA,YAAA,CAAA"}
package/dist/helpers.d.ts CHANGED
@@ -50,6 +50,17 @@ export declare const authStorage: () => {
50
50
  } & {
51
51
  'x-scalar-credentials-location'?: "header" | "body" | undefined;
52
52
  }) | undefined;
53
+ deviceAuthorization?: ({
54
+ 'x-scalar-secret-client-id': string;
55
+ } & {
56
+ 'x-scalar-secret-token': string;
57
+ } & {
58
+ 'x-scalar-secret-refresh-token'?: string | undefined;
59
+ } & {
60
+ 'x-scalar-secret-client-secret': string;
61
+ } & {
62
+ 'x-scalar-credentials-location'?: "header" | "body" | undefined;
63
+ }) | undefined;
53
64
  implicit?: ({
54
65
  'x-scalar-secret-client-id': string;
55
66
  } & {
@@ -125,6 +136,45 @@ export declare const authStorage: () => {
125
136
  } & {
126
137
  'x-scalar-credentials-location'?: "header" | "body" | undefined;
127
138
  }) | undefined;
139
+ deviceAuthorization?: ({
140
+ refreshUrl: string;
141
+ scopes: {
142
+ [x: string]: string;
143
+ };
144
+ } & {
145
+ 'x-scalar-security-query'?: {
146
+ [x: string]: string;
147
+ } | undefined;
148
+ } & {
149
+ 'x-scalar-security-body'?: {
150
+ [x: string]: string;
151
+ } | undefined;
152
+ } & {
153
+ 'x-tokenName'?: string | undefined;
154
+ } & {
155
+ 'x-scalar-secret-auth-url'?: string | undefined;
156
+ } & {
157
+ 'x-scalar-secret-token-url'?: string | undefined;
158
+ } & {
159
+ 'x-order'?: number | undefined;
160
+ } & {
161
+ 'x-scalar-ignore'?: boolean | undefined;
162
+ } & {
163
+ deviceAuthorizationUrl: string;
164
+ tokenUrl: string;
165
+ } & {
166
+ 'x-scalar-credentials-location'?: "header" | "body" | undefined;
167
+ } & {
168
+ 'x-scalar-secret-client-id': string;
169
+ } & {
170
+ 'x-scalar-secret-token': string;
171
+ } & {
172
+ 'x-scalar-secret-refresh-token'?: string | undefined;
173
+ } & {
174
+ 'x-scalar-secret-client-secret': string;
175
+ } & {
176
+ 'x-scalar-credentials-location'?: "header" | "body" | undefined;
177
+ }) | undefined;
128
178
  implicit?: ({
129
179
  refreshUrl: string;
130
180
  scopes: {
@@ -221,8 +271,8 @@ export declare const authStorage: () => {
221
271
  } & {
222
272
  'x-scalar-ignore'?: boolean | undefined;
223
273
  } & {
224
- authorizationUrl: string;
225
274
  tokenUrl: string;
275
+ authorizationUrl: string;
226
276
  } & {
227
277
  'x-usePkce': "SHA-256" | "plain" | "no";
228
278
  } & {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAEpE,OAAO,EAAE,KAAK,IAAI,EAAc,MAAM,uCAAuC,CAAA;AAC7E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AAWzF,OAAO,KAAK,EAAmB,eAAe,EAAE,MAAM,8DAA8D,CAAA;AAEpH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GACwB,eAAe,EAAE,CACxG;AAwBD,mHAAmH;AACnH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,cAAc;;;;;EAuBpE;AAKD;;;;GAIG;AACH,eAAO,MAAM,WAAW;IAMpB;;OAEG;oBACa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAItB;;;OAGG;oBACa,MAAM,SAAS,IAAI;CAItC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,GAAI,mCAG3C;IACD,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,cAAc,CAAA;CAC/B,KAAG,IAIH,CAAA;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,OAM1C"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAEpE,OAAO,EAAE,KAAK,IAAI,EAAc,MAAM,uCAAuC,CAAA;AAC7E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AAWzF,OAAO,KAAK,EAAmB,eAAe,EAAE,MAAM,8DAA8D,CAAA;AAEpH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GACwB,eAAe,EAAE,CACxG;AAwBD,mHAAmH;AACnH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,cAAc;;;;;EAuBpE;AAKD;;;;GAIG;AACH,eAAO,MAAM,WAAW;IAMpB;;OAEG;oBACa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAItB;;;OAGG;oBACa,MAAM,SAAS,IAAI;CAItC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,GAAI,mCAG3C;IACD,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,cAAc,CAAA;CAC/B,KAAG,IAIH,CAAA;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,OAM1C"}
package/dist/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "git+https://github.com/scalar/scalar.git",
11
11
  "directory": "packages/agent-chat"
12
12
  },
13
- "version": "0.12.34",
13
+ "version": "0.12.36",
14
14
  "engines": {
15
15
  "node": ">=22"
16
16
  },
@@ -1 +1 @@
1
- {"version":3,"file":"add-documents-to-store.d.ts","sourceRoot":"","sources":["../../src/registry/add-documents-to-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAEpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAE9B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAI/D,eAAO,MAAM,YAAY;eAYV,MAAM;UACX,MAAM;oBACI,cAAc;qBACb,MAAM,MAAM;uBACV,GAAG,CAAC,WAAW,EAAE,CAAC;iBACxB,MAAM;YACX,OAAO,CAAC,yBAAyB,CAAC;SACrC,GAAG;gBACI,OAAO;;;;;;;;;;;;;;;;;;;;;gHA4DtB,CAAA"}
1
+ {"version":3,"file":"add-documents-to-store.d.ts","sourceRoot":"","sources":["../../src/registry/add-documents-to-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAGpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAE9B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAI/D,eAAO,MAAM,YAAY;eAYV,MAAM;UACX,MAAM;oBACI,cAAc;qBACb,MAAM,MAAM;uBACV,GAAG,CAAC,WAAW,EAAE,CAAC;iBACxB,MAAM;YACX,OAAO,CAAC,yBAAyB,CAAC;SACrC,GAAG;gBACI,OAAO;;;;;;;;;;;;;;;;;;;;;gHA6DtB,CAAA"}
@@ -4,6 +4,7 @@ import { restoreAuthSecretsFromStorage } from "../helpers.js";
4
4
  import { n } from "neverpanic";
5
5
  import { bundle } from "@scalar/json-magic/bundle";
6
6
  import { fetchUrls } from "@scalar/json-magic/bundle/plugins/browser";
7
+ import { openApiDocument } from "@scalar/workspace-store/plugins/bundler";
7
8
  //#region src/registry/add-documents-to-store.ts
8
9
  var loadDocument = n.safeFn(async ({ namespace, slug, workspaceStore, registryDocuments, getAccessToken, registryUrl, config, api, removable }) => {
9
10
  const getDocumentResult = await api.getDocument({
@@ -23,7 +24,7 @@ var loadDocument = n.safeFn(async ({ namespace, slug, workspaceStore, registryDo
23
24
  headers: { "x-scalar-auth": token }
24
25
  });
25
26
  const document = await bundle(url.toString(), {
26
- plugins: [fetchUrls({ headers })],
27
+ plugins: [openApiDocument(), fetchUrls({ headers })],
27
28
  treeShake: false
28
29
  });
29
30
  const documentName = createDocumentName(namespace, slug);
@@ -1 +1 @@
1
- {"version":3,"file":"add-documents-to-store.js","names":[],"sources":["../../src/registry/add-documents-to-store.ts"],"sourcesContent":["import { bundle } from '@scalar/json-magic/bundle'\nimport { fetchUrls } from '@scalar/json-magic/bundle/plugins/browser'\nimport type { OpenAPIV3_1 } from '@scalar/openapi-types'\nimport type { ApiReferenceConfiguration } from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { n } from 'neverpanic'\nimport type { Ref } from 'vue'\n\nimport type { Api } from '@/api'\nimport { createError } from '@/entities'\nimport type { ApiMetadata } from '@/entities/registry/document'\nimport { restoreAuthSecretsFromStorage } from '@/helpers'\nimport { createDocumentName } from '@/registry/create-document-name'\n\nexport const loadDocument = n.safeFn(\n async ({\n namespace,\n slug,\n workspaceStore,\n registryDocuments,\n getAccessToken,\n registryUrl,\n config,\n api,\n removable,\n }: {\n namespace: string\n slug: string\n workspaceStore: WorkspaceStore\n getAccessToken?: () => string\n registryDocuments: Ref<ApiMetadata[]>\n registryUrl: string\n config: Partial<ApiReferenceConfiguration>\n api: Api\n removable?: boolean\n }) => {\n const getDocumentResult = await api.getDocument({\n namespace,\n slug,\n })\n\n if (!getDocumentResult.success) {\n return getDocumentResult\n }\n\n registryDocuments.value.push({ ...getDocumentResult.data, removable })\n\n const url = new URL(`/@${namespace}/apis/${slug}/latest`, registryUrl)\n\n const headers: {\n headers: HeadersInit\n domains: string[]\n }[] = []\n\n const token = getAccessToken?.()\n\n if (token) {\n headers.push({\n domains: [new URL(registryUrl).host],\n headers: {\n 'x-scalar-auth': token,\n },\n })\n }\n\n const document: OpenAPIV3_1.Document = await bundle(url.toString(), {\n plugins: [\n fetchUrls({\n headers,\n }),\n ],\n treeShake: false,\n })\n\n const documentName = createDocumentName(namespace, slug)\n\n await workspaceStore.addDocument(\n {\n name: documentName,\n document,\n },\n config,\n )\n\n workspaceStore.update('x-scalar-active-document', documentName)\n\n restoreAuthSecretsFromStorage({ documentName, workspaceStore })\n\n return {\n success: true,\n data: getDocumentResult.data,\n }\n },\n (originalError) => createError('UNABLE_TO_LOAD_DOCUMENT', originalError),\n)\n"],"mappings":";;;;;;;AAcA,IAAa,eAAe,EAAE,OAC5B,OAAO,EACL,WACA,MACA,gBACA,mBACA,gBACA,aACA,QACA,KACA,gBAWI;CACJ,MAAM,oBAAoB,MAAM,IAAI,YAAY;EAC9C;EACA;CACF,CAAC;CAED,IAAI,CAAC,kBAAkB,SACrB,OAAO;CAGT,kBAAkB,MAAM,KAAK;EAAE,GAAG,kBAAkB;EAAM;CAAU,CAAC;CAErE,MAAM,MAAM,IAAI,IAAI,KAAK,UAAU,QAAQ,KAAK,UAAU,WAAW;CAErE,MAAM,UAGA,CAAC;CAEP,MAAM,QAAQ,iBAAiB;CAE/B,IAAI,OACF,QAAQ,KAAK;EACX,SAAS,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,IAAI;EACnC,SAAS,EACP,iBAAiB,MACnB;CACF,CAAC;CAGH,MAAM,WAAiC,MAAM,OAAO,IAAI,SAAS,GAAG;EAClE,SAAS,CACP,UAAU,EACR,QACF,CAAC,CACH;EACA,WAAW;CACb,CAAC;CAED,MAAM,eAAe,mBAAmB,WAAW,IAAI;CAEvD,MAAM,eAAe,YACnB;EACE,MAAM;EACN;CACF,GACA,MACF;CAEA,eAAe,OAAO,4BAA4B,YAAY;CAE9D,8BAA8B;EAAE;EAAc;CAAe,CAAC;CAE9D,OAAO;EACL,SAAS;EACT,MAAM,kBAAkB;CAC1B;AACF,IACC,kBAAkB,YAAY,2BAA2B,aAAa,CACzE"}
1
+ {"version":3,"file":"add-documents-to-store.js","names":[],"sources":["../../src/registry/add-documents-to-store.ts"],"sourcesContent":["import { bundle } from '@scalar/json-magic/bundle'\nimport { fetchUrls } from '@scalar/json-magic/bundle/plugins/browser'\nimport type { OpenAPIV3_1 } from '@scalar/openapi-types'\nimport type { ApiReferenceConfiguration } from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { openApiDocument } from '@scalar/workspace-store/plugins/bundler'\nimport { n } from 'neverpanic'\nimport type { Ref } from 'vue'\n\nimport type { Api } from '@/api'\nimport { createError } from '@/entities'\nimport type { ApiMetadata } from '@/entities/registry/document'\nimport { restoreAuthSecretsFromStorage } from '@/helpers'\nimport { createDocumentName } from '@/registry/create-document-name'\n\nexport const loadDocument = n.safeFn(\n async ({\n namespace,\n slug,\n workspaceStore,\n registryDocuments,\n getAccessToken,\n registryUrl,\n config,\n api,\n removable,\n }: {\n namespace: string\n slug: string\n workspaceStore: WorkspaceStore\n getAccessToken?: () => string\n registryDocuments: Ref<ApiMetadata[]>\n registryUrl: string\n config: Partial<ApiReferenceConfiguration>\n api: Api\n removable?: boolean\n }) => {\n const getDocumentResult = await api.getDocument({\n namespace,\n slug,\n })\n\n if (!getDocumentResult.success) {\n return getDocumentResult\n }\n\n registryDocuments.value.push({ ...getDocumentResult.data, removable })\n\n const url = new URL(`/@${namespace}/apis/${slug}/latest`, registryUrl)\n\n const headers: {\n headers: HeadersInit\n domains: string[]\n }[] = []\n\n const token = getAccessToken?.()\n\n if (token) {\n headers.push({\n domains: [new URL(registryUrl).host],\n headers: {\n 'x-scalar-auth': token,\n },\n })\n }\n\n const document: OpenAPIV3_1.Document = await bundle(url.toString(), {\n plugins: [\n openApiDocument(),\n fetchUrls({\n headers,\n }),\n ],\n treeShake: false,\n })\n\n const documentName = createDocumentName(namespace, slug)\n\n await workspaceStore.addDocument(\n {\n name: documentName,\n document,\n },\n config,\n )\n\n workspaceStore.update('x-scalar-active-document', documentName)\n\n restoreAuthSecretsFromStorage({ documentName, workspaceStore })\n\n return {\n success: true,\n data: getDocumentResult.data,\n }\n },\n (originalError) => createError('UNABLE_TO_LOAD_DOCUMENT', originalError),\n)\n"],"mappings":";;;;;;;;AAeA,IAAa,eAAe,EAAE,OAC5B,OAAO,EACL,WACA,MACA,gBACA,mBACA,gBACA,aACA,QACA,KACA,gBAWI;CACJ,MAAM,oBAAoB,MAAM,IAAI,YAAY;EAC9C;EACA;CACF,CAAC;CAED,IAAI,CAAC,kBAAkB,SACrB,OAAO;CAGT,kBAAkB,MAAM,KAAK;EAAE,GAAG,kBAAkB;EAAM;CAAU,CAAC;CAErE,MAAM,MAAM,IAAI,IAAI,KAAK,UAAU,QAAQ,KAAK,UAAU,WAAW;CAErE,MAAM,UAGA,CAAC;CAEP,MAAM,QAAQ,iBAAiB;CAE/B,IAAI,OACF,QAAQ,KAAK;EACX,SAAS,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,IAAI;EACnC,SAAS,EACP,iBAAiB,MACnB;CACF,CAAC;CAGH,MAAM,WAAiC,MAAM,OAAO,IAAI,SAAS,GAAG;EAClE,SAAS,CACP,gBAAgB,GAChB,UAAU,EACR,QACF,CAAC,CACH;EACA,WAAW;CACb,CAAC;CAED,MAAM,eAAe,mBAAmB,WAAW,IAAI;CAEvD,MAAM,eAAe,YACnB;EACE,MAAM;EACN;CACF,GACA,MACF;CAEA,eAAe,OAAO,4BAA4B,YAAY;CAE9D,8BAA8B;EAAE;EAAc;CAAe,CAAC;CAE9D,OAAO;EACL,SAAS;EACT,MAAM,kBAAkB;CAC1B;AACF,IACC,kBAAkB,YAAY,2BAA2B,aAAa,CACzE"}
package/dist/style.css CHANGED
@@ -1382,8 +1382,7 @@
1382
1382
  border-radius: var(--scalar-radius);
1383
1383
  }
1384
1384
 
1385
- .sidebar-heading-type[data-v-bdef8365] {
1386
- text-transform: uppercase;
1385
+ .sidebar-heading-type[data-v-5edae08d] {
1387
1386
  color: var(--method-color, var(--scalar-color-1));
1388
1387
  font-size: 10px;
1389
1388
  line-height: 14px;
@@ -1397,19 +1396,19 @@
1397
1396
  overflow: hidden;
1398
1397
  }
1399
1398
 
1400
- .http-bg-gradient[data-v-86e2b3ea] {
1399
+ .http-bg-gradient[data-v-e7883636] {
1401
1400
  background: linear-gradient(#ffffffbf, #00000009);
1402
1401
  }
1403
1402
 
1404
- .http-bg-gradient[data-v-86e2b3ea]:hover {
1403
+ .http-bg-gradient[data-v-e7883636]:hover {
1405
1404
  background: linear-gradient(#00000009, #ffffffbf);
1406
1405
  }
1407
1406
 
1408
- .dark-mode .http-bg-gradient[data-v-86e2b3ea] {
1407
+ .dark-mode .http-bg-gradient[data-v-e7883636] {
1409
1408
  background: linear-gradient(#ffffff09, #00000026);
1410
1409
  }
1411
1410
 
1412
- .dark-mode .http-bg-gradient[data-v-86e2b3ea]:hover {
1411
+ .dark-mode .http-bg-gradient[data-v-e7883636]:hover {
1413
1412
  background: linear-gradient(#00000026, #ffffff09);
1414
1413
  }
1415
1414
 
@@ -1438,7 +1437,7 @@
1438
1437
  }
1439
1438
  }
1440
1439
 
1441
- .open-api-client-button[data-v-cd067f84] {
1440
+ .open-api-client-button[data-v-746e7aef] {
1442
1441
  cursor: pointer;
1443
1442
  text-align: center;
1444
1443
  white-space: nowrap;
@@ -1457,126 +1456,129 @@
1457
1456
  display: flex;
1458
1457
  }
1459
1458
 
1460
- .open-api-client-button[data-v-cd067f84]:hover {
1459
+ .open-api-client-button[data-v-746e7aef]:hover {
1461
1460
  background: var(--scalar-sidebar-item-hover-background, var(--scalar-background-2));
1462
1461
  }
1463
1462
 
1464
- .fade-request-section-content[data-v-ac788106] {
1463
+ .fade-request-section-content[data-v-48147b15] {
1465
1464
  background: linear-gradient(to left, var(--scalar-background-1) 64%, transparent);
1466
1465
  }
1467
1466
 
1468
- .filter-hover[data-v-ac788106] {
1467
+ .fade-request-section-content[data-v-48147b15]:dir(rtl) {
1468
+ background: linear-gradient(to right, var(--scalar-background-1) 64%, transparent);
1469
+ }
1470
+
1471
+ .filter-hover[data-v-48147b15] {
1469
1472
  height: 100%;
1470
- padding-left: 24px;
1471
- padding-right: 39px;
1473
+ padding-inline: 24px 39px;
1472
1474
  transition: width 0s ease-in-out .2s;
1473
1475
  position: absolute;
1474
- right: 0;
1476
+ inset-inline-end: 0;
1475
1477
  overflow: hidden;
1476
1478
  }
1477
1479
 
1478
- .filter-hover[data-v-ac788106]:hover, .filter-hover[data-v-ac788106]:has(:focus-visible) {
1480
+ .filter-hover[data-v-48147b15]:hover, .filter-hover[data-v-48147b15]:has(:focus-visible) {
1479
1481
  z-index: 10;
1480
1482
  width: 100%;
1481
1483
  }
1482
1484
 
1483
- .filter-hover[data-v-ac788106]:before {
1485
+ .filter-hover[data-v-48147b15]:before {
1484
1486
  content: "";
1485
1487
  background-color: var(--scalar-background-1);
1486
1488
  opacity: 0;
1487
1489
  pointer-events: none;
1490
+ top: 0;
1488
1491
  width: 100%;
1489
1492
  height: fit-content;
1490
1493
  transition: all .3s ease-in-out;
1491
1494
  position: absolute;
1492
- top: 0;
1493
- left: 0;
1495
+ inset-inline-start: 0;
1494
1496
  }
1495
1497
 
1496
- .filter-hover-item[data-v-ac788106] {
1498
+ .filter-hover-item[data-v-48147b15] {
1497
1499
  opacity: 0;
1498
1500
  }
1499
1501
 
1500
- .filter-hover-item[data-v-ac788106]:not(:last-of-type) {
1502
+ .filter-hover-item[data-v-48147b15]:not(:last-of-type) {
1501
1503
  transform: translate3d(0, 3px, 0);
1502
1504
  }
1503
1505
 
1504
- .filter-hover:hover .filter-hover-item[data-v-ac788106] {
1506
+ .filter-hover:hover .filter-hover-item[data-v-48147b15] {
1505
1507
  transition: opacity .2s ease-in-out, transform .2s ease-in-out;
1506
1508
  }
1507
1509
 
1508
- .filter-hover:hover .filter-hover-item[data-v-ac788106]:last-of-type {
1510
+ .filter-hover:hover .filter-hover-item[data-v-48147b15]:last-of-type {
1509
1511
  transition-delay: 50ms;
1510
1512
  }
1511
1513
 
1512
- .filter-hover:hover .filter-hover-item[data-v-ac788106]:nth-last-of-type(2) {
1514
+ .filter-hover:hover .filter-hover-item[data-v-48147b15]:nth-last-of-type(2) {
1513
1515
  transition-delay: .1s;
1514
1516
  }
1515
1517
 
1516
- .filter-hover:hover .filter-hover-item[data-v-ac788106]:nth-last-of-type(3) {
1518
+ .filter-hover:hover .filter-hover-item[data-v-48147b15]:nth-last-of-type(3) {
1517
1519
  transition-delay: .15s;
1518
1520
  }
1519
1521
 
1520
- .filter-hover:hover .filter-hover-item[data-v-ac788106]:nth-last-of-type(4) {
1522
+ .filter-hover:hover .filter-hover-item[data-v-48147b15]:nth-last-of-type(4) {
1521
1523
  transition-delay: .2s;
1522
1524
  }
1523
1525
 
1524
- .filter-hover:hover .filter-hover-item[data-v-ac788106]:nth-last-of-type(5) {
1526
+ .filter-hover:hover .filter-hover-item[data-v-48147b15]:nth-last-of-type(5) {
1525
1527
  transition-delay: .25s;
1526
1528
  }
1527
1529
 
1528
- .filter-hover:hover .filter-hover-item[data-v-ac788106]:nth-last-of-type(6) {
1530
+ .filter-hover:hover .filter-hover-item[data-v-48147b15]:nth-last-of-type(6) {
1529
1531
  transition-delay: .3s;
1530
1532
  }
1531
1533
 
1532
- .filter-hover:hover .filter-hover-item[data-v-ac788106]:nth-last-of-type(7) {
1534
+ .filter-hover:hover .filter-hover-item[data-v-48147b15]:nth-last-of-type(7) {
1533
1535
  transition-delay: .35s;
1534
1536
  }
1535
1537
 
1536
- .filter-hover:hover .filter-hover-item[data-v-ac788106], .filter-hover:has(:focus-visible) .filter-hover-item[data-v-ac788106] {
1538
+ .filter-hover:hover .filter-hover-item[data-v-48147b15], .filter-hover:has(:focus-visible) .filter-hover-item[data-v-48147b15] {
1537
1539
  opacity: 1;
1538
1540
  transform: translate3d(0, 0, 0);
1539
1541
  }
1540
1542
 
1541
- .filter-hover[data-v-ac788106]:hover:before, .filter-hover[data-v-ac788106]:has(:focus-visible):before {
1543
+ .filter-hover[data-v-48147b15]:hover:before, .filter-hover[data-v-48147b15]:has(:focus-visible):before {
1542
1544
  opacity: .9;
1543
1545
  -webkit-backdrop-filter: blur(10px);
1544
1546
  backdrop-filter: blur(10px);
1545
1547
  }
1546
1548
 
1547
- .filter-button[data-v-ac788106] {
1549
+ .filter-button[data-v-48147b15] {
1548
1550
  top: 50%;
1549
1551
  transform: translateY(-50%);
1550
1552
  }
1551
1553
 
1552
- .context-bar-group:hover .context-bar-group-hover\:text-c-1[data-v-ac788106], .context-bar-group:has(:focus-visible) .context-bar-group-hover\:text-c-1[data-v-ac788106] {
1554
+ .context-bar-group:hover .context-bar-group-hover\:text-c-1[data-v-48147b15], .context-bar-group:has(:focus-visible) .context-bar-group-hover\:text-c-1[data-v-48147b15] {
1553
1555
  --tw-text-opacity: 1;
1554
1556
  color: rgb(var(--scalar-color-1) / var(--tw-text-opacity));
1555
1557
  }
1556
1558
 
1557
- .context-bar-group:hover .context-bar-group-hover\:hidden[data-v-ac788106], .context-bar-group:has(:focus-visible) .context-bar-group-hover\:hidden[data-v-ac788106] {
1559
+ .context-bar-group:hover .context-bar-group-hover\:hidden[data-v-48147b15], .context-bar-group:has(:focus-visible) .context-bar-group-hover\:hidden[data-v-48147b15] {
1558
1560
  display: none;
1559
1561
  }
1560
1562
 
1561
- [data-v-dbc85839] .cm-editor {
1563
+ [data-v-2334e03b] .cm-editor {
1562
1564
  background: none;
1563
1565
  outline: none;
1564
1566
  height: 100%;
1565
1567
  padding: 0;
1566
1568
  }
1567
1569
 
1568
- [data-v-dbc85839] .cm-placeholder {
1570
+ [data-v-2334e03b] .cm-placeholder {
1569
1571
  color: var(--scalar-color-3);
1570
1572
  }
1571
1573
 
1572
- [data-v-dbc85839] .cm-content {
1574
+ [data-v-2334e03b] .cm-content {
1573
1575
  font-family: var(--scalar-font-code);
1574
1576
  font-size: var(--scalar-small);
1575
1577
  max-height: 20px;
1576
1578
  padding: 8px 0;
1577
1579
  }
1578
1580
 
1579
- [data-v-dbc85839] .cm-tooltip {
1581
+ [data-v-2334e03b] .cm-tooltip {
1580
1582
  filter: brightness(var(--scalar-lifted-brightness));
1581
1583
  border-radius: var(--scalar-radius);
1582
1584
  box-shadow: var(--scalar-shadow-2);
@@ -1586,47 +1588,47 @@
1586
1588
  overflow: hidden !important;
1587
1589
  }
1588
1590
 
1589
- [data-v-dbc85839] .cm-tooltip-autocomplete ul li {
1591
+ [data-v-2334e03b] .cm-tooltip-autocomplete ul li {
1590
1592
  padding: 3px 6px !important;
1591
1593
  }
1592
1594
 
1593
- [data-v-dbc85839] .cm-completionIcon-type:after {
1595
+ [data-v-2334e03b] .cm-completionIcon-type:after {
1594
1596
  color: var(--scalar-color-3) !important;
1595
1597
  }
1596
1598
 
1597
- [data-v-dbc85839] .cm-tooltip-autocomplete ul li[aria-selected] {
1599
+ [data-v-2334e03b] .cm-tooltip-autocomplete ul li[aria-selected] {
1598
1600
  background: var(--scalar-background-2) !important;
1599
1601
  color: var(--scalar-color-1) !important;
1600
1602
  }
1601
1603
 
1602
- [data-v-dbc85839] .cm-tooltip-autocomplete ul {
1604
+ [data-v-2334e03b] .cm-tooltip-autocomplete ul {
1603
1605
  position: relative;
1604
1606
  padding: 6px !important;
1605
1607
  }
1606
1608
 
1607
- [data-v-dbc85839] .cm-tooltip-autocomplete ul li:hover {
1609
+ [data-v-2334e03b] .cm-tooltip-autocomplete ul li:hover {
1608
1610
  border-radius: 3px;
1609
1611
  color: var(--scalar-color-1) !important;
1610
1612
  background: var(--scalar-background-3) !important;
1611
1613
  }
1612
1614
 
1613
- [data-v-dbc85839] .cm-activeLine, [data-v-dbc85839] .cm-activeLineGutter {
1615
+ [data-v-2334e03b] .cm-activeLine, [data-v-2334e03b] .cm-activeLineGutter {
1614
1616
  background-color: #0000;
1615
1617
  }
1616
1618
 
1617
- [data-v-dbc85839] .cm-selectionMatch, [data-v-dbc85839] .cm-matchingBracket {
1619
+ [data-v-2334e03b] .cm-selectionMatch, [data-v-2334e03b] .cm-matchingBracket {
1618
1620
  border-radius: var(--scalar-radius);
1619
1621
  background: var(--scalar-background-4) !important;
1620
1622
  }
1621
1623
 
1622
- [data-v-dbc85839] .cm-css-color-picker-wrapper {
1624
+ [data-v-2334e03b] .cm-css-color-picker-wrapper {
1623
1625
  outline: 1px solid var(--scalar-background-3);
1624
1626
  border-radius: 3px;
1625
1627
  display: inline-flex;
1626
1628
  overflow: hidden;
1627
1629
  }
1628
1630
 
1629
- [data-v-dbc85839] .cm-gutters {
1631
+ [data-v-2334e03b] .cm-gutters {
1630
1632
  color: var(--scalar-color-3);
1631
1633
  font-size: var(--scalar-small);
1632
1634
  background-color: #0000;
@@ -1635,7 +1637,7 @@
1635
1637
  line-height: 22px;
1636
1638
  }
1637
1639
 
1638
- [data-v-dbc85839] .cm-gutters:before {
1640
+ [data-v-2334e03b] .cm-gutters:before {
1639
1641
  content: "";
1640
1642
  border-radius: var(--scalar-radius) 0 0 var(--scalar-radius);
1641
1643
  background-color: var(--scalar-background-1);
@@ -1646,7 +1648,7 @@
1646
1648
  left: 2px;
1647
1649
  }
1648
1650
 
1649
- [data-v-dbc85839] .cm-gutterElement {
1651
+ [data-v-2334e03b] .cm-gutterElement {
1650
1652
  justify-content: flex-end;
1651
1653
  align-items: center;
1652
1654
  display: flex;
@@ -1656,28 +1658,28 @@
1656
1658
  padding-right: 6px !important;
1657
1659
  }
1658
1660
 
1659
- [data-v-dbc85839] .cm-lineNumbers .cm-gutterElement {
1661
+ [data-v-2334e03b] .cm-lineNumbers .cm-gutterElement {
1660
1662
  min-width: fit-content;
1661
1663
  }
1662
1664
 
1663
- [data-v-dbc85839] .cm-gutter + .cm-gutter :not(.cm-foldGutter) .cm-gutterElement {
1665
+ [data-v-2334e03b] .cm-gutter + .cm-gutter :not(.cm-foldGutter) .cm-gutterElement {
1664
1666
  padding-left: 0 !important;
1665
1667
  }
1666
1668
 
1667
- [data-v-dbc85839] .cm-scroller {
1669
+ [data-v-2334e03b] .cm-scroller {
1668
1670
  overflow: auto;
1669
1671
  }
1670
1672
 
1671
- [data-v-dbc85839] .cm-lineWrapping .cm-line {
1673
+ [data-v-2334e03b] .cm-lineWrapping .cm-line {
1672
1674
  word-break: break-all;
1673
1675
  }
1674
1676
 
1675
- [data-v-dbc85839] .cm-lineWrapping .cm-content {
1677
+ [data-v-2334e03b] .cm-lineWrapping .cm-content {
1676
1678
  white-space: pre-wrap;
1677
1679
  max-height: none;
1678
1680
  }
1679
1681
 
1680
- .line-wrapping[data-v-dbc85839]:focus-within .cm-content {
1682
+ .line-wrapping[data-v-2334e03b]:focus-within .cm-content {
1681
1683
  white-space: break-spaces;
1682
1684
  word-break: break-all;
1683
1685
  min-height: fit-content;
@@ -1764,6 +1766,7 @@
1764
1766
 
1765
1767
  .cm-foldGutter .cm-gutterElement .cm-foldMarker {
1766
1768
  padding: 2px;
1769
+ padding-top: 2px;
1767
1770
  }
1768
1771
 
1769
1772
  .cm-foldGutter .cm-gutterElement:hover .cm-foldMarker {
@@ -1772,12 +1775,12 @@
1772
1775
  color: var(--scalar-color-1);
1773
1776
  }
1774
1777
 
1775
- .code-input-lite[data-v-b22775cd] {
1778
+ .code-input-lite[data-v-9bca2f92] {
1776
1779
  align-items: center;
1777
1780
  display: flex;
1778
1781
  }
1779
1782
 
1780
- .code-input-lite__editor[data-v-b22775cd] {
1783
+ .code-input-lite__editor[data-v-9bca2f92] {
1781
1784
  font: inherit;
1782
1785
  letter-spacing: inherit;
1783
1786
  min-width: 0;
@@ -1795,11 +1798,11 @@
1795
1798
  overflow: auto hidden;
1796
1799
  }
1797
1800
 
1798
- .code-input-lite__editor[data-v-b22775cd]::-webkit-scrollbar {
1801
+ .code-input-lite__editor[data-v-9bca2f92]::-webkit-scrollbar {
1799
1802
  display: none;
1800
1803
  }
1801
1804
 
1802
- .code-input-lite--empty .code-input-lite__editor[data-v-b22775cd]:not(:focus):before {
1805
+ .code-input-lite--empty .code-input-lite__editor[data-v-9bca2f92]:not(:focus):before {
1803
1806
  content: attr(data-placeholder);
1804
1807
  color: var(--scalar-color-3);
1805
1808
  pointer-events: none;
@@ -1811,7 +1814,7 @@
1811
1814
  left: .5em;
1812
1815
  }
1813
1816
 
1814
- .code-input-lite--error .code-input-lite__editor[data-v-b22775cd] {
1817
+ .code-input-lite--error .code-input-lite__editor[data-v-9bca2f92] {
1815
1818
  outline: 1px solid var(--scalar-color-red);
1816
1819
  }
1817
1820
 
@@ -1875,49 +1878,45 @@
1875
1878
  }
1876
1879
  }
1877
1880
 
1878
- [data-v-8c8a738b] .code-input-lite__editor {
1881
+ [data-v-bb7a09e9] .code-input-lite__editor {
1879
1882
  font-family: var(--scalar-font);
1880
1883
  font-size: var(--scalar-small);
1881
1884
  background-color: #0000;
1882
1885
  padding: 5px 8px;
1883
1886
  }
1884
1887
 
1885
- [data-v-8c8a738b] .scalar-pill:not(:last-of-type) {
1888
+ [data-v-bb7a09e9] .scalar-pill:not(:last-of-type) {
1886
1889
  margin-right: .15em;
1887
1890
  }
1888
1891
 
1889
- [data-v-8c8a738b] .scalar-pill:not(:first-of-type) {
1892
+ [data-v-bb7a09e9] .scalar-pill:not(:first-of-type) {
1890
1893
  margin-left: .5px;
1891
1894
  }
1892
1895
 
1893
- [data-v-d1ae5565] .cm-content {
1896
+ [data-v-c8b034c3] .cm-content {
1894
1897
  font-size: var(--scalar-small);
1895
1898
  }
1896
1899
 
1897
- [data-v-a6f4752a] .code-input-lite__editor {
1900
+ [data-v-135d11b9] .code-input-lite__editor {
1898
1901
  font-family: var(--scalar-font);
1899
1902
  font-size: var(--scalar-small);
1900
1903
  background-color: #0000;
1901
1904
  padding: 5px 8px;
1902
1905
  }
1903
1906
 
1904
- [data-v-a6f4752a] .scalar-pill:not(:last-of-type) {
1907
+ [data-v-135d11b9] .scalar-pill:not(:last-of-type) {
1905
1908
  margin-right: .15em;
1906
1909
  }
1907
1910
 
1908
- [data-v-a6f4752a] .scalar-pill:not(:first-of-type) {
1911
+ [data-v-135d11b9] .scalar-pill:not(:first-of-type) {
1909
1912
  margin-left: .5px;
1910
1913
  }
1911
1914
 
1912
- .required[data-v-a6f4752a]:after {
1913
- content: "Required";
1914
- }
1915
-
1916
- input[data-v-a6f4752a]::placeholder {
1915
+ input[data-v-135d11b9]::placeholder {
1917
1916
  color: var(--scalar-color-3);
1918
1917
  }
1919
1918
 
1920
- .scalar-password-input[data-v-a6f4752a] {
1919
+ .scalar-password-input[data-v-135d11b9] {
1921
1920
  text-security: disc;
1922
1921
  -webkit-text-security: disc;
1923
1922
  -moz-text-security: disc;
@@ -1954,38 +1953,38 @@ input[data-v-a6f4752a]::placeholder {
1954
1953
  scrollbar-width: none;
1955
1954
  }
1956
1955
 
1957
- .request-section-content[data-v-5d6c8262] {
1956
+ .request-section-content[data-v-ec56362c] {
1958
1957
  --scalar-border-width: .5px;
1959
1958
  }
1960
1959
 
1961
- .request-section-content-filter[data-v-5d6c8262] {
1960
+ .request-section-content-filter[data-v-ec56362c] {
1962
1961
  box-shadow: 0 -10px 0 10px var(--scalar-background-1);
1963
1962
  }
1964
1963
 
1965
- .request-item:focus-within .request-meta-buttons[data-v-5d6c8262] {
1964
+ .request-item:focus-within .request-meta-buttons[data-v-ec56362c] {
1966
1965
  opacity: 1;
1967
1966
  }
1968
1967
 
1969
- .group-hover-input[data-v-5d6c8262] {
1968
+ .group-hover-input[data-v-ec56362c] {
1970
1969
  border-width: var(--scalar-border-width);
1971
1970
  border-color: #0000;
1972
1971
  }
1973
1972
 
1974
- .group:hover .group-hover-input[data-v-5d6c8262] {
1973
+ .group:hover .group-hover-input[data-v-ec56362c] {
1975
1974
  background: var(--scalar-background-1);
1976
1975
  }
1977
1976
 
1978
1977
  @supports (color: color-mix(in lab, red, red)) {
1979
- .group:hover .group-hover-input[data-v-5d6c8262] {
1978
+ .group:hover .group-hover-input[data-v-ec56362c] {
1980
1979
  background: color-mix(in srgb, var(--scalar-background-1), var(--scalar-background-2));
1981
1980
  }
1982
1981
  }
1983
1982
 
1984
- .group:hover .group-hover-input[data-v-5d6c8262] {
1983
+ .group:hover .group-hover-input[data-v-ec56362c] {
1985
1984
  border-color: var(--scalar-border-color);
1986
1985
  }
1987
1986
 
1988
- .group-hover-input[data-v-5d6c8262]:focus {
1987
+ .group-hover-input[data-v-ec56362c]:focus {
1989
1988
  border-color: var(--scalar-border-color) !important;
1990
1989
  background: none !important;
1991
1990
  }
@@ -2010,15 +2009,15 @@ input[data-v-a6f4752a]::placeholder {
2010
2009
  word-break: break-all;
2011
2010
  }
2012
2011
 
2013
- .light-mode .bg-preview[data-v-a10b4008] {
2012
+ .light-mode .bg-preview[data-v-a9193a63] {
2014
2013
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23000' fill-opacity='10%25'%3E%3Crect width='8' height='8' /%3E%3Crect x='8' y='8' width='8' height='8' /%3E%3C/svg%3E");
2015
2014
  }
2016
2015
 
2017
- .dark-mode .bg-preview[data-v-a10b4008] {
2016
+ .dark-mode .bg-preview[data-v-a9193a63] {
2018
2017
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23FFF' fill-opacity='10%25'%3E%3Crect width='8' height='8' /%3E%3Crect x='8' y='8' width='8' height='8' /%3E%3C/svg%3E");
2019
2018
  }
2020
2019
 
2021
- .scalar-code-block[data-v-bb31ac6f] .hljs * {
2020
+ .scalar-code-block[data-v-f09bb250] .hljs * {
2022
2021
  font-size: var(--scalar-small);
2023
2022
  }
2024
2023
 
@@ -2028,7 +2027,7 @@ input[data-v-a6f4752a]::placeholder {
2028
2027
  display: flex;
2029
2028
  }
2030
2029
 
2031
- .scalar-version-number[data-v-1c2fb5fe] {
2030
+ .scalar-version-number[data-v-8ed574de] {
2032
2031
  width: 76px;
2033
2032
  height: 76px;
2034
2033
  font-size: 8px;
@@ -2051,7 +2050,7 @@ input[data-v-a6f4752a]::placeholder {
2051
2050
  transform: skew(0deg, 13deg);
2052
2051
  }
2053
2052
 
2054
- .scalar-version-number a[data-v-1c2fb5fe] {
2053
+ .scalar-version-number a[data-v-8ed574de] {
2055
2054
  background: var(--scalar-background-2);
2056
2055
  border: .5px solid var(--scalar-border-color);
2057
2056
  border-radius: 3px;
@@ -2060,24 +2059,24 @@ input[data-v-a6f4752a]::placeholder {
2060
2059
  text-decoration: none;
2061
2060
  }
2062
2061
 
2063
- .gitbook-show[data-v-1c2fb5fe] {
2062
+ .gitbook-show[data-v-8ed574de] {
2064
2063
  display: none;
2065
2064
  }
2066
2065
 
2067
- .v-enter-active[data-v-b80db6e2] {
2066
+ .v-enter-active[data-v-28d73262] {
2068
2067
  transition: opacity .5s;
2069
2068
  }
2070
2069
 
2071
- .v-enter-from[data-v-b80db6e2] {
2070
+ .v-enter-from[data-v-28d73262] {
2072
2071
  opacity: 0;
2073
2072
  }
2074
2073
 
2075
- .animate-response-heading .response-heading[data-v-e6c572c3] {
2074
+ .animate-response-heading .response-heading[data-v-fd52d047] {
2076
2075
  opacity: 1;
2077
- animation: .2s ease-in-out forwards push-response-e6c572c3;
2076
+ animation: .2s ease-in-out forwards push-response-fd52d047;
2078
2077
  }
2079
2078
 
2080
- @keyframes push-response-e6c572c3 {
2079
+ @keyframes push-response-fd52d047 {
2081
2080
  from {
2082
2081
  opacity: 1;
2083
2082
  transform: translateY(0);
@@ -2089,12 +2088,12 @@ input[data-v-a6f4752a]::placeholder {
2089
2088
  }
2090
2089
  }
2091
2090
 
2092
- .animate-response-heading .animate-response-children[data-v-e6c572c3] {
2091
+ .animate-response-heading .animate-response-children[data-v-fd52d047] {
2093
2092
  opacity: 0;
2094
- animation: .2s ease-in-out 50ms forwards response-spans-e6c572c3;
2093
+ animation: .2s ease-in-out 50ms forwards response-spans-fd52d047;
2095
2094
  }
2096
2095
 
2097
- @keyframes response-spans-e6c572c3 {
2096
+ @keyframes response-spans-fd52d047 {
2098
2097
  from {
2099
2098
  opacity: 0;
2100
2099
  transform: translateY(4px);
@@ -2117,66 +2116,66 @@ input[data-v-a6f4752a]::placeholder {
2117
2116
  margin-top: 0;
2118
2117
  }
2119
2118
 
2120
- .address-bar-history-button[data-v-12140f4f]:hover {
2119
+ .address-bar-history-button[data-v-a54819b1]:hover {
2121
2120
  background: var(--scalar-background-3);
2122
2121
  }
2123
2122
 
2124
- .address-bar-history-button[data-v-12140f4f]:focus-within {
2123
+ .address-bar-history-button[data-v-a54819b1]:focus-within {
2125
2124
  background: var(--scalar-background-2);
2126
2125
  }
2127
2126
 
2128
- [data-v-3f5b6752] .cm-editor {
2127
+ [data-v-0e96b5b8] .cm-editor {
2129
2128
  outline: none;
2130
2129
  width: 100%;
2131
2130
  height: 100%;
2132
2131
  }
2133
2132
 
2134
- [data-v-3f5b6752] .cm-line {
2133
+ [data-v-0e96b5b8] .cm-line {
2135
2134
  padding: 0;
2136
2135
  }
2137
2136
 
2138
- [data-v-3f5b6752] .cm-content {
2137
+ [data-v-0e96b5b8] .cm-content {
2139
2138
  font-size: var(--scalar-small);
2140
2139
  align-items: center;
2141
2140
  padding: 0;
2142
2141
  display: flex;
2143
2142
  }
2144
2143
 
2145
- .scroll-timeline-x[data-v-3f5b6752] {
2144
+ .scroll-timeline-x[data-v-0e96b5b8] {
2146
2145
  -ms-overflow-style: none;
2147
2146
  -webkit-mask-image: linear-gradient(to right, #0000 0, #000 6px calc(100% - 24px), #0000 100%);
2148
2147
  mask-image: linear-gradient(to right, #0000 0, #000 6px calc(100% - 24px), #0000 100%);
2149
2148
  }
2150
2149
 
2151
- .scroll-timeline-x-hidden[data-v-3f5b6752] {
2150
+ .scroll-timeline-x-hidden[data-v-0e96b5b8] {
2152
2151
  overflow-x: auto;
2153
2152
  }
2154
2153
 
2155
- .scroll-timeline-x-hidden[data-v-3f5b6752] .cm-scroller {
2154
+ .scroll-timeline-x-hidden[data-v-0e96b5b8] .cm-scroller {
2156
2155
  scrollbar-width: none;
2157
2156
  -ms-overflow-style: none;
2158
2157
  padding-right: 20px;
2159
2158
  overflow: auto;
2160
2159
  }
2161
2160
 
2162
- .scroll-timeline-x-hidden[data-v-3f5b6752]::-webkit-scrollbar {
2161
+ .scroll-timeline-x-hidden[data-v-0e96b5b8]::-webkit-scrollbar {
2163
2162
  width: 0;
2164
2163
  height: 0;
2165
2164
  display: none;
2166
2165
  }
2167
2166
 
2168
- .scroll-timeline-x-hidden[data-v-3f5b6752] .cm-scroller::-webkit-scrollbar {
2167
+ .scroll-timeline-x-hidden[data-v-0e96b5b8] .cm-scroller::-webkit-scrollbar {
2169
2168
  width: 0;
2170
2169
  height: 0;
2171
2170
  display: none;
2172
2171
  }
2173
2172
 
2174
- .scroll-timeline-x-address[data-v-3f5b6752] {
2173
+ .scroll-timeline-x-address[data-v-0e96b5b8] {
2175
2174
  scrollbar-width: none;
2176
2175
  line-height: 27px;
2177
2176
  }
2178
2177
 
2179
- .scroll-timeline-x-address[data-v-3f5b6752]:after {
2178
+ .scroll-timeline-x-address[data-v-0e96b5b8]:after {
2180
2179
  content: "";
2181
2180
  cursor: text;
2182
2181
  width: 24px;
@@ -2185,45 +2184,39 @@ input[data-v-a6f4752a]::placeholder {
2185
2184
  right: 0;
2186
2185
  }
2187
2186
 
2188
- .scroll-timeline-x-address[data-v-3f5b6752]:empty:before {
2189
- content: "Enter URL or cURL request";
2190
- color: var(--scalar-color-3);
2191
- pointer-events: none;
2192
- }
2193
-
2194
- .address-bar-bg-states[data-v-3f5b6752] {
2187
+ .address-bar-bg-states[data-v-0e96b5b8] {
2195
2188
  --scalar-address-bar-bg: var(--scalar-background-1);
2196
2189
  }
2197
2190
 
2198
2191
  @supports (color: color-mix(in lab, red, red)) {
2199
- .address-bar-bg-states[data-v-3f5b6752] {
2192
+ .address-bar-bg-states[data-v-0e96b5b8] {
2200
2193
  --scalar-address-bar-bg: color-mix(in srgb,
2201
2194
  var(--scalar-background-1),
2202
2195
  var(--scalar-background-2));
2203
2196
  }
2204
2197
  }
2205
2198
 
2206
- .address-bar-bg-states[data-v-3f5b6752] {
2199
+ .address-bar-bg-states[data-v-0e96b5b8] {
2207
2200
  background: var(--scalar-address-bar-bg);
2208
2201
  }
2209
2202
 
2210
- .address-bar-bg-states[data-v-3f5b6752]:has(.cm-focused) {
2203
+ .address-bar-bg-states[data-v-0e96b5b8]:has(.cm-focused) {
2211
2204
  --scalar-address-bar-bg: var(--scalar-background-1);
2212
2205
  border-color: var(--scalar-border-color);
2213
2206
  outline-width: 1px;
2214
2207
  outline-style: solid;
2215
2208
  }
2216
2209
 
2217
- .address-bar-bg-states:has(.cm-focused) .fade-left[data-v-3f5b6752], .address-bar-bg-states:has(.cm-focused) .fade-right[data-v-3f5b6752] {
2210
+ .address-bar-bg-states:has(.cm-focused) .fade-left[data-v-0e96b5b8], .address-bar-bg-states:has(.cm-focused) .fade-right[data-v-0e96b5b8] {
2218
2211
  --scalar-address-bar-bg: var(--scalar-background-1);
2219
2212
  }
2220
2213
 
2221
- .app-exit-button[data-v-57d0a8d2] {
2214
+ .app-exit-button[data-v-cf0538d1] {
2222
2215
  color: #fff;
2223
2216
  background: #0000001a;
2224
2217
  }
2225
2218
 
2226
- .app-exit-button[data-v-57d0a8d2]:hover {
2219
+ .app-exit-button[data-v-cf0538d1]:hover {
2227
2220
  background: #ffffff1a;
2228
2221
  }
2229
2222
 
@@ -2258,22 +2251,22 @@ input[data-v-a6f4752a]::placeholder {
2258
2251
  inset: 0;
2259
2252
  }
2260
2253
 
2261
- [data-v-5b336842] .code-input-lite__editor {
2254
+ [data-v-4b7f675d] .code-input-lite__editor {
2262
2255
  font-family: var(--scalar-font);
2263
2256
  font-size: var(--scalar-small);
2264
2257
  background-color: #0000;
2265
2258
  padding: 5px 8px;
2266
2259
  }
2267
2260
 
2268
- [data-v-5b336842] .scalar-pill:not(:last-of-type) {
2261
+ [data-v-4b7f675d] .scalar-pill:not(:last-of-type) {
2269
2262
  margin-right: .15em;
2270
2263
  }
2271
2264
 
2272
- [data-v-5b336842] .scalar-pill:not(:first-of-type) {
2265
+ [data-v-4b7f675d] .scalar-pill:not(:first-of-type) {
2273
2266
  margin-left: .5px;
2274
2267
  }
2275
2268
 
2276
- .scalar .scalar-app-layout[data-v-77897d1c] {
2269
+ .scalar .scalar-app-layout[data-v-0eebddf5] {
2277
2270
  background: var(--scalar-background-1);
2278
2271
  border: var(--scalar-border-width) solid var(--scalar-border-color);
2279
2272
  border-radius: 8px;
@@ -2286,13 +2279,13 @@ input[data-v-a6f4752a]::placeholder {
2286
2279
  }
2287
2280
 
2288
2281
  @media (max-width: 720px) and (max-height: 480px) {
2289
- .scalar .scalar-app-layout[data-v-77897d1c] {
2282
+ .scalar .scalar-app-layout[data-v-0eebddf5] {
2290
2283
  height: 100%;
2291
2284
  max-height: 90svh;
2292
2285
  }
2293
2286
  }
2294
2287
 
2295
- .scalar .scalar-app-exit[data-v-77897d1c] {
2288
+ .scalar .scalar-app-exit[data-v-0eebddf5] {
2296
2289
  cursor: pointer;
2297
2290
  z-index: -1;
2298
2291
  background: #00000038;
@@ -2303,11 +2296,11 @@ input[data-v-a6f4752a]::placeholder {
2303
2296
  left: 0;
2304
2297
  }
2305
2298
 
2306
- .dark-mode .scalar .scalar-app-exit[data-v-77897d1c] {
2299
+ .dark-mode .scalar .scalar-app-exit[data-v-0eebddf5] {
2307
2300
  background: #00000073;
2308
2301
  }
2309
2302
 
2310
- .scalar .scalar-app-exit[data-v-77897d1c]:before {
2303
+ .scalar .scalar-app-exit[data-v-0eebddf5]:before {
2311
2304
  text-align: center;
2312
2305
  color: #fff;
2313
2306
  opacity: .6;
@@ -2320,11 +2313,11 @@ input[data-v-a6f4752a]::placeholder {
2320
2313
  right: 12px;
2321
2314
  }
2322
2315
 
2323
- .scalar .scalar-app-exit[data-v-77897d1c]:hover:before {
2316
+ .scalar .scalar-app-exit[data-v-0eebddf5]:hover:before {
2324
2317
  opacity: 1;
2325
2318
  }
2326
2319
 
2327
- .scalar-container[data-v-77897d1c] {
2320
+ .scalar-container[data-v-0eebddf5] {
2328
2321
  visibility: hidden;
2329
2322
  opacity: 0;
2330
2323
  pointer-events: none;
@@ -2342,22 +2335,22 @@ input[data-v-a6f4752a]::placeholder {
2342
2335
  overflow: hidden;
2343
2336
  }
2344
2337
 
2345
- .scalar-container.scalar-client--open[data-v-77897d1c] {
2338
+ .scalar-container.scalar-client--open[data-v-0eebddf5] {
2346
2339
  opacity: 1;
2347
2340
  visibility: visible;
2348
2341
  pointer-events: auto;
2349
2342
  transition: opacity .35s;
2350
2343
  }
2351
2344
 
2352
- .scalar .url-form-input[data-v-77897d1c] {
2345
+ .scalar .url-form-input[data-v-0eebddf5] {
2353
2346
  min-height: auto !important;
2354
2347
  }
2355
2348
 
2356
- .scalar .scalar-container[data-v-77897d1c] {
2349
+ .scalar .scalar-container[data-v-0eebddf5] {
2357
2350
  line-height: normal;
2358
2351
  }
2359
2352
 
2360
- .ref-search-meta[data-v-89ab8a2d] {
2353
+ .ref-search-meta[data-v-6ea0d1fb] {
2361
2354
  background: var(--scalar-background-1);
2362
2355
  border-bottom-left-radius: var(--scalar-radius-lg);
2363
2356
  border-bottom-right-radius: var(--scalar-radius-lg);
@@ -2448,6 +2441,10 @@ input[data-v-a6f4752a]::placeholder {
2448
2441
  inset-inline: 1px;
2449
2442
  }
2450
2443
 
2444
+ .scalar-app .-end-\[30px\] {
2445
+ inset-inline-end: -30px;
2446
+ }
2447
+
2451
2448
  .scalar-app .top-\(--nested-items-offset\)\! {
2452
2449
  top: var(--nested-items-offset) !important;
2453
2450
  }
@@ -2472,10 +2469,6 @@ input[data-v-a6f4752a]::placeholder {
2472
2469
  top: 1px;
2473
2470
  }
2474
2471
 
2475
- .scalar-app .-right-\[30px\] {
2476
- right: -30px;
2477
- }
2478
-
2479
2472
  .scalar-app .bottom-\[var\(--scalar-border-width\)\] {
2480
2473
  bottom: var(--scalar-border-width);
2481
2474
  }
@@ -2512,6 +2505,10 @@ input[data-v-a6f4752a]::placeholder {
2512
2505
  z-index: 1;
2513
2506
  }
2514
2507
 
2508
+ .scalar-app .z-\[10001\] {
2509
+ z-index: 10001;
2510
+ }
2511
+
2515
2512
  .scalar-app .order-last {
2516
2513
  order: 9999;
2517
2514
  }
@@ -2548,6 +2545,10 @@ input[data-v-a6f4752a]::placeholder {
2548
2545
  margin-block: -1px;
2549
2546
  }
2550
2547
 
2548
+ .scalar-app .ms-auto {
2549
+ margin-inline-start: auto;
2550
+ }
2551
+
2551
2552
  .scalar-app .-mt-\(--scalar-sidebar-padding\) {
2552
2553
  margin-top: calc(var(--scalar-sidebar-padding) * -1);
2553
2554
  }
@@ -3455,6 +3456,10 @@ input[data-v-a6f4752a]::placeholder {
3455
3456
  overflow-wrap: break-word;
3456
3457
  }
3457
3458
 
3459
+ .scalar-app .break-all {
3460
+ word-break: break-all;
3461
+ }
3462
+
3458
3463
  .scalar-app .text-ellipsis {
3459
3464
  text-overflow: ellipsis;
3460
3465
  }
@@ -3688,6 +3693,11 @@ input[data-v-a6f4752a]::placeholder {
3688
3693
  outline-style: none;
3689
3694
  }
3690
3695
 
3696
+ .scalar-app .select-all {
3697
+ -webkit-user-select: all;
3698
+ user-select: all;
3699
+ }
3700
+
3691
3701
  .scalar-app .select-none {
3692
3702
  -webkit-user-select: none;
3693
3703
  user-select: none;
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "git+https://github.com/scalar/scalar.git",
11
11
  "directory": "packages/agent-chat"
12
12
  },
13
- "version": "0.12.34",
13
+ "version": "0.12.36",
14
14
  "engines": {
15
15
  "node": ">=22"
16
16
  },
@@ -46,18 +46,18 @@
46
46
  ],
47
47
  "dependencies": {
48
48
  "@ai-sdk/vue": "3.0.33",
49
- "@scalar/api-client": "3.19.3",
50
- "@scalar/components": "0.30.0",
51
- "@scalar/helpers": "0.12.0",
49
+ "@scalar/api-client": "3.21.0",
50
+ "@scalar/components": "0.30.2",
51
+ "@scalar/helpers": "0.14.0",
52
52
  "@scalar/icons": "0.7.6",
53
- "@scalar/json-magic": "0.14.0",
54
- "@scalar/openapi-types": "0.9.6",
55
- "@scalar/schemas": "0.10.0",
53
+ "@scalar/json-magic": "0.15.1",
54
+ "@scalar/openapi-types": "0.9.7",
55
+ "@scalar/schemas": "0.12.0",
56
56
  "@scalar/themes": "0.18.0",
57
- "@scalar/types": "0.20.1",
57
+ "@scalar/types": "0.22.0",
58
58
  "@scalar/use-toasts": "0.10.5",
59
- "@scalar/validation": "0.6.3",
60
- "@scalar/workspace-store": "0.64.0",
59
+ "@scalar/validation": "0.6.5",
60
+ "@scalar/workspace-store": "0.66.0",
61
61
  "@vueuse/core": "13.9.0",
62
62
  "ai": "6.0.33",
63
63
  "js-base64": "^3.9.2",
@@ -66,12 +66,12 @@
66
66
  "vue": "^3.5.40"
67
67
  },
68
68
  "devDependencies": {
69
- "@scalar/sidebar": "0.11.5",
69
+ "@scalar/sidebar": "0.11.7",
70
70
  "@tailwindcss/cli": "^4.3.3",
71
71
  "@tailwindcss/vite": "^4.3.3",
72
72
  "@types/jsdom": "28.0.1",
73
73
  "@vitejs/plugin-vue": "^6.0.8",
74
- "hono": "^4.13.7",
74
+ "hono": "^4.13.8",
75
75
  "jsdom": "27.4.0",
76
76
  "tailwindcss": "^4.3.3",
77
77
  "vite": "8.1.5",