@scalar/agent-chat 0.9.17 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client-tools/execute-request.d.ts +1 -1
- package/dist/client-tools/execute-request.d.ts.map +1 -1
- package/dist/client-tools/execute-request.js +42 -34
- package/dist/client-tools/execute-request.js.map +1 -1
- package/dist/helpers.d.ts +2 -1
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +23 -21
- package/dist/helpers.js.map +1 -1
- package/dist/package.json +2 -1
- package/dist/style.css +1 -1
- package/dist/views/Chat/Messages/AskForAuthentication.vue.d.ts.map +1 -1
- package/dist/views/Chat/Messages/AskForAuthentication.vue.js +1 -1
- package/dist/views/Chat/Messages/AskForAuthentication.vue.js.map +1 -1
- package/dist/views/Chat/Messages/AskForAuthentication.vue.script.js +5 -4
- package/dist/views/Chat/Messages/AskForAuthentication.vue.script.js.map +1 -1
- package/dist/views/Settings/Auth.vue.d.ts.map +1 -1
- package/dist/views/Settings/Auth.vue.js.map +1 -1
- package/dist/views/Settings/Auth.vue.script.js +9 -9
- package/dist/views/Settings/Auth.vue.script.js.map +1 -1
- package/dist/views/Settings/DocSettings.vue.d.ts.map +1 -1
- package/dist/views/Settings/DocSettings.vue.js +1 -1
- package/dist/views/Settings/DocSettings.vue.js.map +1 -1
- package/dist/views/Settings/DocSettings.vue.script.js +5 -3
- package/dist/views/Settings/DocSettings.vue.script.js.map +1 -1
- package/package.json +14 -13
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Chat } from '@ai-sdk/vue';
|
|
2
|
-
import type { SecuritySchemeObjectSecret } from '@scalar/
|
|
2
|
+
import type { SecuritySchemeObjectSecret } from '@scalar/workspace-store/request-example';
|
|
3
3
|
import type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
|
|
4
4
|
import type { UIDataTypes, UIMessage } from 'ai';
|
|
5
5
|
import type { Tools } from '../state/state.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-request.d.ts","sourceRoot":"","sources":["../../src/client-tools/execute-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"execute-request.d.ts","sourceRoot":"","sources":["../../src/client-tools/execute-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AAEzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAChG,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAOhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AA4E1C;;GAEG;AACH,eAAO,MAAM,kBAAkB;sBAQT,MAAM,CACtB,MAAM,EACN;QAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;QAAC,eAAe,EAAE,0BAA0B,EAAE,CAAA;KAAE,CACrF;gBACW,MAAM;UACZ,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;cACxC,MAAM;WACT;QACL,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,YAAY,EAAE,MAAM,CAAA;KACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kHA0EJ,CAAA"}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { createError as e } from "../entities/error/helpers.js";
|
|
2
2
|
import { EXECUTE_CLIENT_SIDE_REQUEST_TOOL_NAME as t } from "../entities/tools/execute-request.js";
|
|
3
3
|
import { n } from "neverpanic";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import o from "
|
|
4
|
+
import { redirectToProxy as r } from "@scalar/helpers/url/redirect-to-proxy";
|
|
5
|
+
import { buildRequestSecurity as i, getResolvedUrl as a } from "@scalar/workspace-store/request-example";
|
|
6
|
+
import { encode as o } from "js-base64";
|
|
7
|
+
import s from "truncate-json";
|
|
7
8
|
//#region src/client-tools/execute-request.ts
|
|
8
|
-
var
|
|
9
|
+
var c = 5e4, l = n.safeFn(async (e) => e.headers.get("content-type") === "application/json" ? {
|
|
9
10
|
success: !0,
|
|
10
11
|
data: await e.json()
|
|
11
12
|
} : {
|
|
12
13
|
success: !0,
|
|
13
14
|
data: await e.text()
|
|
14
|
-
}, (t) => e("FAILED_TO_PARSE_RESPONSE_BODY", { originalError: t })),
|
|
15
|
-
let r = await fetch(t, n), i = await
|
|
15
|
+
}, (t) => e("FAILED_TO_PARSE_RESPONSE_BODY", { originalError: t })), u = (e) => JSON.parse(s(JSON.stringify(e), c).jsonString), d = n.safeFn(async (t, n) => {
|
|
16
|
+
let r = await fetch(t, n), i = await l(r);
|
|
16
17
|
return r.ok ? i.success ? {
|
|
17
18
|
success: !0,
|
|
18
19
|
data: {
|
|
19
20
|
status: r.status,
|
|
20
|
-
responseBody:
|
|
21
|
+
responseBody: u(i.data),
|
|
21
22
|
headers: Object.fromEntries(r.headers.entries())
|
|
22
23
|
}
|
|
23
24
|
} : i : {
|
|
@@ -25,49 +26,56 @@ var s = 5e4, c = n.safeFn(async (e) => e.headers.get("content-type") === "applic
|
|
|
25
26
|
error: e("REQUEST_NOT_OK", {
|
|
26
27
|
status: r.status,
|
|
27
28
|
url: r.url,
|
|
28
|
-
responseBody:
|
|
29
|
+
responseBody: u(i.success ? i.data : void 0),
|
|
29
30
|
headers: Object.fromEntries(r.headers.entries())
|
|
30
31
|
})
|
|
31
32
|
};
|
|
32
33
|
}, (t) => e("FAILED_TO_FETCH", { originalError: t }));
|
|
33
|
-
function
|
|
34
|
-
return
|
|
34
|
+
function f({ path: e, activeServer: t, proxyUrl: n, queryParams: i }) {
|
|
35
|
+
return r(n, a({
|
|
35
36
|
path: e,
|
|
36
37
|
server: t,
|
|
37
|
-
|
|
38
|
-
environment: {
|
|
39
|
-
color: "",
|
|
40
|
-
variables: []
|
|
41
|
-
}
|
|
38
|
+
urlParams: i
|
|
42
39
|
}));
|
|
43
40
|
}
|
|
44
|
-
var
|
|
45
|
-
let
|
|
46
|
-
if (!
|
|
41
|
+
var p = n.safeFn(async ({ documentSettings: n, toolCallId: r, chat: a, proxyUrl: s, input: { method: c, path: l, body: u, headers: p, documentName: m } }) => {
|
|
42
|
+
let h = n[m];
|
|
43
|
+
if (!h) return {
|
|
47
44
|
success: !1,
|
|
48
|
-
error: e("DOCUMENT_SETTINGS_COULD_NOT_BE_DETERMINED", { documentName:
|
|
45
|
+
error: e("DOCUMENT_SETTINGS_COULD_NOT_BE_DETERMINED", { documentName: m })
|
|
49
46
|
};
|
|
50
|
-
let
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
let g = i(h.securitySchemes).reduce((e, t) => {
|
|
48
|
+
if (t.in === "header") {
|
|
49
|
+
let n = t.type === "basic" ? "Basic " : t.type === "bearer" ? "Bearer " : "";
|
|
50
|
+
e.headers[t.name] = `${n}${t.type === "basic" ? o(t.value) : t.value}`;
|
|
51
|
+
} else t.in === "query" ? e.queryParams.set(t.name, t.value) : t.in === "cookie" && (e.cookies[t.name] = t.value);
|
|
52
|
+
return e;
|
|
53
|
+
}, {
|
|
54
|
+
headers: {},
|
|
55
|
+
queryParams: new URLSearchParams(),
|
|
56
|
+
cookies: {}
|
|
57
|
+
}), _ = Object.entries(g.cookies).map(([e, t]) => `${e}=${t}`).join("; "), v = {
|
|
58
|
+
method: c,
|
|
59
|
+
body: u,
|
|
54
60
|
headers: {
|
|
55
|
-
...
|
|
56
|
-
...
|
|
61
|
+
...p,
|
|
62
|
+
...g.headers,
|
|
63
|
+
Cookie: _
|
|
57
64
|
}
|
|
58
|
-
},
|
|
59
|
-
path:
|
|
60
|
-
activeServer:
|
|
61
|
-
proxyUrl:
|
|
62
|
-
|
|
65
|
+
}, y = await d(f({
|
|
66
|
+
path: l,
|
|
67
|
+
activeServer: h.activeServer,
|
|
68
|
+
proxyUrl: s,
|
|
69
|
+
queryParams: g.queryParams
|
|
70
|
+
}), v);
|
|
63
71
|
return a.addToolOutput({
|
|
64
72
|
tool: t,
|
|
65
|
-
toolCallId:
|
|
66
|
-
output:
|
|
73
|
+
toolCallId: r,
|
|
74
|
+
output: y,
|
|
67
75
|
state: "output-available"
|
|
68
|
-
}),
|
|
76
|
+
}), y;
|
|
69
77
|
}, (t) => e("FAILED_TO_EXECUTE_REQUEST", t));
|
|
70
78
|
//#endregion
|
|
71
|
-
export {
|
|
79
|
+
export { p as executeRequestTool };
|
|
72
80
|
|
|
73
81
|
//# sourceMappingURL=execute-request.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-request.js","names":[],"sources":["../../src/client-tools/execute-request.ts"],"sourcesContent":["import type { Chat } from '@ai-sdk/vue'\nimport {
|
|
1
|
+
{"version":3,"file":"execute-request.js","names":[],"sources":["../../src/client-tools/execute-request.ts"],"sourcesContent":["import type { Chat } from '@ai-sdk/vue'\nimport { redirectToProxy } from '@scalar/helpers/url/redirect-to-proxy'\nimport type { SecuritySchemeObjectSecret } from '@scalar/workspace-store/request-example'\nimport { buildRequestSecurity, getResolvedUrl } from '@scalar/workspace-store/request-example'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport type { UIDataTypes, UIMessage } from 'ai'\nimport { encode as encodeBase64 } from 'js-base64'\nimport { n } from 'neverpanic'\nimport truncateJson from 'truncate-json'\n\nimport { EXECUTE_CLIENT_SIDE_REQUEST_TOOL_NAME } from '@/entities'\nimport { createError } from '@/entities/error/helpers'\nimport type { Tools } from '@/state/state'\n\n// The maximum number of bytes the requests response can be.\nconst MAX_RESPONSE_SIZE = 50_000\n\nconst getBody = n.safeFn(\n async (response: Response) => {\n const contentType = response.headers.get('content-type')\n\n if (contentType === 'application/json') {\n return { success: true, data: await response.json() }\n }\n\n return { success: true, data: await response.text() }\n },\n (originalError) => createError('FAILED_TO_PARSE_RESPONSE_BODY', { originalError }),\n)\n\nconst truncateResponse = (response: unknown) =>\n JSON.parse(truncateJson(JSON.stringify(response), MAX_RESPONSE_SIZE).jsonString)\n\n/* Result type wrapper for fetch */\nconst safeFetch = n.safeFn(\n async (url: string, init: RequestInit) => {\n const response = await fetch(url, init)\n\n const responseBodyResult = await getBody(response)\n\n if (!response.ok) {\n return {\n success: false,\n error: createError('REQUEST_NOT_OK', {\n status: response.status,\n url: response.url,\n responseBody: truncateResponse(responseBodyResult.success ? responseBodyResult.data : undefined),\n headers: Object.fromEntries(response.headers.entries()),\n }),\n }\n }\n\n if (!responseBodyResult.success) {\n return responseBodyResult\n }\n\n return {\n success: true,\n data: {\n status: response.status,\n responseBody: truncateResponse(responseBodyResult.data),\n headers: Object.fromEntries(response.headers.entries()),\n },\n }\n },\n (originalError) => createError('FAILED_TO_FETCH', { originalError }),\n)\n\nfunction createUrl({\n path,\n activeServer,\n proxyUrl,\n queryParams,\n}: {\n path: string\n activeServer: ServerObject | null\n proxyUrl: string\n queryParams: URLSearchParams\n}) {\n const resolvedUrl = getResolvedUrl({\n path,\n server: activeServer,\n urlParams: queryParams,\n })\n\n return redirectToProxy(proxyUrl, resolvedUrl)\n}\n\n/**\n * Executes an HTTP request with the specified options, including method, path, headers, and security schemes, and returns the processed response.\n */\nexport const executeRequestTool = n.safeFn(\n async ({\n documentSettings,\n toolCallId,\n chat,\n proxyUrl,\n input: { method, path, body, headers, documentName },\n }: {\n documentSettings: Record<\n string,\n { activeServer: ServerObject | null; securitySchemes: SecuritySchemeObjectSecret[] }\n >\n toolCallId: string\n chat: Chat<UIMessage<unknown, UIDataTypes, Tools>>\n proxyUrl: string\n input: {\n method: string\n path: string\n headers?: Record<string, string>\n body?: string\n documentName: string\n }\n }) => {\n const settings = documentSettings[documentName]\n\n if (!settings) {\n return {\n success: false,\n error: createError('DOCUMENT_SETTINGS_COULD_NOT_BE_DETERMINED', {\n documentName,\n }),\n }\n }\n\n const requestSecurityOptions = buildRequestSecurity(settings.securitySchemes)\n\n const requestSecurity = requestSecurityOptions.reduce<{\n headers: Record<string, string>\n queryParams: URLSearchParams\n cookies: Record<string, string>\n }>(\n (acc, securityOption) => {\n if (securityOption.in === 'header') {\n const prefix = securityOption.type === 'basic' ? 'Basic ' : securityOption.type === 'bearer' ? 'Bearer ' : ''\n\n acc.headers[securityOption.name] =\n `${prefix}${securityOption.type === 'basic' ? encodeBase64(securityOption.value) : securityOption.value}`\n } else if (securityOption.in === 'query') {\n acc.queryParams.set(securityOption.name, securityOption.value)\n } else if (securityOption.in === 'cookie') {\n acc.cookies[securityOption.name] = securityOption.value\n }\n\n return acc\n },\n {\n headers: {},\n queryParams: new URLSearchParams(),\n cookies: {},\n },\n )\n\n const cookieHeader = Object.entries(requestSecurity.cookies)\n .map(([name, value]) => `${name}=${value}`)\n .join('; ')\n\n const fetchOptions = {\n method,\n body,\n headers: {\n ...headers,\n ...requestSecurity.headers,\n Cookie: cookieHeader,\n },\n }\n\n const url = createUrl({\n path,\n activeServer: settings.activeServer,\n proxyUrl,\n queryParams: requestSecurity.queryParams,\n })\n\n const result = await safeFetch(url, fetchOptions)\n\n void chat.addToolOutput({\n tool: EXECUTE_CLIENT_SIDE_REQUEST_TOOL_NAME,\n toolCallId,\n output: result,\n state: 'output-available',\n })\n\n return result\n },\n (originalError) => createError('FAILED_TO_EXECUTE_REQUEST', originalError),\n)\n"],"mappings":";;;;;;;;AAeA,IAAM,IAAoB,KAEpB,IAAU,EAAE,OAChB,OAAO,MACe,EAAS,QAAQ,IAAI,eAAe,KAEpC,qBACX;CAAE,SAAS;CAAM,MAAM,MAAM,EAAS,MAAM;CAAE,GAGhD;CAAE,SAAS;CAAM,MAAM,MAAM,EAAS,MAAM;CAAE,GAEtD,MAAkB,EAAY,iCAAiC,EAAE,kBAAe,CAAC,CACnF,EAEK,KAAoB,MACxB,KAAK,MAAM,EAAa,KAAK,UAAU,EAAS,EAAE,EAAkB,CAAC,WAAW,EAG5E,IAAY,EAAE,OAClB,OAAO,GAAa,MAAsB;CACxC,IAAM,IAAW,MAAM,MAAM,GAAK,EAAK,EAEjC,IAAqB,MAAM,EAAQ,EAAS;AAkBlD,QAhBK,EAAS,KAYT,EAAmB,UAIjB;EACL,SAAS;EACT,MAAM;GACJ,QAAQ,EAAS;GACjB,cAAc,EAAiB,EAAmB,KAAK;GACvD,SAAS,OAAO,YAAY,EAAS,QAAQ,SAAS,CAAC;GACxD;EACF,GAVQ,IAZA;EACL,SAAS;EACT,OAAO,EAAY,kBAAkB;GACnC,QAAQ,EAAS;GACjB,KAAK,EAAS;GACd,cAAc,EAAiB,EAAmB,UAAU,EAAmB,OAAO,KAAA,EAAU;GAChG,SAAS,OAAO,YAAY,EAAS,QAAQ,SAAS,CAAC;GACxD,CAAC;EACH;IAgBJ,MAAkB,EAAY,mBAAmB,EAAE,kBAAe,CAAC,CACrE;AAED,SAAS,EAAU,EACjB,SACA,iBACA,aACA,kBAMC;AAOD,QAAO,EAAgB,GANH,EAAe;EACjC;EACA,QAAQ;EACR,WAAW;EACZ,CAAC,CAE2C;;AAM/C,IAAa,IAAqB,EAAE,OAClC,OAAO,EACL,qBACA,eACA,SACA,aACA,OAAO,EAAE,WAAQ,SAAM,SAAM,YAAS,wBAgBlC;CACJ,IAAM,IAAW,EAAiB;AAElC,KAAI,CAAC,EACH,QAAO;EACL,SAAS;EACT,OAAO,EAAY,6CAA6C,EAC9D,iBACD,CAAC;EACH;CAKH,IAAM,IAFyB,EAAqB,EAAS,gBAAgB,CAE9B,QAK5C,GAAK,MAAmB;AACvB,MAAI,EAAe,OAAO,UAAU;GAClC,IAAM,IAAS,EAAe,SAAS,UAAU,WAAW,EAAe,SAAS,WAAW,YAAY;AAE3G,KAAI,QAAQ,EAAe,QACzB,GAAG,IAAS,EAAe,SAAS,UAAU,EAAa,EAAe,MAAM,GAAG,EAAe;SAC3F,EAAe,OAAO,UAC/B,EAAI,YAAY,IAAI,EAAe,MAAM,EAAe,MAAM,GACrD,EAAe,OAAO,aAC/B,EAAI,QAAQ,EAAe,QAAQ,EAAe;AAGpD,SAAO;IAET;EACE,SAAS,EAAE;EACX,aAAa,IAAI,iBAAiB;EAClC,SAAS,EAAE;EACZ,CACF,EAEK,IAAe,OAAO,QAAQ,EAAgB,QAAQ,CACzD,KAAK,CAAC,GAAM,OAAW,GAAG,EAAK,GAAG,IAAQ,CAC1C,KAAK,KAAK,EAEP,IAAe;EACnB;EACA;EACA,SAAS;GACP,GAAG;GACH,GAAG,EAAgB;GACnB,QAAQ;GACT;EACF,EASK,IAAS,MAAM,EAPT,EAAU;EACpB;EACA,cAAc,EAAS;EACvB;EACA,aAAa,EAAgB;EAC9B,CAAC,EAEkC,EAAa;AASjD,QAPK,EAAK,cAAc;EACtB,MAAM;EACN;EACA,QAAQ;EACR,OAAO;EACR,CAAC,EAEK;IAER,MAAkB,EAAY,6BAA6B,EAAc,CAC3E"}
|
package/dist/helpers.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { OpenAPIV3_1 } from '@scalar/openapi-types';
|
|
2
2
|
import type { WorkspaceStore } from '@scalar/workspace-store/client';
|
|
3
3
|
import { type Auth } from '@scalar/workspace-store/entities/auth';
|
|
4
|
+
import type { SecuritySchemeObjectSecret } from '@scalar/workspace-store/request-example';
|
|
4
5
|
import type { OperationObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
|
|
5
6
|
export declare function getOperations(doc: Partial<OpenAPIV3_1.Document>): OperationObject[];
|
|
6
7
|
/** Generate document settings from workspace store */
|
|
7
8
|
export declare function createDocumentSettings(workspaceStore: WorkspaceStore): {
|
|
8
9
|
[k: string]: {
|
|
9
10
|
activeServer: import("@scalar/workspace-store/schemas/v3.1/strict/server").ServerObject | null;
|
|
10
|
-
securitySchemes:
|
|
11
|
+
securitySchemes: SecuritySchemeObjectSecret[];
|
|
11
12
|
};
|
|
12
13
|
};
|
|
13
14
|
/**
|
package/dist/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"
|
|
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,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAA;AAEnG,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GACwB,eAAe,EAAE,CACxG;AAwBD,sDAAsD;AACtD,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,cAAc;;;;;EAgBpE;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/helpers.js
CHANGED
|
@@ -1,35 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { AuthSchema as a } from "@scalar/workspace-store/entities/auth";
|
|
6
|
-
import { coerceValue as o } from "@scalar/workspace-store/schemas/typebox-coerce";
|
|
1
|
+
import { getSecurityRequirements as e, getSecuritySchemes as t, getSelectedSecurity as n, getSelectedServer as r, getServers as i, mergeSecurity as a } from "@scalar/workspace-store/request-example";
|
|
2
|
+
import { REFERENCE_LS_KEYS as o, safeLocalStorage as s } from "@scalar/helpers/object/local-storage";
|
|
3
|
+
import { AuthSchema as c } from "@scalar/workspace-store/entities/auth";
|
|
4
|
+
import { coerceValue as l } from "@scalar/workspace-store/schemas/typebox-coerce";
|
|
7
5
|
//#region src/helpers.ts
|
|
8
|
-
function
|
|
6
|
+
function u(e) {
|
|
9
7
|
return Object.values(e.paths ?? {}).flatMap((e) => Object.values(e ?? {}));
|
|
10
8
|
}
|
|
11
|
-
function
|
|
12
|
-
|
|
9
|
+
function d(r, i, o) {
|
|
10
|
+
let s = a(i?.components?.securitySchemes, {}, o, r), c = e(i.security);
|
|
11
|
+
return t(s, n(o.getAuthSelectedSchemas({
|
|
12
|
+
type: "document",
|
|
13
|
+
documentName: r
|
|
14
|
+
}), void 0, c).selectedSchemes);
|
|
13
15
|
}
|
|
14
|
-
function
|
|
15
|
-
return Object.fromEntries(Object.entries(e.workspace.documents).map(([
|
|
16
|
-
activeServer:
|
|
17
|
-
securitySchemes:
|
|
16
|
+
function f(e) {
|
|
17
|
+
return Object.fromEntries(Object.entries(e.workspace.documents).map(([t, n]) => [t, {
|
|
18
|
+
activeServer: r(n, null, null, i(n.servers, { documentUrl: n?.["x-scalar-original-source-url"] })),
|
|
19
|
+
securitySchemes: d(t, n, e.auth)
|
|
18
20
|
}]));
|
|
19
21
|
}
|
|
20
|
-
var
|
|
21
|
-
let e = (e) => `${
|
|
22
|
+
var p = s(), m = () => {
|
|
23
|
+
let e = (e) => `${o.AUTH}-${e}`;
|
|
22
24
|
return {
|
|
23
|
-
getAuth: (t) =>
|
|
25
|
+
getAuth: (t) => l(c, JSON.parse(p.getItem(e(t)) ?? "{}")),
|
|
24
26
|
setAuth: (t, n) => {
|
|
25
|
-
|
|
27
|
+
p.setItem(e(t), JSON.stringify(n));
|
|
26
28
|
}
|
|
27
29
|
};
|
|
28
|
-
},
|
|
29
|
-
let n =
|
|
30
|
+
}, h = ({ documentName: e, workspaceStore: t }) => {
|
|
31
|
+
let n = m().getAuth(e);
|
|
30
32
|
t.auth.load({ [e]: n });
|
|
31
33
|
};
|
|
32
|
-
function
|
|
34
|
+
function g(e) {
|
|
33
35
|
try {
|
|
34
36
|
return JSON.parse(e);
|
|
35
37
|
} catch {
|
|
@@ -37,6 +39,6 @@ function p(e) {
|
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
//#endregion
|
|
40
|
-
export {
|
|
42
|
+
export { m as authStorage, f as createDocumentSettings, u as getOperations, h as restoreAuthSecretsFromStorage, g as safeParseJson };
|
|
41
43
|
|
|
42
44
|
//# sourceMappingURL=helpers.js.map
|
package/dist/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":[],"sources":["../src/helpers.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"helpers.js","names":[],"sources":["../src/helpers.ts"],"sourcesContent":["import { REFERENCE_LS_KEYS, safeLocalStorage } from '@scalar/helpers/object/local-storage'\nimport type { OpenAPIV3_1 } from '@scalar/openapi-types'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport { type Auth, AuthSchema } from '@scalar/workspace-store/entities/auth'\nimport type { SecuritySchemeObjectSecret } from '@scalar/workspace-store/request-example'\nimport {\n getSecurityRequirements,\n getSecuritySchemes,\n getSelectedSecurity,\n getSelectedServer,\n getServers,\n mergeSecurity,\n} from '@scalar/workspace-store/request-example'\nimport type { WorkspaceDocument } from '@scalar/workspace-store/schemas'\nimport { coerceValue } from '@scalar/workspace-store/schemas/typebox-coerce'\nimport type { OperationObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nexport function getOperations(doc: Partial<OpenAPIV3_1.Document>) {\n return Object.values(doc.paths ?? {}).flatMap((path) => Object.values(path ?? {})) as OperationObject[]\n}\n\n/** Flattens all security requirements from a document */\nfunction getSecurityFromDocument(\n documentName: string,\n document: WorkspaceDocument,\n authStore: AuthStore,\n): SecuritySchemeObjectSecret[] {\n const mergedSecurity = mergeSecurity(document?.components?.securitySchemes, {}, authStore, documentName)\n\n const securityRequirements = getSecurityRequirements(document.security)\n\n const selectedSecurity = getSelectedSecurity(\n authStore.getAuthSelectedSchemas({\n type: 'document',\n documentName,\n }),\n undefined,\n securityRequirements,\n )\n\n return getSecuritySchemes(mergedSecurity, selectedSecurity.selectedSchemes)\n}\n\n/** Generate document settings from workspace store */\nexport function createDocumentSettings(workspaceStore: WorkspaceStore) {\n return Object.fromEntries(\n Object.entries(workspaceStore.workspace.documents).map(([key, document]) => {\n const servers = getServers(document.servers, {\n documentUrl: document?.['x-scalar-original-source-url'],\n })\n\n return [\n key,\n {\n activeServer: getSelectedServer(document, null, null, servers),\n securitySchemes: getSecurityFromDocument(key, document, workspaceStore.auth),\n },\n ]\n }),\n )\n}\n\n// Local storage helper instance, safely wrapped.\nconst storage = safeLocalStorage()\n\n/**\n * Provides an interface to store and retrieve authentication scheme\n * information in local storage, including both the available schemes and\n * the user's selected schemes.\n */\nexport const authStorage = () => {\n const getKey = (slug: string) => {\n return `${REFERENCE_LS_KEYS.AUTH}-${slug}`\n }\n\n return {\n /**\n * Retrieves and coerces the authentication schemes stored in local storage.\n */\n getAuth: (slug: string) => {\n const parsed = JSON.parse(storage.getItem(getKey(slug)) ?? '{}')\n return coerceValue(AuthSchema, parsed)\n },\n /**\n * Stores the authentication schemes in local storage.\n * @param value The Auth object to stringify and store.\n */\n setAuth: (slug: string, value: Auth) => {\n storage.setItem(getKey(slug), JSON.stringify(value))\n },\n }\n}\n\n/**\n * Restores authentication secrets from local storage to the workspace store.\n *\n * This function iterates through stored authentication schemes and restores\n * any secret values (keys starting with x-scalar-secret-) to the active\n * document's security schemes. It uses the current security schemes as the\n * source of truth, only restoring secrets for structures that exist in the\n * current document.\n */\nexport const restoreAuthSecretsFromStorage = ({\n documentName,\n workspaceStore,\n}: {\n documentName: string\n workspaceStore: WorkspaceStore\n}): void => {\n const authPersistence = authStorage()\n const auth = authPersistence.getAuth(documentName)\n workspaceStore.auth.load({ [documentName]: auth })\n}\n\nexport function safeParseJson(value: string) {\n try {\n return JSON.parse(value)\n } catch {\n return\n }\n}\n"],"mappings":";;;;;AAkBA,SAAgB,EAAc,GAAoC;AAChE,QAAO,OAAO,OAAO,EAAI,SAAS,EAAE,CAAC,CAAC,SAAS,MAAS,OAAO,OAAO,KAAQ,EAAE,CAAC,CAAC;;AAIpF,SAAS,EACP,GACA,GACA,GAC8B;CAC9B,IAAM,IAAiB,EAAc,GAAU,YAAY,iBAAiB,EAAE,EAAE,GAAW,EAAa,EAElG,IAAuB,EAAwB,EAAS,SAAS;AAWvE,QAAO,EAAmB,GATD,EACvB,EAAU,uBAAuB;EAC/B,MAAM;EACN;EACD,CAAC,EACF,KAAA,GACA,EACD,CAE0D,gBAAgB;;AAI7E,SAAgB,EAAuB,GAAgC;AACrE,QAAO,OAAO,YACZ,OAAO,QAAQ,EAAe,UAAU,UAAU,CAAC,KAAK,CAAC,GAAK,OAKrD,CACL,GACA;EACE,cAAc,EAAkB,GAAU,MAAM,MAPpC,EAAW,EAAS,SAAS,EAC3C,aAAa,IAAW,iCACzB,CAAC,CAKgE;EAC9D,iBAAiB,EAAwB,GAAK,GAAU,EAAe,KAAK;EAC7E,CACF,CACD,CACH;;AAIH,IAAM,IAAU,GAAkB,EAOrB,UAAoB;CAC/B,IAAM,KAAU,MACP,GAAG,EAAkB,KAAK,GAAG;AAGtC,QAAO;EAIL,UAAU,MAED,EAAY,GADJ,KAAK,MAAM,EAAQ,QAAQ,EAAO,EAAK,CAAC,IAAI,KAAK,CAC1B;EAMxC,UAAU,GAAc,MAAgB;AACtC,KAAQ,QAAQ,EAAO,EAAK,EAAE,KAAK,UAAU,EAAM,CAAC;;EAEvD;GAYU,KAAiC,EAC5C,iBACA,wBAIU;CAEV,IAAM,IADkB,GAAa,CACR,QAAQ,EAAa;AAClD,GAAe,KAAK,KAAK,GAAG,IAAe,GAAM,CAAC;;AAGpD,SAAgB,EAAc,GAAe;AAC3C,KAAI;AACF,SAAO,KAAK,MAAM,EAAM;SAClB;AACN"}
|
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.
|
|
13
|
+
"version": "0.10.1",
|
|
14
14
|
"engines": {
|
|
15
15
|
"node": ">=22"
|
|
16
16
|
},
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"@scalar/workspace-store": "workspace:*",
|
|
62
62
|
"@vueuse/core": "catalog:*",
|
|
63
63
|
"ai": "catalog:*",
|
|
64
|
+
"js-base64": "catalog:*",
|
|
64
65
|
"neverpanic": "catalog:*",
|
|
65
66
|
"truncate-json": "catalog:*",
|
|
66
67
|
"vue": "catalog:*",
|
package/dist/style.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.authenticationProvided[data-v-e3416cd5]{color:var(--scalar-color-1);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.authenticationRequired[data-v-d15ef40b]{color:var(--scalar-color-blue);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.askForAuthentication[data-v-6fbfc976]{border-top:var(--scalar-border-width) solid var(--scalar-border-color);border-bottom:var(--scalar-border-width) solid var(--scalar-border-color);width:100%;box-shadow:0 var(--scalar-border-width) 0 var(--scalar-background-1), 0 calc(-1 * var(--scalar-border-width)) 0 var(--scalar-background-1);flex-direction:column;margin-bottom:12px;padding:0;display:flex;position:relative}.authContent[data-v-6fbfc976]{grid-template-rows:0fr;width:100%;max-width:520px;min-height:0;margin:auto;transition:grid-template-rows .2s ease-out;display:grid;overflow:hidden}.authContentInner[data-v-6fbfc976]>div{margin:36px 0 48px}.authContent[data-v-6fbfc976] .markdown{margin-bottom:0!important}.askForAuthentication.open .authContent[data-v-6fbfc976]{grid-template-rows:1fr}.continueButton[data-v-6fbfc976]{align-self:flex-end}.toggleButton[data-v-6fbfc976]{cursor:pointer;text-align:left;color:var(--scalar-color-3);border-radius:var(--scalar-radius-lg);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex;position:relative}.authContentInner[data-v-6fbfc976]{min-height:0;overflow:hidden}.authorizeButton[data-v-6fbfc976]{z-index:1;gap:5px;display:flex;background:var(--scalar-color-blue)!important;color:#fff!important;margin:0!important}.autosendPaused[data-v-d08225db]{color:var(--scalar-color-blue);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.playIcon[data-v-5749c429]{z-index:1;background:var(--scalar-background-1);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:4px;display:flex;position:relative}.playIcon[data-v-5749c429]:before{content:"";box-sizing:border-box;border:1.75px solid;border-bottom-color:#0000;border-image:initial;background:var(--scalar-background-1);border-radius:50%;width:16px;height:16px;animation:.42s linear infinite rotation-5749c429;display:inline-block;position:absolute}.buildingRequest[data-v-5749c429]{color:var(--scalar-color-blue);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.buildingRequest svg[data-v-5749c429]{z-index:1;border-radius:50%;width:100%;height:100%}@keyframes rotation-5749c429{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.requestApproved[data-v-bb311586]{color:var(--scalar-color-green);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.requestFailed[data-v-bc27e533]{color:var(--scalar-color-red);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.requestFailedIcon[data-v-bc27e533]{border-radius:50%;width:16px;height:16px;padding:4px;box-shadow:inset 0 0 0 1.5px}.requestRejected[data-v-9803a54c]{color:var(--scalar-color-red);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.requestSuccess[data-v-acc2c0d8]{color:var(--scalar-color-1);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.light-mode .bg-preview[data-v-92f84612]{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")}.dark-mode .bg-preview[data-v-92f84612]{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")}.playIcon[data-v-65dc6dfb]{z-index:1;background:var(--scalar-background-1);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:4px;display:flex;position:relative}.playIcon[data-v-65dc6dfb]:before{content:"";box-sizing:border-box;border:1.75px solid;border-bottom-color:#0000;border-image:initial;background:var(--scalar-background-1);border-radius:50%;width:16px;height:16px;animation:.42s linear infinite rotation-65dc6dfb;display:inline-block;position:absolute}.sendingRequest[data-v-65dc6dfb]{color:var(--scalar-color-blue);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.sendingRequest svg[data-v-65dc6dfb]{z-index:1;border-radius:50%;width:100%;height:100%}@keyframes rotation-65dc6dfb{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.requestHeaderContainer[data-v-0eb5f95d]{justify-content:space-between;align-items:center;padding:0 5px;display:flex}.requestPreview[data-v-0eb5f95d]{border-radius:12px;flex-direction:column;width:100%;display:flex;position:relative}.requestContent[data-v-0eb5f95d]{grid-template-rows:0fr;min-height:0;transition:grid-template-rows .2s ease-out;display:grid;overflow:hidden}.requestPreview.open .requestContent[data-v-0eb5f95d]{grid-template-rows:1fr}.requestPreview.succeeded[data-v-0eb5f95d]{padding:0}.requestContentInner[data-v-0eb5f95d]{min-height:0;overflow:hidden}.code[data-v-0eb5f95d]{font-size:var(--scalar-font-size-4);background:color-mix(in srgb, var(--scalar-background-2), var(--scalar-background-1));border-radius:12px;flex-direction:column;margin-bottom:12px;display:flex;overflow:hidden}.dark-mode .code[data-v-0eb5f95d]{background:var(--scalar-background-2)}.code h1[data-v-0eb5f95d]{font-size:var(--scalar-font-size-3);color:var(--scalar-color-3);padding:8px}.code[data-v-0eb5f95d] .codeBlock{max-height:calc(50vh - 100px);padding-top:0}.autosendContainer[data-v-0eb5f95d]{justify-content:space-between;display:flex}.sendButton[data-v-0eb5f95d]{background:var(--scalar-color-blue);color:#fff;font-weight:var(--scalar-semibold);padding:5px 10px}.sendButton[data-v-0eb5f95d]:hover,.sendButton[data-v-0eb5f95d]:active{background:color-mix(in srgb, var(--scalar-color-blue), black 10%);color:#fff!important}.toggleButton[data-v-0eb5f95d]{cursor:pointer;text-align:left;color:var(--scalar-color-3);border-radius:var(--scalar-radius-lg);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex;position:relative}.toggleButton[data-v-0eb5f95d]:hover{text-decoration:underline}.executeRequestTool[data-v-3e825a81]{border-top:var(--scalar-border-width) solid var(--scalar-border-color);border-bottom:var(--scalar-border-width) solid var(--scalar-border-color);box-shadow:0 var(--scalar-border-width) 0 var(--scalar-background-1), 0 calc(-1 * var(--scalar-border-width)) 0 var(--scalar-background-1);flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.tool[data-v-3e825a81]{border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:15px;margin-bottom:20px;padding:15px}.playIcon[data-v-9d9724d2]{z-index:1;background:var(--scalar-background-1);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:4px;display:flex;position:relative}.playIcon[data-v-9d9724d2]:before{content:"";box-sizing:border-box;border:1.5px solid;border-bottom-color:#0000;border-image:initial;background:var(--scalar-background-1);border-radius:50%;width:16px;height:16px;animation:.42s linear infinite rotation-9d9724d2;display:inline-block;position:absolute}.loadingApiSpecs[data-v-9d9724d2]{color:var(--scalar-color-2);font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3);align-items:center;gap:6px;margin-bottom:10px;display:flex}.loadingApiSpecs svg[data-v-9d9724d2]{z-index:1;border-radius:50%;width:100%;height:100%}@keyframes rotation-9d9724d2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contextItem[data-v-e6786ce3]{white-space:nowrap;color:var(--scalar-color-2);cursor:pointer;vertical-align:middle;background:color-mix(in srgb, var(--scalar-background-2), var(--scalar-background-1));border-radius:12px;align-items:center;max-width:200px;padding:5px 10px;font-size:10px;display:flex}.contextItemText[data-v-e6786ce3]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shimmer[data-v-e6786ce3]{background:var(--scalar-background-2);background-image:linear-gradient(90deg, #202020 0%, var(--scalar-background-2) 40%, var(--scalar-background-3) 80%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer-e6786ce3}.light-mode .shimmer[data-v-e6786ce3]{background:var(--scalar-background-2);background-image:linear-gradient(90deg, #fafafa 0%, var(--scalar-background-2) 40%, var(--scalar-background-3) 80%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer-e6786ce3}@keyframes shimmer-e6786ce3{0%{background-position:200% 0}to{background-position:-200% 0}}.playIcon[data-v-6e0ac42c]{z-index:1;background:var(--scalar-background-1);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:4px;display:flex;position:relative}.playIcon[data-v-6e0ac42c]:before{content:"";box-sizing:border-box;border:1.5px solid;border-bottom-color:#0000;border-image:initial;background:var(--scalar-background-1);border-radius:50%;width:16px;height:16px;animation:.42s linear infinite rotation-6e0ac42c;display:inline-block;position:absolute}.sendingRequest[data-v-6e0ac42c]{color:var(--scalar-color-2);font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3);align-items:center;gap:6px;margin-bottom:10px;display:flex}.sendingRequest svg[data-v-6e0ac42c]{z-index:1;border-radius:50%;width:100%;height:100%}@keyframes rotation-6e0ac42c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.operations[data-v-43dd2b86]{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:12px;display:flex}.operations[data-v-43dd2b86]:empty{margin-bottom:-12px}.overflowPopover[data-v-43dd2b86]{flex-direction:column;gap:5px;padding:8px;display:flex}.catalogModal .scalar-modal-body{flex-direction:column;display:flex}.searchInput[data-v-bc24f891]{border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:var(--scalar-radius-lg);margin-bottom:10px}.catalog[data-v-bc24f891]{font-size:var(--scalar-font-size-3);grid-template-columns:1fr 1fr;gap:10px;display:grid;overflow-y:scroll}.item[data-v-bc24f891]{background-color:var(--scalar-background-2);border-radius:var(--scalar-radius-lg);align-items:center;gap:10px;padding:15px;transition:background-color .16s;display:flex}.item[data-v-bc24f891]:hover{background-color:color-mix(in srgb, var(--scalar-background-3), transparent 40%)!important}.left[data-v-bc24f891]{align-items:center}.right[data-v-bc24f891]{flex-direction:column;display:flex}.logo[data-v-bc24f891]{width:25px}.item-top[data-v-bc24f891]{gap:10px;display:flex}.version[data-v-bc24f891]{background:var(--scalar-background-3);border-radius:var(--scalar-radius);font-size:var(--scalar-font-size-5);color:var(--scalar-color-3);padding:2px 5px}.description[data-v-bc24f891]{color:var(--scalar-color-2)}.dropdown-item[data-v-2d142bb5]{align-items:center;gap:10px;display:flex}.approvalSection[data-v-a7e6c699]{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 95%);border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;width:100%;margin-bottom:-16px;padding:8px 8px 24px 12px;display:flex;position:absolute;top:0;transform:translateY(calc(16px - 100%))}.approvalText[data-v-a7e6c699]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3)}.approveContainer[data-v-a7e6c699]{gap:5px;display:flex}.actionButton[data-v-a7e6c699]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3);border-radius:50px;align-items:center;padding:6px 12px;display:flex}.rejectButton[data-v-a7e6c699]{color:#fff;background:var(--scalar-color-red)}.rejectButton[data-v-a7e6c699]:hover,.rejectButton[data-v-a7e6c699]:active{background:color-mix(in srgb, var(--scalar-color-red), var(--scalar-background-1) 10%);color:#fff!important}.approveButton[data-v-a7e6c699]{color:#fff;background:var(--scalar-color-blue)}.approveButton[data-v-a7e6c699]:hover,.approveButton[data-v-a7e6c699]:active{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 10%);color:#fff!important}.error[data-v-63a481da]{border:var(--scalar-border-width) solid var(--scalar-border-color);background:color-mix(in srgb, var(--scalar-color-red), var(--scalar-background-1) 95%);font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3);border-radius:16px 16px 0 0;align-items:center;margin-bottom:-16px;padding:8px 8px 24px 12px;display:flex;position:absolute;top:0;transform:translateY(calc(16px - 100%))}.freeMessagesInfoSection[data-v-913a3815]{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 95%);border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;width:100%;margin-bottom:-16px;padding:8px 8px 24px 12px;display:flex;position:relative}.infoText[data-v-913a3815]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3)}.actionsContainer[data-v-913a3815]{align-items:center;gap:8px;display:flex}.actionButton[data-v-913a3815]{font-weight:var(--scalar-semibold);border-radius:50px;align-items:center;padding:6px 12px;display:flex}.upgradeButton[data-v-913a3815]{color:#fff;font-size:var(--scalar-font-size-3);background:var(--scalar-color-blue)}.upgradeButton[data-v-913a3815]:hover,.upgradeButton[data-v-913a3815]:active{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 10%);color:#fff!important}.closeButton[data-v-913a3815]{width:28px;height:28px;color:var(--scalar-color-2);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.closeButton[data-v-913a3815]:hover{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 80%);color:var(--scalar-color-1)}.paymentSection[data-v-91e028d5]{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 95%);border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;width:100%;margin-bottom:-16px;padding:8px 8px 24px 12px;display:flex;position:absolute;top:0;transform:translateY(calc(16px - 100%))}.approvalText[data-v-91e028d5]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3)}.paymentContainer[data-v-91e028d5]{gap:5px;display:flex}.actionButton[data-v-91e028d5]{font-weight:var(--scalar-semibold);border-radius:50px;align-items:center;padding:6px 12px;display:flex}.rejectButton[data-v-91e028d5]{color:#fff;background:var(--scalar-color-red)}.rejectButton[data-v-91e028d5]:hover,.rejectButton[data-v-91e028d5]:active{background:color-mix(in srgb, var(--scalar-color-red), var(--scalar-background-1) 10%);color:#fff!important}.approveButton[data-v-91e028d5]{color:#fff;font-size:var(--scalar-font-size-3);background:var(--scalar-color-blue)}.approveButton[data-v-91e028d5]:hover,.approveButton[data-v-91e028d5]:active{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 10%);color:#fff!important}.paymentInfo[data-v-91e028d5]{width:300px;box-shadow:var(--scalar-shadow-2);background:var(--scalar-background-1);pointer-events:none;opacity:0;border-radius:16px;padding:12px;transition:all .2s ease-in-out;position:absolute;bottom:70px;right:0;transform:translateY(-5px)}.paymentInfo h3[data-v-91e028d5]{font-size:var(--scalar-font-size-1);font-weight:var(--scalar-bold);margin-bottom:18px}.paymentInfo h3 span[data-v-91e028d5]{font-size:var(--scalar-font-size-2)}.dark-mode .paymentInfo[data-v-91e028d5]{background:var(--scalar-background-2)}.paymentContainer:hover .paymentInfo[data-v-91e028d5]{opacity:1;transform:translate(0,0)}.paymentInfoItem[data-v-91e028d5]{font-size:var(--scalar-font-size-3);color:var(--scalar-color-2);font-weight:var(--scalar-semibold);justify-content:space-between;margin-top:8px;display:flex}.paymentInfoSection[data-v-91e028d5]:not(:last-child){border-bottom:var(--scalar-border-width) solid var(--scalar-border-color);padding-bottom:8px}.searchItem[data-v-7945f74c]{font-size:var(--scalar-font-size-3);align-items:center;gap:9px;padding:8px 10px;display:flex}.searchInput[data-v-7945f74c]{margin-bottom:5px}.searchItem[data-v-7945f74c]:hover{background:var(--scalar-background-2)}.searchItemLogo[data-v-7945f74c]{width:15px}.searchIcon[data-v-7945f74c]{margin-right:7px}.searchResultsEmpty[data-v-7945f74c]{font-size:var(--scalar-font-size-3);color:var(--scalar-color-2);margin:10px}.uploadSection[data-v-9551cf83]{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 95%);border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;width:100%;margin-bottom:-16px;padding:8px 8px 24px 12px;display:flex;position:absolute;top:0;transform:translateY(calc(16px - 100%))}.uploadSection.error[data-v-9551cf83]{background:color-mix(in srgb, var(--scalar-color-red), var(--scalar-background-1) 95%)}.uploadSection.done[data-v-9551cf83]{background:color-mix(in srgb, var(--scalar-color-green), var(--scalar-background-1) 95%)}.uploadText[data-v-9551cf83]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3)}.icon[data-v-9551cf83]{width:20px;height:20px}.actionContainer[data-v-e7c7c266]{background:color-mix(in srgb, var(--scalar-background-2), var(--scalar-background-1));border:var(--scalar-border-width) solid var(--scalar-border-color);width:100%;box-shadow:0 24px 0 2px var(--scalar-background-1);border-radius:16px;position:relative}.promptForm[data-v-e7c7c266]{background:var(--scalar-background-1);width:100%;box-shadow:var(--scalar-shadow-1), 0 0 0 var(--scalar-border-width) var(--scalar-border-color);border-radius:16px;flex-direction:column;display:flex;position:relative}.inputActionsContainer[data-v-e7c7c266]{justify-content:space-between;padding:0 8px 8px;display:flex}.inputActionsLeft[data-v-e7c7c266]{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.inputActionsRight[data-v-e7c7c266]{gap:5px;display:flex;position:relative}.apiPill[data-v-e7c7c266]{font-size:var(--scalar-font-size-3);border:var(--scalar-border-width) solid var(--scalar-border-color);color:var(--scalar-color-2);font-weight:var(--scalar-semibold);pointer-events:all;z-index:1;-webkit-user-select:none;user-select:none;border-radius:16px;align-items:center;gap:4px;height:28px;padding:0 8px;display:flex}.apiPillLogo[data-v-e7c7c266]{width:15px}.apiPillRemove[data-v-e7c7c266]{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-right:-6px;display:flex}.apiPill:hover .apiPillRemove[data-v-e7c7c266]{background:var(--scalar-background-2)}.dark-mode .apiPill:hover .apiPillRemove[data-v-e7c7c266]{background:var(--scalar-background-3)}.apiPillRemove[data-v-e7c7c266]:hover{color:var(--scalar-color-1)}.prompt[data-v-e7c7c266]{resize:none;field-sizing:content;z-index:1;scrollbar-width:thin;word-wrap:break-word;width:100%;max-width:100%;min-height:64px;max-height:250px;font-family:var(--scalar-font);border:none;outline:none;padding:12px 12px 14px;font-size:16px;overflow-y:auto}.dark-mode .promptForm[data-v-e7c7c266]{background:var(--scalar-background-2)}.prompt[data-v-e7c7c266]:disabled{color:var(--scalar-color-3)}.addAPIButton[data-v-e7c7c266]{color:var(--scalar-color-2);font-size:var(--scalar-font-size-3);width:28px;height:28px;font-weight:var(--scalar-bold);pointer-events:all;z-index:1;box-shadow:0 0 0 var(--scalar-border-width) var(--scalar-border-color);border-radius:100%;justify-content:center;align-items:center;gap:4px;display:flex}.addAPIButton[data-v-e7c7c266]:hover{background:color-mix(in srgb, var(--scalar-background-2), var(--scalar-background-1));box-shadow:0 0 0 var(--scalar-border-width) var(--scalar-border-color)}.dark-mode .addAPIButton[data-v-e7c7c266]:hover{background:var(--scalar-background-3)}.settingsButton[data-v-e7c7c266]{z-index:1;color:var(--scalar-color-3)!important;border-radius:50%!important;margin:0!important}.settingsButton[aria-disabled=true][data-v-e7c7c266]{background:var(--scalar-background-2)}.dark-mode .settingsButton[data-v-e7c7c266]:hover{background:var(--scalar-background-3)}.sendButton[data-v-e7c7c266]{z-index:1;border:var(--scalar-border-width) solid var(--scalar-color-blue);background:var(--scalar-color-blue)!important;border-radius:50%!important;margin:0!important}.sendButton[data-v-e7c7c266]:not([aria-disabled=true]){color:#fff!important}.sendButton[data-v-e7c7c266]:not([aria-disabled=true]):hover{background:color-mix(in srgb, var(--scalar-color-blue), transparent 10%)!important}.sendButton[aria-disabled=true][data-v-e7c7c266]{border:var(--scalar-border-width) solid var(--scalar-border-color);background:var(--scalar-background-2)!important;color:var(--scalar-color-3)!important}.dark-mode .sendButton[aria-disabled=true][data-v-e7c7c266]{background:var(--scalar-background-3)!important}.contextContainer[data-v-e7c7c266]{width:100%;color:var(--scalar-color-2);font-size:var(--scalar-font-size-3);-webkit-user-select:none;user-select:none;justify-content:space-between;padding:10px 12px 12px;display:flex}.settingsButton[data-v-e7c7c266]{font-weight:var(--scalar-semibold);border-radius:var(--scalar-radius-lg);margin:-4px -6px;padding:4px 6px}.settingsButton[data-v-e7c7c266]:hover{background:var(--scalar-background-2);box-shadow:0 0 var(--scalar-border-width) 0 var(--scalar-border-color);cursor:pointer}.agentLabel[data-v-e7c7c266]{cursor:text;width:100%;height:100%;font-size:0;position:absolute}.sendCheckboxContinue[data-v-e7c7c266]:has(input){background:var(--scalar-background-2);box-shadow:0 0 0 1.5px var(--scalar-background-2);color:var(--scalar-color-2);font-size:var(--scalar-font-size-3);font-weight:var(--scalar-semibold);-webkit-user-select:none;user-select:none;border-radius:14px;align-items:center;height:28px;display:flex}.dark-mode .sendCheckboxContinue[data-v-e7c7c266]:has(input){background:var(--scalar-background-3);box-shadow:0 0 0 1.5px var(--scalar-background-3)}.addMoreContext[data-v-e7c7c266]{height:40px;font-size:var(--scalar-font-size-3);color:var(--scalar-color-3);align-items:center;padding:0 8px 0 12px;display:flex;position:relative}.addMoreContext[data-v-e7c7c266]:before{content:"";background:color-mix(in srgb, var(--scalar-background-1), var(--scalar-background-2));width:8px;height:8px;box-shadow:-.5px -.5px 0 var(--scalar-border-color), inset .5px .5px 1px var(--scalar-border-color);position:absolute;top:-3px;left:18px;transform:rotate(45deg)}.dark-mode .addMoreContext[data-v-e7c7c266]:before{box-shadow:-.5px -.5px 0 var(--scalar-border-color)}.addAPIContext[data-v-e7c7c266]{border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.termsAgree[data-v-e7c7c266]{cursor:pointer;height:inherit;border-radius:14px;align-items:center;gap:5px;margin:0 5px;display:flex}.termsAgree[data-v-e7c7c266]:hover{color:var(--scalar-color-1)}.termsAgree:hover .termsAgreeIcon[data-v-e7c7c266]{background:var(--scalar-color-1);color:var(--scalar-background-1)}.termsAgreeIcon[data-v-e7c7c266]{width:inherit;height:inherit;background:var(--scalar-background-2);border-radius:50%;padding:2px}.chat[data-v-8e43ed7a]{flex-direction:column;flex:1;width:100%;max-width:744px;padding:24px 0;display:flex}.userMessage[data-v-8e43ed7a]{padding-top:6px;padding-bottom:6px;background:var(--scalar-background-2);width:fit-content;max-width:80%;color:var(--scalar-color-1);border-radius:18px;margin-bottom:12px;margin-left:auto;padding-inline:16px;font-size:16px;line-height:24px}div+.userMessage[data-v-8e43ed7a]{margin-top:64px}.chat[data-v-8e43ed7a]>div:has(.executeRequestTool)+div:has(.executeRequestTool){margin-top:-12px}.spacer[data-v-8e43ed7a]{width:100%;min-height:280px}.formContainer[data-v-8e43ed7a]{z-index:1;width:100%;max-width:744px;position:fixed;bottom:20px}.chat[data-v-8e43ed7a] .markdown{margin-bottom:12px}.agentLogo[data-v-56f7e8dd]{margin-bottom:15px}.startContainer[data-v-56f7e8dd]{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:720px;height:100%;display:flex;position:relative}.heading[data-v-56f7e8dd]{font-size:1.5rem;font-weight:var(--scalar-font-bold);margin-bottom:50px}.disclaimerText[data-v-56f7e8dd]{text-align:center;color:var(--scalar-color-3);font-size:var(--scalar-font-size-3);text-wrap:balance;margin-top:40px;line-height:1.44}.disclaimerLink[data-v-56f7e8dd]{text-decoration:underline}.wrapper[data-v-f1eee0af]{flex-direction:column;align-items:center;width:100%;height:100%;display:flex}.docSettings[data-v-31f052ad]{font-size:var(--scalar-font-size-3);flex-direction:column;gap:12px;max-height:600px;margin-bottom:12px;display:flex}.documentName[data-v-31f052ad]{font-weight:var(--scalar-semibold)}.settingsModal .scalar-modal-layout{z-index:10!important}.settingsModal .scalar-modal-body{overflow:hidden auto}.documentList[data-v-5e4bca68]{font-size:var(--scalar-font-size-3);flex-direction:column;margin-bottom:12px;display:flex}.document[data-v-5e4bca68]{border-top:var(--scalar-border-width) solid var(--scalar-border-color);border-bottom:var(--scalar-border-width) solid var(--scalar-border-color);flex-direction:column;width:calc(100% + 24px);padding:0 12px;display:flex;position:relative;left:-12px}.document[data-v-5e4bca68]:first-of-type:not(:last-of-type){border-bottom:none}.documentName[data-v-5e4bca68]{font-weight:var(--scalar-semibold);color:var(--scalar-color-2);align-items:center;gap:4px;padding:12px 0;display:flex}.documentNameActive[data-v-5e4bca68]{color:var(--scalar-color-1)}.settingsHeading[data-v-5e4bca68]{font-size:19px;font-weight:var(--scalar-semibold);align-items:center;gap:5px;margin-bottom:12px;display:flex}.proxyUrlContainer[data-v-5e4bca68]{font-size:var(--scalar-font-size-3);flex-direction:column;gap:5px;display:flex}.proxyUrlContainer label[data-v-5e4bca68]{font-weight:var(--scalar-semibold)}.noDocuments[data-v-5e4bca68]{color:var(--scalar-color-2);margin-bottom:10px}
|
|
1
|
+
.authenticationProvided[data-v-e3416cd5]{color:var(--scalar-color-1);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.authenticationRequired[data-v-d15ef40b]{color:var(--scalar-color-blue);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.askForAuthentication[data-v-fd5c15f7]{border-top:var(--scalar-border-width) solid var(--scalar-border-color);border-bottom:var(--scalar-border-width) solid var(--scalar-border-color);width:100%;box-shadow:0 var(--scalar-border-width) 0 var(--scalar-background-1), 0 calc(-1 * var(--scalar-border-width)) 0 var(--scalar-background-1);flex-direction:column;margin-bottom:12px;padding:0;display:flex;position:relative}.authContent[data-v-fd5c15f7]{grid-template-rows:0fr;width:100%;max-width:520px;min-height:0;margin:auto;transition:grid-template-rows .2s ease-out;display:grid;overflow:hidden}.authContentInner[data-v-fd5c15f7]>div{margin:36px 0 48px}.authContent[data-v-fd5c15f7] .markdown{margin-bottom:0!important}.askForAuthentication.open .authContent[data-v-fd5c15f7]{grid-template-rows:1fr}.continueButton[data-v-fd5c15f7]{align-self:flex-end}.toggleButton[data-v-fd5c15f7]{cursor:pointer;text-align:left;color:var(--scalar-color-3);border-radius:var(--scalar-radius-lg);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex;position:relative}.authContentInner[data-v-fd5c15f7]{min-height:0;overflow:hidden}.authorizeButton[data-v-fd5c15f7]{z-index:1;gap:5px;display:flex;background:var(--scalar-color-blue)!important;color:#fff!important;margin:0!important}.autosendPaused[data-v-d08225db]{color:var(--scalar-color-blue);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.playIcon[data-v-5749c429]{z-index:1;background:var(--scalar-background-1);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:4px;display:flex;position:relative}.playIcon[data-v-5749c429]:before{content:"";box-sizing:border-box;border:1.75px solid;border-bottom-color:#0000;border-image:initial;background:var(--scalar-background-1);border-radius:50%;width:16px;height:16px;animation:.42s linear infinite rotation-5749c429;display:inline-block;position:absolute}.buildingRequest[data-v-5749c429]{color:var(--scalar-color-blue);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.buildingRequest svg[data-v-5749c429]{z-index:1;border-radius:50%;width:100%;height:100%}@keyframes rotation-5749c429{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.requestApproved[data-v-bb311586]{color:var(--scalar-color-green);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.requestFailed[data-v-bc27e533]{color:var(--scalar-color-red);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.requestFailedIcon[data-v-bc27e533]{border-radius:50%;width:16px;height:16px;padding:4px;box-shadow:inset 0 0 0 1.5px}.requestRejected[data-v-9803a54c]{color:var(--scalar-color-red);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.requestSuccess[data-v-acc2c0d8]{color:var(--scalar-color-1);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.light-mode .bg-preview[data-v-92f84612]{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")}.dark-mode .bg-preview[data-v-92f84612]{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")}.playIcon[data-v-65dc6dfb]{z-index:1;background:var(--scalar-background-1);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:4px;display:flex;position:relative}.playIcon[data-v-65dc6dfb]:before{content:"";box-sizing:border-box;border:1.75px solid;border-bottom-color:#0000;border-image:initial;background:var(--scalar-background-1);border-radius:50%;width:16px;height:16px;animation:.42s linear infinite rotation-65dc6dfb;display:inline-block;position:absolute}.sendingRequest[data-v-65dc6dfb]{color:var(--scalar-color-blue);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);align-items:center;gap:6px;display:flex;position:relative}.sendingRequest svg[data-v-65dc6dfb]{z-index:1;border-radius:50%;width:100%;height:100%}@keyframes rotation-65dc6dfb{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.requestHeaderContainer[data-v-0eb5f95d]{justify-content:space-between;align-items:center;padding:0 5px;display:flex}.requestPreview[data-v-0eb5f95d]{border-radius:12px;flex-direction:column;width:100%;display:flex;position:relative}.requestContent[data-v-0eb5f95d]{grid-template-rows:0fr;min-height:0;transition:grid-template-rows .2s ease-out;display:grid;overflow:hidden}.requestPreview.open .requestContent[data-v-0eb5f95d]{grid-template-rows:1fr}.requestPreview.succeeded[data-v-0eb5f95d]{padding:0}.requestContentInner[data-v-0eb5f95d]{min-height:0;overflow:hidden}.code[data-v-0eb5f95d]{font-size:var(--scalar-font-size-4);background:color-mix(in srgb, var(--scalar-background-2), var(--scalar-background-1));border-radius:12px;flex-direction:column;margin-bottom:12px;display:flex;overflow:hidden}.dark-mode .code[data-v-0eb5f95d]{background:var(--scalar-background-2)}.code h1[data-v-0eb5f95d]{font-size:var(--scalar-font-size-3);color:var(--scalar-color-3);padding:8px}.code[data-v-0eb5f95d] .codeBlock{max-height:calc(50vh - 100px);padding-top:0}.autosendContainer[data-v-0eb5f95d]{justify-content:space-between;display:flex}.sendButton[data-v-0eb5f95d]{background:var(--scalar-color-blue);color:#fff;font-weight:var(--scalar-semibold);padding:5px 10px}.sendButton[data-v-0eb5f95d]:hover,.sendButton[data-v-0eb5f95d]:active{background:color-mix(in srgb, var(--scalar-color-blue), black 10%);color:#fff!important}.toggleButton[data-v-0eb5f95d]{cursor:pointer;text-align:left;color:var(--scalar-color-3);border-radius:var(--scalar-radius-lg);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex;position:relative}.toggleButton[data-v-0eb5f95d]:hover{text-decoration:underline}.executeRequestTool[data-v-3e825a81]{border-top:var(--scalar-border-width) solid var(--scalar-border-color);border-bottom:var(--scalar-border-width) solid var(--scalar-border-color);box-shadow:0 var(--scalar-border-width) 0 var(--scalar-background-1), 0 calc(-1 * var(--scalar-border-width)) 0 var(--scalar-background-1);flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.tool[data-v-3e825a81]{border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:15px;margin-bottom:20px;padding:15px}.playIcon[data-v-9d9724d2]{z-index:1;background:var(--scalar-background-1);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:4px;display:flex;position:relative}.playIcon[data-v-9d9724d2]:before{content:"";box-sizing:border-box;border:1.5px solid;border-bottom-color:#0000;border-image:initial;background:var(--scalar-background-1);border-radius:50%;width:16px;height:16px;animation:.42s linear infinite rotation-9d9724d2;display:inline-block;position:absolute}.loadingApiSpecs[data-v-9d9724d2]{color:var(--scalar-color-2);font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3);align-items:center;gap:6px;margin-bottom:10px;display:flex}.loadingApiSpecs svg[data-v-9d9724d2]{z-index:1;border-radius:50%;width:100%;height:100%}@keyframes rotation-9d9724d2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contextItem[data-v-e6786ce3]{white-space:nowrap;color:var(--scalar-color-2);cursor:pointer;vertical-align:middle;background:color-mix(in srgb, var(--scalar-background-2), var(--scalar-background-1));border-radius:12px;align-items:center;max-width:200px;padding:5px 10px;font-size:10px;display:flex}.contextItemText[data-v-e6786ce3]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shimmer[data-v-e6786ce3]{background:var(--scalar-background-2);background-image:linear-gradient(90deg, #202020 0%, var(--scalar-background-2) 40%, var(--scalar-background-3) 80%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer-e6786ce3}.light-mode .shimmer[data-v-e6786ce3]{background:var(--scalar-background-2);background-image:linear-gradient(90deg, #fafafa 0%, var(--scalar-background-2) 40%, var(--scalar-background-3) 80%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer-e6786ce3}@keyframes shimmer-e6786ce3{0%{background-position:200% 0}to{background-position:-200% 0}}.playIcon[data-v-6e0ac42c]{z-index:1;background:var(--scalar-background-1);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:4px;display:flex;position:relative}.playIcon[data-v-6e0ac42c]:before{content:"";box-sizing:border-box;border:1.5px solid;border-bottom-color:#0000;border-image:initial;background:var(--scalar-background-1);border-radius:50%;width:16px;height:16px;animation:.42s linear infinite rotation-6e0ac42c;display:inline-block;position:absolute}.sendingRequest[data-v-6e0ac42c]{color:var(--scalar-color-2);font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3);align-items:center;gap:6px;margin-bottom:10px;display:flex}.sendingRequest svg[data-v-6e0ac42c]{z-index:1;border-radius:50%;width:100%;height:100%}@keyframes rotation-6e0ac42c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.operations[data-v-43dd2b86]{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:12px;display:flex}.operations[data-v-43dd2b86]:empty{margin-bottom:-12px}.overflowPopover[data-v-43dd2b86]{flex-direction:column;gap:5px;padding:8px;display:flex}.catalogModal .scalar-modal-body{flex-direction:column;display:flex}.searchInput[data-v-bc24f891]{border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:var(--scalar-radius-lg);margin-bottom:10px}.catalog[data-v-bc24f891]{font-size:var(--scalar-font-size-3);grid-template-columns:1fr 1fr;gap:10px;display:grid;overflow-y:scroll}.item[data-v-bc24f891]{background-color:var(--scalar-background-2);border-radius:var(--scalar-radius-lg);align-items:center;gap:10px;padding:15px;transition:background-color .16s;display:flex}.item[data-v-bc24f891]:hover{background-color:color-mix(in srgb, var(--scalar-background-3), transparent 40%)!important}.left[data-v-bc24f891]{align-items:center}.right[data-v-bc24f891]{flex-direction:column;display:flex}.logo[data-v-bc24f891]{width:25px}.item-top[data-v-bc24f891]{gap:10px;display:flex}.version[data-v-bc24f891]{background:var(--scalar-background-3);border-radius:var(--scalar-radius);font-size:var(--scalar-font-size-5);color:var(--scalar-color-3);padding:2px 5px}.description[data-v-bc24f891]{color:var(--scalar-color-2)}.dropdown-item[data-v-2d142bb5]{align-items:center;gap:10px;display:flex}.approvalSection[data-v-a7e6c699]{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 95%);border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;width:100%;margin-bottom:-16px;padding:8px 8px 24px 12px;display:flex;position:absolute;top:0;transform:translateY(calc(16px - 100%))}.approvalText[data-v-a7e6c699]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3)}.approveContainer[data-v-a7e6c699]{gap:5px;display:flex}.actionButton[data-v-a7e6c699]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3);border-radius:50px;align-items:center;padding:6px 12px;display:flex}.rejectButton[data-v-a7e6c699]{color:#fff;background:var(--scalar-color-red)}.rejectButton[data-v-a7e6c699]:hover,.rejectButton[data-v-a7e6c699]:active{background:color-mix(in srgb, var(--scalar-color-red), var(--scalar-background-1) 10%);color:#fff!important}.approveButton[data-v-a7e6c699]{color:#fff;background:var(--scalar-color-blue)}.approveButton[data-v-a7e6c699]:hover,.approveButton[data-v-a7e6c699]:active{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 10%);color:#fff!important}.error[data-v-63a481da]{border:var(--scalar-border-width) solid var(--scalar-border-color);background:color-mix(in srgb, var(--scalar-color-red), var(--scalar-background-1) 95%);font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3);border-radius:16px 16px 0 0;align-items:center;margin-bottom:-16px;padding:8px 8px 24px 12px;display:flex;position:absolute;top:0;transform:translateY(calc(16px - 100%))}.freeMessagesInfoSection[data-v-913a3815]{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 95%);border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;width:100%;margin-bottom:-16px;padding:8px 8px 24px 12px;display:flex;position:relative}.infoText[data-v-913a3815]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3)}.actionsContainer[data-v-913a3815]{align-items:center;gap:8px;display:flex}.actionButton[data-v-913a3815]{font-weight:var(--scalar-semibold);border-radius:50px;align-items:center;padding:6px 12px;display:flex}.upgradeButton[data-v-913a3815]{color:#fff;font-size:var(--scalar-font-size-3);background:var(--scalar-color-blue)}.upgradeButton[data-v-913a3815]:hover,.upgradeButton[data-v-913a3815]:active{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 10%);color:#fff!important}.closeButton[data-v-913a3815]{width:28px;height:28px;color:var(--scalar-color-2);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.closeButton[data-v-913a3815]:hover{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 80%);color:var(--scalar-color-1)}.paymentSection[data-v-91e028d5]{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 95%);border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;width:100%;margin-bottom:-16px;padding:8px 8px 24px 12px;display:flex;position:absolute;top:0;transform:translateY(calc(16px - 100%))}.approvalText[data-v-91e028d5]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3)}.paymentContainer[data-v-91e028d5]{gap:5px;display:flex}.actionButton[data-v-91e028d5]{font-weight:var(--scalar-semibold);border-radius:50px;align-items:center;padding:6px 12px;display:flex}.rejectButton[data-v-91e028d5]{color:#fff;background:var(--scalar-color-red)}.rejectButton[data-v-91e028d5]:hover,.rejectButton[data-v-91e028d5]:active{background:color-mix(in srgb, var(--scalar-color-red), var(--scalar-background-1) 10%);color:#fff!important}.approveButton[data-v-91e028d5]{color:#fff;font-size:var(--scalar-font-size-3);background:var(--scalar-color-blue)}.approveButton[data-v-91e028d5]:hover,.approveButton[data-v-91e028d5]:active{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 10%);color:#fff!important}.paymentInfo[data-v-91e028d5]{width:300px;box-shadow:var(--scalar-shadow-2);background:var(--scalar-background-1);pointer-events:none;opacity:0;border-radius:16px;padding:12px;transition:all .2s ease-in-out;position:absolute;bottom:70px;right:0;transform:translateY(-5px)}.paymentInfo h3[data-v-91e028d5]{font-size:var(--scalar-font-size-1);font-weight:var(--scalar-bold);margin-bottom:18px}.paymentInfo h3 span[data-v-91e028d5]{font-size:var(--scalar-font-size-2)}.dark-mode .paymentInfo[data-v-91e028d5]{background:var(--scalar-background-2)}.paymentContainer:hover .paymentInfo[data-v-91e028d5]{opacity:1;transform:translate(0,0)}.paymentInfoItem[data-v-91e028d5]{font-size:var(--scalar-font-size-3);color:var(--scalar-color-2);font-weight:var(--scalar-semibold);justify-content:space-between;margin-top:8px;display:flex}.paymentInfoSection[data-v-91e028d5]:not(:last-child){border-bottom:var(--scalar-border-width) solid var(--scalar-border-color);padding-bottom:8px}.searchItem[data-v-7945f74c]{font-size:var(--scalar-font-size-3);align-items:center;gap:9px;padding:8px 10px;display:flex}.searchInput[data-v-7945f74c]{margin-bottom:5px}.searchItem[data-v-7945f74c]:hover{background:var(--scalar-background-2)}.searchItemLogo[data-v-7945f74c]{width:15px}.searchIcon[data-v-7945f74c]{margin-right:7px}.searchResultsEmpty[data-v-7945f74c]{font-size:var(--scalar-font-size-3);color:var(--scalar-color-2);margin:10px}.uploadSection[data-v-9551cf83]{background:color-mix(in srgb, var(--scalar-color-blue), var(--scalar-background-1) 95%);border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;width:100%;margin-bottom:-16px;padding:8px 8px 24px 12px;display:flex;position:absolute;top:0;transform:translateY(calc(16px - 100%))}.uploadSection.error[data-v-9551cf83]{background:color-mix(in srgb, var(--scalar-color-red), var(--scalar-background-1) 95%)}.uploadSection.done[data-v-9551cf83]{background:color-mix(in srgb, var(--scalar-color-green), var(--scalar-background-1) 95%)}.uploadText[data-v-9551cf83]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3)}.icon[data-v-9551cf83]{width:20px;height:20px}.actionContainer[data-v-e7c7c266]{background:color-mix(in srgb, var(--scalar-background-2), var(--scalar-background-1));border:var(--scalar-border-width) solid var(--scalar-border-color);width:100%;box-shadow:0 24px 0 2px var(--scalar-background-1);border-radius:16px;position:relative}.promptForm[data-v-e7c7c266]{background:var(--scalar-background-1);width:100%;box-shadow:var(--scalar-shadow-1), 0 0 0 var(--scalar-border-width) var(--scalar-border-color);border-radius:16px;flex-direction:column;display:flex;position:relative}.inputActionsContainer[data-v-e7c7c266]{justify-content:space-between;padding:0 8px 8px;display:flex}.inputActionsLeft[data-v-e7c7c266]{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.inputActionsRight[data-v-e7c7c266]{gap:5px;display:flex;position:relative}.apiPill[data-v-e7c7c266]{font-size:var(--scalar-font-size-3);border:var(--scalar-border-width) solid var(--scalar-border-color);color:var(--scalar-color-2);font-weight:var(--scalar-semibold);pointer-events:all;z-index:1;-webkit-user-select:none;user-select:none;border-radius:16px;align-items:center;gap:4px;height:28px;padding:0 8px;display:flex}.apiPillLogo[data-v-e7c7c266]{width:15px}.apiPillRemove[data-v-e7c7c266]{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-right:-6px;display:flex}.apiPill:hover .apiPillRemove[data-v-e7c7c266]{background:var(--scalar-background-2)}.dark-mode .apiPill:hover .apiPillRemove[data-v-e7c7c266]{background:var(--scalar-background-3)}.apiPillRemove[data-v-e7c7c266]:hover{color:var(--scalar-color-1)}.prompt[data-v-e7c7c266]{resize:none;field-sizing:content;z-index:1;scrollbar-width:thin;word-wrap:break-word;width:100%;max-width:100%;min-height:64px;max-height:250px;font-family:var(--scalar-font);border:none;outline:none;padding:12px 12px 14px;font-size:16px;overflow-y:auto}.dark-mode .promptForm[data-v-e7c7c266]{background:var(--scalar-background-2)}.prompt[data-v-e7c7c266]:disabled{color:var(--scalar-color-3)}.addAPIButton[data-v-e7c7c266]{color:var(--scalar-color-2);font-size:var(--scalar-font-size-3);width:28px;height:28px;font-weight:var(--scalar-bold);pointer-events:all;z-index:1;box-shadow:0 0 0 var(--scalar-border-width) var(--scalar-border-color);border-radius:100%;justify-content:center;align-items:center;gap:4px;display:flex}.addAPIButton[data-v-e7c7c266]:hover{background:color-mix(in srgb, var(--scalar-background-2), var(--scalar-background-1));box-shadow:0 0 0 var(--scalar-border-width) var(--scalar-border-color)}.dark-mode .addAPIButton[data-v-e7c7c266]:hover{background:var(--scalar-background-3)}.settingsButton[data-v-e7c7c266]{z-index:1;color:var(--scalar-color-3)!important;border-radius:50%!important;margin:0!important}.settingsButton[aria-disabled=true][data-v-e7c7c266]{background:var(--scalar-background-2)}.dark-mode .settingsButton[data-v-e7c7c266]:hover{background:var(--scalar-background-3)}.sendButton[data-v-e7c7c266]{z-index:1;border:var(--scalar-border-width) solid var(--scalar-color-blue);background:var(--scalar-color-blue)!important;border-radius:50%!important;margin:0!important}.sendButton[data-v-e7c7c266]:not([aria-disabled=true]){color:#fff!important}.sendButton[data-v-e7c7c266]:not([aria-disabled=true]):hover{background:color-mix(in srgb, var(--scalar-color-blue), transparent 10%)!important}.sendButton[aria-disabled=true][data-v-e7c7c266]{border:var(--scalar-border-width) solid var(--scalar-border-color);background:var(--scalar-background-2)!important;color:var(--scalar-color-3)!important}.dark-mode .sendButton[aria-disabled=true][data-v-e7c7c266]{background:var(--scalar-background-3)!important}.contextContainer[data-v-e7c7c266]{width:100%;color:var(--scalar-color-2);font-size:var(--scalar-font-size-3);-webkit-user-select:none;user-select:none;justify-content:space-between;padding:10px 12px 12px;display:flex}.settingsButton[data-v-e7c7c266]{font-weight:var(--scalar-semibold);border-radius:var(--scalar-radius-lg);margin:-4px -6px;padding:4px 6px}.settingsButton[data-v-e7c7c266]:hover{background:var(--scalar-background-2);box-shadow:0 0 var(--scalar-border-width) 0 var(--scalar-border-color);cursor:pointer}.agentLabel[data-v-e7c7c266]{cursor:text;width:100%;height:100%;font-size:0;position:absolute}.sendCheckboxContinue[data-v-e7c7c266]:has(input){background:var(--scalar-background-2);box-shadow:0 0 0 1.5px var(--scalar-background-2);color:var(--scalar-color-2);font-size:var(--scalar-font-size-3);font-weight:var(--scalar-semibold);-webkit-user-select:none;user-select:none;border-radius:14px;align-items:center;height:28px;display:flex}.dark-mode .sendCheckboxContinue[data-v-e7c7c266]:has(input){background:var(--scalar-background-3);box-shadow:0 0 0 1.5px var(--scalar-background-3)}.addMoreContext[data-v-e7c7c266]{height:40px;font-size:var(--scalar-font-size-3);color:var(--scalar-color-3);align-items:center;padding:0 8px 0 12px;display:flex;position:relative}.addMoreContext[data-v-e7c7c266]:before{content:"";background:color-mix(in srgb, var(--scalar-background-1), var(--scalar-background-2));width:8px;height:8px;box-shadow:-.5px -.5px 0 var(--scalar-border-color), inset .5px .5px 1px var(--scalar-border-color);position:absolute;top:-3px;left:18px;transform:rotate(45deg)}.dark-mode .addMoreContext[data-v-e7c7c266]:before{box-shadow:-.5px -.5px 0 var(--scalar-border-color)}.addAPIContext[data-v-e7c7c266]{border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.termsAgree[data-v-e7c7c266]{cursor:pointer;height:inherit;border-radius:14px;align-items:center;gap:5px;margin:0 5px;display:flex}.termsAgree[data-v-e7c7c266]:hover{color:var(--scalar-color-1)}.termsAgree:hover .termsAgreeIcon[data-v-e7c7c266]{background:var(--scalar-color-1);color:var(--scalar-background-1)}.termsAgreeIcon[data-v-e7c7c266]{width:inherit;height:inherit;background:var(--scalar-background-2);border-radius:50%;padding:2px}.chat[data-v-8e43ed7a]{flex-direction:column;flex:1;width:100%;max-width:744px;padding:24px 0;display:flex}.userMessage[data-v-8e43ed7a]{padding-top:6px;padding-bottom:6px;background:var(--scalar-background-2);width:fit-content;max-width:80%;color:var(--scalar-color-1);border-radius:18px;margin-bottom:12px;margin-left:auto;padding-inline:16px;font-size:16px;line-height:24px}div+.userMessage[data-v-8e43ed7a]{margin-top:64px}.chat[data-v-8e43ed7a]>div:has(.executeRequestTool)+div:has(.executeRequestTool){margin-top:-12px}.spacer[data-v-8e43ed7a]{width:100%;min-height:280px}.formContainer[data-v-8e43ed7a]{z-index:1;width:100%;max-width:744px;position:fixed;bottom:20px}.chat[data-v-8e43ed7a] .markdown{margin-bottom:12px}.agentLogo[data-v-56f7e8dd]{margin-bottom:15px}.startContainer[data-v-56f7e8dd]{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:720px;height:100%;display:flex;position:relative}.heading[data-v-56f7e8dd]{font-size:1.5rem;font-weight:var(--scalar-font-bold);margin-bottom:50px}.disclaimerText[data-v-56f7e8dd]{text-align:center;color:var(--scalar-color-3);font-size:var(--scalar-font-size-3);text-wrap:balance;margin-top:40px;line-height:1.44}.disclaimerLink[data-v-56f7e8dd]{text-decoration:underline}.wrapper[data-v-f1eee0af]{flex-direction:column;align-items:center;width:100%;height:100%;display:flex}.docSettings[data-v-dd964244]{font-size:var(--scalar-font-size-3);flex-direction:column;gap:12px;max-height:600px;margin-bottom:12px;display:flex}.documentName[data-v-dd964244]{font-weight:var(--scalar-semibold)}.settingsModal .scalar-modal-layout{z-index:10!important}.settingsModal .scalar-modal-body{overflow:hidden auto}.documentList[data-v-5e4bca68]{font-size:var(--scalar-font-size-3);flex-direction:column;margin-bottom:12px;display:flex}.document[data-v-5e4bca68]{border-top:var(--scalar-border-width) solid var(--scalar-border-color);border-bottom:var(--scalar-border-width) solid var(--scalar-border-color);flex-direction:column;width:calc(100% + 24px);padding:0 12px;display:flex;position:relative;left:-12px}.document[data-v-5e4bca68]:first-of-type:not(:last-of-type){border-bottom:none}.documentName[data-v-5e4bca68]{font-weight:var(--scalar-semibold);color:var(--scalar-color-2);align-items:center;gap:4px;padding:12px 0;display:flex}.documentNameActive[data-v-5e4bca68]{color:var(--scalar-color-1)}.settingsHeading[data-v-5e4bca68]{font-size:19px;font-weight:var(--scalar-semibold);align-items:center;gap:5px;margin-bottom:12px;display:flex}.proxyUrlContainer[data-v-5e4bca68]{font-size:var(--scalar-font-size-3);flex-direction:column;gap:5px;display:flex}.proxyUrlContainer label[data-v-5e4bca68]{font-weight:var(--scalar-semibold)}.noDocuments[data-v-5e4bca68]{color:var(--scalar-color-2);margin-bottom:10px}
|
|
2
2
|
/*$vite$:1*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AskForAuthentication.vue.d.ts","sourceRoot":"","sources":["../../../../src/views/Chat/Messages/AskForAuthentication.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AskForAuthentication.vue.d.ts","sourceRoot":"","sources":["../../../../src/views/Chat/Messages/AskForAuthentication.vue"],"names":[],"mappings":"AAqLA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AACpC,OAAO,EAAY,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAIxC,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAA;AAC1F,OAAO,EAAY,KAAK,KAAK,EAAE,MAAM,eAAe,CAAA;AAGpD,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,GAAG,CACd,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,gCAAgC,CAAC,CAAC,CACjE,CAAA;CACF,CAAC;AA2LF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -2,7 +2,7 @@ import e from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
|
2
2
|
import t from "./AskForAuthentication.vue.script.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/views/Chat/Messages/AskForAuthentication.vue
|
|
5
|
-
var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-
|
|
5
|
+
var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-fd5c15f7"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { n as default };
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AskForAuthentication.vue.js","names":[],"sources":["../../../../src/views/Chat/Messages/AskForAuthentication.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"AskForAuthentication.vue.js","names":[],"sources":["../../../../src/views/Chat/Messages/AskForAuthentication.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton } from '@scalar/components'\nimport { ScalarIconArrowRight } from '@scalar/icons'\nimport {\n getActiveEnvironment,\n getSelectedServer,\n getServers,\n} from '@scalar/workspace-store/request-example'\nimport type { ToolUIPart } from 'ai'\nimport { computed, type Ref } from 'vue'\n\nimport AuthenticationProvided from '@/components/AuthenticationProvided.vue'\nimport AuthenticationRequired from '@/components/AuthenticationRequired.vue'\nimport { ASK_FOR_AUTHENTICATION_TOOL_NAME } from '@/entities/tools/ask-for-authentication'\nimport { useState, type Tools } from '@/state/state'\nimport Auth from '@/views/Settings/Auth.vue'\n\nconst { messagePart } = defineProps<{\n messagePart: Ref<\n ToolUIPart<Pick<Tools, typeof ASK_FOR_AUTHENTICATION_TOOL_NAME>>\n >\n}>()\n\nconst { workspaceStore, eventBus, config, chat } = useState()\n\nconst documentName = computed(() => messagePart.value.input?.documentName)\n\nconst document = computed(() => {\n if (!documentName.value) {\n return\n }\n\n return workspaceStore.workspace.documents[documentName.value]\n})\n\nconst environment = computed(() => {\n if (!document.value) {\n return\n }\n\n return getActiveEnvironment(workspaceStore, document.value).environment\n})\n\nconst selectedServer = computed(() => {\n if (!document.value) {\n return\n }\n\n const servers = getServers(document.value.servers, {\n documentUrl: document.value['x-scalar-original-source-url'],\n })\n\n return getSelectedServer(document.value, null, null, servers)\n})\n\nconst isAuthenticationExpanded = computed(\n () => documentName.value && environment.value && selectedServer.value,\n)\n\nasync function authorizeClicked() {\n await chat.addToolOutput({\n toolCallId: messagePart.value.toolCallId,\n output: 'Authentication provided.',\n tool: ASK_FOR_AUTHENTICATION_TOOL_NAME,\n state: 'output-available',\n })\n}\n</script>\n\n<template>\n <div\n class=\"askForAuthentication\"\n :class=\"{\n open: isAuthenticationExpanded,\n }\">\n <div class=\"toggleButton\">\n <AuthenticationProvided\n v-if=\"messagePart.value.state === 'output-available'\" />\n <AuthenticationRequired\n v-if=\"messagePart.value.state === 'input-available'\" />\n <ScalarButton\n v-if=\"messagePart.value.state === 'input-available'\"\n class=\"authorizeButton\"\n size=\"xs\"\n @click=\"authorizeClicked\">\n Authorize\n <ScalarIconArrowRight weight=\"bold\" />\n </ScalarButton>\n </div>\n <div class=\"authContent\">\n <div class=\"authContentInner\">\n <Auth\n v-if=\"documentName && document && environment && selectedServer\"\n :authStore=\"workspaceStore.auth\"\n :document\n :environment\n :eventBus\n :name=\"documentName\"\n :options=\"config\"\n :selectedServer />\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.askForAuthentication {\n display: flex;\n flex-direction: column;\n width: 100%;\n position: relative;\n border-top: var(--scalar-border-width) solid var(--scalar-border-color);\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n margin-bottom: 12px;\n box-shadow:\n 0 var(--scalar-border-width) 0 var(--scalar-background-1),\n 0 calc(-1 * var(--scalar-border-width)) 0 var(--scalar-background-1);\n padding: 0;\n}\n\n.authContent {\n display: grid;\n grid-template-rows: 0fr;\n min-height: 0;\n overflow: hidden;\n transition: grid-template-rows 0.2s ease-out;\n max-width: 520px;\n margin: auto;\n width: 100%;\n}\n.authContentInner :deep(> div) {\n margin: 36px 0 48px 0;\n}\n.authContent :deep(.markdown) {\n margin-bottom: 0 !important;\n}\n.askForAuthentication.open .authContent {\n grid-template-rows: 1fr;\n}\n\n.continueButton {\n align-self: flex-end;\n}\n\n.toggleButton {\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n position: relative;\n display: flex;\n align-items: center;\n color: var(--scalar-color-3);\n justify-content: space-between;\n border-radius: var(--scalar-radius-lg);\n}\n\n.authContentInner {\n min-height: 0;\n overflow: hidden;\n}\n\n.authorizeButton {\n background: var(--scalar-color-blue) !important;\n color: white !important;\n margin: 0 !important;\n z-index: 1;\n display: flex;\n gap: 5px;\n}\n</style>\n"],"mappings":""}
|
|
@@ -5,8 +5,7 @@ import r from "../../../components/AuthenticationRequired.vue.js";
|
|
|
5
5
|
import i from "../../Settings/Auth.vue.js";
|
|
6
6
|
import { computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, createVNode as d, defineComponent as f, normalizeClass as p, openBlock as m, unref as h, withCtx as g } from "vue";
|
|
7
7
|
import { ScalarButton as _ } from "@scalar/components";
|
|
8
|
-
import {
|
|
9
|
-
import { getActiveEnvironment as y, getServers as b } from "@scalar/api-client/v2/helpers";
|
|
8
|
+
import { getActiveEnvironment as v, getSelectedServer as y, getServers as b } from "@scalar/workspace-store/request-example";
|
|
10
9
|
import { ScalarIconArrowRight as x } from "@scalar/icons";
|
|
11
10
|
//#region src/views/Chat/Messages/AskForAuthentication.vue?vue&type=script&setup=true&lang.ts
|
|
12
11
|
var S = { class: "toggleButton" }, C = { class: "authContent" }, w = { class: "authContentInner" }, T = /* @__PURE__ */ f({
|
|
@@ -16,9 +15,11 @@ var S = { class: "toggleButton" }, C = { class: "authContent" }, w = { class: "a
|
|
|
16
15
|
let { workspaceStore: T, eventBus: E, config: D, chat: O } = t(), k = a(() => f.messagePart.value.input?.documentName), A = a(() => {
|
|
17
16
|
if (k.value) return T.workspace.documents[k.value];
|
|
18
17
|
}), j = a(() => {
|
|
19
|
-
if (A.value) return
|
|
18
|
+
if (A.value) return v(T, A.value).environment;
|
|
20
19
|
}), M = a(() => {
|
|
21
|
-
if (A.value) return
|
|
20
|
+
if (!A.value) return;
|
|
21
|
+
let e = b(A.value.servers, { documentUrl: A.value["x-scalar-original-source-url"] });
|
|
22
|
+
return y(A.value, null, null, e);
|
|
22
23
|
}), N = a(() => k.value && j.value && M.value);
|
|
23
24
|
async function P() {
|
|
24
25
|
await O.addToolOutput({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AskForAuthentication.vue.script.js","names":[],"sources":["../../../../src/views/Chat/Messages/AskForAuthentication.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"AskForAuthentication.vue.script.js","names":[],"sources":["../../../../src/views/Chat/Messages/AskForAuthentication.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton } from '@scalar/components'\nimport { ScalarIconArrowRight } from '@scalar/icons'\nimport {\n getActiveEnvironment,\n getSelectedServer,\n getServers,\n} from '@scalar/workspace-store/request-example'\nimport type { ToolUIPart } from 'ai'\nimport { computed, type Ref } from 'vue'\n\nimport AuthenticationProvided from '@/components/AuthenticationProvided.vue'\nimport AuthenticationRequired from '@/components/AuthenticationRequired.vue'\nimport { ASK_FOR_AUTHENTICATION_TOOL_NAME } from '@/entities/tools/ask-for-authentication'\nimport { useState, type Tools } from '@/state/state'\nimport Auth from '@/views/Settings/Auth.vue'\n\nconst { messagePart } = defineProps<{\n messagePart: Ref<\n ToolUIPart<Pick<Tools, typeof ASK_FOR_AUTHENTICATION_TOOL_NAME>>\n >\n}>()\n\nconst { workspaceStore, eventBus, config, chat } = useState()\n\nconst documentName = computed(() => messagePart.value.input?.documentName)\n\nconst document = computed(() => {\n if (!documentName.value) {\n return\n }\n\n return workspaceStore.workspace.documents[documentName.value]\n})\n\nconst environment = computed(() => {\n if (!document.value) {\n return\n }\n\n return getActiveEnvironment(workspaceStore, document.value).environment\n})\n\nconst selectedServer = computed(() => {\n if (!document.value) {\n return\n }\n\n const servers = getServers(document.value.servers, {\n documentUrl: document.value['x-scalar-original-source-url'],\n })\n\n return getSelectedServer(document.value, null, null, servers)\n})\n\nconst isAuthenticationExpanded = computed(\n () => documentName.value && environment.value && selectedServer.value,\n)\n\nasync function authorizeClicked() {\n await chat.addToolOutput({\n toolCallId: messagePart.value.toolCallId,\n output: 'Authentication provided.',\n tool: ASK_FOR_AUTHENTICATION_TOOL_NAME,\n state: 'output-available',\n })\n}\n</script>\n\n<template>\n <div\n class=\"askForAuthentication\"\n :class=\"{\n open: isAuthenticationExpanded,\n }\">\n <div class=\"toggleButton\">\n <AuthenticationProvided\n v-if=\"messagePart.value.state === 'output-available'\" />\n <AuthenticationRequired\n v-if=\"messagePart.value.state === 'input-available'\" />\n <ScalarButton\n v-if=\"messagePart.value.state === 'input-available'\"\n class=\"authorizeButton\"\n size=\"xs\"\n @click=\"authorizeClicked\">\n Authorize\n <ScalarIconArrowRight weight=\"bold\" />\n </ScalarButton>\n </div>\n <div class=\"authContent\">\n <div class=\"authContentInner\">\n <Auth\n v-if=\"documentName && document && environment && selectedServer\"\n :authStore=\"workspaceStore.auth\"\n :document\n :environment\n :eventBus\n :name=\"documentName\"\n :options=\"config\"\n :selectedServer />\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.askForAuthentication {\n display: flex;\n flex-direction: column;\n width: 100%;\n position: relative;\n border-top: var(--scalar-border-width) solid var(--scalar-border-color);\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n margin-bottom: 12px;\n box-shadow:\n 0 var(--scalar-border-width) 0 var(--scalar-background-1),\n 0 calc(-1 * var(--scalar-border-width)) 0 var(--scalar-background-1);\n padding: 0;\n}\n\n.authContent {\n display: grid;\n grid-template-rows: 0fr;\n min-height: 0;\n overflow: hidden;\n transition: grid-template-rows 0.2s ease-out;\n max-width: 520px;\n margin: auto;\n width: 100%;\n}\n.authContentInner :deep(> div) {\n margin: 36px 0 48px 0;\n}\n.authContent :deep(.markdown) {\n margin-bottom: 0 !important;\n}\n.askForAuthentication.open .authContent {\n grid-template-rows: 1fr;\n}\n\n.continueButton {\n align-self: flex-end;\n}\n\n.toggleButton {\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n position: relative;\n display: flex;\n align-items: center;\n color: var(--scalar-color-3);\n justify-content: space-between;\n border-radius: var(--scalar-radius-lg);\n}\n\n.authContentInner {\n min-height: 0;\n overflow: hidden;\n}\n\n.authorizeButton {\n background: var(--scalar-color-blue) !important;\n color: white !important;\n margin: 0 !important;\n z-index: 1;\n display: flex;\n gap: 5px;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;EAuBA,IAAM,EAAE,mBAAgB,aAAU,WAAQ,YAAS,GAAS,EAEtD,IAAe,QAAe,EAAA,YAAY,MAAM,OAAO,aAAY,EAEnE,IAAW,QAAe;AACzB,SAAa,MAIlB,QAAO,EAAe,UAAU,UAAU,EAAa;IACxD,EAEK,IAAc,QAAe;AAC5B,SAAS,MAId,QAAO,EAAqB,GAAgB,EAAS,MAAM,CAAC;IAC7D,EAEK,IAAiB,QAAe;AACpC,OAAI,CAAC,EAAS,MACZ;GAGF,IAAM,IAAU,EAAW,EAAS,MAAM,SAAS,EACjD,aAAa,EAAS,MAAM,iCAC7B,CAAA;AAED,UAAO,EAAkB,EAAS,OAAO,MAAM,MAAM,EAAO;IAC7D,EAEK,IAA2B,QACzB,EAAa,SAAS,EAAY,SAAS,EAAe,MAClE;EAEA,eAAe,IAAmB;AAChC,SAAM,EAAK,cAAc;IACvB,YAAY,EAAA,YAAY,MAAM;IAC9B,QAAQ;IACR,MAAM;IACN,OAAO;IACR,CAAA;;yBAKD,EAgCM,OAAA,EA/BJ,OAAK,EAAA,CAAC,wBAAsB,EAAA,MACN,EAAA,OAAA,CAAA,CAAA,EAAA,EAAA,CAGtB,EAaM,OAbN,GAaM;GAXI,EAAA,YAAY,MAAM,UAAK,sBAAA,GAAA,EAD/B,EAC0D,GAAA,EAAA,KAAA,GAAA,CAAA,IAAA,EAAA,IAAA,GAAA;GAElD,EAAA,YAAY,MAAM,UAAK,qBAAA,GAAA,EAD/B,EACyD,GAAA,EAAA,KAAA,GAAA,CAAA,IAAA,EAAA,IAAA,GAAA;GAEjD,EAAA,YAAY,MAAM,UAAK,qBAAA,GAAA,EAD/B,EAOe,EAAA,EAAA,EAAA;;IALb,OAAM;IACN,MAAK;IACJ,SAAO;;qBAER,CAAA,AAAA,EAAA,OAAA,EAF0B,eAE1B,GAAA,EAAA,EAAsC,EAAA,EAAA,EAAA,EAAhB,QAAO,QAAM,CAAA,CAAA,CAAA;;;MAGvC,EAYM,OAZN,GAYM,CAXJ,EAUM,OAVN,GAUM,CARI,EAAA,SAAgB,EAAA,SAAY,EAAA,SAAe,EAAA,SAAA,GAAA,EADnD,EAQoB,GAAA;;GANjB,WAAW,EAAA,EAAc,CAAC;GAC1B,UAAA,EAAA;GACA,aAAA,EAAA;GACA,UAAA,EAAA,EAAQ;GACR,MAAM,EAAA;GACN,SAAS,EAAA,EAAM;GACf,gBAAA,EAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.vue.d.ts","sourceRoot":"","sources":["../../../src/views/Settings/Auth.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Auth.vue.d.ts","sourceRoot":"","sources":["../../../src/views/Settings/Auth.vue"],"names":[],"mappings":"AAqGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAMvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAChG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAMlF,KAAK,WAAW,GAAG;IACf,OAAO,EAAE,IAAI,CACX,4BAA4B,EAC5B,gBAAgB,GAAG,aAAa,GAAG,UAAU,CAC9C,CAAA;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAA;IACvC,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,cAAc,EAAE,YAAY,GAAG,IAAI,CAAA;IACnC,WAAW,EAAE,kBAAkB,CAAA;CAChC,CAAC;AAqHJ,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.vue.js","names":[],"sources":["../../../src/views/Settings/Auth.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"Auth.vue.js","names":[],"sources":["../../../src/views/Settings/Auth.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { AuthSelector } from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport {\n getSecurityRequirements,\n getSelectedSecurity,\n mergeSecurity,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport type { WorkspaceDocument } from '@scalar/workspace-store/schemas/workspace'\nimport { useFocusWithin } from '@vueuse/core'\nimport { computed, shallowRef, watch } from 'vue'\n\nimport { useState } from '@/state/state'\n\nconst { document, name, environment, eventBus, options, authStore } =\n defineProps<{\n options: Pick<\n ApiReferenceConfigurationRaw,\n 'authentication' | 'persistAuth' | 'proxyUrl'\n >\n name: string\n authStore: AuthStore\n document: WorkspaceDocument | undefined\n eventBus: WorkspaceEventBus\n selectedServer: ServerObject | null\n environment: XScalarEnvironment\n }>()\n\nconst { workspaceStore } = useState()\n\n/** Compute what the security requirements should be for the document */\nconst securityRequirements = computed(() =>\n getSecurityRequirements(document?.security),\n)\n\n/** Merge the security schemes with the authentication config and the auth store */\nconst securitySchemes = computed(() =>\n mergeSecurity(\n document?.components?.securitySchemes ?? {},\n options.authentication?.securitySchemes,\n authStore,\n name,\n ),\n)\n\n/** The selected security keys for the document */\nconst selectedSecurity = computed(() =>\n getSelectedSecurity(\n authStore.getAuthSelectedSchemas({\n type: 'document',\n documentName: name,\n }),\n undefined,\n securityRequirements.value,\n securitySchemes.value,\n options.authentication?.preferredSecurityScheme,\n ),\n)\n\nconst focusRef = shallowRef()\nconst { focused } = useFocusWithin(focusRef)\n\nwatch(focused, (isFocused) => {\n if (!isFocused) {\n return\n }\n\n workspaceStore.update('x-scalar-active-document', name)\n})\n</script>\n<template>\n <div\n ref=\"focusRef\"\n tabindex=\"0\">\n <AuthSelector\n v-if=\"Object.keys(securitySchemes).length\"\n :authStore\n :documentSlug=\"name\"\n :environment\n :eventBus\n isReadOnly\n isStatic\n layout=\"reference\"\n :meta=\"{ type: 'document' }\"\n :persistAuth=\"options.persistAuth\"\n :proxyUrl=\"options.proxyUrl ?? ''\"\n :securityRequirements\n :securitySchemes\n :selectedSecurity\n :server=\"selectedServer\"\n title=\"Authentication\" />\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState as e } from "../../state/state.js";
|
|
2
2
|
import { computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, defineComponent as a, openBlock as o, shallowRef as s, unref as c, watch as l } from "vue";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { getSecurityRequirements as u, getSelectedSecurity as d, mergeSecurity as f } from "@scalar/workspace-store/request-example";
|
|
4
|
+
import { AuthSelector as p } from "@scalar/api-client/v2/blocks/scalar-auth-selector-block";
|
|
5
5
|
import { useFocusWithin as m } from "@vueuse/core";
|
|
6
6
|
//#region src/views/Settings/Auth.vue?vue&type=script&setup=true&lang.ts
|
|
7
7
|
var h = /* @__PURE__ */ a({
|
|
@@ -16,17 +16,17 @@ var h = /* @__PURE__ */ a({
|
|
|
16
16
|
environment: {}
|
|
17
17
|
},
|
|
18
18
|
setup(a) {
|
|
19
|
-
let { workspaceStore: h } = e(), g = t(() =>
|
|
19
|
+
let { workspaceStore: h } = e(), g = t(() => u(a.document?.security)), _ = t(() => f(a.document?.components?.securitySchemes ?? {}, a.options.authentication?.securitySchemes, a.authStore, a.name)), v = t(() => d(a.authStore.getAuthSelectedSchemas({
|
|
20
20
|
type: "document",
|
|
21
21
|
documentName: a.name
|
|
22
|
-
}), void 0, g.value)),
|
|
23
|
-
return l(
|
|
22
|
+
}), void 0, g.value, _.value, a.options.authentication?.preferredSecurityScheme)), y = s(), { focused: b } = m(y);
|
|
23
|
+
return l(b, (e) => {
|
|
24
24
|
e && h.update("x-scalar-active-document", a.name);
|
|
25
25
|
}), (e, t) => (o(), i("div", {
|
|
26
26
|
ref_key: "focusRef",
|
|
27
|
-
ref:
|
|
27
|
+
ref: y,
|
|
28
28
|
tabindex: "0"
|
|
29
|
-
}, [Object.keys(
|
|
29
|
+
}, [Object.keys(_.value).length ? (o(), n(c(p), {
|
|
30
30
|
key: 0,
|
|
31
31
|
authStore: a.authStore,
|
|
32
32
|
documentSlug: a.name,
|
|
@@ -39,8 +39,8 @@ var h = /* @__PURE__ */ a({
|
|
|
39
39
|
persistAuth: a.options.persistAuth,
|
|
40
40
|
proxyUrl: a.options.proxyUrl ?? "",
|
|
41
41
|
securityRequirements: g.value,
|
|
42
|
-
securitySchemes:
|
|
43
|
-
selectedSecurity:
|
|
42
|
+
securitySchemes: _.value,
|
|
43
|
+
selectedSecurity: v.value,
|
|
44
44
|
server: a.selectedServer,
|
|
45
45
|
title: "Authentication"
|
|
46
46
|
}, null, 8, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.vue.script.js","names":[],"sources":["../../../src/views/Settings/Auth.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"Auth.vue.script.js","names":[],"sources":["../../../src/views/Settings/Auth.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { AuthSelector } from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport {\n getSecurityRequirements,\n getSelectedSecurity,\n mergeSecurity,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport type { WorkspaceDocument } from '@scalar/workspace-store/schemas/workspace'\nimport { useFocusWithin } from '@vueuse/core'\nimport { computed, shallowRef, watch } from 'vue'\n\nimport { useState } from '@/state/state'\n\nconst { document, name, environment, eventBus, options, authStore } =\n defineProps<{\n options: Pick<\n ApiReferenceConfigurationRaw,\n 'authentication' | 'persistAuth' | 'proxyUrl'\n >\n name: string\n authStore: AuthStore\n document: WorkspaceDocument | undefined\n eventBus: WorkspaceEventBus\n selectedServer: ServerObject | null\n environment: XScalarEnvironment\n }>()\n\nconst { workspaceStore } = useState()\n\n/** Compute what the security requirements should be for the document */\nconst securityRequirements = computed(() =>\n getSecurityRequirements(document?.security),\n)\n\n/** Merge the security schemes with the authentication config and the auth store */\nconst securitySchemes = computed(() =>\n mergeSecurity(\n document?.components?.securitySchemes ?? {},\n options.authentication?.securitySchemes,\n authStore,\n name,\n ),\n)\n\n/** The selected security keys for the document */\nconst selectedSecurity = computed(() =>\n getSelectedSecurity(\n authStore.getAuthSelectedSchemas({\n type: 'document',\n documentName: name,\n }),\n undefined,\n securityRequirements.value,\n securitySchemes.value,\n options.authentication?.preferredSecurityScheme,\n ),\n)\n\nconst focusRef = shallowRef()\nconst { focused } = useFocusWithin(focusRef)\n\nwatch(focused, (isFocused) => {\n if (!isFocused) {\n return\n }\n\n workspaceStore.update('x-scalar-active-document', name)\n})\n</script>\n<template>\n <div\n ref=\"focusRef\"\n tabindex=\"0\">\n <AuthSelector\n v-if=\"Object.keys(securitySchemes).length\"\n :authStore\n :documentSlug=\"name\"\n :environment\n :eventBus\n isReadOnly\n isStatic\n layout=\"reference\"\n :meta=\"{ type: 'document' }\"\n :persistAuth=\"options.persistAuth\"\n :proxyUrl=\"options.proxyUrl ?? ''\"\n :securityRequirements\n :securitySchemes\n :selectedSecurity\n :server=\"selectedServer\"\n title=\"Authentication\" />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;EAgCA,IAAM,EAAE,sBAAmB,GAAS,EAG9B,IAAuB,QAC3B,EAAwB,EAAA,UAAU,SAAS,CAC7C,EAGM,IAAkB,QACtB,EACE,EAAA,UAAU,YAAY,mBAAmB,EAAE,EAC3C,EAAA,QAAQ,gBAAgB,iBACxB,EAAA,WACA,EAAA,KACD,CACH,EAGM,IAAmB,QACvB,EACE,EAAA,UAAU,uBAAuB;GAC/B,MAAM;GACN,cAAc,EAAA;GACf,CAAC,EACF,KAAA,GACA,EAAqB,OACrB,EAAgB,OAChB,EAAA,QAAQ,gBAAgB,wBACzB,CACH,EAEM,IAAW,GAAW,EACtB,EAAE,eAAY,EAAe,EAAQ;SAE3C,EAAM,IAAU,MAAc;AACvB,QAIL,EAAe,OAAO,4BAA4B,EAAA,KAAI;IACvD,kBAGC,EAoBM,OAAA;YAnBA;GAAJ,KAAI;GACJ,UAAS;MAED,OAAO,KAAK,EAAA,MAAe,CAAE,UAAA,GAAA,EADrC,EAgB2B,EAAA,EAAA,EAAA;;GAdxB,WAAA,EAAA;GACA,cAAc,EAAA;GACd,aAAA,EAAA;GACA,UAAA,EAAA;GACD,YAAA;GACA,UAAA;GACA,QAAO;GACN,MAAM,EAAA,MAAA,YAAoB;GAC1B,aAAa,EAAA,QAAQ;GACrB,UAAU,EAAA,QAAQ,YAAQ;GAC1B,sBAAA,EAAA;GACA,iBAAA,EAAA;GACA,kBAAA,EAAA;GACA,QAAQ,EAAA;GACT,OAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocSettings.vue.d.ts","sourceRoot":"","sources":["../../../src/views/Settings/DocSettings.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DocSettings.vue.d.ts","sourceRoot":"","sources":["../../../src/views/Settings/DocSettings.vue"],"names":[],"mappings":"AAiFA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAOlF,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;CACb,CAAC;AA6FF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -2,7 +2,7 @@ import e from "../../_virtual/_plugin-vue_export-helper.js";
|
|
|
2
2
|
import t from "./DocSettings.vue.script.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/views/Settings/DocSettings.vue
|
|
5
|
-
var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-
|
|
5
|
+
var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-dd964244"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { n as default };
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocSettings.vue.js","names":[],"sources":["../../../src/views/Settings/DocSettings.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"DocSettings.vue.js","names":[],"sources":["../../../src/views/Settings/DocSettings.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n getActiveEnvironment,\n getSelectedServer,\n getServers,\n} from '@scalar/workspace-store/request-example'\nimport { type WorkspaceDocument } from '@scalar/workspace-store/schemas/workspace'\nimport { computed } from 'vue'\n\nimport ServerSelector from '@/components/ServerSelector.vue'\nimport { useState } from '@/state/state'\nimport Auth from '@/views/Settings/Auth.vue'\n\nconst { document, name } = defineProps<{\n document: WorkspaceDocument\n name: string\n}>()\n\nconst { workspaceStore, config, eventBus } = useState()\n\nconst environment = computed(\n () => getActiveEnvironment(workspaceStore, document).environment,\n)\n\nconst selectedServer = computed(() => {\n const servers = getServers(document.servers, {\n documentUrl: document['x-scalar-original-source-url'],\n })\n\n return getSelectedServer(document, null, null, servers)\n})\n\nconst securitySchemes = computed(\n () => document.components?.securitySchemes ?? {},\n)\n</script>\n\n<template>\n <div class=\"docSettings\">\n <div>\n <Auth\n :authStore=\"workspaceStore.auth\"\n :document\n :environment\n :eventBus\n :name\n :options=\"config\"\n :securitySchemes\n :selectedServer />\n </div>\n <div>\n <ServerSelector\n :eventBus\n :selectedServer\n :servers=\"document.servers ?? []\" />\n </div>\n </div>\n</template>\n\n<style scoped>\n.docSettings {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-bottom: 12px;\n font-size: var(--scalar-font-size-3);\n max-height: 600px;\n}\n\n.documentName {\n font-weight: var(--scalar-semibold);\n}\n</style>\n"],"mappings":""}
|
|
@@ -2,8 +2,7 @@ import { useState as e } from "../../state/state.js";
|
|
|
2
2
|
import t from "./Auth.vue.js";
|
|
3
3
|
import n from "../../components/ServerSelector.vue.js";
|
|
4
4
|
import { computed as r, createElementBlock as i, createElementVNode as a, createVNode as o, defineComponent as s, openBlock as c, unref as l } from "vue";
|
|
5
|
-
import {
|
|
6
|
-
import { getActiveEnvironment as d, getServers as f } from "@scalar/api-client/v2/helpers";
|
|
5
|
+
import { getActiveEnvironment as u, getSelectedServer as d, getServers as f } from "@scalar/workspace-store/request-example";
|
|
7
6
|
//#region src/views/Settings/DocSettings.vue?vue&type=script&setup=true&lang.ts
|
|
8
7
|
var p = { class: "docSettings" }, m = /* @__PURE__ */ s({
|
|
9
8
|
__name: "DocSettings",
|
|
@@ -12,7 +11,10 @@ var p = { class: "docSettings" }, m = /* @__PURE__ */ s({
|
|
|
12
11
|
name: {}
|
|
13
12
|
},
|
|
14
13
|
setup(s) {
|
|
15
|
-
let { workspaceStore: m, config: h, eventBus: g } = e(), _ = r(() =>
|
|
14
|
+
let { workspaceStore: m, config: h, eventBus: g } = e(), _ = r(() => u(m, s.document).environment), v = r(() => {
|
|
15
|
+
let e = f(s.document.servers, { documentUrl: s.document["x-scalar-original-source-url"] });
|
|
16
|
+
return d(s.document, null, null, e);
|
|
17
|
+
}), y = r(() => s.document.components?.securitySchemes ?? {});
|
|
16
18
|
return (e, r) => (c(), i("div", p, [a("div", null, [o(t, {
|
|
17
19
|
authStore: l(m).auth,
|
|
18
20
|
document: s.document,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocSettings.vue.script.js","names":[],"sources":["../../../src/views/Settings/DocSettings.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"DocSettings.vue.script.js","names":[],"sources":["../../../src/views/Settings/DocSettings.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n getActiveEnvironment,\n getSelectedServer,\n getServers,\n} from '@scalar/workspace-store/request-example'\nimport { type WorkspaceDocument } from '@scalar/workspace-store/schemas/workspace'\nimport { computed } from 'vue'\n\nimport ServerSelector from '@/components/ServerSelector.vue'\nimport { useState } from '@/state/state'\nimport Auth from '@/views/Settings/Auth.vue'\n\nconst { document, name } = defineProps<{\n document: WorkspaceDocument\n name: string\n}>()\n\nconst { workspaceStore, config, eventBus } = useState()\n\nconst environment = computed(\n () => getActiveEnvironment(workspaceStore, document).environment,\n)\n\nconst selectedServer = computed(() => {\n const servers = getServers(document.servers, {\n documentUrl: document['x-scalar-original-source-url'],\n })\n\n return getSelectedServer(document, null, null, servers)\n})\n\nconst securitySchemes = computed(\n () => document.components?.securitySchemes ?? {},\n)\n</script>\n\n<template>\n <div class=\"docSettings\">\n <div>\n <Auth\n :authStore=\"workspaceStore.auth\"\n :document\n :environment\n :eventBus\n :name\n :options=\"config\"\n :securitySchemes\n :selectedServer />\n </div>\n <div>\n <ServerSelector\n :eventBus\n :selectedServer\n :servers=\"document.servers ?? []\" />\n </div>\n </div>\n</template>\n\n<style scoped>\n.docSettings {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-bottom: 12px;\n font-size: var(--scalar-font-size-3);\n max-height: 600px;\n}\n\n.documentName {\n font-weight: var(--scalar-semibold);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;EAkBA,IAAM,EAAE,mBAAgB,WAAQ,gBAAa,GAAS,EAEhD,IAAc,QACZ,EAAqB,GAAgB,EAAA,SAAS,CAAC,YACvD,EAEM,IAAiB,QAAe;GACpC,IAAM,IAAU,EAAW,EAAA,SAAS,SAAS,EAC3C,aAAa,EAAA,SAAS,iCACvB,CAAA;AAED,UAAO,EAAkB,EAAA,UAAU,MAAM,MAAM,EAAO;IACvD,EAEK,IAAkB,QAChB,EAAA,SAAS,YAAY,mBAAmB,EAAE,CAClD;yBAIE,EAkBM,OAlBN,GAkBM,CAjBJ,EAUM,OAAA,MAAA,CATJ,EAQoB,GAAA;GAPjB,WAAW,EAAA,EAAc,CAAC;GAC1B,UAAA,EAAA;GACA,aAAA,EAAA;GACA,UAAA,EAAA,EAAQ;GACR,MAAA,EAAA;GACA,SAAS,EAAA,EAAM;GACf,iBAAA,EAAA;GACA,gBAAA,EAAA;;;;;;;;;;QAEL,EAKM,OAAA,MAAA,CAJJ,EAGsC,GAAA;GAFnC,UAAA,EAAA,EAAQ;GACR,gBAAA,EAAA;GACA,SAAS,EAAA,SAAS,WAAO,EAAA"}
|
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.
|
|
13
|
+
"version": "0.10.1",
|
|
14
14
|
"engines": {
|
|
15
15
|
"node": ">=22"
|
|
16
16
|
},
|
|
@@ -45,27 +45,28 @@
|
|
|
45
45
|
"@ai-sdk/vue": "3.0.33",
|
|
46
46
|
"@vueuse/core": "13.9.0",
|
|
47
47
|
"ai": "6.0.33",
|
|
48
|
+
"js-base64": "^3.7.8",
|
|
48
49
|
"neverpanic": "0.0.7",
|
|
49
50
|
"truncate-json": "3.0.1",
|
|
50
|
-
"vue": "^3.5.
|
|
51
|
+
"vue": "^3.5.30",
|
|
51
52
|
"whatwg-mimetype": "4.0.0",
|
|
52
53
|
"zod": "^4.3.5",
|
|
53
|
-
"@scalar/components": "0.21.
|
|
54
|
-
"@scalar/helpers": "0.4.
|
|
55
|
-
"@scalar/
|
|
56
|
-
"@scalar/
|
|
57
|
-
"@scalar/
|
|
58
|
-
"@scalar/
|
|
59
|
-
"@scalar/
|
|
60
|
-
"@scalar/
|
|
61
|
-
"@scalar/
|
|
62
|
-
"@scalar/
|
|
54
|
+
"@scalar/components": "0.21.3",
|
|
55
|
+
"@scalar/helpers": "0.4.3",
|
|
56
|
+
"@scalar/api-client": "2.41.0",
|
|
57
|
+
"@scalar/icons": "0.7.2",
|
|
58
|
+
"@scalar/json-magic": "0.12.5",
|
|
59
|
+
"@scalar/openapi-types": "0.7.0",
|
|
60
|
+
"@scalar/types": "0.7.6",
|
|
61
|
+
"@scalar/use-toasts": "0.10.1",
|
|
62
|
+
"@scalar/themes": "0.15.2",
|
|
63
|
+
"@scalar/workspace-store": "0.43.1"
|
|
63
64
|
},
|
|
64
65
|
"devDependencies": {
|
|
65
66
|
"@tailwindcss/vite": "^4.2.0",
|
|
66
67
|
"@types/whatwg-mimetype": "3.0.2",
|
|
67
68
|
"@vitejs/plugin-vue": "^6.0.3",
|
|
68
|
-
"hono": "4.12.
|
|
69
|
+
"hono": "^4.12.7",
|
|
69
70
|
"tailwindcss": "^4.1.18",
|
|
70
71
|
"vite": "8.0.0"
|
|
71
72
|
},
|