@sanity/vision 6.20.0 → 6.21.0-next.103
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/lib/{CodeDiff-Bj_o50Qy.js → CodeDiff-MkS3Q87A.js} +14 -13
- package/lib/CodeDiff-MkS3Q87A.js.map +1 -0
- package/lib/{SanityVision-ePOzvdmp.js → SanityVision-tHhBPbsg.js} +209 -207
- package/lib/SanityVision-tHhBPbsg.js.map +1 -0
- package/lib/{VistaGui-DmXZyJ6k.js → VistaGui-D3NHSIsK.js} +942 -483
- package/lib/VistaGui-D3NHSIsK.js.map +1 -0
- package/lib/bundle.css +221 -210
- package/lib/{i18n-JS8KzGj8.js → i18n-BGSN3nAJ.js} +2 -2
- package/lib/{i18n-JS8KzGj8.js.map → i18n-BGSN3nAJ.js.map} +1 -1
- package/lib/index.d.ts +32 -4
- package/lib/index.js +2 -2
- package/lib/{resources-DFprICyb.js → resources-DpvWKOpU.js} +33 -5
- package/lib/resources-DpvWKOpU.js.map +1 -0
- package/package.json +19 -17
- package/lib/CodeDiff-Bj_o50Qy.js.map +0 -1
- package/lib/SanityVision-ePOzvdmp.js.map +0 -1
- package/lib/VistaGui-DmXZyJ6k.js.map +0 -1
- package/lib/resources-DFprICyb.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as visionLocaleNamespace } from "./i18n-
|
|
2
|
-
import { A as
|
|
1
|
+
import { t as visionLocaleNamespace } from "./i18n-BGSN3nAJ.js";
|
|
2
|
+
import { A as DEFAULT_API_VERSION, C as getActivePerspective, D as paramsExtensions, E as groqExtensions, M as prefixApiVersion, O as resultJsonExtensions, S as encodeQueryString, T as VisionCodeMirror, _ as VISION_STORAGE_KEY_PREFIX, a as getAtKeypath, b as isPlainObject, c as DelayedSpinner, d as getJsonBlobUrl, f as useSavedQueries, g as validateApiVersion, h as parseQueryUrl, i as describeKeypath, j as VARIANTS_API_VERSION, k as API_VERSIONS, l as canEncodeCsv, m as isApiCdnHost, n as createRetryableLazy, o as QueryErrorDialog, p as parseParams, r as ResultView, s as isApiVersionBelow, u as getCsvBlobUrl, v as getStorage, w as useVariantsEnabled, x as isVisionPasteTarget, y as onLocalStorageCleared } from "./SanityVision-tHhBPbsg.js";
|
|
3
3
|
import { Component, Suspense, createContext, memo, use, useContext, useEffect, useId, useLayoutEffect, useRef, useState, useSyncExternalStore } from "react";
|
|
4
|
-
import { ContextMenuButton, UserAvatar, getDefaultVariant, getReleaseIdFromReleaseDocumentId, getVariantTitle, isCardinalityOneRelease, sortReleases, useActiveReleases, useClient, useDateTimeFormat, usePerspective, useScheduledDraftsEnabled, useSchema, useTranslation, useWorkspace } from "sanity";
|
|
4
|
+
import { ContextMenuButton, UserAvatar, getDefaultVariant, getReleaseIdFromReleaseDocumentId, getVariantTitle, isCardinalityOneRelease, sortReleases, useActiveReleases, useClient, useDateTimeFormat, useNumberFormat, usePerspective, useProjectStore, useScheduledDraftsEnabled, useSchema, useTranslation, useWorkspace } from "sanity";
|
|
5
5
|
import { useRouter } from "sanity/router";
|
|
6
6
|
import { c } from "react/compiler-runtime";
|
|
7
7
|
import { ChevronRightIcon } from "@sanity/icons/ChevronRight";
|
|
@@ -15,7 +15,6 @@ import { syntaxTree } from "@codemirror/language";
|
|
|
15
15
|
import { EditorSelection, EditorState, Facet, StateField } from "@codemirror/state";
|
|
16
16
|
import { EditorView, hoverTooltip, keymap, showTooltip } from "@codemirror/view";
|
|
17
17
|
import { parser } from "@sanity/lezer-groq";
|
|
18
|
-
import { assignInlineVars } from "@vanilla-extract/dynamic";
|
|
19
18
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
20
19
|
import { ErrorOutlineIcon } from "@sanity/icons/ErrorOutline";
|
|
21
20
|
import { Tooltip } from "@sanity/ui/tooltip";
|
|
@@ -33,7 +32,9 @@ import { uuid } from "@sanity/uuid";
|
|
|
33
32
|
import { PlayIcon } from "@sanity/icons/Play";
|
|
34
33
|
import { StopIcon } from "@sanity/icons/Stop";
|
|
35
34
|
import { CopyIcon } from "@sanity/icons/Copy";
|
|
35
|
+
import { isHttpError } from "@sanity/client";
|
|
36
36
|
import { DocumentSheetIcon } from "@sanity/icons/DocumentSheet";
|
|
37
|
+
import { useObservable } from "react-rx";
|
|
37
38
|
import { useActorRef, useSelector } from "@xstate/react";
|
|
38
39
|
import { assign, enqueueActions, fromObservable, fromPromise, raise, setup } from "xstate";
|
|
39
40
|
import { BoltIcon } from "@sanity/icons/Bolt";
|
|
@@ -710,7 +711,10 @@ const vistaMachine = setup({
|
|
|
710
711
|
...context.runners,
|
|
711
712
|
[tab.id]: spawnRunner(spawn, tab.id)
|
|
712
713
|
},
|
|
713
|
-
fetchOnOpen: event.fetch ?
|
|
714
|
+
fetchOnOpen: event.fetch ? {
|
|
715
|
+
...context.fetchOnOpen,
|
|
716
|
+
[tab.id]: event.fetch
|
|
717
|
+
} : context.fetchOnOpen
|
|
714
718
|
};
|
|
715
719
|
}),
|
|
716
720
|
closeTab: enqueueActions(({ context, event, enqueue }) => {
|
|
@@ -720,7 +724,11 @@ const vistaMachine = setup({
|
|
|
720
724
|
let runner = context.runners[event.id];
|
|
721
725
|
runner && enqueue.stopChild(runner);
|
|
722
726
|
let { [event.id]: _removed, ...runners } = context.runners, remaining = context.tabs.filter((tab) => tab.id !== event.id);
|
|
723
|
-
if (
|
|
727
|
+
if (event.id in context.fetchOnOpen) {
|
|
728
|
+
let { [event.id]: _pending, ...fetchOnOpen } = context.fetchOnOpen;
|
|
729
|
+
enqueue.assign({ fetchOnOpen });
|
|
730
|
+
}
|
|
731
|
+
if (remaining.length === 0) {
|
|
724
732
|
let fallback = createTab(context.settings);
|
|
725
733
|
enqueue.assign(({ spawn }) => ({
|
|
726
734
|
tabs: [fallback],
|
|
@@ -750,7 +758,7 @@ const vistaMachine = setup({
|
|
|
750
758
|
historyDiff: fresh.historyDiff,
|
|
751
759
|
functions: fresh.functions,
|
|
752
760
|
runners: spawnRunners(spawn, fresh.tabs),
|
|
753
|
-
fetchOnOpen:
|
|
761
|
+
fetchOnOpen: {}
|
|
754
762
|
};
|
|
755
763
|
});
|
|
756
764
|
})
|
|
@@ -768,7 +776,7 @@ const vistaMachine = setup({
|
|
|
768
776
|
functions: input.persisted.functions,
|
|
769
777
|
runners: spawnRunners(spawn, input.persisted.tabs),
|
|
770
778
|
loadRevisions: {},
|
|
771
|
-
fetchOnOpen:
|
|
779
|
+
fetchOnOpen: {},
|
|
772
780
|
restoredSidebar: input.persisted.sidebar,
|
|
773
781
|
drawer: input.persisted.sidebar.drawer ?? "saved",
|
|
774
782
|
restoredPanels: input.persisted.panels
|
|
@@ -787,7 +795,10 @@ const vistaMachine = setup({
|
|
|
787
795
|
return event.ids.flatMap((id) => byId.get(id) ?? []);
|
|
788
796
|
} })
|
|
789
797
|
},
|
|
790
|
-
"tab.fetchedOnOpen": { actions: assign({ fetchOnOpen: ({ context, event }) =>
|
|
798
|
+
"tab.fetchedOnOpen": { actions: assign({ fetchOnOpen: ({ context, event }) => {
|
|
799
|
+
let { [event.id]: _fetched, ...fetchOnOpen } = context.fetchOnOpen;
|
|
800
|
+
return fetchOnOpen;
|
|
801
|
+
} }) },
|
|
791
802
|
"tab.rename": { actions: assign({ tabs: ({ context, event }) => updateTab(context.tabs, event.id, (tab) => ({
|
|
792
803
|
...tab,
|
|
793
804
|
title: event.title?.trim() || void 0
|
|
@@ -824,7 +835,10 @@ const vistaMachine = setup({
|
|
|
824
835
|
...context.loadRevisions,
|
|
825
836
|
[event.id]: (context.loadRevisions[event.id] || 0) + 1
|
|
826
837
|
}),
|
|
827
|
-
fetchOnOpen: ({ context, event }) => event.fetch
|
|
838
|
+
fetchOnOpen: ({ context, event }) => event.fetch ? {
|
|
839
|
+
...context.fetchOnOpen,
|
|
840
|
+
[event.id]: event.fetch
|
|
841
|
+
} : context.fetchOnOpen
|
|
828
842
|
}) },
|
|
829
843
|
"settings.update": { actions: assign({ settings: ({ context, event }) => ({
|
|
830
844
|
...context.settings,
|
|
@@ -1184,7 +1198,7 @@ function useOnValueChange(value, onChange) {
|
|
|
1184
1198
|
function cx(...classNames) {
|
|
1185
1199
|
return classNames.filter(Boolean).join(" ");
|
|
1186
1200
|
}
|
|
1187
|
-
|
|
1201
|
+
const _key8$1 = "cTWfhW_lintFindingButton", _key12$1 = "cTWfhW_paneFill", _key16 = "cTWfhW_previewCode", _key29 = "cTWfhW_sidebarItem", _key41 = "cTWfhW_splitPane", _key42 = "cTWfhW_splitPaneContainer";
|
|
1188
1202
|
/** The dataset a tab queries: the workspace's while following it, otherwise the pinned one */
|
|
1189
1203
|
function getTabDataset(options, workspaceDataset) {
|
|
1190
1204
|
return options.datasetMode === "workspace" ? workspaceDataset : options.dataset;
|
|
@@ -1215,9 +1229,9 @@ function withoutPublishedStack(perspective) {
|
|
|
1215
1229
|
}
|
|
1216
1230
|
/** Reads the studio state every tab's options are resolved against */
|
|
1217
1231
|
function useRequestEnvironment() {
|
|
1218
|
-
let $ = c(
|
|
1232
|
+
let $ = c(14), { perspectiveStack, selectedVariantNames } = usePerspective(), workspaceDataset = useVistaSelector(selectWorkspaceDataset), isScheduledDraftsEnabled = useScheduledDraftsEnabled(), { data: t0 } = useActiveReleases(), t1;
|
|
1219
1233
|
$[0] === t0 ? t1 = $[1] : (t1 = t0 === void 0 ? [] : t0, $[0] = t0, $[1] = t1);
|
|
1220
|
-
let releases = t1, isDraftModelEnabled = useWorkspace().document.drafts.enabled, t2;
|
|
1234
|
+
let releases = t1, isDraftModelEnabled = useWorkspace().document.drafts.enabled, isVariantsEnabled = useVariantsEnabled(), t2;
|
|
1221
1235
|
bb0: {
|
|
1222
1236
|
if (!isScheduledDraftsEnabled) {
|
|
1223
1237
|
t2 = void 0;
|
|
@@ -1233,13 +1247,14 @@ function useRequestEnvironment() {
|
|
|
1233
1247
|
t2 = t3;
|
|
1234
1248
|
}
|
|
1235
1249
|
let scheduledDraftsStack = t2, t3;
|
|
1236
|
-
return $[7] !== isScheduledDraftsEnabled || $[8] !==
|
|
1250
|
+
return $[7] !== isScheduledDraftsEnabled || $[8] !== isVariantsEnabled || $[9] !== perspectiveStack || $[10] !== scheduledDraftsStack || $[11] !== selectedVariantNames || $[12] !== workspaceDataset ? (t3 = {
|
|
1237
1251
|
workspaceDataset,
|
|
1238
1252
|
perspectiveStack,
|
|
1239
1253
|
selectedVariantNames,
|
|
1254
|
+
isVariantsEnabled,
|
|
1240
1255
|
scheduledDraftsStack,
|
|
1241
1256
|
isScheduledDraftsEnabled
|
|
1242
|
-
}, $[7] = isScheduledDraftsEnabled, $[8] =
|
|
1257
|
+
}, $[7] = isScheduledDraftsEnabled, $[8] = isVariantsEnabled, $[9] = perspectiveStack, $[10] = scheduledDraftsStack, $[11] = selectedVariantNames, $[12] = workspaceDataset, $[13] = t3) : t3 = $[13], t3;
|
|
1243
1258
|
}
|
|
1244
1259
|
function _temp2$12(release_0) {
|
|
1245
1260
|
return getReleaseIdFromReleaseDocumentId(release_0._id);
|
|
@@ -1250,10 +1265,10 @@ function _temp$23(release) {
|
|
|
1250
1265
|
/**
|
|
1251
1266
|
* Resolves a tab's options against the studio state: a followed workspace dataset, the `global`
|
|
1252
1267
|
* and `scheduledDrafts` perspectives becoming real perspective stacks, and the navbar variant,
|
|
1253
|
-
* which locks the API version to the experimental one.
|
|
1268
|
+
* which locks the API version to the experimental one (where the workspace has variants at all).
|
|
1254
1269
|
*/
|
|
1255
1270
|
function resolveRequestOptions(options, environment) {
|
|
1256
|
-
let { workspaceDataset, perspectiveStack, selectedVariantNames, scheduledDraftsStack } = environment, dataset = getTabDataset(options, workspaceDataset), variant = options.variant === "global" ? getDefaultVariant(selectedVariantNames) : void 0, isValidApiVersion = validateApiVersion(options.apiVersion), userApiVersion = isValidApiVersion ? prefixApiVersion(options.apiVersion) : DEFAULT_API_VERSION, apiVersion = variant ? VARIANTS_API_VERSION : userApiVersion, tabPerspective = getEffectivePerspective(options.perspective, environment.isScheduledDraftsEnabled), perspective = withoutPublishedStack(getActivePerspective({
|
|
1271
|
+
let { workspaceDataset, perspectiveStack, selectedVariantNames, isVariantsEnabled, scheduledDraftsStack } = environment, dataset = getTabDataset(options, workspaceDataset), variant = isVariantsEnabled && options.variant === "global" ? getDefaultVariant(selectedVariantNames) : void 0, isValidApiVersion = validateApiVersion(options.apiVersion), userApiVersion = isValidApiVersion ? prefixApiVersion(options.apiVersion) : DEFAULT_API_VERSION, apiVersion = variant ? VARIANTS_API_VERSION : userApiVersion, tabPerspective = getEffectivePerspective(options.perspective, environment.isScheduledDraftsEnabled), perspective = withoutPublishedStack(getActivePerspective({
|
|
1257
1272
|
visionPerspective: tabPerspective === "global" ? "pinnedRelease" : tabPerspective,
|
|
1258
1273
|
perspectiveStack,
|
|
1259
1274
|
scheduledDraftsStack
|
|
@@ -1525,7 +1540,7 @@ function QueryListPanel(t0) {
|
|
|
1525
1540
|
closable: !0,
|
|
1526
1541
|
id: "vista-saved-query-variant",
|
|
1527
1542
|
status: "warning",
|
|
1528
|
-
title: t("vista.saved.unavailable-variant", { variant: parsed_3.variant })
|
|
1543
|
+
title: t(environment.isVariantsEnabled ? "vista.saved.unavailable-variant" : "vista.saved.variants-disabled", { variant: parsed_3.variant })
|
|
1529
1544
|
});
|
|
1530
1545
|
}, $[22] = actorRef, $[23] = environment, $[24] = t, $[25] = toast, $[26] = t8) : t8 = $[26];
|
|
1531
1546
|
let warnAboutUnrepresentable = t8, t9;
|
|
@@ -1647,7 +1662,7 @@ function QueryListPanel(t0) {
|
|
|
1647
1662
|
}), $[67] = t19, $[68] = t20, $[69] = t21) : t21 = $[69];
|
|
1648
1663
|
let t22;
|
|
1649
1664
|
$[70] !== commitRename || $[71] !== deleteQuery || $[72] !== editingKey || $[73] !== editingTitle || $[74] !== emptyText || $[75] !== formatDate || $[76] !== handleUnshare || $[77] !== isOpenInTab || $[78] !== loadIntoCurrentTab || $[79] !== moving || $[80] !== openInNewTab || $[81] !== t || $[82] !== visibleItems ? (t22 = /* @__PURE__ */ jsx(Box, {
|
|
1650
|
-
className:
|
|
1665
|
+
className: "cTWfhW_scrollArea",
|
|
1651
1666
|
flexBasis: "0%",
|
|
1652
1667
|
flexGrow: 1,
|
|
1653
1668
|
children: visibleItems.length === 0 ? /* @__PURE__ */ jsx(Box, {
|
|
@@ -1688,7 +1703,7 @@ function QueryListPanel(t0) {
|
|
|
1688
1703
|
value: editingTitle
|
|
1689
1704
|
})
|
|
1690
1705
|
}) : /* @__PURE__ */ jsx(Button, {
|
|
1691
|
-
className:
|
|
1706
|
+
className: "cTWfhW_listItemButton",
|
|
1692
1707
|
"data-testid": "vista-saved-query-open",
|
|
1693
1708
|
justify: "flex-start",
|
|
1694
1709
|
mode: "bleed",
|
|
@@ -1708,7 +1723,7 @@ function QueryListPanel(t0) {
|
|
|
1708
1723
|
children: query_7.title || t("label.untitled-query")
|
|
1709
1724
|
}),
|
|
1710
1725
|
preview_0 && /* @__PURE__ */ jsx(Box, {
|
|
1711
|
-
className: "
|
|
1726
|
+
className: "cTWfhW_previewCode",
|
|
1712
1727
|
children: /* @__PURE__ */ jsx(Code, {
|
|
1713
1728
|
size: 0,
|
|
1714
1729
|
children: preview_0
|
|
@@ -2206,45 +2221,58 @@ function UseCdnField(t0) {
|
|
|
2206
2221
|
children: t5
|
|
2207
2222
|
}), $[11] = checked, $[12] = onChange, $[13] = t3, $[14] = t4, $[15] = t5, $[16] = testId, $[17] = t6) : t6 = $[17], t6;
|
|
2208
2223
|
}
|
|
2209
|
-
/**
|
|
2224
|
+
/**
|
|
2225
|
+
* Sends the navbar's variant with the query, or none; picking another variant is not offered
|
|
2226
|
+
* here. Shown only where the navbar has a variant selector of its own: a workspace with variants
|
|
2227
|
+
* switched off has no variant to send, so there is nothing to choose.
|
|
2228
|
+
*/
|
|
2210
2229
|
function VariantSelect(t0) {
|
|
2211
|
-
let $ = c(
|
|
2212
|
-
if ($[0] !== id || $[1] !==
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2230
|
+
let $ = c(49), { id, value, onChange } = t0, { t } = useTranslation(visionLocaleNamespace), isVariantsEnabled = useVariantsEnabled(), { selectedVariants, selectedVariantNames } = usePerspective(), T0, T1, t1, t10, t11, t2, t3, t4, t5, t6, t7, t8, t9;
|
|
2231
|
+
if ($[0] !== id || $[1] !== isVariantsEnabled || $[2] !== onChange || $[3] !== selectedVariantNames || $[4] !== selectedVariants || $[5] !== t || $[6] !== value) {
|
|
2232
|
+
t11 = Symbol.for("react.early_return_sentinel");
|
|
2233
|
+
bb0: {
|
|
2234
|
+
let selectedVariant = getDefaultVariant(selectedVariants), globalVariantName = selectedVariant ? getVariantTitle(selectedVariant) : getDefaultVariant(selectedVariantNames);
|
|
2235
|
+
if (!isVariantsEnabled) {
|
|
2236
|
+
t11 = null;
|
|
2237
|
+
break bb0;
|
|
2238
|
+
}
|
|
2239
|
+
T1 = Stack, t9 = 2;
|
|
2240
|
+
let t12;
|
|
2241
|
+
$[20] === t ? t12 = $[21] : (t12 = t("vista.options.variant-label"), $[20] = t, $[21] = t12), $[22] !== id || $[23] !== t12 ? (t10 = /* @__PURE__ */ jsx(FieldLabel, {
|
|
2242
|
+
htmlFor: id,
|
|
2243
|
+
children: t12
|
|
2244
|
+
}), $[22] = id, $[23] = t12, $[24] = t10) : t10 = $[24], T0 = Select, t3 = `${id}-select`, t4 = 1, t5 = id, $[25] === onChange ? t6 = $[26] : (t6 = (event) => onChange(event.currentTarget.value === "none" ? "none" : "global"), $[25] = onChange, $[26] = t6), t7 = 2, t8 = value, t1 = "global", t2 = globalVariantName ? t("vista.options.variant.global", { name: globalVariantName }) : t("vista.options.variant.global-none");
|
|
2245
|
+
}
|
|
2246
|
+
$[0] = id, $[1] = isVariantsEnabled, $[2] = onChange, $[3] = selectedVariantNames, $[4] = selectedVariants, $[5] = t, $[6] = value, $[7] = T0, $[8] = T1, $[9] = t1, $[10] = t10, $[11] = t11, $[12] = t2, $[13] = t3, $[14] = t4, $[15] = t5, $[16] = t6, $[17] = t7, $[18] = t8, $[19] = t9;
|
|
2247
|
+
} else T0 = $[7], T1 = $[8], t1 = $[9], t10 = $[10], t11 = $[11], t2 = $[12], t3 = $[13], t4 = $[14], t5 = $[15], t6 = $[16], t7 = $[17], t8 = $[18], t9 = $[19];
|
|
2248
|
+
if (t11 !== Symbol.for("react.early_return_sentinel")) return t11;
|
|
2249
|
+
let t12;
|
|
2250
|
+
$[27] !== t1 || $[28] !== t2 ? (t12 = /* @__PURE__ */ jsx("option", {
|
|
2223
2251
|
value: t1,
|
|
2224
2252
|
children: t2
|
|
2225
|
-
}), $[
|
|
2226
|
-
let t12;
|
|
2227
|
-
$[28] === t ? t12 = $[29] : (t12 = t("vista.options.variant.none"), $[28] = t, $[29] = t12);
|
|
2253
|
+
}), $[27] = t1, $[28] = t2, $[29] = t12) : t12 = $[29];
|
|
2228
2254
|
let t13;
|
|
2229
|
-
$[30] ===
|
|
2230
|
-
value: "none",
|
|
2231
|
-
children: t12
|
|
2232
|
-
}), $[30] = t12, $[31] = t13);
|
|
2255
|
+
$[30] === t ? t13 = $[31] : (t13 = t("vista.options.variant.none"), $[30] = t, $[31] = t13);
|
|
2233
2256
|
let t14;
|
|
2234
|
-
$[32]
|
|
2257
|
+
$[32] === t13 ? t14 = $[33] : (t14 = /* @__PURE__ */ jsx("option", {
|
|
2258
|
+
value: "none",
|
|
2259
|
+
children: t13
|
|
2260
|
+
}), $[32] = t13, $[33] = t14);
|
|
2261
|
+
let t15;
|
|
2262
|
+
$[34] !== T0 || $[35] !== t12 || $[36] !== t14 || $[37] !== t3 || $[38] !== t4 || $[39] !== t5 || $[40] !== t6 || $[41] !== t7 || $[42] !== t8 ? (t15 = /* @__PURE__ */ jsxs(T0, {
|
|
2235
2263
|
"data-testid": t3,
|
|
2236
2264
|
fontSize: t4,
|
|
2237
2265
|
id: t5,
|
|
2238
2266
|
onChange: t6,
|
|
2239
2267
|
padding: t7,
|
|
2240
2268
|
value: t8,
|
|
2241
|
-
children: [
|
|
2242
|
-
}), $[
|
|
2243
|
-
let
|
|
2244
|
-
return $[
|
|
2269
|
+
children: [t12, t14]
|
|
2270
|
+
}), $[34] = T0, $[35] = t12, $[36] = t14, $[37] = t3, $[38] = t4, $[39] = t5, $[40] = t6, $[41] = t7, $[42] = t8, $[43] = t15) : t15 = $[43];
|
|
2271
|
+
let t16;
|
|
2272
|
+
return $[44] !== T1 || $[45] !== t10 || $[46] !== t15 || $[47] !== t9 ? (t16 = /* @__PURE__ */ jsxs(T1, {
|
|
2245
2273
|
gap: t9,
|
|
2246
|
-
children: [t10,
|
|
2247
|
-
}), $[
|
|
2274
|
+
children: [t10, t15]
|
|
2275
|
+
}), $[44] = T1, $[45] = t10, $[46] = t15, $[47] = t9, $[48] = t16) : t16 = $[48], t16;
|
|
2248
2276
|
}
|
|
2249
2277
|
/** One field path per line (commas work too), each once */
|
|
2250
2278
|
function parseFieldList(text) {
|
|
@@ -2613,8 +2641,8 @@ function SidebarDrawer(t0) {
|
|
|
2613
2641
|
$[5] !== close || $[6] !== overlay ? (t3 = (event) => {
|
|
2614
2642
|
overlay && event.key === "Escape" && (event.preventDefault(), close());
|
|
2615
2643
|
}, $[5] = close, $[6] = overlay, $[7] = t3) : t3 = $[7];
|
|
2616
|
-
let handleKeyDown = t3, t4 = !overlay, t5 = overlay ? title : void 0, t6 = overlay || void 0, t7 = drawer !== "saved" && drawer !== "shared" && "
|
|
2617
|
-
$[8] !== t7 || $[9] !== t8 ? (t9 = cx(
|
|
2644
|
+
let handleKeyDown = t3, t4 = !overlay, t5 = overlay ? title : void 0, t6 = overlay || void 0, t7 = drawer !== "saved" && drawer !== "shared" && "cTWfhW_sidebarDrawerWide", t8 = overlay && "cTWfhW_sidebarDrawerOverlay", t9;
|
|
2645
|
+
$[8] !== t7 || $[9] !== t8 ? (t9 = cx("cTWfhW_sidebarDrawer", t7, t8), $[8] = t7, $[9] = t8, $[10] = t9) : t9 = $[10];
|
|
2618
2646
|
let t10 = `vista-drawer-${drawer}`, t11 = overlay ? "dialog" : void 0, t12;
|
|
2619
2647
|
$[11] === title ? t12 = $[12] : (t12 = /* @__PURE__ */ jsx(Text, {
|
|
2620
2648
|
size: 1,
|
|
@@ -2670,7 +2698,7 @@ function SidebarItem(t0) {
|
|
|
2670
2698
|
let $ = c(28), { icon, label, expanded, selected, badge, testId, onClick } = t0, name = badge ? `${label} (${badge.count})` : label, t1;
|
|
2671
2699
|
$[0] !== badge || $[1] !== expanded || $[2] !== testId ? (t1 = badge && /* @__PURE__ */ jsx(Badge, {
|
|
2672
2700
|
"aria-hidden": !0,
|
|
2673
|
-
className: cx("
|
|
2701
|
+
className: cx("cTWfhW_sidebarItemBadge", expanded && "cTWfhW_sidebarItemBadgeExpanded"),
|
|
2674
2702
|
"data-testid": `${testId}-badge`,
|
|
2675
2703
|
fontSize: 0,
|
|
2676
2704
|
tone: badge.tone,
|
|
@@ -2692,7 +2720,7 @@ function SidebarItem(t0) {
|
|
|
2692
2720
|
}), $[4] = icon, $[5] = label, $[6] = name, $[7] = onClick, $[8] = selected, $[9] = testId, $[10] = t2) : t2 = $[10];
|
|
2693
2721
|
let t3;
|
|
2694
2722
|
return $[11] !== count || $[12] !== t2 ? (t3 = /* @__PURE__ */ jsxs("div", {
|
|
2695
|
-
className:
|
|
2723
|
+
className: _key29,
|
|
2696
2724
|
children: [t2, count]
|
|
2697
2725
|
}), $[11] = count, $[12] = t2, $[13] = t3) : t3 = $[13], t3;
|
|
2698
2726
|
}
|
|
@@ -2720,7 +2748,7 @@ function SidebarItem(t0) {
|
|
|
2720
2748
|
}), $[22] = t2, $[23] = t3, $[24] = t4) : t4 = $[24];
|
|
2721
2749
|
let t5;
|
|
2722
2750
|
return $[25] !== count || $[26] !== t4 ? (t5 = /* @__PURE__ */ jsxs("div", {
|
|
2723
|
-
className:
|
|
2751
|
+
className: _key29,
|
|
2724
2752
|
children: [t4, count]
|
|
2725
2753
|
}), $[25] = count, $[26] = t4, $[27] = t5) : t5 = $[27], t5;
|
|
2726
2754
|
}
|
|
@@ -2738,8 +2766,8 @@ function VistaSidebar() {
|
|
|
2738
2766
|
}, $[3] = t1) : t1 = $[3], useOnValueChange(drawer, t1);
|
|
2739
2767
|
let t2;
|
|
2740
2768
|
$[4] === t ? t2 = $[5] : (t2 = t("vista.sidebar.label"), $[4] = t, $[5] = t2);
|
|
2741
|
-
let t3 = expanded ?
|
|
2742
|
-
$[6] !== t3 || $[7] !== t4 ? (t5 = cx(
|
|
2769
|
+
let t3 = expanded ? "cTWfhW_sidebarRailExpanded" : "cTWfhW_sidebarRailCollapsed", t4 = isMobile && expanded && "cTWfhW_sidebarRailOverlay", t5;
|
|
2770
|
+
$[6] !== t3 || $[7] !== t4 ? (t5 = cx("cTWfhW_sidebarRail", t3, t4), $[6] = t3, $[7] = t4, $[8] = t5) : t5 = $[8];
|
|
2743
2771
|
let t6 = isMobile && drawer !== null, t7;
|
|
2744
2772
|
$[9] === t ? t7 = $[10] : (t7 = t("vista.sidebar.shared-queries"), $[9] = t, $[10] = t7);
|
|
2745
2773
|
let t8;
|
|
@@ -2928,7 +2956,7 @@ function VistaSidebar() {
|
|
|
2928
2956
|
}), $[112] = t2, $[113] = t34, $[114] = t48, $[115] = t5, $[116] = t6, $[117] = t49) : t49 = $[117];
|
|
2929
2957
|
let rail = t49, t50;
|
|
2930
2958
|
$[118] !== isMobile || $[119] !== rail ? (t50 = isMobile ? /* @__PURE__ */ jsx("div", {
|
|
2931
|
-
className:
|
|
2959
|
+
className: "cTWfhW_sidebarSlot",
|
|
2932
2960
|
children: rail
|
|
2933
2961
|
}) : rail, $[118] = isMobile, $[119] = rail, $[120] = t50) : t50 = $[120];
|
|
2934
2962
|
let t51;
|
|
@@ -3140,7 +3168,7 @@ function createByteOffsetConverter(text) {
|
|
|
3140
3168
|
return index;
|
|
3141
3169
|
};
|
|
3142
3170
|
}
|
|
3143
|
-
const PARSE_WRAPPER_RE = /Parse\("((?:[^"\\]|\\.)*)"\)/, PREFIX_RE = /^(?:(?:Failed to parse query|Format failed|Lint failed|Format error|Lint error): )+/, POSITION_RE = /\s*at Position \{ start: (\d+), end: (\d+) \}\s*$/;
|
|
3171
|
+
const PARSE_WRAPPER_RE = /Parse\("((?:[^"\\]|\\.)*)"\)/, PREFIX_RE = /^(?:(?:Failed to parse query|Format failed|Lint failed|Format error|Lint error|Parse error): )+/, POSITION_RE = /\s*at Position \{ start: (\d+), end: (\d+) \}\s*$/;
|
|
3144
3172
|
/** Turns the wasm wrapper's parse failures into a {@link GroqSyntaxError}; anything else is rethrown */
|
|
3145
3173
|
function toSyntaxError(error, query) {
|
|
3146
3174
|
if (!(error instanceof Error)) throw error;
|
|
@@ -3174,11 +3202,11 @@ async function lintGroq(query) {
|
|
|
3174
3202
|
}
|
|
3175
3203
|
return toGroqFindings(findings, query);
|
|
3176
3204
|
}
|
|
3177
|
-
/** Converts the wasm findings'
|
|
3205
|
+
/** Converts the wasm findings' spans into ranges of `query`; a finding without a span covers all of it */
|
|
3178
3206
|
function toGroqFindings(findings, query) {
|
|
3179
|
-
let
|
|
3207
|
+
let clamp = (index) => Math.max(0, Math.min(index, query.length));
|
|
3180
3208
|
return findings.map(({ ruleId, message, severity, span }) => {
|
|
3181
|
-
let from = span ?
|
|
3209
|
+
let from = span ? clamp(span.start.offset) : 0, to = span ? Math.max(from, clamp(span.end.offset)) : query.length;
|
|
3182
3210
|
return {
|
|
3183
3211
|
ruleId,
|
|
3184
3212
|
message: message.trim(),
|
|
@@ -3188,6 +3216,52 @@ function toGroqFindings(findings, query) {
|
|
|
3188
3216
|
};
|
|
3189
3217
|
});
|
|
3190
3218
|
}
|
|
3219
|
+
/**
|
|
3220
|
+
* Extracts every `$name` parameter a query references, with their locations. `extractParams`
|
|
3221
|
+
* already returns indices into the query string, so no conversion happens here. Rejects with a
|
|
3222
|
+
* {@link GroqSyntaxError} when the query does not parse.
|
|
3223
|
+
*/
|
|
3224
|
+
async function extractQueryParams(query) {
|
|
3225
|
+
let wasm = await loadGroqWasm();
|
|
3226
|
+
try {
|
|
3227
|
+
return wasm.extractParams(query).map(({ name, references }) => ({
|
|
3228
|
+
name,
|
|
3229
|
+
references: references.map(({ start, end }) => ({
|
|
3230
|
+
from: start,
|
|
3231
|
+
to: end
|
|
3232
|
+
}))
|
|
3233
|
+
}));
|
|
3234
|
+
} catch (error) {
|
|
3235
|
+
throw toSyntaxError(error, query);
|
|
3236
|
+
}
|
|
3237
|
+
}
|
|
3238
|
+
function buildParamsInsertion(names) {
|
|
3239
|
+
return names.map((name) => ` ${JSON.stringify(name)}: "",\n`).join("");
|
|
3240
|
+
}
|
|
3241
|
+
/**
|
|
3242
|
+
* Appends `"name": ""` for every `name` not already a key `rawParams` has, without touching any
|
|
3243
|
+
* of its existing text (so comments, formatting and values survive untouched). `rawParams` is
|
|
3244
|
+
* returned unchanged when its root is not a `{...}` object, since there is then nowhere
|
|
3245
|
+
* unambiguous to insert into; an empty or whitespace-only `rawParams` is treated as `{}`.
|
|
3246
|
+
*/
|
|
3247
|
+
function addMissingParams(rawParams, missingNames) {
|
|
3248
|
+
if (missingNames.length === 0) return rawParams;
|
|
3249
|
+
let trimmed = rawParams.trim();
|
|
3250
|
+
if (trimmed === "") return `{\n${buildParamsInsertion(missingNames)}}`;
|
|
3251
|
+
if (!trimmed.startsWith("{") || !trimmed.endsWith("}")) return rawParams;
|
|
3252
|
+
let closeIndex = rawParams.lastIndexOf("}"), before = rawParams.slice(0, closeIndex), after = rawParams.slice(closeIndex), isEmptyObject = before.trimEnd().endsWith("{"), hasTrailingComma = /,\s*$/.test(before);
|
|
3253
|
+
return `${before}${!isEmptyObject && !hasTrailingComma ? ",\n" : before.endsWith("\n") ? "" : "\n"}${buildParamsInsertion(missingNames)}${after}`;
|
|
3254
|
+
}
|
|
3255
|
+
/**
|
|
3256
|
+
* Which of `referencedNames` `rawParams` has no key for yet. `undefined` when `rawParams` is not
|
|
3257
|
+
* valid JSON5 (common while it is mid-edit, and not worth reporting as an error here).
|
|
3258
|
+
*/
|
|
3259
|
+
function missingParamNames(referencedNames, rawParams, t) {
|
|
3260
|
+
let current = parseParams(rawParams, t);
|
|
3261
|
+
if (!current.valid) return;
|
|
3262
|
+
let existing = current.parsed ?? {};
|
|
3263
|
+
return referencedNames.filter((name) => !Object.hasOwn(existing, name));
|
|
3264
|
+
}
|
|
3191
3265
|
const NO_FUNCTIONS = [], functionLibrary = Facet.define({ combine: (values) => values[0] ?? NO_FUNCTIONS }), groqEditorLabels = Facet.define({ combine: (values) => values[0] }), querySchema = Facet.define({ combine: (values) => values[0] }), V2021 = "v2021-03-25";
|
|
3192
3266
|
function exactly(count) {
|
|
3193
3267
|
return {
|
|
@@ -5096,6 +5170,38 @@ function ActionRail(t0) {
|
|
|
5096
5170
|
}), $[0] = children, $[1] = testId, $[2] = t1) : t1 = $[2], t1;
|
|
5097
5171
|
}
|
|
5098
5172
|
/**
|
|
5173
|
+
* Tooltip of a control that calls Sanity Agent Actions: what it does, and that it spends the
|
|
5174
|
+
* organization's AI credits, which nothing else in the tool would say before the request is made
|
|
5175
|
+
*/
|
|
5176
|
+
function AgentActionsTooltip(props) {
|
|
5177
|
+
let $ = c(13), { title, placement: t0, children } = props, placement = t0 === void 0 ? "bottom" : t0, { t } = useTranslation(visionLocaleNamespace), t1;
|
|
5178
|
+
$[0] === title ? t1 = $[1] : (t1 = title && /* @__PURE__ */ jsx(Text, {
|
|
5179
|
+
size: 1,
|
|
5180
|
+
children: title
|
|
5181
|
+
}), $[0] = title, $[1] = t1);
|
|
5182
|
+
let t2;
|
|
5183
|
+
$[2] === t ? t2 = $[3] : (t2 = t("vista.agent-actions.credits"), $[2] = t, $[3] = t2);
|
|
5184
|
+
let t3;
|
|
5185
|
+
$[4] === t2 ? t3 = $[5] : (t3 = /* @__PURE__ */ jsx(Text, {
|
|
5186
|
+
muted: !0,
|
|
5187
|
+
size: 1,
|
|
5188
|
+
children: t2
|
|
5189
|
+
}), $[4] = t2, $[5] = t3);
|
|
5190
|
+
let t4;
|
|
5191
|
+
$[6] !== t1 || $[7] !== t3 ? (t4 = /* @__PURE__ */ jsxs(Stack, {
|
|
5192
|
+
gap: 2,
|
|
5193
|
+
children: [t1, t3]
|
|
5194
|
+
}), $[6] = t1, $[7] = t3, $[8] = t4) : t4 = $[8];
|
|
5195
|
+
let t5;
|
|
5196
|
+
return $[9] !== children || $[10] !== placement || $[11] !== t4 ? (t5 = /* @__PURE__ */ jsx(Tooltip, {
|
|
5197
|
+
animate: !0,
|
|
5198
|
+
content: t4,
|
|
5199
|
+
placement,
|
|
5200
|
+
portal: !0,
|
|
5201
|
+
children
|
|
5202
|
+
}), $[9] = children, $[10] = placement, $[11] = t4, $[12] = t5) : t5 = $[12], t5;
|
|
5203
|
+
}
|
|
5204
|
+
/**
|
|
5099
5205
|
* The tabbed bottom panel of the request and response columns. When collapsed only the tab
|
|
5100
5206
|
* header remains, and picking a tab expands it again.
|
|
5101
5207
|
*/
|
|
@@ -5144,7 +5250,7 @@ function CollapsiblePanel(props) {
|
|
|
5144
5250
|
} else t6 = $[16];
|
|
5145
5251
|
let t7;
|
|
5146
5252
|
$[23] === t6 ? t7 = $[24] : (t7 = /* @__PURE__ */ jsx(Box, {
|
|
5147
|
-
className:
|
|
5253
|
+
className: "cTWfhW_panelTabs",
|
|
5148
5254
|
ref: stripRef,
|
|
5149
5255
|
children: /* @__PURE__ */ jsx(TabList, {
|
|
5150
5256
|
gap: 1,
|
|
@@ -5200,7 +5306,7 @@ function _temp$17(tab_0) {
|
|
|
5200
5306
|
*/
|
|
5201
5307
|
function CollapsibleSection(props) {
|
|
5202
5308
|
let $ = c(31), { id, title, icon, actions, expanded, onToggle, className, style, ref, handle, children } = props, t0 = expanded && className, t1;
|
|
5203
|
-
$[0] === t0 ? t1 = $[1] : (t1 = cx(
|
|
5309
|
+
$[0] === t0 ? t1 = $[1] : (t1 = cx("cTWfhW_collapsibleSection", t0), $[0] = t0, $[1] = t1);
|
|
5204
5310
|
let t2 = `${id}-panel`, t3 = expanded ? style : void 0, t4 = `${id}-content`, t5 = `${id}-toggle`, t6 = expanded ? ChevronDownIcon : ChevronRightIcon, t7 = `${id}-toggle`, t8;
|
|
5205
5311
|
$[2] !== expanded || $[3] !== onToggle || $[4] !== t4 || $[5] !== t5 || $[6] !== t6 || $[7] !== t7 || $[8] !== title ? (t8 = /* @__PURE__ */ jsx(Button, {
|
|
5206
5312
|
"aria-controls": t4,
|
|
@@ -5236,7 +5342,7 @@ function CollapsibleSection(props) {
|
|
|
5236
5342
|
let t11;
|
|
5237
5343
|
$[18] !== children || $[19] !== expanded || $[20] !== id ? (t11 = expanded && /* @__PURE__ */ jsx(Box, {
|
|
5238
5344
|
"aria-labelledby": `${id}-toggle`,
|
|
5239
|
-
className: "
|
|
5345
|
+
className: "cTWfhW_sectionBody",
|
|
5240
5346
|
id: `${id}-content`,
|
|
5241
5347
|
role: "region",
|
|
5242
5348
|
children
|
|
@@ -5385,6 +5491,146 @@ async function generateQuery(options) {
|
|
|
5385
5491
|
}
|
|
5386
5492
|
throw new GenerateQueryError(previous?.problem ?? "No query was generated", previous?.attempt);
|
|
5387
5493
|
}
|
|
5494
|
+
function optionalString(value) {
|
|
5495
|
+
return typeof value == "string" && value ? value : void 0;
|
|
5496
|
+
}
|
|
5497
|
+
function optionalNumber(value) {
|
|
5498
|
+
return typeof value == "number" && Number.isFinite(value) ? value : void 0;
|
|
5499
|
+
}
|
|
5500
|
+
/**
|
|
5501
|
+
* The credits as the `ai-usage` resource of the project's subscription reports them; `undefined`
|
|
5502
|
+
* for a response of another shape, which is what a Studio talking to an API without it gets
|
|
5503
|
+
*/
|
|
5504
|
+
function readAiCredits(response) {
|
|
5505
|
+
if (!isPlainObject(response) || typeof response.granted != "boolean") return;
|
|
5506
|
+
let subscription = isPlainObject(response.subscription) ? response.subscription : {}, usage = isPlainObject(response.usage) ? response.usage : {};
|
|
5507
|
+
return {
|
|
5508
|
+
granted: response.granted,
|
|
5509
|
+
reasonCode: optionalString(response.reasonCode),
|
|
5510
|
+
used: optionalNumber(usage.value),
|
|
5511
|
+
quota: optionalNumber(subscription.quota)
|
|
5512
|
+
};
|
|
5513
|
+
}
|
|
5514
|
+
/**
|
|
5515
|
+
* Reads the organization's AI credits through the project. The resource only exists on the
|
|
5516
|
+
* experimental API, and a Studio talking to an API without it resolves with `undefined`, so
|
|
5517
|
+
* nothing depends on the answer.
|
|
5518
|
+
*/
|
|
5519
|
+
async function fetchAiCredits(client, signal) {
|
|
5520
|
+
let { projectId } = client.config();
|
|
5521
|
+
if (projectId) return readAiCredits(await client.withConfig({ apiVersion: "vX" }).request({
|
|
5522
|
+
url: `/subscriptions/project/${projectId}/resources/ai-usage`,
|
|
5523
|
+
tag: "vista.ai-credits",
|
|
5524
|
+
signal
|
|
5525
|
+
}));
|
|
5526
|
+
}
|
|
5527
|
+
/**
|
|
5528
|
+
* The credits a request was turned down for, from the 429 response Agent Actions give once the
|
|
5529
|
+
* organization's spending limit is reached: its body names the limit and carries the usage and
|
|
5530
|
+
* the quota, which a plain rate limit response does not. `undefined` for any other error.
|
|
5531
|
+
*/
|
|
5532
|
+
function readAiCreditsLimit(error) {
|
|
5533
|
+
if (!isHttpError(error) || error.statusCode !== 429) return;
|
|
5534
|
+
let body = error.response.body;
|
|
5535
|
+
if (!isPlainObject(body)) return;
|
|
5536
|
+
let reasonCode = optionalString(body.reasonCode), quota = optionalNumber(body.quota);
|
|
5537
|
+
if (reasonCode !== void 0 || quota !== void 0) return {
|
|
5538
|
+
granted: !1,
|
|
5539
|
+
reasonCode,
|
|
5540
|
+
used: optionalNumber(body.usageValue),
|
|
5541
|
+
quota
|
|
5542
|
+
};
|
|
5543
|
+
}
|
|
5544
|
+
/** The Sanity website the project's API host belongs to, for links into Manage */
|
|
5545
|
+
function websiteUrl(apiHost) {
|
|
5546
|
+
return apiHost?.endsWith(".work") ? "https://www.sanity.work" : "https://www.sanity.io";
|
|
5547
|
+
}
|
|
5548
|
+
/**
|
|
5549
|
+
* The organization's AI usage in Manage; without the organization ID, Manage's own redirect to
|
|
5550
|
+
* the organization of the signed-in user
|
|
5551
|
+
*/
|
|
5552
|
+
function aiUsageUrl(apiHost, organizationId) {
|
|
5553
|
+
let site = websiteUrl(apiHost);
|
|
5554
|
+
return organizationId ? `${site}/organizations/${organizationId}/usage/ai` : `${site}/manage/org/usage/ai`;
|
|
5555
|
+
}
|
|
5556
|
+
/** The organization's spending limits in Manage, where the AI credits limit is raised */
|
|
5557
|
+
function aiSpendingLimitUrl(apiHost, organizationId) {
|
|
5558
|
+
let site = websiteUrl(apiHost);
|
|
5559
|
+
return organizationId ? `${site}/organizations/${organizationId}/settings#caps` : `${site}/manage/org/settings`;
|
|
5560
|
+
}
|
|
5561
|
+
/** How long a reading stands before a control that mounts reads again */
|
|
5562
|
+
const entries = /* @__PURE__ */ new Map(), listeners = /* @__PURE__ */ new Set();
|
|
5563
|
+
function subscribe(listener) {
|
|
5564
|
+
return listeners.add(listener), () => {
|
|
5565
|
+
listeners.delete(listener);
|
|
5566
|
+
};
|
|
5567
|
+
}
|
|
5568
|
+
function update(projectId, entry) {
|
|
5569
|
+
entries.set(projectId, entry), listeners.forEach((listener) => listener());
|
|
5570
|
+
}
|
|
5571
|
+
async function read(projectId, client) {
|
|
5572
|
+
let previous = entries.get(projectId), version = (previous?.version ?? 0) + 1;
|
|
5573
|
+
update(projectId, {
|
|
5574
|
+
credits: previous?.credits,
|
|
5575
|
+
readAt: previous?.readAt ?? 0,
|
|
5576
|
+
reading: !0,
|
|
5577
|
+
version
|
|
5578
|
+
});
|
|
5579
|
+
let credits;
|
|
5580
|
+
try {
|
|
5581
|
+
credits = await fetchAiCredits(client);
|
|
5582
|
+
} catch {
|
|
5583
|
+
credits = void 0;
|
|
5584
|
+
}
|
|
5585
|
+
entries.get(projectId)?.version === version && update(projectId, {
|
|
5586
|
+
credits,
|
|
5587
|
+
readAt: Date.now(),
|
|
5588
|
+
reading: !1,
|
|
5589
|
+
version
|
|
5590
|
+
});
|
|
5591
|
+
}
|
|
5592
|
+
/**
|
|
5593
|
+
* The organization's AI credits, read through the project when a control that spends them
|
|
5594
|
+
* mounts and the last reading is more than a minute old; `undefined` until read, and when the
|
|
5595
|
+
* API has nothing to say about them
|
|
5596
|
+
*/
|
|
5597
|
+
function useAiCredits(client) {
|
|
5598
|
+
let $ = c(8), t0;
|
|
5599
|
+
$[0] === client ? t0 = $[1] : (t0 = client.config(), $[0] = client, $[1] = t0);
|
|
5600
|
+
let { projectId } = t0, t1;
|
|
5601
|
+
$[2] === projectId ? t1 = $[3] : (t1 = () => projectId ? entries.get(projectId)?.credits : void 0, $[2] = projectId, $[3] = t1);
|
|
5602
|
+
let credits = useSyncExternalStore(subscribe, t1), t2, t3;
|
|
5603
|
+
return $[4] !== client || $[5] !== projectId ? (t2 = () => {
|
|
5604
|
+
if (!projectId) return;
|
|
5605
|
+
let entry = entries.get(projectId);
|
|
5606
|
+
entry && (entry.reading || Date.now() - entry.readAt < 6e4) || read(projectId, client);
|
|
5607
|
+
}, t3 = [client, projectId], $[4] = client, $[5] = projectId, $[6] = t2, $[7] = t3) : (t2 = $[6], t3 = $[7]), useEffect(t2, t3), credits;
|
|
5608
|
+
}
|
|
5609
|
+
/**
|
|
5610
|
+
* A request was turned down for the credits: every control shows the limit right away, with the
|
|
5611
|
+
* usage the response carried, rather than the reading from before
|
|
5612
|
+
*/
|
|
5613
|
+
function reportAiCreditsLimit(client, limit) {
|
|
5614
|
+
let { projectId } = client.config();
|
|
5615
|
+
if (!projectId) return;
|
|
5616
|
+
let version = (entries.get(projectId)?.version ?? 0) + 1;
|
|
5617
|
+
update(projectId, {
|
|
5618
|
+
credits: limit,
|
|
5619
|
+
readAt: Date.now(),
|
|
5620
|
+
reading: !1,
|
|
5621
|
+
version
|
|
5622
|
+
});
|
|
5623
|
+
}
|
|
5624
|
+
/**
|
|
5625
|
+
* A request went through: a limit reported before no longer holds (the spending limit was
|
|
5626
|
+
* raised, or the month turned), so the credits are read again
|
|
5627
|
+
*/
|
|
5628
|
+
function reportAiCreditsGranted(client) {
|
|
5629
|
+
let { projectId } = client.config();
|
|
5630
|
+
if (!projectId) return;
|
|
5631
|
+
let entry = entries.get(projectId);
|
|
5632
|
+
entry?.credits?.granted === !1 && !entry.reading && read(projectId, client);
|
|
5633
|
+
}
|
|
5388
5634
|
function isReferenceType(type) {
|
|
5389
5635
|
for (let current = type; current; current = current.type) if (current.name === "reference") return "to" in type;
|
|
5390
5636
|
return !1;
|
|
@@ -5442,6 +5688,156 @@ function summarizeSchema(schema, request) {
|
|
|
5442
5688
|
let lines = [...detailed];
|
|
5443
5689
|
return others.length > 0 && lines.push(`${detailed.length > 0 ? "Other document types" : "Document types"}: ${others.join(", ")}`), lines.join("\n");
|
|
5444
5690
|
}
|
|
5691
|
+
/** The ID of the organization the project belongs to, for links to its pages in Manage */
|
|
5692
|
+
function useOrganizationId() {
|
|
5693
|
+
let $ = c(2), projectStore = useProjectStore(), t0;
|
|
5694
|
+
return $[0] === projectStore ? t0 = $[1] : (t0 = projectStore.getOrganizationId(), $[0] = projectStore, $[1] = t0), useObservable(t0, null);
|
|
5695
|
+
}
|
|
5696
|
+
/** How many credits are left this month, with a link to the organization's AI usage in Manage */
|
|
5697
|
+
function AiCreditsNote(t0) {
|
|
5698
|
+
let $ = c(28), { used, quota, apiHost, size } = t0, { t } = useTranslation(visionLocaleNamespace), numberFormat = useNumberFormat(), organizationId = useOrganizationId(), t1;
|
|
5699
|
+
$[0] === numberFormat ? t1 = $[1] : (t1 = (value) => numberFormat.format(value), $[0] = numberFormat, $[1] = t1);
|
|
5700
|
+
let format = t1, note;
|
|
5701
|
+
if (quota === void 0) {
|
|
5702
|
+
let t2;
|
|
5703
|
+
$[2] !== format || $[3] !== t || $[4] !== used ? (t2 = t("vista.ai-credits.used", { used: format(used) }), $[2] = format, $[3] = t, $[4] = used, $[5] = t2) : t2 = $[5], note = t2;
|
|
5704
|
+
} else if (used > quota) {
|
|
5705
|
+
let t2;
|
|
5706
|
+
$[6] !== format || $[7] !== quota || $[8] !== t || $[9] !== used ? (t2 = t("vista.ai-credits.deficit", {
|
|
5707
|
+
used: format(used),
|
|
5708
|
+
deficit: format(used - quota),
|
|
5709
|
+
quota: format(quota)
|
|
5710
|
+
}), $[6] = format, $[7] = quota, $[8] = t, $[9] = used, $[10] = t2) : t2 = $[10], note = t2;
|
|
5711
|
+
} else {
|
|
5712
|
+
let t2;
|
|
5713
|
+
$[11] !== format || $[12] !== quota || $[13] !== t || $[14] !== used ? (t2 = t("vista.ai-credits.balance", {
|
|
5714
|
+
balance: format(quota - used),
|
|
5715
|
+
quota: format(quota)
|
|
5716
|
+
}), $[11] = format, $[12] = quota, $[13] = t, $[14] = used, $[15] = t2) : t2 = $[15], note = t2;
|
|
5717
|
+
}
|
|
5718
|
+
let t2 = note, t3;
|
|
5719
|
+
$[16] !== apiHost || $[17] !== organizationId ? (t3 = aiUsageUrl(apiHost, organizationId), $[16] = apiHost, $[17] = organizationId, $[18] = t3) : t3 = $[18];
|
|
5720
|
+
let t4;
|
|
5721
|
+
$[19] === t ? t4 = $[20] : (t4 = t("vista.ai-credits.usage"), $[19] = t, $[20] = t4);
|
|
5722
|
+
let t5;
|
|
5723
|
+
$[21] !== t3 || $[22] !== t4 ? (t5 = /* @__PURE__ */ jsx("a", {
|
|
5724
|
+
href: t3,
|
|
5725
|
+
rel: "noreferrer",
|
|
5726
|
+
target: "_blank",
|
|
5727
|
+
children: t4
|
|
5728
|
+
}), $[21] = t3, $[22] = t4, $[23] = t5) : t5 = $[23];
|
|
5729
|
+
let t6;
|
|
5730
|
+
return $[24] !== note || $[25] !== size || $[26] !== t5 ? (t6 = /* @__PURE__ */ jsxs(Text, {
|
|
5731
|
+
"data-testid": "vista-ai-credits",
|
|
5732
|
+
muted: !0,
|
|
5733
|
+
size,
|
|
5734
|
+
children: [
|
|
5735
|
+
t2,
|
|
5736
|
+
" ",
|
|
5737
|
+
t5
|
|
5738
|
+
]
|
|
5739
|
+
}), $[24] = note, $[25] = size, $[26] = t5, $[27] = t6) : t6 = $[27], t6;
|
|
5740
|
+
}
|
|
5741
|
+
/**
|
|
5742
|
+
* The organization is out of AI credits: what that means, and where the limit is raised. Agent
|
|
5743
|
+
* Actions turn every request down until then, so this stands where their result would.
|
|
5744
|
+
*/
|
|
5745
|
+
function AiCreditsLimitCard(t0) {
|
|
5746
|
+
let $ = c(30), { credits, apiHost } = t0, { t } = useTranslation(visionLocaleNamespace), numberFormat = useNumberFormat(), organizationId = useOrganizationId(), { used, quota } = credits, t1;
|
|
5747
|
+
$[0] === t ? t1 = $[1] : (t1 = t("vista.ai-credits.limit.title"), $[0] = t, $[1] = t1);
|
|
5748
|
+
let t2;
|
|
5749
|
+
$[2] === t1 ? t2 = $[3] : (t2 = /* @__PURE__ */ jsx(Text, {
|
|
5750
|
+
size: 1,
|
|
5751
|
+
weight: "medium",
|
|
5752
|
+
children: t1
|
|
5753
|
+
}), $[2] = t1, $[3] = t2);
|
|
5754
|
+
let t3;
|
|
5755
|
+
$[4] !== numberFormat || $[5] !== quota || $[6] !== t || $[7] !== used ? (t3 = used === void 0 || quota === void 0 ? t("vista.ai-credits.limit.description-unknown") : t("vista.ai-credits.limit.description", {
|
|
5756
|
+
used: numberFormat.format(used),
|
|
5757
|
+
quota: numberFormat.format(quota)
|
|
5758
|
+
}), $[4] = numberFormat, $[5] = quota, $[6] = t, $[7] = used, $[8] = t3) : t3 = $[8];
|
|
5759
|
+
let t4;
|
|
5760
|
+
$[9] === t3 ? t4 = $[10] : (t4 = /* @__PURE__ */ jsx(Text, {
|
|
5761
|
+
muted: !0,
|
|
5762
|
+
size: 1,
|
|
5763
|
+
children: t3
|
|
5764
|
+
}), $[9] = t3, $[10] = t4);
|
|
5765
|
+
let t5;
|
|
5766
|
+
$[11] === t ? t5 = $[12] : (t5 = t("vista.ai-credits.limit.learn-more"), $[11] = t, $[12] = t5);
|
|
5767
|
+
let t6;
|
|
5768
|
+
$[13] === t5 ? t6 = $[14] : (t6 = /* @__PURE__ */ jsx(Button, {
|
|
5769
|
+
as: "a",
|
|
5770
|
+
fontSize: 1,
|
|
5771
|
+
href: "https://www.sanity.io/docs/platform-management/how-ai-credits-work",
|
|
5772
|
+
iconRight: LaunchIcon,
|
|
5773
|
+
mode: "bleed",
|
|
5774
|
+
padding: 2,
|
|
5775
|
+
rel: "noreferrer",
|
|
5776
|
+
target: "_blank",
|
|
5777
|
+
text: t5
|
|
5778
|
+
}), $[13] = t5, $[14] = t6);
|
|
5779
|
+
let t7;
|
|
5780
|
+
$[15] !== apiHost || $[16] !== organizationId ? (t7 = aiSpendingLimitUrl(apiHost, organizationId), $[15] = apiHost, $[16] = organizationId, $[17] = t7) : t7 = $[17];
|
|
5781
|
+
let t8;
|
|
5782
|
+
$[18] === t ? t8 = $[19] : (t8 = t("vista.ai-credits.limit.manage"), $[18] = t, $[19] = t8);
|
|
5783
|
+
let t9;
|
|
5784
|
+
$[20] !== t7 || $[21] !== t8 ? (t9 = /* @__PURE__ */ jsx(Button, {
|
|
5785
|
+
as: "a",
|
|
5786
|
+
"data-testid": "vista-ai-credits-manage",
|
|
5787
|
+
fontSize: 1,
|
|
5788
|
+
href: t7,
|
|
5789
|
+
padding: 2,
|
|
5790
|
+
rel: "noreferrer",
|
|
5791
|
+
target: "_blank",
|
|
5792
|
+
text: t8,
|
|
5793
|
+
tone: "primary"
|
|
5794
|
+
}), $[20] = t7, $[21] = t8, $[22] = t9) : t9 = $[22];
|
|
5795
|
+
let t10;
|
|
5796
|
+
$[23] !== t6 || $[24] !== t9 ? (t10 = /* @__PURE__ */ jsxs(Flex, {
|
|
5797
|
+
gap: 2,
|
|
5798
|
+
justifyContent: "flex-end",
|
|
5799
|
+
children: [t6, t9]
|
|
5800
|
+
}), $[23] = t6, $[24] = t9, $[25] = t10) : t10 = $[25];
|
|
5801
|
+
let t11;
|
|
5802
|
+
return $[26] !== t10 || $[27] !== t2 || $[28] !== t4 ? (t11 = /* @__PURE__ */ jsx(Card, {
|
|
5803
|
+
border: !0,
|
|
5804
|
+
"data-testid": "vista-ai-credits-limit",
|
|
5805
|
+
padding: 3,
|
|
5806
|
+
radius: 2,
|
|
5807
|
+
children: /* @__PURE__ */ jsxs(Stack, {
|
|
5808
|
+
gap: 3,
|
|
5809
|
+
children: [
|
|
5810
|
+
t2,
|
|
5811
|
+
t4,
|
|
5812
|
+
t10
|
|
5813
|
+
]
|
|
5814
|
+
})
|
|
5815
|
+
}), $[26] = t10, $[27] = t2, $[28] = t4, $[29] = t11) : t11 = $[29], t11;
|
|
5816
|
+
}
|
|
5817
|
+
/**
|
|
5818
|
+
* What the organization's AI credits mean for the Agent Actions control this stands under:
|
|
5819
|
+
* nothing while they are unknown, how many are left while requests go through, and the way to
|
|
5820
|
+
* more of them once the spending limit is reached
|
|
5821
|
+
*/
|
|
5822
|
+
function AiCreditsStatus(t0) {
|
|
5823
|
+
let $ = c(8), { credits, apiHost, size: t1 } = t0, size = t1 === void 0 ? 1 : t1;
|
|
5824
|
+
if (!credits) return null;
|
|
5825
|
+
if (!credits.granted) {
|
|
5826
|
+
let t2;
|
|
5827
|
+
return $[0] !== apiHost || $[1] !== credits ? (t2 = /* @__PURE__ */ jsx(AiCreditsLimitCard, {
|
|
5828
|
+
apiHost,
|
|
5829
|
+
credits
|
|
5830
|
+
}), $[0] = apiHost, $[1] = credits, $[2] = t2) : t2 = $[2], t2;
|
|
5831
|
+
}
|
|
5832
|
+
if (credits.used === void 0) return null;
|
|
5833
|
+
let t2;
|
|
5834
|
+
return $[3] !== apiHost || $[4] !== credits.quota || $[5] !== credits.used || $[6] !== size ? (t2 = /* @__PURE__ */ jsx(AiCreditsNote, {
|
|
5835
|
+
apiHost,
|
|
5836
|
+
quota: credits.quota,
|
|
5837
|
+
size,
|
|
5838
|
+
used: credits.used
|
|
5839
|
+
}), $[3] = apiHost, $[4] = credits.quota, $[5] = credits.used, $[6] = size, $[7] = t2) : t2 = $[7], t2;
|
|
5840
|
+
}
|
|
5445
5841
|
/** A description to generate from, with the button that generates: Enter submits, Escape closes */
|
|
5446
5842
|
function PromptRow(props) {
|
|
5447
5843
|
let $ = c(34), { label, placeholder, value, onChange, onSubmit, onClose, pending, testIdPrefix } = props, { t } = useTranslation(visionLocaleNamespace), t0;
|
|
@@ -5516,9 +5912,9 @@ function PromptRow(props) {
|
|
|
5516
5912
|
* replaces the tab's query and params, and runs.
|
|
5517
5913
|
*/
|
|
5518
5914
|
function GenerateQueryBar(t0) {
|
|
5519
|
-
let $ = c(
|
|
5915
|
+
let $ = c(54), { tab, client, formatForEditor, onClose } = t0, { t } = useTranslation(visionLocaleNamespace), actorRef = useVistaActor(), schema = useSchema(), [request, setRequest] = useState(""), t1;
|
|
5520
5916
|
$[0] === Symbol.for("react.memo_cache_sentinel") ? (t1 = { type: "idle" }, $[0] = t1) : t1 = $[0];
|
|
5521
|
-
let [status, setStatus] = useState(t1), controllerRef = useRef(null), t2, t3;
|
|
5917
|
+
let [status, setStatus] = useState(t1), controllerRef = useRef(null), credits = useAiCredits(client), t2, t3;
|
|
5522
5918
|
$[1] === Symbol.for("react.memo_cache_sentinel") ? (t2 = () => () => controllerRef.current?.abort(), t3 = [], $[1] = t2, $[2] = t3) : (t2 = $[1], t3 = $[2]), useEffect(t2, t3);
|
|
5523
5919
|
let t4;
|
|
5524
5920
|
$[3] !== actorRef || $[4] !== formatForEditor || $[5] !== onClose || $[6] !== tab.id || $[7] !== tab.query || $[8] !== tab.title ? (t4 = async (generated, fetch, signal) => {
|
|
@@ -5533,7 +5929,7 @@ function GenerateQueryBar(t0) {
|
|
|
5533
5929
|
rawParams: JSON.stringify(generated.params, null, 2),
|
|
5534
5930
|
...named ? { title: generated.title } : {}
|
|
5535
5931
|
},
|
|
5536
|
-
fetch
|
|
5932
|
+
fetch: fetch ? "generated" : void 0
|
|
5537
5933
|
}), onClose();
|
|
5538
5934
|
}, $[3] = actorRef, $[4] = formatForEditor, $[5] = onClose, $[6] = tab.id, $[7] = tab.query, $[8] = tab.title, $[9] = t4) : t4 = $[9];
|
|
5539
5935
|
let open = t4, t5;
|
|
@@ -5557,18 +5953,20 @@ function GenerateQueryBar(t0) {
|
|
|
5557
5953
|
attempt
|
|
5558
5954
|
})
|
|
5559
5955
|
});
|
|
5560
|
-
await open(generated_0, !0, controller.signal);
|
|
5956
|
+
reportAiCreditsGranted(client), await open(generated_0, !0, controller.signal);
|
|
5561
5957
|
} catch (t6) {
|
|
5562
5958
|
let error = t6;
|
|
5563
5959
|
if (controller.signal.aborted) return;
|
|
5564
|
-
|
|
5960
|
+
let limit = readAiCreditsLimit(error);
|
|
5961
|
+
limit && reportAiCreditsLimit(client, limit), setStatus({
|
|
5565
5962
|
type: "failed",
|
|
5566
5963
|
message: error instanceof Error ? error.message : String(error),
|
|
5567
|
-
lastAttempt: error instanceof GenerateQueryError ? error.lastAttempt : void 0
|
|
5964
|
+
lastAttempt: error instanceof GenerateQueryError ? error.lastAttempt : void 0,
|
|
5965
|
+
limit
|
|
5568
5966
|
});
|
|
5569
5967
|
}
|
|
5570
5968
|
}, $[10] = client, $[11] = open, $[12] = request, $[13] = schema, $[14] = t5) : t5 = $[14];
|
|
5571
|
-
let generate = t5, generating = status.type === "generating", lastAttempt = status.type === "failed" ? status.lastAttempt : void 0, t6;
|
|
5969
|
+
let generate = t5, generating = status.type === "generating", lastAttempt = status.type === "failed" ? status.lastAttempt : void 0, shownCredits = status.type === "failed" ? status.limit : status.type === "idle" ? credits : void 0, atLimit = shownCredits?.granted === !1, t6;
|
|
5572
5970
|
$[15] === t ? t6 = $[16] : (t6 = t("vista.generate.label"), $[15] = t, $[16] = t6);
|
|
5573
5971
|
let t7;
|
|
5574
5972
|
$[17] === generate ? t7 = $[18] : (t7 = () => void generate(), $[17] = generate, $[18] = t7);
|
|
@@ -5586,13 +5984,13 @@ function GenerateQueryBar(t0) {
|
|
|
5586
5984
|
value: request
|
|
5587
5985
|
}), $[21] = generating, $[22] = onClose, $[23] = request, $[24] = t6, $[25] = t7, $[26] = t8, $[27] = t9) : t9 = $[27];
|
|
5588
5986
|
let t10;
|
|
5589
|
-
$[28] !== status.type || $[
|
|
5987
|
+
$[28] !== atLimit || $[29] !== status.type || $[30] !== t ? (t10 = status.type === "idle" && !atLimit && /* @__PURE__ */ jsx(Text, {
|
|
5590
5988
|
muted: !0,
|
|
5591
5989
|
size: 0,
|
|
5592
5990
|
children: t("vista.generate.description")
|
|
5593
|
-
}), $[28] = status.type, $[
|
|
5991
|
+
}), $[28] = atLimit, $[29] = status.type, $[30] = t, $[31] = t10) : t10 = $[31];
|
|
5594
5992
|
let t11;
|
|
5595
|
-
$[
|
|
5993
|
+
$[32] !== status.attempt || $[33] !== status.type || $[34] !== t ? (t11 = status.type === "generating" && /* @__PURE__ */ jsx(Text, {
|
|
5596
5994
|
"data-testid": "vista-generate-progress",
|
|
5597
5995
|
muted: !0,
|
|
5598
5996
|
size: 1,
|
|
@@ -5600,9 +5998,9 @@ function GenerateQueryBar(t0) {
|
|
|
5600
5998
|
attempt: status.attempt,
|
|
5601
5999
|
max: 3
|
|
5602
6000
|
}) : t("vista.generate.progress")
|
|
5603
|
-
}), $[
|
|
6001
|
+
}), $[32] = status.attempt, $[33] = status.type, $[34] = t, $[35] = t11) : t11 = $[35];
|
|
5604
6002
|
let t12;
|
|
5605
|
-
$[
|
|
6003
|
+
$[36] !== atLimit || $[37] !== lastAttempt || $[38] !== open || $[39] !== status.message || $[40] !== status.type || $[41] !== t ? (t12 = status.type === "failed" && !atLimit && /* @__PURE__ */ jsx(Card, {
|
|
5606
6004
|
"data-testid": "vista-generate-error",
|
|
5607
6005
|
padding: 3,
|
|
5608
6006
|
radius: 2,
|
|
@@ -5632,9 +6030,17 @@ function GenerateQueryBar(t0) {
|
|
|
5632
6030
|
}) })] })
|
|
5633
6031
|
]
|
|
5634
6032
|
})
|
|
5635
|
-
}), $[
|
|
6033
|
+
}), $[36] = atLimit, $[37] = lastAttempt, $[38] = open, $[39] = status.message, $[40] = status.type, $[41] = t, $[42] = t12) : t12 = $[42];
|
|
5636
6034
|
let t13;
|
|
5637
|
-
|
|
6035
|
+
$[43] === client ? t13 = $[44] : (t13 = client.config(), $[43] = client, $[44] = t13);
|
|
6036
|
+
let t14;
|
|
6037
|
+
$[45] !== shownCredits || $[46] !== t13.apiHost ? (t14 = /* @__PURE__ */ jsx(AiCreditsStatus, {
|
|
6038
|
+
apiHost: t13.apiHost,
|
|
6039
|
+
credits: shownCredits,
|
|
6040
|
+
size: 0
|
|
6041
|
+
}), $[45] = shownCredits, $[46] = t13.apiHost, $[47] = t14) : t14 = $[47];
|
|
6042
|
+
let t15;
|
|
6043
|
+
return $[48] !== t10 || $[49] !== t11 || $[50] !== t12 || $[51] !== t14 || $[52] !== t9 ? (t15 = /* @__PURE__ */ jsx(Card, {
|
|
5638
6044
|
borderBottom: !0,
|
|
5639
6045
|
"data-testid": "vista-generate-bar",
|
|
5640
6046
|
padding: 2,
|
|
@@ -5644,10 +6050,11 @@ function GenerateQueryBar(t0) {
|
|
|
5644
6050
|
t9,
|
|
5645
6051
|
t10,
|
|
5646
6052
|
t11,
|
|
5647
|
-
t12
|
|
6053
|
+
t12,
|
|
6054
|
+
t14
|
|
5648
6055
|
]
|
|
5649
6056
|
})
|
|
5650
|
-
}), $[
|
|
6057
|
+
}), $[48] = t10, $[49] = t11, $[50] = t12, $[51] = t14, $[52] = t9, $[53] = t15) : t15 = $[53], t15;
|
|
5651
6058
|
}
|
|
5652
6059
|
/**
|
|
5653
6060
|
* Live fetch, an alternative to Fetch: fetches the query, then fetches again whenever the
|
|
@@ -5795,7 +6202,7 @@ function OptionsPanel(t0) {
|
|
|
5795
6202
|
}), $[19] = options.variant, $[20] = t6, $[21] = t7) : t7 = $[21];
|
|
5796
6203
|
let t8;
|
|
5797
6204
|
$[22] !== t1 || $[23] !== t3 || $[24] !== t5 || $[25] !== t7 ? (t8 = /* @__PURE__ */ jsxs("div", {
|
|
5798
|
-
className:
|
|
6205
|
+
className: "cTWfhW_optionsGrid",
|
|
5799
6206
|
children: [
|
|
5800
6207
|
t1,
|
|
5801
6208
|
t3,
|
|
@@ -7037,7 +7444,7 @@ function ExportQueryDialog(t0) {
|
|
|
7037
7444
|
let t8 = `vista-export-${active.id}-tab`, t9 = `vista-export-${active.id}-panel`, t10;
|
|
7038
7445
|
$[27] !== active.code || $[28] !== active.language ? (t10 = /* @__PURE__ */ jsx(Card, {
|
|
7039
7446
|
border: !0,
|
|
7040
|
-
className:
|
|
7447
|
+
className: "cTWfhW_codeBlock",
|
|
7041
7448
|
overflow: "auto",
|
|
7042
7449
|
padding: 3,
|
|
7043
7450
|
radius: 2,
|
|
@@ -7356,14 +7763,8 @@ function RequestPanel(props) {
|
|
|
7356
7763
|
flexGrow: 1
|
|
7357
7764
|
}), $[40] = t16) : t16 = $[40];
|
|
7358
7765
|
let t17;
|
|
7359
|
-
$[41] !== generatorOpen || $[42] !== t ? (t17 = !generatorOpen && /* @__PURE__ */ jsx(
|
|
7360
|
-
|
|
7361
|
-
content: /* @__PURE__ */ jsx(Text, {
|
|
7362
|
-
size: 1,
|
|
7363
|
-
children: t("vista.generate.button")
|
|
7364
|
-
}),
|
|
7365
|
-
placement: "bottom",
|
|
7366
|
-
portal: !0,
|
|
7766
|
+
$[41] !== generatorOpen || $[42] !== t ? (t17 = !generatorOpen && /* @__PURE__ */ jsx(AgentActionsTooltip, {
|
|
7767
|
+
title: t("vista.generate.button"),
|
|
7367
7768
|
children: /* @__PURE__ */ jsx(Button, {
|
|
7368
7769
|
"aria-label": t("vista.generate.button"),
|
|
7369
7770
|
"data-testid": "vista-generate-query",
|
|
@@ -7377,13 +7778,13 @@ function RequestPanel(props) {
|
|
|
7377
7778
|
let t18;
|
|
7378
7779
|
$[44] === t17 ? t18 = $[45] : (t18 = /* @__PURE__ */ jsx(Flex, {
|
|
7379
7780
|
alignItems: "center",
|
|
7380
|
-
className:
|
|
7781
|
+
className: "cTWfhW_labelActions",
|
|
7381
7782
|
gap: 1,
|
|
7382
7783
|
children: t17
|
|
7383
7784
|
}), $[44] = t17, $[45] = t18);
|
|
7384
7785
|
let t19;
|
|
7385
7786
|
$[46] !== t15 || $[47] !== t18 ? (t19 = /* @__PURE__ */ jsx(Box, {
|
|
7386
|
-
className:
|
|
7787
|
+
className: "cTWfhW_editorLabel",
|
|
7387
7788
|
children: /* @__PURE__ */ jsxs(Flex, {
|
|
7388
7789
|
alignItems: "center",
|
|
7389
7790
|
gap: 2,
|
|
@@ -7403,7 +7804,7 @@ function RequestPanel(props) {
|
|
|
7403
7804
|
}), $[49] = onQueryChange, $[50] = queryEditorRef, $[51] = queryExtensions, $[52] = tab.query, $[53] = t20) : t20 = $[53];
|
|
7404
7805
|
let t21;
|
|
7405
7806
|
$[54] !== t19 || $[55] !== t20 ? (t21 = /* @__PURE__ */ jsxs(Box, {
|
|
7406
|
-
className:
|
|
7807
|
+
className: "cTWfhW_editorContainer",
|
|
7407
7808
|
"data-testid": "vista-query-editor",
|
|
7408
7809
|
flexBasis: "0%",
|
|
7409
7810
|
flexGrow: 1,
|
|
@@ -7413,11 +7814,11 @@ function RequestPanel(props) {
|
|
|
7413
7814
|
}), $[54] = t19, $[55] = t20, $[56] = t21) : t21 = $[56];
|
|
7414
7815
|
let t22;
|
|
7415
7816
|
$[57] !== t13 || $[58] !== t21 ? (t22 = /* @__PURE__ */ jsxs(Flex, {
|
|
7416
|
-
className:
|
|
7817
|
+
className: "cTWfhW_querySection",
|
|
7417
7818
|
children: [t13, t21]
|
|
7418
7819
|
}), $[57] = t13, $[58] = t21, $[59] = t22) : t22 = $[59];
|
|
7419
|
-
let t23 = paramsResize.height !== null && "
|
|
7420
|
-
$[60] === t23 ? t24 = $[61] : (t24 = cx(
|
|
7820
|
+
let t23 = paramsResize.height !== null && "cTWfhW_paramsSectionResized", t24;
|
|
7821
|
+
$[60] === t23 ? t24 = $[61] : (t24 = cx("cTWfhW_paramsSection", t23), $[60] = t23, $[61] = t24);
|
|
7421
7822
|
let t25;
|
|
7422
7823
|
$[62] !== paramsExpanded || $[63] !== paramsHeightNow || $[64] !== paramsResize.dragging || $[65] !== paramsResize.height || $[66] !== paramsResize.measured?.max || $[67] !== paramsResize.onFocus || $[68] !== paramsResize.onKeyDown || $[69] !== paramsResize.onPointerDown || $[70] !== paramsResize.reset || $[71] !== t ? (t25 = paramsExpanded && /* @__PURE__ */ jsx("div", {
|
|
7423
7824
|
"aria-label": t("vista.params.resize"),
|
|
@@ -7426,7 +7827,7 @@ function RequestPanel(props) {
|
|
|
7426
7827
|
"aria-valuemin": 98,
|
|
7427
7828
|
"aria-valuenow": paramsHeightNow,
|
|
7428
7829
|
"aria-valuetext": paramsResize.height === null && paramsHeightNow !== void 0 ? t("vista.params.fit-height", { height: paramsHeightNow }) : void 0,
|
|
7429
|
-
className: "
|
|
7830
|
+
className: "cTWfhW_sectionResizer",
|
|
7430
7831
|
"data-dragging": paramsResize.dragging,
|
|
7431
7832
|
"data-testid": "vista-request-params-resizer",
|
|
7432
7833
|
onDoubleClick: paramsResize.reset,
|
|
@@ -7521,7 +7922,7 @@ function RequestPanel(props) {
|
|
|
7521
7922
|
}), $[125] = onOptionsChange, $[126] = resolved, $[127] = tab.options, $[128] = t44) : t44 = $[128];
|
|
7522
7923
|
let t45;
|
|
7523
7924
|
$[129] !== optionsExpanded || $[130] !== t42 || $[131] !== t43 || $[132] !== t44 ? (t45 = /* @__PURE__ */ jsx(CollapsibleSection, {
|
|
7524
|
-
className:
|
|
7925
|
+
className: "cTWfhW_optionsSection",
|
|
7525
7926
|
expanded: optionsExpanded,
|
|
7526
7927
|
id: "vista-request-options",
|
|
7527
7928
|
onToggle: t42,
|
|
@@ -7680,16 +8081,16 @@ function ResizableSplit(props) {
|
|
|
7680
8081
|
}, $[14] = allowResize, $[15] = bounds, $[16] = onChange, $[17] = onReset, $[18] = primary, $[19] = shownSize, $[20] = split, $[21] = t5) : t5 = $[21];
|
|
7681
8082
|
let onKeyDown = t5, t6 = `0 0 ${shownSize}px`, t7;
|
|
7682
8083
|
$[22] === t6 ? t7 = $[23] : (t7 = { flex: t6 }, $[22] = t6, $[23] = t7);
|
|
7683
|
-
let primaryStyle = t7, t8 = split === "vertical" ?
|
|
7684
|
-
$[24] === t8 ? t9 = $[25] : (t9 = cx(
|
|
8084
|
+
let primaryStyle = t7, t8 = split === "vertical" ? "cTWfhW_splitRootRow" : "cTWfhW_splitRootColumn", t9;
|
|
8085
|
+
$[24] === t8 ? t9 = $[25] : (t9 = cx("cTWfhW_splitRoot", t8), $[24] = t8, $[25] = t9);
|
|
7685
8086
|
let t10 = primary === "first" ? primaryStyle : void 0, t11;
|
|
7686
8087
|
$[26] !== children[0] || $[27] !== t10 ? (t11 = /* @__PURE__ */ jsx("div", {
|
|
7687
|
-
className:
|
|
8088
|
+
className: _key41,
|
|
7688
8089
|
style: t10,
|
|
7689
8090
|
children: children[0]
|
|
7690
8091
|
}), $[26] = children[0], $[27] = t10, $[28] = t11) : t11 = $[28];
|
|
7691
|
-
let t12 = !allowResize || void 0, t13 = bounds?.max, t14 = split === "vertical" ?
|
|
7692
|
-
$[29] !== t14 || $[30] !== t15 ? (t16 = cx(
|
|
8092
|
+
let t12 = !allowResize || void 0, t13 = bounds?.max, t14 = split === "vertical" ? "cTWfhW_splitHandleVertical" : "cTWfhW_splitHandleHorizontal", t15 = !allowResize && "cTWfhW_splitHandleDisabled", t16;
|
|
8093
|
+
$[29] !== t14 || $[30] !== t15 ? (t16 = cx("cTWfhW_splitHandle", t14, t15), $[29] = t14, $[30] = t15, $[31] = t16) : t16 = $[31];
|
|
7693
8094
|
let t17 = testId && `${testId}-handle`, t18 = allowResize ? 0 : -1, t19;
|
|
7694
8095
|
$[32] !== dragging || $[33] !== label || $[34] !== minSize || $[35] !== onKeyDown || $[36] !== onPointerDown || $[37] !== shownSize || $[38] !== split || $[39] !== t12 || $[40] !== t13 || $[41] !== t16 || $[42] !== t17 || $[43] !== t18 ? (t19 = /* @__PURE__ */ jsx("div", {
|
|
7695
8096
|
"aria-disabled": t12,
|
|
@@ -7709,7 +8110,7 @@ function ResizableSplit(props) {
|
|
|
7709
8110
|
}), $[32] = dragging, $[33] = label, $[34] = minSize, $[35] = onKeyDown, $[36] = onPointerDown, $[37] = shownSize, $[38] = split, $[39] = t12, $[40] = t13, $[41] = t16, $[42] = t17, $[43] = t18, $[44] = t19) : t19 = $[44];
|
|
7710
8111
|
let t20 = primary === "second" ? primaryStyle : void 0, t21;
|
|
7711
8112
|
$[45] !== children[1] || $[46] !== t20 ? (t21 = /* @__PURE__ */ jsx("div", {
|
|
7712
|
-
className:
|
|
8113
|
+
className: _key41,
|
|
7713
8114
|
style: t20,
|
|
7714
8115
|
children: children[1]
|
|
7715
8116
|
}), $[45] = children[1], $[46] = t20, $[47] = t21) : t21 = $[47];
|
|
@@ -7783,7 +8184,8 @@ function useQueryExplain(request) {
|
|
|
7783
8184
|
setPlan({
|
|
7784
8185
|
status: "failed",
|
|
7785
8186
|
url: current.url,
|
|
7786
|
-
message: toMessage(error)
|
|
8187
|
+
message: toMessage(error),
|
|
8188
|
+
limit: void 0
|
|
7787
8189
|
});
|
|
7788
8190
|
return;
|
|
7789
8191
|
}
|
|
@@ -7803,17 +8205,18 @@ function useQueryExplain(request) {
|
|
|
7803
8205
|
if (planText === void 0) setExplanation(IDLE);
|
|
7804
8206
|
else try {
|
|
7805
8207
|
let text_0 = await explainQuery(request.client, request, planText);
|
|
7806
|
-
setExplanation({
|
|
8208
|
+
reportAiCreditsGranted(request.client), setExplanation({
|
|
7807
8209
|
status: "done",
|
|
7808
8210
|
url: request.url,
|
|
7809
8211
|
text: text_0
|
|
7810
8212
|
});
|
|
7811
8213
|
} catch (t3) {
|
|
7812
|
-
let error_0 = t3;
|
|
7813
|
-
setExplanation({
|
|
8214
|
+
let error_0 = t3, limit = readAiCreditsLimit(error_0);
|
|
8215
|
+
limit && reportAiCreditsLimit(request.client, limit), setExplanation({
|
|
7814
8216
|
status: "failed",
|
|
7815
8217
|
url: request.url,
|
|
7816
|
-
message: toMessage(error_0)
|
|
8218
|
+
message: toMessage(error_0),
|
|
8219
|
+
limit
|
|
7817
8220
|
});
|
|
7818
8221
|
}
|
|
7819
8222
|
}, $[3] = currentPlan, $[4] = request, $[5] = t2) : t2 = $[5];
|
|
@@ -7854,14 +8257,14 @@ function SplitWithBottomPanel(props) {
|
|
|
7854
8257
|
})), $[5] = layout, $[6] = t4, $[7] = t5);
|
|
7855
8258
|
let t6 = collapsed ? 35 : bottomSize, t7 = `${testId}-split`, t8;
|
|
7856
8259
|
$[8] === children ? t8 = $[9] : (t8 = /* @__PURE__ */ jsx(Flex, {
|
|
7857
|
-
className:
|
|
8260
|
+
className: _key12$1,
|
|
7858
8261
|
children
|
|
7859
8262
|
}), $[8] = children, $[9] = t8);
|
|
7860
8263
|
let t9;
|
|
7861
8264
|
$[10] === Symbol.for("react.memo_cache_sentinel") ? (t9 = () => setCollapsed(_temp$14), $[10] = t9) : t9 = $[10];
|
|
7862
8265
|
let t10;
|
|
7863
8266
|
$[11] !== activeTabId || $[12] !== collapsed || $[13] !== id || $[14] !== tabs ? (t10 = /* @__PURE__ */ jsx(Box, {
|
|
7864
|
-
className:
|
|
8267
|
+
className: _key12$1,
|
|
7865
8268
|
children: /* @__PURE__ */ jsx(CollapsiblePanel, {
|
|
7866
8269
|
activeTabId,
|
|
7867
8270
|
collapsed,
|
|
@@ -7873,7 +8276,7 @@ function SplitWithBottomPanel(props) {
|
|
|
7873
8276
|
}), $[11] = activeTabId, $[12] = collapsed, $[13] = id, $[14] = tabs, $[15] = t10) : t10 = $[15];
|
|
7874
8277
|
let t11;
|
|
7875
8278
|
$[16] !== t10 || $[17] !== t2 || $[18] !== t3 || $[19] !== t4 || $[20] !== t5 || $[21] !== t6 || $[22] !== t7 || $[23] !== t8 ? (t11 = /* @__PURE__ */ jsx(Box, {
|
|
7876
|
-
className:
|
|
8279
|
+
className: _key42,
|
|
7877
8280
|
children: /* @__PURE__ */ jsxs(ResizableSplit, {
|
|
7878
8281
|
allowResize: t2,
|
|
7879
8282
|
label: t3,
|
|
@@ -8004,7 +8407,7 @@ function JsonEditor(props) {
|
|
|
8004
8407
|
let t7;
|
|
8005
8408
|
$[14] !== t6 || $[15] !== testId ? (t7 = /* @__PURE__ */ jsx(Card, {
|
|
8006
8409
|
border: !0,
|
|
8007
|
-
className:
|
|
8410
|
+
className: "cTWfhW_jsonEditorBox",
|
|
8008
8411
|
"data-testid": testId,
|
|
8009
8412
|
radius: 2,
|
|
8010
8413
|
children: t6
|
|
@@ -8438,7 +8841,7 @@ function DeltaResult(props) {
|
|
|
8438
8841
|
let t9;
|
|
8439
8842
|
$[29] !== evaluation.status || $[30] !== evaluation.value ? (t9 = evaluation.status === "done" && typeof evaluation.value != "boolean" && /* @__PURE__ */ jsx(Card, {
|
|
8440
8843
|
border: !0,
|
|
8441
|
-
className: "
|
|
8844
|
+
className: "cTWfhW_drawerScroller",
|
|
8442
8845
|
padding: 3,
|
|
8443
8846
|
radius: 2,
|
|
8444
8847
|
children: /* @__PURE__ */ jsx(Code, {
|
|
@@ -8568,9 +8971,9 @@ function describeInsight(insight, t) {
|
|
|
8568
8971
|
* and on request an explanation of the query and the plan written by Agent Actions
|
|
8569
8972
|
*/
|
|
8570
8973
|
function ExplainTab(props) {
|
|
8571
|
-
let $ = c(
|
|
8974
|
+
let $ = c(61), { client, plan, explanation, canExplain, onShowPlan, onExplain } = props, { t } = useTranslation(visionLocaleNamespace), credits = useAiCredits(client), explaining = explanation.status === "loading", planText = plan.status === "done" ? plan.text : void 0, t0;
|
|
8572
8975
|
$[0] === planText ? t0 = $[1] : (t0 = planText ? readPlanInsights(planText) : [], $[0] = planText, $[1] = t0);
|
|
8573
|
-
let insights = t0, t1;
|
|
8976
|
+
let insights = t0, limit = explanation.status === "failed" ? explanation.limit : void 0, t1;
|
|
8574
8977
|
$[2] === t ? t1 = $[3] : (t1 = t("vista.explain.description"), $[2] = t, $[3] = t1);
|
|
8575
8978
|
let t2;
|
|
8576
8979
|
$[4] === t1 ? t2 = $[5] : (t2 = /* @__PURE__ */ jsx(Text, {
|
|
@@ -8581,7 +8984,7 @@ function ExplainTab(props) {
|
|
|
8581
8984
|
let t3 = !canExplain || explaining, t4;
|
|
8582
8985
|
$[6] === t ? t4 = $[7] : (t4 = t("vista.explain.explain"), $[6] = t, $[7] = t4);
|
|
8583
8986
|
let t5;
|
|
8584
|
-
$[8] !== explaining || $[9] !== onExplain || $[10] !== t3 || $[11] !== t4 ? (t5 = /* @__PURE__ */ jsx(Button, {
|
|
8987
|
+
$[8] !== explaining || $[9] !== onExplain || $[10] !== t3 || $[11] !== t4 ? (t5 = /* @__PURE__ */ jsx(AgentActionsTooltip, { children: /* @__PURE__ */ jsx(Button, {
|
|
8585
8988
|
"data-testid": "vista-explain-button",
|
|
8586
8989
|
disabled: t3,
|
|
8587
8990
|
fontSize: 1,
|
|
@@ -8591,7 +8994,7 @@ function ExplainTab(props) {
|
|
|
8591
8994
|
padding: 2,
|
|
8592
8995
|
text: t4,
|
|
8593
8996
|
tone: "primary"
|
|
8594
|
-
}), $[8] = explaining, $[9] = onExplain, $[10] = t3, $[11] = t4, $[12] = t5) : t5 = $[12];
|
|
8997
|
+
}) }), $[8] = explaining, $[9] = onExplain, $[10] = t3, $[11] = t4, $[12] = t5) : t5 = $[12];
|
|
8595
8998
|
let t6 = !canExplain || plan.status === "loading", t7 = plan.status === "loading" && !explaining, t8;
|
|
8596
8999
|
$[13] === t ? t8 = $[14] : (t8 = t("vista.explain.plan"), $[13] = t, $[14] = t8);
|
|
8597
9000
|
let t9;
|
|
@@ -8612,13 +9015,20 @@ function ExplainTab(props) {
|
|
|
8612
9015
|
children: [t5, t9]
|
|
8613
9016
|
}), $[20] = t5, $[21] = t9, $[22] = t10) : t10 = $[22];
|
|
8614
9017
|
let t11;
|
|
8615
|
-
$[23]
|
|
9018
|
+
$[23] === client ? t11 = $[24] : (t11 = client.config(), $[23] = client, $[24] = t11);
|
|
9019
|
+
let t12 = limit ?? credits, t13;
|
|
9020
|
+
$[25] !== t11.apiHost || $[26] !== t12 ? (t13 = /* @__PURE__ */ jsx(AiCreditsStatus, {
|
|
9021
|
+
apiHost: t11.apiHost,
|
|
9022
|
+
credits: t12
|
|
9023
|
+
}), $[25] = t11.apiHost, $[26] = t12, $[27] = t13) : t13 = $[27];
|
|
9024
|
+
let t14;
|
|
9025
|
+
$[28] !== canExplain || $[29] !== t ? (t14 = !canExplain && /* @__PURE__ */ jsx(Text, {
|
|
8616
9026
|
muted: !0,
|
|
8617
9027
|
size: 1,
|
|
8618
9028
|
children: t("vista.explain.empty")
|
|
8619
|
-
}), $[
|
|
8620
|
-
let
|
|
8621
|
-
$[
|
|
9029
|
+
}), $[28] = canExplain, $[29] = t, $[30] = t14) : t14 = $[30];
|
|
9030
|
+
let t15;
|
|
9031
|
+
$[31] !== explanation.status || $[32] !== explanation.text ? (t15 = explanation.status === "done" && /* @__PURE__ */ jsx(Card, {
|
|
8622
9032
|
"data-testid": "vista-explanation",
|
|
8623
9033
|
padding: 3,
|
|
8624
9034
|
radius: 2,
|
|
@@ -8628,21 +9038,21 @@ function ExplainTab(props) {
|
|
|
8628
9038
|
gap: 4,
|
|
8629
9039
|
children: explanation.text.split(/\n+/).filter(_temp$12).map(_temp3$6)
|
|
8630
9040
|
})
|
|
8631
|
-
}), $[
|
|
8632
|
-
let
|
|
8633
|
-
$[
|
|
9041
|
+
}), $[31] = explanation.status, $[32] = explanation.text, $[33] = t15) : t15 = $[33];
|
|
9042
|
+
let t16;
|
|
9043
|
+
$[34] !== explanation.message || $[35] !== explanation.status || $[36] !== limit || $[37] !== t ? (t16 = explanation.status === "failed" && !limit && /* @__PURE__ */ jsx(Text, {
|
|
8634
9044
|
"data-testid": "vista-explain-error",
|
|
8635
9045
|
size: 1,
|
|
8636
9046
|
children: t("vista.explain.failed", { message: explanation.message })
|
|
8637
|
-
}), $[
|
|
8638
|
-
let
|
|
8639
|
-
$[
|
|
9047
|
+
}), $[34] = explanation.message, $[35] = explanation.status, $[36] = limit, $[37] = t, $[38] = t16) : t16 = $[38];
|
|
9048
|
+
let t17;
|
|
9049
|
+
$[39] !== plan.message || $[40] !== plan.status || $[41] !== t ? (t17 = plan.status === "failed" && /* @__PURE__ */ jsx(Text, {
|
|
8640
9050
|
"data-testid": "vista-explain-error",
|
|
8641
9051
|
size: 1,
|
|
8642
9052
|
children: t("vista.explain.plan-failed", { message: plan.message })
|
|
8643
|
-
}), $[
|
|
8644
|
-
let
|
|
8645
|
-
$[
|
|
9053
|
+
}), $[39] = plan.message, $[40] = plan.status, $[41] = t, $[42] = t17) : t17 = $[42];
|
|
9054
|
+
let t18;
|
|
9055
|
+
$[43] !== insights || $[44] !== plan.status || $[45] !== t ? (t18 = plan.status === "done" && insights.length > 0 && /* @__PURE__ */ jsxs(Stack, {
|
|
8646
9056
|
"data-testid": "vista-plan-insights",
|
|
8647
9057
|
gap: 2,
|
|
8648
9058
|
children: [
|
|
@@ -8679,9 +9089,9 @@ function ExplainTab(props) {
|
|
|
8679
9089
|
})
|
|
8680
9090
|
})
|
|
8681
9091
|
]
|
|
8682
|
-
}), $[
|
|
8683
|
-
let
|
|
8684
|
-
$[
|
|
9092
|
+
}), $[43] = insights, $[44] = plan.status, $[45] = t, $[46] = t18) : t18 = $[46];
|
|
9093
|
+
let t19;
|
|
9094
|
+
$[47] !== plan.status || $[48] !== plan.text || $[49] !== t ? (t19 = plan.status === "done" && /* @__PURE__ */ jsxs(Stack, {
|
|
8685
9095
|
"data-testid": "vista-query-plan",
|
|
8686
9096
|
gap: 2,
|
|
8687
9097
|
children: [/* @__PURE__ */ jsx(Label, {
|
|
@@ -8692,9 +9102,9 @@ function ExplainTab(props) {
|
|
|
8692
9102
|
size: 1,
|
|
8693
9103
|
children: plan.text
|
|
8694
9104
|
})]
|
|
8695
|
-
}), $[
|
|
8696
|
-
let
|
|
8697
|
-
return $[
|
|
9105
|
+
}), $[47] = plan.status, $[48] = plan.text, $[49] = t, $[50] = t19) : t19 = $[50];
|
|
9106
|
+
let t20;
|
|
9107
|
+
return $[51] !== t10 || $[52] !== t13 || $[53] !== t14 || $[54] !== t15 || $[55] !== t16 || $[56] !== t17 || $[57] !== t18 || $[58] !== t19 || $[59] !== t2 ? (t20 = /* @__PURE__ */ jsx(Box, {
|
|
8698
9108
|
"data-testid": "vista-explain",
|
|
8699
9109
|
padding: 3,
|
|
8700
9110
|
children: /* @__PURE__ */ jsxs(Stack, {
|
|
@@ -8702,15 +9112,16 @@ function ExplainTab(props) {
|
|
|
8702
9112
|
children: [
|
|
8703
9113
|
t2,
|
|
8704
9114
|
t10,
|
|
8705
|
-
t11,
|
|
8706
|
-
t12,
|
|
8707
9115
|
t13,
|
|
8708
9116
|
t14,
|
|
8709
9117
|
t15,
|
|
8710
|
-
t16
|
|
9118
|
+
t16,
|
|
9119
|
+
t17,
|
|
9120
|
+
t18,
|
|
9121
|
+
t19
|
|
8711
9122
|
]
|
|
8712
9123
|
})
|
|
8713
|
-
}), $[
|
|
9124
|
+
}), $[51] = t10, $[52] = t13, $[53] = t14, $[54] = t15, $[55] = t16, $[56] = t17, $[57] = t18, $[58] = t19, $[59] = t2, $[60] = t20) : t20 = $[60], t20;
|
|
8714
9125
|
}
|
|
8715
9126
|
function _temp4$6(insight_0) {
|
|
8716
9127
|
return insight_0.tone === "caution";
|
|
@@ -8730,7 +9141,7 @@ function _temp$12(paragraph) {
|
|
|
8730
9141
|
function FunctionPreview(t0) {
|
|
8731
9142
|
let $ = c(7), { signature, body } = t0, t1;
|
|
8732
9143
|
$[0] === signature ? t1 = $[1] : (t1 = /* @__PURE__ */ jsx(Box, {
|
|
8733
|
-
className:
|
|
9144
|
+
className: _key16,
|
|
8734
9145
|
children: /* @__PURE__ */ jsx(Code, {
|
|
8735
9146
|
size: 1,
|
|
8736
9147
|
children: signature
|
|
@@ -8738,7 +9149,7 @@ function FunctionPreview(t0) {
|
|
|
8738
9149
|
}), $[0] = signature, $[1] = t1);
|
|
8739
9150
|
let t2;
|
|
8740
9151
|
$[2] === body ? t2 = $[3] : (t2 = /* @__PURE__ */ jsx(Box, {
|
|
8741
|
-
className:
|
|
9152
|
+
className: _key16,
|
|
8742
9153
|
children: /* @__PURE__ */ jsx(Code, {
|
|
8743
9154
|
size: 0,
|
|
8744
9155
|
children: body
|
|
@@ -8756,7 +9167,7 @@ function DeclaredFunction(props) {
|
|
|
8756
9167
|
let upToDate = t0, t1;
|
|
8757
9168
|
$[3] !== declaration.id || $[4] !== t ? (t1 = t("vista.functions.reveal", { name: declaration.id }), $[3] = declaration.id, $[4] = t, $[5] = t1) : t1 = $[5];
|
|
8758
9169
|
let t2;
|
|
8759
|
-
$[6] === Symbol.for("react.memo_cache_sentinel") ? (t2 = cx(
|
|
9170
|
+
$[6] === Symbol.for("react.memo_cache_sentinel") ? (t2 = cx(_key8$1, "cTWfhW_shrinkable"), $[6] = t2) : t2 = $[6];
|
|
8760
9171
|
let t3;
|
|
8761
9172
|
$[7] !== declaration.range || $[8] !== onReveal ? (t3 = () => onReveal(declaration.range), $[7] = declaration.range, $[8] = onReveal, $[9] = t3) : t3 = $[9];
|
|
8762
9173
|
let t4;
|
|
@@ -9097,7 +9508,7 @@ function getRequestChanges(previous, next) {
|
|
|
9097
9508
|
lang: "text"
|
|
9098
9509
|
}), changes;
|
|
9099
9510
|
}
|
|
9100
|
-
const codeDiff = createRetryableLazy(() => import("./CodeDiff-
|
|
9511
|
+
const codeDiff = createRetryableLazy(() => import("./CodeDiff-MkS3Q87A.js")), CodeDiffLoader = codeDiff.Component;
|
|
9101
9512
|
/** Catches a diff that failed to load or render, and offers to load it again */
|
|
9102
9513
|
var DiffBoundary = class extends Component {
|
|
9103
9514
|
state = { failed: !1 };
|
|
@@ -9120,6 +9531,8 @@ function describeFetchReason(reason, t) {
|
|
|
9120
9531
|
case "resume": return t("vista.history.reason.resume");
|
|
9121
9532
|
case "live-start": return t("vista.history.reason.live-start");
|
|
9122
9533
|
case "generated": return t("vista.history.reason.generated");
|
|
9534
|
+
case "paste": return t("vista.history.reason.paste");
|
|
9535
|
+
case "link": return t("vista.history.reason.link");
|
|
9123
9536
|
case "mutation": return t("vista.history.reason.mutation");
|
|
9124
9537
|
case "live": return reason.matchedTags.length > 0 ? t("vista.history.reason.live") : t("vista.history.reason.live-restart");
|
|
9125
9538
|
default: return String(reason);
|
|
@@ -9510,7 +9923,7 @@ function LintTab(t0) {
|
|
|
9510
9923
|
$[8] !== onReveal || $[9] !== t ? (t2 = (finding) => /* @__PURE__ */ jsx(Card, {
|
|
9511
9924
|
as: "button",
|
|
9512
9925
|
borderBottom: !0,
|
|
9513
|
-
className:
|
|
9926
|
+
className: _key8$1,
|
|
9514
9927
|
"data-testid": "vista-lint-finding",
|
|
9515
9928
|
onClick: () => onReveal(finding),
|
|
9516
9929
|
paddingX: 3,
|
|
@@ -9830,9 +10243,9 @@ function toText(mutations) {
|
|
|
9830
10243
|
* dry-run, which writes nothing, so what it would change shows straight away.
|
|
9831
10244
|
*/
|
|
9832
10245
|
function GenerateMutationsBar(props) {
|
|
9833
|
-
let $ = c(
|
|
10246
|
+
let $ = c(50), { client, dataset, result, mutationOptions, onGenerated, onOpenAttempt, onClose } = props, { t } = useTranslation(visionLocaleNamespace), schema = useSchema(), [request, setRequest] = useState(""), t0;
|
|
9834
10247
|
$[0] === Symbol.for("react.memo_cache_sentinel") ? (t0 = { type: "idle" }, $[0] = t0) : t0 = $[0];
|
|
9835
|
-
let [status, setStatus] = useState(t0), controllerRef = useRef(null), t1, t2;
|
|
10248
|
+
let [status, setStatus] = useState(t0), controllerRef = useRef(null), credits = useAiCredits(client), t1, t2;
|
|
9836
10249
|
$[1] === Symbol.for("react.memo_cache_sentinel") ? (t1 = () => () => controllerRef.current?.abort(), t2 = [], $[1] = t1, $[2] = t2) : (t1 = $[1], t2 = $[2]), useEffect(t1, t2);
|
|
9837
10250
|
let t3;
|
|
9838
10251
|
$[3] !== client || $[4] !== dataset || $[5] !== mutationOptions || $[6] !== onGenerated || $[7] !== request || $[8] !== result || $[9] !== schema ? (t3 = async () => {
|
|
@@ -9859,21 +10272,23 @@ function GenerateMutationsBar(props) {
|
|
|
9859
10272
|
})
|
|
9860
10273
|
});
|
|
9861
10274
|
if (controller.signal.aborted) return;
|
|
9862
|
-
onGenerated(toText(generated.mutations), {
|
|
10275
|
+
reportAiCreditsGranted(client), onGenerated(toText(generated.mutations), {
|
|
9863
10276
|
key: mutationRunKey(dataset, generated.mutations, mutationOptions),
|
|
9864
10277
|
result: generated.preview
|
|
9865
10278
|
});
|
|
9866
10279
|
} catch (t4) {
|
|
9867
10280
|
let error = t4;
|
|
9868
10281
|
if (controller.signal.aborted) return;
|
|
9869
|
-
|
|
10282
|
+
let limit = readAiCreditsLimit(error);
|
|
10283
|
+
limit && reportAiCreditsLimit(client, limit), setStatus({
|
|
9870
10284
|
type: "failed",
|
|
9871
10285
|
message: error instanceof Error ? error.message : String(error),
|
|
9872
|
-
lastAttempt: error instanceof GenerateMutationsError ? error.lastAttempt : void 0
|
|
10286
|
+
lastAttempt: error instanceof GenerateMutationsError ? error.lastAttempt : void 0,
|
|
10287
|
+
limit
|
|
9873
10288
|
});
|
|
9874
10289
|
}
|
|
9875
10290
|
}, $[3] = client, $[4] = dataset, $[5] = mutationOptions, $[6] = onGenerated, $[7] = request, $[8] = result, $[9] = schema, $[10] = t3) : t3 = $[10];
|
|
9876
|
-
let generate = t3, generating = status.type === "generating", lastAttempt = status.type === "failed" ? status.lastAttempt : void 0, t4;
|
|
10291
|
+
let generate = t3, generating = status.type === "generating", lastAttempt = status.type === "failed" ? status.lastAttempt : void 0, shownCredits = status.type === "failed" ? status.limit : status.type === "idle" ? credits : void 0, atLimit = shownCredits?.granted === !1, t4;
|
|
9877
10292
|
$[11] === t ? t4 = $[12] : (t4 = t("vista.mutate.generate.label"), $[11] = t, $[12] = t4);
|
|
9878
10293
|
let t5;
|
|
9879
10294
|
$[13] === generate ? t5 = $[14] : (t5 = () => void generate(), $[13] = generate, $[14] = t5);
|
|
@@ -9891,13 +10306,13 @@ function GenerateMutationsBar(props) {
|
|
|
9891
10306
|
value: request
|
|
9892
10307
|
}), $[17] = generating, $[18] = onClose, $[19] = request, $[20] = t4, $[21] = t5, $[22] = t6, $[23] = t7) : t7 = $[23];
|
|
9893
10308
|
let t8;
|
|
9894
|
-
$[24] !== status.type || $[
|
|
10309
|
+
$[24] !== atLimit || $[25] !== status.type || $[26] !== t ? (t8 = status.type === "idle" && !atLimit && /* @__PURE__ */ jsx(Text, {
|
|
9895
10310
|
muted: !0,
|
|
9896
10311
|
size: 0,
|
|
9897
10312
|
children: t("vista.mutate.generate.description")
|
|
9898
|
-
}), $[24] = status.type, $[
|
|
10313
|
+
}), $[24] = atLimit, $[25] = status.type, $[26] = t, $[27] = t8) : t8 = $[27];
|
|
9899
10314
|
let t9;
|
|
9900
|
-
$[
|
|
10315
|
+
$[28] !== status.attempt || $[29] !== status.type || $[30] !== t ? (t9 = status.type === "generating" && /* @__PURE__ */ jsx(Text, {
|
|
9901
10316
|
"data-testid": "vista-mutate-generate-progress",
|
|
9902
10317
|
muted: !0,
|
|
9903
10318
|
size: 1,
|
|
@@ -9905,9 +10320,9 @@ function GenerateMutationsBar(props) {
|
|
|
9905
10320
|
attempt: status.attempt,
|
|
9906
10321
|
max: 3
|
|
9907
10322
|
}) : t("vista.mutate.generate.progress")
|
|
9908
|
-
}), $[
|
|
10323
|
+
}), $[28] = status.attempt, $[29] = status.type, $[30] = t, $[31] = t9) : t9 = $[31];
|
|
9909
10324
|
let t10;
|
|
9910
|
-
$[
|
|
10325
|
+
$[32] !== atLimit || $[33] !== lastAttempt || $[34] !== onOpenAttempt || $[35] !== status.message || $[36] !== status.type || $[37] !== t ? (t10 = status.type === "failed" && !atLimit && /* @__PURE__ */ jsx(Card, {
|
|
9911
10326
|
"data-testid": "vista-mutate-generate-error",
|
|
9912
10327
|
padding: 3,
|
|
9913
10328
|
radius: 2,
|
|
@@ -9934,9 +10349,17 @@ function GenerateMutationsBar(props) {
|
|
|
9934
10349
|
}) })
|
|
9935
10350
|
]
|
|
9936
10351
|
})
|
|
9937
|
-
}), $[
|
|
10352
|
+
}), $[32] = atLimit, $[33] = lastAttempt, $[34] = onOpenAttempt, $[35] = status.message, $[36] = status.type, $[37] = t, $[38] = t10) : t10 = $[38];
|
|
9938
10353
|
let t11;
|
|
9939
|
-
|
|
10354
|
+
$[39] === client ? t11 = $[40] : (t11 = client.config(), $[39] = client, $[40] = t11);
|
|
10355
|
+
let t12;
|
|
10356
|
+
$[41] !== shownCredits || $[42] !== t11.apiHost ? (t12 = /* @__PURE__ */ jsx(AiCreditsStatus, {
|
|
10357
|
+
apiHost: t11.apiHost,
|
|
10358
|
+
credits: shownCredits,
|
|
10359
|
+
size: 0
|
|
10360
|
+
}), $[41] = shownCredits, $[42] = t11.apiHost, $[43] = t12) : t12 = $[43];
|
|
10361
|
+
let t13;
|
|
10362
|
+
return $[44] !== t10 || $[45] !== t12 || $[46] !== t7 || $[47] !== t8 || $[48] !== t9 ? (t13 = /* @__PURE__ */ jsx(Card, {
|
|
9940
10363
|
border: !0,
|
|
9941
10364
|
"data-testid": "vista-mutate-generate-bar",
|
|
9942
10365
|
padding: 2,
|
|
@@ -9947,10 +10370,11 @@ function GenerateMutationsBar(props) {
|
|
|
9947
10370
|
t7,
|
|
9948
10371
|
t8,
|
|
9949
10372
|
t9,
|
|
9950
|
-
t10
|
|
10373
|
+
t10,
|
|
10374
|
+
t12
|
|
9951
10375
|
]
|
|
9952
10376
|
})
|
|
9953
|
-
}), $[
|
|
10377
|
+
}), $[44] = t10, $[45] = t12, $[46] = t7, $[47] = t8, $[48] = t9, $[49] = t13) : t13 = $[49], t13;
|
|
9954
10378
|
}
|
|
9955
10379
|
function _temp$8(document) {
|
|
9956
10380
|
return document.type ?? [];
|
|
@@ -10217,7 +10641,7 @@ function PreviewResult(props) {
|
|
|
10217
10641
|
children: t("vista.mutate.no-documents")
|
|
10218
10642
|
}) : /* @__PURE__ */ jsx(Card, {
|
|
10219
10643
|
border: !0,
|
|
10220
|
-
className:
|
|
10644
|
+
className: "cTWfhW_drawerScroller",
|
|
10221
10645
|
radius: 2,
|
|
10222
10646
|
children: preview.changes.map((change_0, index) => /* @__PURE__ */ jsx(ChangeRow, {
|
|
10223
10647
|
change: change_0,
|
|
@@ -10283,7 +10707,7 @@ function MutateTab(props) {
|
|
|
10283
10707
|
let run = t2, t3;
|
|
10284
10708
|
$[12] === result ? t3 = $[13] : (t3 = documentsInResult(result), $[12] = result, $[13] = t3);
|
|
10285
10709
|
let documents = t3, previewIsCurrent = run !== void 0 && state.preview?.key === run.key, t4;
|
|
10286
|
-
$[14] === state.preview ? t4 = $[15] : (t4 = state.preview ? state.preview.result.changes.some(_temp5$
|
|
10710
|
+
$[14] === state.preview ? t4 = $[15] : (t4 = state.preview ? state.preview.result.changes.some(_temp5$3) || state.preview.result.notShown > 0 : !1, $[14] = state.preview, $[15] = t4);
|
|
10287
10711
|
let canApply = canRequest && previewIsCurrent && t4 && !state.pending, canAdd = input.status === "empty" || input.status === "valid", t5;
|
|
10288
10712
|
$[16] !== documents || $[17] !== mutate || $[18] !== state.text ? (t5 = (template) => {
|
|
10289
10713
|
let next = addMutation(state.text, createMutationTemplate(template, documents));
|
|
@@ -10316,14 +10740,8 @@ function MutateTab(props) {
|
|
|
10316
10740
|
result
|
|
10317
10741
|
}), $[31] = client, $[32] = dataset, $[33] = generatorOpen, $[34] = mutate, $[35] = options, $[36] = result, $[37] = t9) : t9 = $[37];
|
|
10318
10742
|
let t10 = hasOutcome ? "minmax(140px, 1fr) fit-content(50%)" : "minmax(140px, 1fr)", t11;
|
|
10319
|
-
$[38] !== generatorOpen || $[39] !== t ? (t11 = !generatorOpen && /* @__PURE__ */ jsx(
|
|
10320
|
-
|
|
10321
|
-
content: /* @__PURE__ */ jsx(Text, {
|
|
10322
|
-
size: 1,
|
|
10323
|
-
children: t("vista.mutate.generate.button")
|
|
10324
|
-
}),
|
|
10325
|
-
placement: "bottom",
|
|
10326
|
-
portal: !0,
|
|
10743
|
+
$[38] !== generatorOpen || $[39] !== t ? (t11 = !generatorOpen && /* @__PURE__ */ jsx(AgentActionsTooltip, {
|
|
10744
|
+
title: t("vista.mutate.generate.button"),
|
|
10327
10745
|
children: /* @__PURE__ */ jsx(Button, {
|
|
10328
10746
|
"aria-label": t("vista.mutate.generate.button"),
|
|
10329
10747
|
"data-testid": "vista-mutate-generate",
|
|
@@ -10603,7 +11021,7 @@ function MutateTab(props) {
|
|
|
10603
11021
|
children: [t36, t54]
|
|
10604
11022
|
}), $[160] = t36, $[161] = t54, $[162] = t55) : t55 = $[162], t55;
|
|
10605
11023
|
}
|
|
10606
|
-
function _temp5$
|
|
11024
|
+
function _temp5$3(change) {
|
|
10607
11025
|
return change.operation !== "none";
|
|
10608
11026
|
}
|
|
10609
11027
|
const GCP_REGIONS = {
|
|
@@ -11624,7 +12042,7 @@ function ExportTypesDialog(t0) {
|
|
|
11624
12042
|
let t6;
|
|
11625
12043
|
$[25] !== copyToClipboard || $[26] !== output.code || $[27] !== t ? (t6 = output.code && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Card, {
|
|
11626
12044
|
border: !0,
|
|
11627
|
-
className: "
|
|
12045
|
+
className: "cTWfhW_codeBlock",
|
|
11628
12046
|
overflow: "auto",
|
|
11629
12047
|
padding: 3,
|
|
11630
12048
|
radius: 2,
|
|
@@ -11924,8 +12342,7 @@ function layoutResultGraph(graph, { collapsed, charWidth }) {
|
|
|
11924
12342
|
height
|
|
11925
12343
|
};
|
|
11926
12344
|
}
|
|
11927
|
-
|
|
11928
|
-
const FIRST_VIEW_SCALE = .8, ZOOM_STEP = 1.25;
|
|
12345
|
+
const _key12 = "uhT08W_graphRowValue", FIRST_VIEW_SCALE = .8, ZOOM_STEP = 1.25;
|
|
11929
12346
|
/** What the graph leaves out of this result, or `undefined` when it shows all of it */
|
|
11930
12347
|
function describeLeftOut(graph, t) {
|
|
11931
12348
|
let { partialNodes, nodeLimitReached } = graph;
|
|
@@ -11980,12 +12397,12 @@ function RowContent(t0) {
|
|
|
11980
12397
|
case "value": {
|
|
11981
12398
|
let t1;
|
|
11982
12399
|
$[0] === row.key ? t1 = $[1] : (t1 = row.key && /* @__PURE__ */ jsx("span", {
|
|
11983
|
-
className: "
|
|
12400
|
+
className: "uhT08W_graphRowKey",
|
|
11984
12401
|
children: row.key
|
|
11985
12402
|
}), $[0] = row.key, $[1] = t1);
|
|
11986
12403
|
let t2;
|
|
11987
12404
|
$[2] !== row.text || $[3] !== row.type ? (t2 = /* @__PURE__ */ jsx("span", {
|
|
11988
|
-
className:
|
|
12405
|
+
className: _key12,
|
|
11989
12406
|
"data-type": row.type,
|
|
11990
12407
|
children: row.text
|
|
11991
12408
|
}), $[2] = row.text, $[3] = row.type, $[4] = t2) : t2 = $[4];
|
|
@@ -11995,17 +12412,17 @@ function RowContent(t0) {
|
|
|
11995
12412
|
case "child": {
|
|
11996
12413
|
let t1;
|
|
11997
12414
|
$[8] === row.key ? t1 = $[9] : (t1 = /* @__PURE__ */ jsx("span", {
|
|
11998
|
-
className:
|
|
12415
|
+
className: "uhT08W_graphRowKey",
|
|
11999
12416
|
children: row.key
|
|
12000
12417
|
}), $[8] = row.key, $[9] = t1);
|
|
12001
12418
|
let t2;
|
|
12002
12419
|
$[10] === row.summary ? t2 = $[11] : (t2 = /* @__PURE__ */ jsx("span", {
|
|
12003
|
-
className:
|
|
12420
|
+
className: _key12,
|
|
12004
12421
|
"data-type": "child",
|
|
12005
12422
|
children: row.summary
|
|
12006
12423
|
}), $[10] = row.summary, $[11] = t2);
|
|
12007
12424
|
let t3;
|
|
12008
|
-
$[12] === row.child ? t3 = $[13] : (t3 = row.child !== void 0 && /* @__PURE__ */ jsx("span", { className: "
|
|
12425
|
+
$[12] === row.child ? t3 = $[13] : (t3 = row.child !== void 0 && /* @__PURE__ */ jsx("span", { className: "uhT08W_graphRowPort" }), $[12] = row.child, $[13] = t3);
|
|
12009
12426
|
let t4;
|
|
12010
12427
|
return $[14] !== t1 || $[15] !== t2 || $[16] !== t3 ? (t4 = /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
12011
12428
|
t1,
|
|
@@ -12018,7 +12435,7 @@ function RowContent(t0) {
|
|
|
12018
12435
|
$[18] !== row.count || $[19] !== t ? (t1 = t("vista.result.graph.more", { count: row.count }), $[18] = row.count, $[19] = t, $[20] = t1) : t1 = $[20];
|
|
12019
12436
|
let t2;
|
|
12020
12437
|
return $[21] === t1 ? t2 = $[22] : (t2 = /* @__PURE__ */ jsx("span", {
|
|
12021
|
-
className:
|
|
12438
|
+
className: _key12,
|
|
12022
12439
|
"data-type": "more",
|
|
12023
12440
|
children: t1
|
|
12024
12441
|
}), $[21] = t1, $[22] = t2), t2;
|
|
@@ -12031,7 +12448,7 @@ function GraphNodes(t0) {
|
|
|
12031
12448
|
$[0] === layout.edges ? t3 = $[1] : (t3 = layout.edges.map(_temp$4), $[0] = layout.edges, $[1] = t3);
|
|
12032
12449
|
let t4;
|
|
12033
12450
|
$[2] !== layout.height || $[3] !== layout.width || $[4] !== t3 ? (t4 = /* @__PURE__ */ jsx("svg", {
|
|
12034
|
-
className:
|
|
12451
|
+
className: "uhT08W_graphEdges",
|
|
12035
12452
|
"data-testid": "vista-graph-edges",
|
|
12036
12453
|
height: t1,
|
|
12037
12454
|
width: t2,
|
|
@@ -12044,7 +12461,7 @@ function GraphNodes(t0) {
|
|
|
12044
12461
|
let { node, x, y, width, height, collapsed, childCount } = t7, title = node.label ?? t("vista.result.graph.root");
|
|
12045
12462
|
return /* @__PURE__ */ jsxs("div", {
|
|
12046
12463
|
"aria-label": `${title} ${node.summary}`,
|
|
12047
|
-
className:
|
|
12464
|
+
className: "uhT08W_graphNode",
|
|
12048
12465
|
"data-testid": "vista-graph-node",
|
|
12049
12466
|
"data-keypath": node.id,
|
|
12050
12467
|
role: "group",
|
|
@@ -12055,19 +12472,19 @@ function GraphNodes(t0) {
|
|
|
12055
12472
|
height
|
|
12056
12473
|
},
|
|
12057
12474
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
12058
|
-
className:
|
|
12475
|
+
className: "uhT08W_graphNodeHeader",
|
|
12059
12476
|
children: [
|
|
12060
12477
|
/* @__PURE__ */ jsxs("span", {
|
|
12061
|
-
className:
|
|
12478
|
+
className: "uhT08W_graphNodeTitle",
|
|
12062
12479
|
children: [title, node.summary && /* @__PURE__ */ jsx("span", {
|
|
12063
|
-
className: "
|
|
12480
|
+
className: "uhT08W_graphNodeSummary",
|
|
12064
12481
|
children: node.summary
|
|
12065
12482
|
})]
|
|
12066
12483
|
}),
|
|
12067
12484
|
childCount > 0 && /* @__PURE__ */ jsxs("button", {
|
|
12068
12485
|
"aria-expanded": !collapsed,
|
|
12069
12486
|
"aria-label": collapsed ? t("vista.result.graph.expand", { count: childCount }) : t("vista.result.graph.collapse"),
|
|
12070
|
-
className: "
|
|
12487
|
+
className: "uhT08W_graphNodeButton",
|
|
12071
12488
|
"data-testid": "vista-graph-toggle",
|
|
12072
12489
|
onClick: () => onToggle(node.id),
|
|
12073
12490
|
type: "button",
|
|
@@ -12075,7 +12492,7 @@ function GraphNodes(t0) {
|
|
|
12075
12492
|
}),
|
|
12076
12493
|
/* @__PURE__ */ jsx("button", {
|
|
12077
12494
|
"aria-label": copyLabel,
|
|
12078
|
-
className:
|
|
12495
|
+
className: "uhT08W_graphNodeButton",
|
|
12079
12496
|
"data-testid": "vista-graph-copy",
|
|
12080
12497
|
onClick: () => onCopy(node.id),
|
|
12081
12498
|
type: "button",
|
|
@@ -12091,7 +12508,7 @@ function GraphNodes(t0) {
|
|
|
12091
12508
|
}
|
|
12092
12509
|
function _temp2$4(row, index) {
|
|
12093
12510
|
return /* @__PURE__ */ jsx("div", {
|
|
12094
|
-
className:
|
|
12511
|
+
className: "uhT08W_graphRow",
|
|
12095
12512
|
children: /* @__PURE__ */ jsx(RowContent, { row })
|
|
12096
12513
|
}, index);
|
|
12097
12514
|
}
|
|
@@ -12237,21 +12654,24 @@ function ResultGraph(t0) {
|
|
|
12237
12654
|
t22,
|
|
12238
12655
|
t24
|
|
12239
12656
|
], $[66] = t19, $[67] = t22, $[68] = t24, $[69] = t25) : t25 = $[69];
|
|
12240
|
-
let controls = t25, t26;
|
|
12241
|
-
$[70]
|
|
12242
|
-
|
|
12243
|
-
|
|
12244
|
-
|
|
12245
|
-
|
|
12246
|
-
|
|
12247
|
-
|
|
12248
|
-
|
|
12249
|
-
|
|
12250
|
-
|
|
12251
|
-
|
|
12657
|
+
let controls = t25, t26 = `${codeSize.fontSize}px`, t27;
|
|
12658
|
+
$[70] !== color.syntax.boolean || $[71] !== color.syntax.constant || $[72] !== color.syntax.number || $[73] !== color.syntax.property || $[74] !== color.syntax.string || $[75] !== font.code.family || $[76] !== t26 ? (t27 = {
|
|
12659
|
+
"--vision-graph-code-family": font.code.family,
|
|
12660
|
+
"--vision-graph-code-size": t26,
|
|
12661
|
+
"--vision-graph-property": color.syntax.property,
|
|
12662
|
+
"--vision-graph-string": color.syntax.string,
|
|
12663
|
+
"--vision-graph-number": color.syntax.number,
|
|
12664
|
+
"--vision-graph-boolean": color.syntax.boolean,
|
|
12665
|
+
"--vision-graph-constant": color.syntax.constant,
|
|
12666
|
+
"--vision-graph-header-height": `${GRAPH_METRICS.headerHeight}px`,
|
|
12667
|
+
"--vision-graph-row-height": `${GRAPH_METRICS.rowHeight}px`,
|
|
12668
|
+
"--vision-graph-padding-x": `${GRAPH_METRICS.paddingX}px`
|
|
12669
|
+
}, $[70] = color.syntax.boolean, $[71] = color.syntax.constant, $[72] = color.syntax.number, $[73] = color.syntax.property, $[74] = color.syntax.string, $[75] = font.code.family, $[76] = t26, $[77] = t27) : t27 = $[77];
|
|
12670
|
+
let viewportStyle = t27, t28;
|
|
12671
|
+
$[78] === t ? t28 = $[79] : (t28 = t("vista.result.graph.label"), $[78] = t, $[79] = t28);
|
|
12252
12672
|
let t29;
|
|
12253
12673
|
$[80] !== copy || $[81] !== layout || $[82] !== onCopy || $[83] !== view ? (t29 = view && /* @__PURE__ */ jsx("div", {
|
|
12254
|
-
className: "
|
|
12674
|
+
className: "uhT08W_graphCanvas",
|
|
12255
12675
|
"data-testid": "vista-graph-canvas",
|
|
12256
12676
|
style: {
|
|
12257
12677
|
width: layout.width,
|
|
@@ -12267,7 +12687,7 @@ function ResultGraph(t0) {
|
|
|
12267
12687
|
}), $[80] = copy, $[81] = layout, $[82] = onCopy, $[83] = view, $[84] = t29) : t29 = $[84];
|
|
12268
12688
|
let t30;
|
|
12269
12689
|
$[85] === leftOut ? t30 = $[86] : (t30 = leftOut && /* @__PURE__ */ jsx("div", {
|
|
12270
|
-
className: "
|
|
12690
|
+
className: "uhT08W_graphNotice",
|
|
12271
12691
|
"data-testid": "vista-graph-left-out",
|
|
12272
12692
|
children: /* @__PURE__ */ jsx(Text, {
|
|
12273
12693
|
muted: !0,
|
|
@@ -12277,13 +12697,13 @@ function ResultGraph(t0) {
|
|
|
12277
12697
|
}), $[85] = leftOut, $[86] = t30);
|
|
12278
12698
|
let t31;
|
|
12279
12699
|
$[87] === controls ? t31 = $[88] : (t31 = /* @__PURE__ */ jsx("div", {
|
|
12280
|
-
className:
|
|
12700
|
+
className: "uhT08W_graphControls",
|
|
12281
12701
|
children: controls.map(_temp4$3)
|
|
12282
12702
|
}), $[87] = controls, $[88] = t31);
|
|
12283
12703
|
let t32;
|
|
12284
|
-
return $[89] !== dragging || $[90] !== id || $[91] !== onKeyDown || $[92] !== onPointerDown || $[93] !== onPointerMove || $[94] !==
|
|
12285
|
-
"aria-label":
|
|
12286
|
-
className:
|
|
12704
|
+
return $[89] !== dragging || $[90] !== id || $[91] !== onKeyDown || $[92] !== onPointerDown || $[93] !== onPointerMove || $[94] !== t28 || $[95] !== t29 || $[96] !== t30 || $[97] !== t31 || $[98] !== viewportStyle ? (t32 = /* @__PURE__ */ jsxs("div", {
|
|
12705
|
+
"aria-label": t28,
|
|
12706
|
+
className: "uhT08W_graphViewport",
|
|
12287
12707
|
"data-dragging": dragging,
|
|
12288
12708
|
"data-testid": "vista-result-graph",
|
|
12289
12709
|
id,
|
|
@@ -12295,14 +12715,14 @@ function ResultGraph(t0) {
|
|
|
12295
12715
|
onPointerUp: endDrag,
|
|
12296
12716
|
ref: setViewport,
|
|
12297
12717
|
role: "application",
|
|
12298
|
-
style:
|
|
12718
|
+
style: viewportStyle,
|
|
12299
12719
|
tabIndex: 0,
|
|
12300
12720
|
children: [
|
|
12301
12721
|
t29,
|
|
12302
12722
|
t30,
|
|
12303
12723
|
t31
|
|
12304
12724
|
]
|
|
12305
|
-
}), $[89] = dragging, $[90] = id, $[91] = onKeyDown, $[92] = onPointerDown, $[93] = onPointerMove, $[94] =
|
|
12725
|
+
}), $[89] = dragging, $[90] = id, $[91] = onKeyDown, $[92] = onPointerDown, $[93] = onPointerMove, $[94] = t28, $[95] = t29, $[96] = t30, $[97] = t31, $[98] = viewportStyle, $[99] = t32) : t32 = $[99], t32;
|
|
12306
12726
|
}
|
|
12307
12727
|
function _temp4$3(t0) {
|
|
12308
12728
|
let { action, label, icon, onClick } = t0;
|
|
@@ -12347,7 +12767,7 @@ function ResultJson(props) {
|
|
|
12347
12767
|
}), $[5] = text, $[6] = t3);
|
|
12348
12768
|
let t4;
|
|
12349
12769
|
return $[7] !== props.id || $[8] !== t3 ? (t4 = /* @__PURE__ */ jsx("div", {
|
|
12350
|
-
className:
|
|
12770
|
+
className: "cTWfhW_resultJson",
|
|
12351
12771
|
"data-testid": "vista-result-json",
|
|
12352
12772
|
id: props.id,
|
|
12353
12773
|
children: t3
|
|
@@ -12384,9 +12804,9 @@ const DEFAULT_BOTTOM_PANEL_SIZE = {
|
|
|
12384
12804
|
mobile: 160
|
|
12385
12805
|
};
|
|
12386
12806
|
function ResponsePanel(props) {
|
|
12387
|
-
let $ = c(
|
|
12807
|
+
let $ = c(191), { tab, runnerRef, resolved, request, lintFindings, onRevealRange, onEditQuery, onMutationsApplied } = props, { t } = useTranslation(visionLocaleNamespace), toast = useToast(), status = useSelector(runnerRef, selectRequestStatus), result = useSelector(runnerRef, _temp$3), settledRequest = useSelector(runnerRef, _temp2$3), error = useSelector(runnerRef, _temp3$2), failedRequest = useSelector(runnerRef, _temp4$2), t0;
|
|
12388
12808
|
$[0] === failedRequest?.client ? t0 = $[1] : (t0 = failedRequest?.client.config(), $[0] = failedRequest?.client, $[1] = t0);
|
|
12389
|
-
let failedConfig = t0, meta = useSelector(runnerRef, _temp5$
|
|
12809
|
+
let failedConfig = t0, meta = useSelector(runnerRef, _temp5$2), url = useSelector(runnerRef, _temp6), history = useSelector(runnerRef, _temp7), hiddenDiffFields = useVistaSelector(_temp8), isLive = useSelector(runnerRef, _temp9), hasResult = meta !== void 0, t1;
|
|
12390
12810
|
$[2] !== hasResult || $[3] !== request || $[4] !== settledRequest ? (t1 = hasResult && settledRequest !== void 0 && request !== null && haveSameQuery(settledRequest, request), $[2] = hasResult, $[3] = request, $[4] = settledRequest, $[5] = t1) : t1 = $[5];
|
|
12391
12811
|
let resultIsCurrent = t1, t2;
|
|
12392
12812
|
$[6] !== resolved.dataset || $[7] !== settledRequest?.client ? (t2 = settledRequest?.client.config().dataset || resolved.dataset, $[6] = resolved.dataset, $[7] = settledRequest?.client, $[8] = t2) : t2 = $[8];
|
|
@@ -12483,42 +12903,43 @@ function ResponsePanel(props) {
|
|
|
12483
12903
|
let t25 = request !== null, t26;
|
|
12484
12904
|
$[67] === queryExplain ? t26 = $[68] : (t26 = () => void queryExplain.explain(), $[67] = queryExplain, $[68] = t26);
|
|
12485
12905
|
let t27;
|
|
12486
|
-
$[69] !== queryExplain.explanation || $[70] !== queryExplain.plan || $[71] !== queryExplain.showPlan || $[72] !==
|
|
12906
|
+
$[69] !== queryExplain.explanation || $[70] !== queryExplain.plan || $[71] !== queryExplain.showPlan || $[72] !== resolved.client || $[73] !== t25 || $[74] !== t26 ? (t27 = /* @__PURE__ */ jsx(ExplainTab, {
|
|
12487
12907
|
canExplain: t25,
|
|
12908
|
+
client: resolved.client,
|
|
12488
12909
|
explanation: queryExplain.explanation,
|
|
12489
12910
|
onExplain: t26,
|
|
12490
12911
|
onShowPlan: queryExplain.showPlan,
|
|
12491
12912
|
plan: queryExplain.plan
|
|
12492
|
-
}), $[69] = queryExplain.explanation, $[70] = queryExplain.plan, $[71] = queryExplain.showPlan, $[72] =
|
|
12913
|
+
}), $[69] = queryExplain.explanation, $[70] = queryExplain.plan, $[71] = queryExplain.showPlan, $[72] = resolved.client, $[73] = t25, $[74] = t26, $[75] = t27) : t27 = $[75];
|
|
12493
12914
|
let t28;
|
|
12494
|
-
$[
|
|
12915
|
+
$[76] !== t24 || $[77] !== t27 ? (t28 = {
|
|
12495
12916
|
id: "explain",
|
|
12496
12917
|
label: t24,
|
|
12497
12918
|
content: t27
|
|
12498
|
-
}, $[
|
|
12919
|
+
}, $[76] = t24, $[77] = t27, $[78] = t28) : t28 = $[78];
|
|
12499
12920
|
let t29;
|
|
12500
|
-
$[
|
|
12921
|
+
$[79] === t ? t29 = $[80] : (t29 = t("vista.panel.source-map"), $[79] = t, $[80] = t29);
|
|
12501
12922
|
let t30;
|
|
12502
|
-
$[
|
|
12923
|
+
$[81] !== meta || $[82] !== resultDataset ? (t30 = /* @__PURE__ */ jsx(SourceMapTab, {
|
|
12503
12924
|
dataset: resultDataset,
|
|
12504
12925
|
meta
|
|
12505
|
-
}), $[
|
|
12926
|
+
}), $[81] = meta, $[82] = resultDataset, $[83] = t30) : t30 = $[83];
|
|
12506
12927
|
let t31;
|
|
12507
|
-
$[
|
|
12928
|
+
$[84] !== t29 || $[85] !== t30 ? (t31 = {
|
|
12508
12929
|
id: "source-map",
|
|
12509
12930
|
label: t29,
|
|
12510
12931
|
content: t30
|
|
12511
|
-
}, $[
|
|
12932
|
+
}, $[84] = t29, $[85] = t30, $[86] = t31) : t31 = $[86];
|
|
12512
12933
|
let t32;
|
|
12513
|
-
$[
|
|
12934
|
+
$[87] !== t17 || $[88] !== t20 || $[89] !== t23 || $[90] !== t28 || $[91] !== t31 ? (t32 = [
|
|
12514
12935
|
t17,
|
|
12515
12936
|
t20,
|
|
12516
12937
|
t23,
|
|
12517
12938
|
t28,
|
|
12518
12939
|
t31
|
|
12519
|
-
], $[
|
|
12940
|
+
], $[87] = t17, $[88] = t20, $[89] = t23, $[90] = t28, $[91] = t31, $[92] = t32) : t32 = $[92];
|
|
12520
12941
|
let panelTabs = t32, tabDrawer = useVistaSelector(selectOpenTabDrawer), t33;
|
|
12521
|
-
$[
|
|
12942
|
+
$[93] !== declaredFunctions || $[94] !== delta || $[95] !== functionLibrary || $[96] !== hasResult || $[97] !== hiddenDiffFields || $[98] !== lintFindings || $[99] !== mutate || $[100] !== onEditQuery || $[101] !== onMutationsApplied || $[102] !== onRevealRange || $[103] !== removeFunction || $[104] !== request || $[105] !== resolved.client || $[106] !== resolved.dataset || $[107] !== resolved.isValidApiVersion || $[108] !== result || $[109] !== saveFunction || $[110] !== tab.query ? (t33 = (drawer) => {
|
|
12522
12943
|
switch (drawer) {
|
|
12523
12944
|
case "lint": return /* @__PURE__ */ jsx(LintTab, {
|
|
12524
12945
|
findings: lintFindings,
|
|
@@ -12548,9 +12969,9 @@ function ResponsePanel(props) {
|
|
|
12548
12969
|
});
|
|
12549
12970
|
default: return String(drawer);
|
|
12550
12971
|
}
|
|
12551
|
-
}, $[
|
|
12972
|
+
}, $[93] = declaredFunctions, $[94] = delta, $[95] = functionLibrary, $[96] = hasResult, $[97] = hiddenDiffFields, $[98] = lintFindings, $[99] = mutate, $[100] = onEditQuery, $[101] = onMutationsApplied, $[102] = onRevealRange, $[103] = removeFunction, $[104] = request, $[105] = resolved.client, $[106] = resolved.dataset, $[107] = resolved.isValidApiVersion, $[108] = result, $[109] = saveFunction, $[110] = tab.query, $[111] = t33) : t33 = $[111];
|
|
12552
12973
|
let renderTabDrawer = t33, sidebarBadges = useSidebarBadges(), lintCount = lintFindings.length, lintTone = lintFindings.some(_temp11) ? "critical" : "caution", functionCount = declaredFunctions.length, t34, t35;
|
|
12553
|
-
$[
|
|
12974
|
+
$[112] !== functionCount || $[113] !== lintCount || $[114] !== lintTone || $[115] !== sidebarBadges ? (t34 = () => {
|
|
12554
12975
|
sidebarBadges.set("lint", lintCount > 0 ? {
|
|
12555
12976
|
count: lintCount,
|
|
12556
12977
|
tone: lintTone
|
|
@@ -12563,29 +12984,29 @@ function ResponsePanel(props) {
|
|
|
12563
12984
|
lintCount,
|
|
12564
12985
|
lintTone,
|
|
12565
12986
|
sidebarBadges
|
|
12566
|
-
], $[
|
|
12987
|
+
], $[112] = functionCount, $[113] = lintCount, $[114] = lintTone, $[115] = sidebarBadges, $[116] = t34, $[117] = t35) : (t34 = $[116], t35 = $[117]), useEffect(t34, t35);
|
|
12567
12988
|
let t36, t37;
|
|
12568
|
-
$[
|
|
12989
|
+
$[118] === sidebarBadges ? (t36 = $[119], t37 = $[120]) : (t36 = () => () => {
|
|
12569
12990
|
sidebarBadges.set("lint", void 0), sidebarBadges.set("functions", void 0);
|
|
12570
|
-
}, t37 = [sidebarBadges], $[
|
|
12991
|
+
}, t37 = [sidebarBadges], $[118] = sidebarBadges, $[119] = t36, $[120] = t37), useEffect(t36, t37);
|
|
12571
12992
|
let t38;
|
|
12572
|
-
$[
|
|
12993
|
+
$[121] !== renderTabDrawer || $[122] !== tabDrawer ? (t38 = tabDrawer && /* @__PURE__ */ jsx(TabDrawerPortal, { children: renderTabDrawer(tabDrawer) }), $[121] = renderTabDrawer, $[122] = tabDrawer, $[123] = t38) : t38 = $[123];
|
|
12573
12994
|
let t39 = hasResult ? getJsonUrl : void 0, t40;
|
|
12574
|
-
$[
|
|
12995
|
+
$[124] === t ? t40 = $[125] : (t40 = t("vista.result.export-json"), $[124] = t, $[125] = t40);
|
|
12575
12996
|
let t41;
|
|
12576
|
-
$[
|
|
12997
|
+
$[126] !== t39 || $[127] !== t40 ? (t41 = /* @__PURE__ */ jsx(DownloadButton, {
|
|
12577
12998
|
download: "query-result.json",
|
|
12578
12999
|
getBlobUrl: t39,
|
|
12579
13000
|
icon: JsonIcon,
|
|
12580
13001
|
label: t40,
|
|
12581
13002
|
testId: "vista-export-json"
|
|
12582
|
-
}), $[
|
|
13003
|
+
}), $[126] = t39, $[127] = t40, $[128] = t41) : t41 = $[128];
|
|
12583
13004
|
let t42 = canExportCsv ? getCsvUrl : void 0, t43;
|
|
12584
|
-
$[
|
|
13005
|
+
$[129] === t ? t43 = $[130] : (t43 = t("vista.result.export-csv"), $[129] = t, $[130] = t43);
|
|
12585
13006
|
let t44;
|
|
12586
|
-
$[
|
|
13007
|
+
$[131] !== canExportCsv || $[132] !== hasResult || $[133] !== t ? (t44 = hasResult && !canExportCsv ? t("result.save-result-as-csv.not-csv-encodable") : void 0, $[131] = canExportCsv, $[132] = hasResult, $[133] = t, $[134] = t44) : t44 = $[134];
|
|
12587
13008
|
let t45;
|
|
12588
|
-
$[
|
|
13009
|
+
$[135] !== reportCsvUnavailable || $[136] !== t42 || $[137] !== t43 || $[138] !== t44 ? (t45 = /* @__PURE__ */ jsx(DownloadButton, {
|
|
12589
13010
|
download: "query-result.csv",
|
|
12590
13011
|
getBlobUrl: t42,
|
|
12591
13012
|
icon: DocumentSheetIcon,
|
|
@@ -12593,46 +13014,46 @@ function ResponsePanel(props) {
|
|
|
12593
13014
|
onUnavailable: reportCsvUnavailable,
|
|
12594
13015
|
testId: "vista-export-csv",
|
|
12595
13016
|
tooltip: t44
|
|
12596
|
-
}), $[
|
|
13017
|
+
}), $[135] = reportCsvUnavailable, $[136] = t42, $[137] = t43, $[138] = t44, $[139] = t45) : t45 = $[139];
|
|
12597
13018
|
let t46;
|
|
12598
|
-
$[
|
|
13019
|
+
$[140] !== hasResult || $[141] !== result || $[142] !== resultIsCurrent || $[143] !== tab ? (t46 = /* @__PURE__ */ jsx(ResultActionsMenu, {
|
|
12599
13020
|
hasResult,
|
|
12600
13021
|
result,
|
|
12601
13022
|
resultIsCurrent,
|
|
12602
13023
|
tab
|
|
12603
|
-
}), $[
|
|
13024
|
+
}), $[140] = hasResult, $[141] = result, $[142] = resultIsCurrent, $[143] = tab, $[144] = t46) : t46 = $[144];
|
|
12604
13025
|
let t47;
|
|
12605
|
-
$[
|
|
13026
|
+
$[145] !== t41 || $[146] !== t45 || $[147] !== t46 ? (t47 = /* @__PURE__ */ jsxs(ActionRail, {
|
|
12606
13027
|
testId: "vista-result-actions",
|
|
12607
13028
|
children: [
|
|
12608
13029
|
t41,
|
|
12609
13030
|
t45,
|
|
12610
13031
|
t46
|
|
12611
13032
|
]
|
|
12612
|
-
}), $[
|
|
13033
|
+
}), $[145] = t41, $[146] = t45, $[147] = t46, $[148] = t47) : t47 = $[148];
|
|
12613
13034
|
let t48 = status === "failed" ? "critical" : "default", t49;
|
|
12614
|
-
$[
|
|
13035
|
+
$[149] === t ? t49 = $[150] : (t49 = t("result.label"), $[149] = t, $[150] = t49);
|
|
12615
13036
|
let t50;
|
|
12616
|
-
$[
|
|
13037
|
+
$[151] === t49 ? t50 = $[152] : (t50 = /* @__PURE__ */ jsx(Label, {
|
|
12617
13038
|
muted: !0,
|
|
12618
13039
|
size: 1,
|
|
12619
13040
|
children: t49
|
|
12620
|
-
}), $[
|
|
13041
|
+
}), $[151] = t49, $[152] = t50);
|
|
12621
13042
|
let t51;
|
|
12622
|
-
$[
|
|
13043
|
+
$[153] !== isLive || $[154] !== t ? (t51 = isLive && /* @__PURE__ */ jsx(Badge, {
|
|
12623
13044
|
fontSize: 0,
|
|
12624
13045
|
tone: "positive",
|
|
12625
13046
|
children: t("vista.live.active")
|
|
12626
|
-
}), $[
|
|
13047
|
+
}), $[153] = isLive, $[154] = t, $[155] = t51) : t51 = $[155];
|
|
12627
13048
|
let t52;
|
|
12628
|
-
$[
|
|
13049
|
+
$[156] === Symbol.for("react.memo_cache_sentinel") ? (t52 = /* @__PURE__ */ jsx(Box, {
|
|
12629
13050
|
flexBasis: "0%",
|
|
12630
13051
|
flexGrow: 1
|
|
12631
|
-
}), $[
|
|
13052
|
+
}), $[156] = t52) : t52 = $[156];
|
|
12632
13053
|
let t53;
|
|
12633
|
-
$[
|
|
13054
|
+
$[157] !== copyResult || $[158] !== hasResult || $[159] !== resultView || $[160] !== setResultView || $[161] !== t ? (t53 = hasResult && /* @__PURE__ */ jsxs(Flex, {
|
|
12634
13055
|
alignItems: "center",
|
|
12635
|
-
className: "
|
|
13056
|
+
className: "cTWfhW_labelActions",
|
|
12636
13057
|
gap: 1,
|
|
12637
13058
|
children: [/* @__PURE__ */ jsxs(TabList, {
|
|
12638
13059
|
"aria-label": t("vista.result.view.label"),
|
|
@@ -12684,10 +13105,10 @@ function ResponsePanel(props) {
|
|
|
12684
13105
|
padding: 2
|
|
12685
13106
|
})
|
|
12686
13107
|
})]
|
|
12687
|
-
}), $[
|
|
13108
|
+
}), $[157] = copyResult, $[158] = hasResult, $[159] = resultView, $[160] = setResultView, $[161] = t, $[162] = t53) : t53 = $[162];
|
|
12688
13109
|
let t54;
|
|
12689
|
-
$[
|
|
12690
|
-
className:
|
|
13110
|
+
$[163] !== t50 || $[164] !== t51 || $[165] !== t53 ? (t54 = /* @__PURE__ */ jsx(Box, {
|
|
13111
|
+
className: "cTWfhW_resultLabel cTWfhW_editorLabel",
|
|
12691
13112
|
children: /* @__PURE__ */ jsxs(Flex, {
|
|
12692
13113
|
alignItems: "center",
|
|
12693
13114
|
gap: 2,
|
|
@@ -12698,9 +13119,9 @@ function ResponsePanel(props) {
|
|
|
12698
13119
|
t53
|
|
12699
13120
|
]
|
|
12700
13121
|
})
|
|
12701
|
-
}), $[
|
|
13122
|
+
}), $[163] = t50, $[164] = t51, $[165] = t53, $[166] = t54) : t54 = $[166];
|
|
12702
13123
|
let t55;
|
|
12703
|
-
$[
|
|
13124
|
+
$[167] !== copyValue || $[168] !== error || $[169] !== failedConfig || $[170] !== hasResult || $[171] !== resolved.apiVersion || $[172] !== resolved.perspective || $[173] !== resolved.variant || $[174] !== result || $[175] !== resultDataset || $[176] !== resultView || $[177] !== status || $[178] !== t ? (t55 = hasResult && resultView === "json" ? /* @__PURE__ */ jsx(ResultJson, {
|
|
12704
13125
|
id: "vista-result-content",
|
|
12705
13126
|
value: result
|
|
12706
13127
|
}) : hasResult && resultView === "graph" ? /* @__PURE__ */ jsx(ResultGraph, {
|
|
@@ -12733,25 +13154,25 @@ function ResponsePanel(props) {
|
|
|
12733
13154
|
children: t("vista.result.empty")
|
|
12734
13155
|
})
|
|
12735
13156
|
]
|
|
12736
|
-
}), $[
|
|
13157
|
+
}), $[167] = copyValue, $[168] = error, $[169] = failedConfig, $[170] = hasResult, $[171] = resolved.apiVersion, $[172] = resolved.perspective, $[173] = resolved.variant, $[174] = result, $[175] = resultDataset, $[176] = resultView, $[177] = status, $[178] = t, $[179] = t55) : t55 = $[179];
|
|
12737
13158
|
let t56;
|
|
12738
|
-
$[
|
|
12739
|
-
className:
|
|
13159
|
+
$[180] !== t48 || $[181] !== t54 || $[182] !== t55 ? (t56 = /* @__PURE__ */ jsxs(Card, {
|
|
13160
|
+
className: "cTWfhW_resultContainer",
|
|
12740
13161
|
"data-testid": "vista-result",
|
|
12741
13162
|
tone: t48,
|
|
12742
13163
|
children: [t54, t55]
|
|
12743
|
-
}), $[
|
|
13164
|
+
}), $[180] = t48, $[181] = t54, $[182] = t55, $[183] = t56) : t56 = $[183];
|
|
12744
13165
|
let t57;
|
|
12745
|
-
$[
|
|
13166
|
+
$[184] !== panelTabs || $[185] !== t47 || $[186] !== t56 ? (t57 = /* @__PURE__ */ jsx(SplitWithBottomPanel, {
|
|
12746
13167
|
defaultBottomSize: DEFAULT_BOTTOM_PANEL_SIZE,
|
|
12747
13168
|
footer: t47,
|
|
12748
13169
|
id: "vista-response",
|
|
12749
13170
|
tabs: panelTabs,
|
|
12750
13171
|
testId: "vista-response-panel",
|
|
12751
13172
|
children: t56
|
|
12752
|
-
}), $[
|
|
13173
|
+
}), $[184] = panelTabs, $[185] = t47, $[186] = t56, $[187] = t57) : t57 = $[187];
|
|
12753
13174
|
let t58;
|
|
12754
|
-
return $[
|
|
13175
|
+
return $[188] !== t38 || $[189] !== t57 ? (t58 = /* @__PURE__ */ jsxs(Fragment$1, { children: [t38, t57] }), $[188] = t38, $[189] = t57, $[190] = t58) : t58 = $[190], t58;
|
|
12755
13176
|
}
|
|
12756
13177
|
function _temp11(finding) {
|
|
12757
13178
|
return finding.severity === "error";
|
|
@@ -12771,7 +13192,7 @@ function _temp7(snapshot_5) {
|
|
|
12771
13192
|
function _temp6(snapshot_4) {
|
|
12772
13193
|
return snapshot_4.context.meta?.url ?? snapshot_4.context.url;
|
|
12773
13194
|
}
|
|
12774
|
-
function _temp5$
|
|
13195
|
+
function _temp5$2(snapshot_3) {
|
|
12775
13196
|
return snapshot_3.context.meta;
|
|
12776
13197
|
}
|
|
12777
13198
|
function _temp4$2(snapshot_2) {
|
|
@@ -12814,7 +13235,7 @@ function TabTitleInput(t0) {
|
|
|
12814
13235
|
$[9] === t ? t5 = $[10] : (t5 = t("vista.tabs.title-placeholder"), $[9] = t, $[10] = t5);
|
|
12815
13236
|
let t6;
|
|
12816
13237
|
return $[11] !== commit || $[12] !== draft || $[13] !== t4 || $[14] !== t5 ? (t6 = /* @__PURE__ */ jsx(Box, {
|
|
12817
|
-
className:
|
|
13238
|
+
className: "cTWfhW_tabTitleInput",
|
|
12818
13239
|
paddingY: 1,
|
|
12819
13240
|
children: /* @__PURE__ */ jsx(TextInput, {
|
|
12820
13241
|
autoFocus: !0,
|
|
@@ -12838,10 +13259,10 @@ function _temp$2(event_0) {
|
|
|
12838
13259
|
* keep their own pointer behaviour.
|
|
12839
13260
|
*/
|
|
12840
13261
|
function TabHandle(props) {
|
|
12841
|
-
let $ = c(42), { tab
|
|
12842
|
-
$[0] !== t || $[1] !== tab
|
|
13262
|
+
let $ = c(42), { tab, selected, editing, listRef, onSelect, onClose, onStartRename, onRename, onCancelRename, onKeyDown } = props, { t } = useTranslation(visionLocaleNamespace), t0;
|
|
13263
|
+
$[0] !== t || $[1] !== tab ? (t0 = getTabTitle(tab, t("vista.tabs.untitled")), $[0] = t, $[1] = tab, $[2] = t0) : t0 = $[2];
|
|
12843
13264
|
let title = t0, dragControls = useDragControls(), [dragging, setDragging] = useState(!1), t1;
|
|
12844
|
-
$[3] === tab
|
|
13265
|
+
$[3] === tab.id ? t1 = $[4] : (t1 = (snapshot) => snapshot.context.runners[tab.id], $[3] = tab.id, $[4] = t1);
|
|
12845
13266
|
let runnerRef = useVistaSelector(t1), isLive = useSelector(runnerRef, _temp2$2), t2;
|
|
12846
13267
|
$[5] === onClose ? t2 = $[6] : (t2 = (event) => {
|
|
12847
13268
|
event.button === 1 && (event.preventDefault(), onClose());
|
|
@@ -12853,17 +13274,17 @@ function TabHandle(props) {
|
|
|
12853
13274
|
let startDrag = t3, t4 = dragging ? "true" : void 0, t5, t6;
|
|
12854
13275
|
$[9] === Symbol.for("react.memo_cache_sentinel") ? (t5 = () => setDragging(!1), t6 = () => setDragging(!0), $[9] = t5, $[10] = t6) : (t5 = $[9], t6 = $[10]);
|
|
12855
13276
|
let t7 = selected ? "true" : void 0, t8;
|
|
12856
|
-
$[11] !== editing || $[12] !== handleAuxClick || $[13] !== onCancelRename || $[14] !== onKeyDown || $[15] !== onRename || $[16] !== onSelect || $[17] !== onStartRename || $[18] !== selected || $[19] !== startDrag || $[20] !== tab
|
|
13277
|
+
$[11] !== editing || $[12] !== handleAuxClick || $[13] !== onCancelRename || $[14] !== onKeyDown || $[15] !== onRename || $[16] !== onSelect || $[17] !== onStartRename || $[18] !== selected || $[19] !== startDrag || $[20] !== tab.id || $[21] !== title ? (t8 = editing ? /* @__PURE__ */ jsx(TabTitleInput, {
|
|
12857
13278
|
onCancel: onCancelRename,
|
|
12858
13279
|
onCommit: onRename,
|
|
12859
13280
|
title
|
|
12860
13281
|
}) : /* @__PURE__ */ jsx(Button, {
|
|
12861
13282
|
"aria-controls": QUERY_TAB_PANEL_ID,
|
|
12862
13283
|
"aria-selected": selected,
|
|
12863
|
-
className:
|
|
13284
|
+
className: "cTWfhW_tabTitleButton",
|
|
12864
13285
|
"data-testid": "vista-tab-button",
|
|
12865
13286
|
fontSize: 1,
|
|
12866
|
-
id: getQueryTabId(tab
|
|
13287
|
+
id: getQueryTabId(tab.id),
|
|
12867
13288
|
mode: "bleed",
|
|
12868
13289
|
onAuxClick: handleAuxClick,
|
|
12869
13290
|
onClick: onSelect,
|
|
@@ -12875,7 +13296,7 @@ function TabHandle(props) {
|
|
|
12875
13296
|
tabIndex: selected ? 0 : -1,
|
|
12876
13297
|
text: title,
|
|
12877
13298
|
textWeight: selected ? "medium" : "regular"
|
|
12878
|
-
}), $[11] = editing, $[12] = handleAuxClick, $[13] = onCancelRename, $[14] = onKeyDown, $[15] = onRename, $[16] = onSelect, $[17] = onStartRename, $[18] = selected, $[19] = startDrag, $[20] = tab
|
|
13299
|
+
}), $[11] = editing, $[12] = handleAuxClick, $[13] = onCancelRename, $[14] = onKeyDown, $[15] = onRename, $[16] = onSelect, $[17] = onStartRename, $[18] = selected, $[19] = startDrag, $[20] = tab.id, $[21] = title, $[22] = t8) : t8 = $[22];
|
|
12879
13300
|
let t9;
|
|
12880
13301
|
$[23] !== isLive || $[24] !== t ? (t9 = isLive && /* @__PURE__ */ jsx(Box, {
|
|
12881
13302
|
flexShrink: 0,
|
|
@@ -12890,7 +13311,7 @@ function TabHandle(props) {
|
|
|
12890
13311
|
let t11;
|
|
12891
13312
|
$[28] !== onClose || $[29] !== t10 ? (t11 = /* @__PURE__ */ jsx(Button, {
|
|
12892
13313
|
"aria-label": t10,
|
|
12893
|
-
className:
|
|
13314
|
+
className: "cTWfhW_tabCloseButton",
|
|
12894
13315
|
"data-testid": "vista-tab-close",
|
|
12895
13316
|
fontSize: 1,
|
|
12896
13317
|
icon: CloseIcon,
|
|
@@ -12902,7 +13323,7 @@ function TabHandle(props) {
|
|
|
12902
13323
|
let t12;
|
|
12903
13324
|
$[31] !== t11 || $[32] !== t7 || $[33] !== t8 || $[34] !== t9 ? (t12 = /* @__PURE__ */ jsxs(Flex, {
|
|
12904
13325
|
alignItems: "center",
|
|
12905
|
-
className:
|
|
13326
|
+
className: "cTWfhW_tab",
|
|
12906
13327
|
"data-selected": t7,
|
|
12907
13328
|
"data-testid": "vista-tab",
|
|
12908
13329
|
gap: 1,
|
|
@@ -12916,9 +13337,9 @@ function TabHandle(props) {
|
|
|
12916
13337
|
]
|
|
12917
13338
|
}), $[31] = t11, $[32] = t7, $[33] = t8, $[34] = t9, $[35] = t12) : t12 = $[35];
|
|
12918
13339
|
let t13;
|
|
12919
|
-
return $[36] !== dragControls || $[37] !== listRef || $[38] !== t12 || $[39] !== t4 || $[40] !== tab
|
|
13340
|
+
return $[36] !== dragControls || $[37] !== listRef || $[38] !== t12 || $[39] !== t4 || $[40] !== tab ? (t13 = /* @__PURE__ */ jsx(Reorder.Item, {
|
|
12920
13341
|
as: "div",
|
|
12921
|
-
className:
|
|
13342
|
+
className: "cTWfhW_tabItem",
|
|
12922
13343
|
"data-dragging": t4,
|
|
12923
13344
|
"data-testid": "vista-tab-item",
|
|
12924
13345
|
dragConstraints: listRef,
|
|
@@ -12928,9 +13349,9 @@ function TabHandle(props) {
|
|
|
12928
13349
|
layout: "position",
|
|
12929
13350
|
onDragEnd: t5,
|
|
12930
13351
|
onDragStart: t6,
|
|
12931
|
-
value: tab
|
|
13352
|
+
value: tab,
|
|
12932
13353
|
children: t12
|
|
12933
|
-
}), $[36] = dragControls, $[37] = listRef, $[38] = t12, $[39] = t4, $[40] = tab
|
|
13354
|
+
}), $[36] = dragControls, $[37] = listRef, $[38] = t12, $[39] = t4, $[40] = tab, $[41] = t13) : t13 = $[41], t13;
|
|
12934
13355
|
}
|
|
12935
13356
|
function _temp2$2(snapshot_0) {
|
|
12936
13357
|
return snapshot_0.matches({ live: "on" });
|
|
@@ -12948,7 +13369,7 @@ function QueryTabBar() {
|
|
|
12948
13369
|
let stopRenaming = t1, t2;
|
|
12949
13370
|
$[2] === actorRef ? t2 = $[3] : (t2 = (ordered) => actorRef.send({
|
|
12950
13371
|
type: "tab.reorder",
|
|
12951
|
-
ids: ordered.map(_temp5)
|
|
13372
|
+
ids: ordered.map(_temp5$1)
|
|
12952
13373
|
}), $[2] = actorRef, $[3] = t2);
|
|
12953
13374
|
let reorder = t2, t3;
|
|
12954
13375
|
$[4] !== activeTabId || $[5] !== actorRef || $[6] !== reorder || $[7] !== tabs ? (t3 = (event) => {
|
|
@@ -13016,7 +13437,7 @@ function QueryTabBar() {
|
|
|
13016
13437
|
"aria-label": t4,
|
|
13017
13438
|
as: "div",
|
|
13018
13439
|
axis: "x",
|
|
13019
|
-
className:
|
|
13440
|
+
className: "cTWfhW_tabList",
|
|
13020
13441
|
onReorder: reorder,
|
|
13021
13442
|
ref: listRef,
|
|
13022
13443
|
role: "tablist",
|
|
@@ -13044,14 +13465,14 @@ function QueryTabBar() {
|
|
|
13044
13465
|
let t10;
|
|
13045
13466
|
return $[29] !== t6 || $[30] !== t9 ? (t10 = /* @__PURE__ */ jsxs(Flex, {
|
|
13046
13467
|
alignItems: "stretch",
|
|
13047
|
-
className:
|
|
13468
|
+
className: "cTWfhW_tabBar",
|
|
13048
13469
|
"data-testid": "vista-tab-bar",
|
|
13049
13470
|
flexShrink: 0,
|
|
13050
13471
|
paddingX: 1,
|
|
13051
13472
|
children: [t6, t9]
|
|
13052
13473
|
}), $[29] = t6, $[30] = t9, $[31] = t10) : t10 = $[31], t10;
|
|
13053
13474
|
}
|
|
13054
|
-
function _temp5(tab) {
|
|
13475
|
+
function _temp5$1(tab) {
|
|
13055
13476
|
return tab.id;
|
|
13056
13477
|
}
|
|
13057
13478
|
function _temp4$1(snapshot_0) {
|
|
@@ -13083,7 +13504,7 @@ const DEFAULT_REQUEST_SHARE = {
|
|
|
13083
13504
|
* paste-a-query-URL handler.
|
|
13084
13505
|
*/
|
|
13085
13506
|
function QueryTab(t0) {
|
|
13086
|
-
let $ = c(
|
|
13507
|
+
let $ = c(227), { tab, rootElement } = t0, { t } = useTranslation(visionLocaleNamespace), toast = useToast(), copyToClipboard = useCopyToClipboard(), actorRef = useVistaActor(), { layout } = useVistaExperience(), datasets = useVistaSelector(selectDatasets), t1;
|
|
13087
13508
|
$[0] === tab.id ? t1 = $[1] : (t1 = (snapshot) => snapshot.context.runners[tab.id], $[0] = tab.id, $[1] = t1);
|
|
13088
13509
|
let runnerRef = useVistaSelector(t1), t2;
|
|
13089
13510
|
$[2] === tab.id ? t2 = $[3] : (t2 = (snapshot_0) => snapshot_0.context.loadRevisions[tab.id] || 0, $[2] = tab.id, $[3] = t2);
|
|
@@ -13091,7 +13512,7 @@ function QueryTab(t0) {
|
|
|
13091
13512
|
$[4] === Symbol.for("react.memo_cache_sentinel") ? (t3 = {}, $[4] = t3) : t3 = $[4];
|
|
13092
13513
|
let [splitSizes, setSplitSizes] = useState(t3), [mobilePane, setMobilePane] = useState("request"), queryEditorRef = useRef(null), paramsEditorRef = useRef(null), t4;
|
|
13093
13514
|
$[5] === Symbol.for("react.memo_cache_sentinel") ? (t4 = [], $[5] = t4) : t4 = $[5];
|
|
13094
|
-
let [lintFindings, setLintFindings] = useState(t4), { resolved, params, request, buildRequest } = useQueryRequestBuilder(tab), isFetching = useSelector(runnerRef, selectIsFetching), t5;
|
|
13515
|
+
let [lintFindings, setLintFindings] = useState(t4), { resolved, params, request, buildRequest } = useQueryRequestBuilder(tab), isVariantsEnabled = useVariantsEnabled(), isFetching = useSelector(runnerRef, selectIsFetching), t5;
|
|
13095
13516
|
$[6] !== actorRef || $[7] !== tab.id ? (t5 = (query) => actorRef.send({
|
|
13096
13517
|
type: "tab.setQuery",
|
|
13097
13518
|
id: tab.id,
|
|
@@ -13120,34 +13541,59 @@ function QueryTab(t0) {
|
|
|
13120
13541
|
setParams.cancel(), setParamsNow(rawParams_0);
|
|
13121
13542
|
}, $[25] = setParams, $[26] = setParamsNow, $[27] = t14) : t14 = $[27];
|
|
13122
13543
|
let replaceParams = t14, t15;
|
|
13123
|
-
$[28] !== actorRef || $[29] !==
|
|
13544
|
+
$[28] !== actorRef || $[29] !== setParams || $[30] !== setParamsNow || $[31] !== t || $[32] !== tab.id ? (t15 = async (query_0) => {
|
|
13545
|
+
if (!paramsEditorRef.current) return;
|
|
13546
|
+
let referenced;
|
|
13547
|
+
try {
|
|
13548
|
+
referenced = await extractQueryParams(query_0);
|
|
13549
|
+
} catch {
|
|
13550
|
+
return;
|
|
13551
|
+
}
|
|
13552
|
+
if (referenced.length === 0 || !paramsEditorRef.current) return;
|
|
13553
|
+
setParams.flush();
|
|
13554
|
+
let latest = actorRef.getSnapshot().context.tabs.find((it) => it.id === tab.id);
|
|
13555
|
+
if (!latest || latest.query !== query_0) return;
|
|
13556
|
+
let missing = missingParamNames(referenced.map(_temp2$1), latest.rawParams, t);
|
|
13557
|
+
if (!missing || missing.length === 0) return;
|
|
13558
|
+
let nextRawParams = addMissingParams(latest.rawParams, missing);
|
|
13559
|
+
nextRawParams !== latest.rawParams && (paramsEditorRef.current.resetEditorContent(nextRawParams), setParamsNow(nextRawParams));
|
|
13560
|
+
}, $[28] = actorRef, $[29] = setParams, $[30] = setParamsNow, $[31] = t, $[32] = tab.id, $[33] = t15) : t15 = $[33];
|
|
13561
|
+
let prefillParams = useEffectEvent(t15), t16;
|
|
13562
|
+
$[34] !== prefillParams || $[35] !== tab.query ? (t16 = () => {
|
|
13563
|
+
let timeoutId = setTimeout(() => void prefillParams(tab.query), 333);
|
|
13564
|
+
return () => clearTimeout(timeoutId);
|
|
13565
|
+
}, $[34] = prefillParams, $[35] = tab.query, $[36] = t16) : t16 = $[36];
|
|
13566
|
+
let t17;
|
|
13567
|
+
$[37] === tab.query ? t17 = $[38] : (t17 = [tab.query], $[37] = tab.query, $[38] = t17), useEffect(t16, t17);
|
|
13568
|
+
let t18;
|
|
13569
|
+
$[39] !== actorRef || $[40] !== buildRequest || $[41] !== setParams || $[42] !== tab ? (t18 = () => {
|
|
13124
13570
|
setParams.flush();
|
|
13125
|
-
let
|
|
13126
|
-
return buildRequest(
|
|
13127
|
-
}, $[
|
|
13128
|
-
let buildCurrentRequest =
|
|
13129
|
-
$[
|
|
13571
|
+
let latest_0 = actorRef.getSnapshot().context.tabs.find((it_0) => it_0.id === tab.id) ?? tab;
|
|
13572
|
+
return buildRequest(latest_0.query, latest_0.rawParams);
|
|
13573
|
+
}, $[39] = actorRef, $[40] = buildRequest, $[41] = setParams, $[42] = tab, $[43] = t18) : t18 = $[43];
|
|
13574
|
+
let buildCurrentRequest = t18, t19;
|
|
13575
|
+
$[44] !== buildCurrentRequest || $[45] !== layout || $[46] !== runnerRef ? (t19 = (reason) => {
|
|
13130
13576
|
let current = buildCurrentRequest();
|
|
13131
13577
|
return current ? (runnerRef.send({
|
|
13132
13578
|
type: "fetch",
|
|
13133
13579
|
request: current,
|
|
13134
13580
|
reason
|
|
13135
13581
|
}), layout === "mobile" && setMobilePane("response"), !0) : !1;
|
|
13136
|
-
}, $[
|
|
13137
|
-
let run =
|
|
13138
|
-
$[
|
|
13139
|
-
let cancel =
|
|
13140
|
-
$[
|
|
13582
|
+
}, $[44] = buildCurrentRequest, $[45] = layout, $[46] = runnerRef, $[47] = t19) : t19 = $[47];
|
|
13583
|
+
let run = t19, t20;
|
|
13584
|
+
$[48] === runnerRef ? t20 = $[49] : (t20 = () => runnerRef.send({ type: "cancel" }), $[48] = runnerRef, $[49] = t20);
|
|
13585
|
+
let cancel = t20, t21;
|
|
13586
|
+
$[50] === run ? t21 = $[51] : (t21 = () => {
|
|
13141
13587
|
run({ type: "mutation" });
|
|
13142
|
-
}, $[
|
|
13143
|
-
let refetchAfterMutations =
|
|
13144
|
-
$[
|
|
13588
|
+
}, $[50] = run, $[51] = t21);
|
|
13589
|
+
let refetchAfterMutations = t21, t22;
|
|
13590
|
+
$[52] !== actorRef || $[53] !== tab.id ? (t22 = (options) => actorRef.send({
|
|
13145
13591
|
type: "tab.setOptions",
|
|
13146
13592
|
id: tab.id,
|
|
13147
13593
|
options
|
|
13148
|
-
}), $[
|
|
13149
|
-
let setOptions =
|
|
13150
|
-
$[
|
|
13594
|
+
}), $[52] = actorRef, $[53] = tab.id, $[54] = t22) : t22 = $[54];
|
|
13595
|
+
let setOptions = t22, t23;
|
|
13596
|
+
$[55] !== actorRef || $[56] !== run || $[57] !== tab.autoRefetch || $[58] !== tab.id ? (t23 = () => {
|
|
13151
13597
|
tab.autoRefetch ? actorRef.send({
|
|
13152
13598
|
type: "tab.setAutoRefetch",
|
|
13153
13599
|
id: tab.id,
|
|
@@ -13157,28 +13603,28 @@ function QueryTab(t0) {
|
|
|
13157
13603
|
id: tab.id,
|
|
13158
13604
|
autoRefetch: !0
|
|
13159
13605
|
});
|
|
13160
|
-
}, $[
|
|
13161
|
-
let toggleAutoRefetch =
|
|
13162
|
-
$[
|
|
13163
|
-
let editor = queryEditorRef.current, width = editor?.getVisibleColumns(countLines(
|
|
13606
|
+
}, $[55] = actorRef, $[56] = run, $[57] = tab.autoRefetch, $[58] = tab.id, $[59] = t23) : t23 = $[59];
|
|
13607
|
+
let toggleAutoRefetch = t23, t24;
|
|
13608
|
+
$[60] === Symbol.for("react.memo_cache_sentinel") ? (t24 = async (query_1) => {
|
|
13609
|
+
let editor = queryEditorRef.current, width = editor?.getVisibleColumns(countLines(query_1)), formatted = await formatGroq(query_1, width);
|
|
13164
13610
|
for (let pass = 0; pass < 2 && width !== void 0; pass++) {
|
|
13165
13611
|
let nextWidth = editor?.getVisibleColumns(countLines(formatted));
|
|
13166
13612
|
if (nextWidth === void 0 || nextWidth >= width) break;
|
|
13167
|
-
width = nextWidth, formatted = await formatGroq(
|
|
13613
|
+
width = nextWidth, formatted = await formatGroq(query_1, width);
|
|
13168
13614
|
}
|
|
13169
13615
|
return formatted;
|
|
13170
|
-
}, $[
|
|
13171
|
-
let formatForEditor =
|
|
13172
|
-
$[
|
|
13173
|
-
let { query:
|
|
13174
|
-
actorRef.getSnapshot().context.tabs.find((
|
|
13175
|
-
}, $[
|
|
13176
|
-
let formatQuery =
|
|
13177
|
-
$[
|
|
13616
|
+
}, $[60] = t24) : t24 = $[60];
|
|
13617
|
+
let formatForEditor = t24, t25;
|
|
13618
|
+
$[61] !== actorRef || $[62] !== setQuery || $[63] !== tab ? (t25 = async () => {
|
|
13619
|
+
let { query: query_2 } = tab, formatted_0 = await formatForEditor(query_2);
|
|
13620
|
+
actorRef.getSnapshot().context.tabs.find((it_1) => it_1.id === tab.id)?.query === query_2 && formatted_0 !== query_2 && (queryEditorRef.current?.resetEditorContent(formatted_0), setQuery(formatted_0));
|
|
13621
|
+
}, $[61] = actorRef, $[62] = setQuery, $[63] = tab, $[64] = t25) : t25 = $[64];
|
|
13622
|
+
let formatQuery = t25, t26;
|
|
13623
|
+
$[65] !== formatQuery || $[66] !== t || $[67] !== toast ? (t26 = async () => {
|
|
13178
13624
|
try {
|
|
13179
13625
|
await formatQuery();
|
|
13180
|
-
} catch (
|
|
13181
|
-
let error =
|
|
13626
|
+
} catch (t27) {
|
|
13627
|
+
let error = t27;
|
|
13182
13628
|
toast.push({
|
|
13183
13629
|
closable: !0,
|
|
13184
13630
|
description: error instanceof GroqSyntaxError ? error.message : void 0,
|
|
@@ -13186,33 +13632,33 @@ function QueryTab(t0) {
|
|
|
13186
13632
|
title: t("vista.query.prettify.failed")
|
|
13187
13633
|
});
|
|
13188
13634
|
}
|
|
13189
|
-
}, $[
|
|
13190
|
-
let prettify =
|
|
13191
|
-
$[
|
|
13192
|
-
let copyQuery =
|
|
13193
|
-
$[
|
|
13635
|
+
}, $[65] = formatQuery, $[66] = t, $[67] = toast, $[68] = t26) : t26 = $[68];
|
|
13636
|
+
let prettify = t26, t27;
|
|
13637
|
+
$[69] !== copyToClipboard || $[70] !== t || $[71] !== tab.query ? (t27 = () => void copyToClipboard(tab.query, t("vista.query.copied")), $[69] = copyToClipboard, $[70] = t, $[71] = tab.query, $[72] = t27) : t27 = $[72];
|
|
13638
|
+
let copyQuery = t27, pendingRevealRef = useRef(null), drawerOpen = useVistaSelector(_temp3), t28;
|
|
13639
|
+
$[73] !== actorRef || $[74] !== drawerOpen || $[75] !== layout || $[76] !== mobilePane ? (t28 = (range) => {
|
|
13194
13640
|
layout === "mobile" && (mobilePane !== "request" || drawerOpen) ? (pendingRevealRef.current = range, setMobilePane("request"), drawerOpen && actorRef.send({ type: "drawer.close" })) : queryEditorRef.current?.selectRange(range.from, range.to);
|
|
13195
|
-
}, $[
|
|
13196
|
-
let revealRange =
|
|
13197
|
-
$[
|
|
13198
|
-
let editQuery =
|
|
13199
|
-
$[
|
|
13641
|
+
}, $[73] = actorRef, $[74] = drawerOpen, $[75] = layout, $[76] = mobilePane, $[77] = t28) : t28 = $[77];
|
|
13642
|
+
let revealRange = t28, t29;
|
|
13643
|
+
$[78] === Symbol.for("react.memo_cache_sentinel") ? (t29 = (edit) => queryEditorRef.current?.applyChanges([edit]), $[78] = t29) : t29 = $[78];
|
|
13644
|
+
let editQuery = t29, t30, t31;
|
|
13645
|
+
$[79] !== drawerOpen || $[80] !== mobilePane ? (t30 = () => {
|
|
13200
13646
|
let pending = pendingRevealRef.current;
|
|
13201
13647
|
mobilePane === "request" && !drawerOpen && pending && (pendingRevealRef.current = null, queryEditorRef.current?.selectRange(pending.from, pending.to));
|
|
13202
|
-
},
|
|
13203
|
-
let
|
|
13204
|
-
$[
|
|
13648
|
+
}, t31 = [drawerOpen, mobilePane], $[79] = drawerOpen, $[80] = mobilePane, $[81] = t30, $[82] = t31) : (t30 = $[81], t31 = $[82]), useEffect(t30, t31);
|
|
13649
|
+
let t32;
|
|
13650
|
+
$[83] !== runnerRef || $[84] !== setParams || $[85] !== tab.query || $[86] !== tab.rawParams ? (t32 = () => {
|
|
13205
13651
|
setParams.cancel(), queryEditorRef.current?.resetEditorContent(tab.query), paramsEditorRef.current?.resetEditorContent(tab.rawParams), runnerRef.send({ type: "clear" });
|
|
13206
|
-
}, $[
|
|
13207
|
-
let
|
|
13208
|
-
$[
|
|
13652
|
+
}, $[83] = runnerRef, $[84] = setParams, $[85] = tab.query, $[86] = tab.rawParams, $[87] = t32) : t32 = $[87], useOnValueChange(loadRevision, t32);
|
|
13653
|
+
let t33 = tab.autoRefetch && resolved.supportsSyncTags, t34;
|
|
13654
|
+
$[88] !== resolved.dataset || $[89] !== runnerRef || $[90] !== t33 || $[91] !== tab.id ? (t34 = {
|
|
13209
13655
|
runnerRef,
|
|
13210
13656
|
dataset: resolved.dataset,
|
|
13211
|
-
enabled:
|
|
13657
|
+
enabled: t33,
|
|
13212
13658
|
tabId: tab.id
|
|
13213
|
-
}, $[
|
|
13214
|
-
let
|
|
13215
|
-
$[
|
|
13659
|
+
}, $[88] = resolved.dataset, $[89] = runnerRef, $[90] = t33, $[91] = tab.id, $[92] = t34) : t34 = $[92], useLiveSubscription(t34);
|
|
13660
|
+
let t35;
|
|
13661
|
+
$[93] !== buildCurrentRequest || $[94] !== buildRequest || $[95] !== runnerRef || $[96] !== tab.autoRefetch ? (t35 = () => {
|
|
13216
13662
|
if (!tab.autoRefetch) return;
|
|
13217
13663
|
let lastRequest = runnerRef.getSnapshot().context.request;
|
|
13218
13664
|
if (!lastRequest) {
|
|
@@ -13230,79 +13676,86 @@ function QueryTab(t0) {
|
|
|
13230
13676
|
request: current_1,
|
|
13231
13677
|
reason: { type: "resume" }
|
|
13232
13678
|
});
|
|
13233
|
-
}, $[
|
|
13234
|
-
let resumeAutoRefetch = useEffectEvent(
|
|
13235
|
-
$[
|
|
13236
|
-
let
|
|
13237
|
-
$[
|
|
13238
|
-
|
|
13239
|
-
|
|
13240
|
-
|
|
13241
|
-
|
|
13242
|
-
|
|
13243
|
-
|
|
13244
|
-
|
|
13245
|
-
|
|
13246
|
-
|
|
13247
|
-
|
|
13679
|
+
}, $[93] = buildCurrentRequest, $[94] = buildRequest, $[95] = runnerRef, $[96] = tab.autoRefetch, $[97] = t35) : t35 = $[97];
|
|
13680
|
+
let resumeAutoRefetch = useEffectEvent(t35), t36;
|
|
13681
|
+
$[98] === tab.id ? t36 = $[99] : (t36 = (snapshot_3) => snapshot_3.context.fetchOnOpen[tab.id], $[98] = tab.id, $[99] = t36);
|
|
13682
|
+
let fetchOnOpen = useVistaSelector(t36), t37;
|
|
13683
|
+
$[100] !== actorRef || $[101] !== formatQuery || $[102] !== run || $[103] !== tab.id ? (t37 = async () => {
|
|
13684
|
+
let source = actorRef.getSnapshot().context.fetchOnOpen[tab.id];
|
|
13685
|
+
if (source) {
|
|
13686
|
+
if (actorRef.send({
|
|
13687
|
+
type: "tab.fetchedOnOpen",
|
|
13688
|
+
id: tab.id
|
|
13689
|
+
}), source === "generated") {
|
|
13690
|
+
let previousColumns, settledFrames = 0;
|
|
13691
|
+
for (let frame = 0; frame < 30; frame++) {
|
|
13692
|
+
let columns = queryEditorRef.current?.getVisibleColumns();
|
|
13693
|
+
if (settledFrames = columns !== void 0 && columns === previousColumns ? settledFrames + 1 : 0, settledFrames >= 3) break;
|
|
13694
|
+
previousColumns = columns, await new Promise(_temp4);
|
|
13695
|
+
}
|
|
13696
|
+
await formatQuery().catch(_temp5);
|
|
13697
|
+
}
|
|
13698
|
+
run({ type: source });
|
|
13248
13699
|
}
|
|
13249
|
-
|
|
13250
|
-
|
|
13251
|
-
|
|
13252
|
-
$[94] === resumeAutoRefetch ? t35 = $[95] : (t35 = () => {
|
|
13700
|
+
}, $[100] = actorRef, $[101] = formatQuery, $[102] = run, $[103] = tab.id, $[104] = t37) : t37 = $[104];
|
|
13701
|
+
let fetchOpenedQuery = useEffectEvent(t37), t38;
|
|
13702
|
+
$[105] === resumeAutoRefetch ? t38 = $[106] : (t38 = () => {
|
|
13253
13703
|
resumeAutoRefetch();
|
|
13254
|
-
}, $[
|
|
13255
|
-
let t36;
|
|
13256
|
-
$[96] === Symbol.for("react.memo_cache_sentinel") ? (t36 = [], $[96] = t36) : t36 = $[96], useEffect(t35, t36);
|
|
13257
|
-
let t37;
|
|
13258
|
-
$[97] !== fetchGeneratedQuery || $[98] !== generatedQueryPending ? (t37 = () => {
|
|
13259
|
-
generatedQueryPending && fetchGeneratedQuery();
|
|
13260
|
-
}, $[97] = fetchGeneratedQuery, $[98] = generatedQueryPending, $[99] = t37) : t37 = $[99];
|
|
13261
|
-
let t38;
|
|
13262
|
-
$[100] === generatedQueryPending ? t38 = $[101] : (t38 = [generatedQueryPending], $[100] = generatedQueryPending, $[101] = t38), useEffect(t37, t38);
|
|
13704
|
+
}, $[105] = resumeAutoRefetch, $[106] = t38);
|
|
13263
13705
|
let t39;
|
|
13264
|
-
$[
|
|
13706
|
+
$[107] === Symbol.for("react.memo_cache_sentinel") ? (t39 = [], $[107] = t39) : t39 = $[107], useEffect(t38, t39);
|
|
13707
|
+
let t40;
|
|
13708
|
+
$[108] !== fetchOnOpen || $[109] !== fetchOpenedQuery ? (t40 = () => {
|
|
13709
|
+
fetchOnOpen && fetchOpenedQuery();
|
|
13710
|
+
}, $[108] = fetchOnOpen, $[109] = fetchOpenedQuery, $[110] = t40) : t40 = $[110];
|
|
13711
|
+
let t41;
|
|
13712
|
+
$[111] === fetchOnOpen ? t41 = $[112] : (t41 = [fetchOnOpen], $[111] = fetchOnOpen, $[112] = t41), useEffect(t40, t41);
|
|
13713
|
+
let t42;
|
|
13714
|
+
$[113] !== resolved.apiVersion || $[114] !== resolved.dataset || $[115] !== resolved.perspective || $[116] !== resolved.useCdn || $[117] !== resolved.variant || $[118] !== tab.options.includeSourceMap ? (t42 = JSON.stringify([
|
|
13265
13715
|
resolved.apiVersion,
|
|
13266
13716
|
resolved.dataset,
|
|
13267
13717
|
resolved.perspective,
|
|
13268
13718
|
resolved.variant,
|
|
13269
13719
|
resolved.useCdn,
|
|
13270
13720
|
tab.options.includeSourceMap
|
|
13271
|
-
]), $[
|
|
13272
|
-
let refetchKey = `${loadRevision}|${
|
|
13273
|
-
$[
|
|
13721
|
+
]), $[113] = resolved.apiVersion, $[114] = resolved.dataset, $[115] = resolved.perspective, $[116] = resolved.useCdn, $[117] = resolved.variant, $[118] = tab.options.includeSourceMap, $[119] = t42) : t42 = $[119];
|
|
13722
|
+
let refetchKey = `${loadRevision}|${t42}`, t43;
|
|
13723
|
+
$[120] !== buildCurrentRequest || $[121] !== fetchOnOpen || $[122] !== runnerRef || $[123] !== tab.autoRefetch ? (t43 = (key, previous) => {
|
|
13274
13724
|
if (!tab.autoRefetch) return;
|
|
13275
|
-
let loaded = key.split("|", 1)[0] !== previous.split("|", 1)[0]
|
|
13725
|
+
let loaded = key.split("|", 1)[0] !== previous.split("|", 1)[0];
|
|
13726
|
+
if (loaded && fetchOnOpen) return;
|
|
13727
|
+
let current_2 = buildCurrentRequest();
|
|
13276
13728
|
current_2 && runnerRef.send({
|
|
13277
13729
|
type: "fetch",
|
|
13278
13730
|
request: current_2,
|
|
13279
13731
|
reason: { type: loaded ? "load" : "options" }
|
|
13280
13732
|
});
|
|
13281
|
-
}, $[
|
|
13282
|
-
let
|
|
13283
|
-
$[
|
|
13284
|
-
let
|
|
13285
|
-
$[
|
|
13286
|
-
|
|
13733
|
+
}, $[120] = buildCurrentRequest, $[121] = fetchOnOpen, $[122] = runnerRef, $[123] = tab.autoRefetch, $[124] = t43) : t43 = $[124], useOnValueChange(refetchKey, t43);
|
|
13734
|
+
let t44;
|
|
13735
|
+
$[125] === setOptions ? t44 = $[126] : (t44 = (perspective) => setOptions({ perspective }), $[125] = setOptions, $[126] = t44), useFollowNavbarPerspective(resolved.tabPerspective, t44);
|
|
13736
|
+
let t45;
|
|
13737
|
+
$[127] !== copyQuery || $[128] !== prettify || $[129] !== run ? (t45 = (shortcut) => {
|
|
13738
|
+
bb317: switch (shortcut) {
|
|
13287
13739
|
case "fetch":
|
|
13288
13740
|
run({ type: "shortcut" });
|
|
13289
|
-
break
|
|
13741
|
+
break bb317;
|
|
13290
13742
|
case "prettify":
|
|
13291
13743
|
prettify();
|
|
13292
|
-
break
|
|
13744
|
+
break bb317;
|
|
13293
13745
|
case "copy-query":
|
|
13294
13746
|
copyQuery();
|
|
13295
|
-
break
|
|
13747
|
+
break bb317;
|
|
13296
13748
|
default: throw Error(`Unhandled shortcut: ${String(shortcut)}`);
|
|
13297
13749
|
}
|
|
13298
|
-
}, $[
|
|
13299
|
-
let
|
|
13300
|
-
$[
|
|
13750
|
+
}, $[127] = copyQuery, $[128] = prettify, $[129] = run, $[130] = t45) : t45 = $[130];
|
|
13751
|
+
let t46;
|
|
13752
|
+
$[131] !== actorRef || $[132] !== datasets || $[133] !== isVariantsEnabled || $[134] !== resolved.variant || $[135] !== t || $[136] !== tab.id || $[137] !== toast ? (t46 = (text) => {
|
|
13301
13753
|
let parsed = parseQueryUrl(text, datasets);
|
|
13302
13754
|
return parsed ? (actorRef.send({
|
|
13303
13755
|
type: "tab.load",
|
|
13304
13756
|
id: tab.id,
|
|
13305
|
-
tab: parsedQueryToTabInit(parsed)
|
|
13757
|
+
tab: parsedQueryToTabInit(parsed),
|
|
13758
|
+
fetch: "paste"
|
|
13306
13759
|
}), toast.push({
|
|
13307
13760
|
closable: !0,
|
|
13308
13761
|
id: "vista-paste",
|
|
@@ -13322,21 +13775,21 @@ function QueryTab(t0) {
|
|
|
13322
13775
|
closable: !0,
|
|
13323
13776
|
id: "vista-paste-variant",
|
|
13324
13777
|
status: "warning",
|
|
13325
|
-
title: t("vista.paste.unavailable-variant", { variant: parsed.variant })
|
|
13778
|
+
title: t(isVariantsEnabled ? "vista.paste.unavailable-variant" : "vista.paste.variants-disabled", { variant: parsed.variant })
|
|
13326
13779
|
}), !0) : !1;
|
|
13327
|
-
}, $[
|
|
13328
|
-
let t44;
|
|
13329
|
-
$[126] !== rootElement || $[127] !== t42 || $[128] !== t43 ? (t44 = {
|
|
13330
|
-
rootElement,
|
|
13331
|
-
onShortcut: t42,
|
|
13332
|
-
onPaste: t43
|
|
13333
|
-
}, $[126] = rootElement, $[127] = t42, $[128] = t43, $[129] = t44) : t44 = $[129], useVistaDocumentEvents(t44);
|
|
13334
|
-
let t45;
|
|
13335
|
-
$[130] === prettify ? t45 = $[131] : (t45 = () => void prettify(), $[130] = prettify, $[131] = t45);
|
|
13336
|
-
let t46;
|
|
13337
|
-
$[132] === run ? t46 = $[133] : (t46 = () => run({ type: "manual" }), $[132] = run, $[133] = t46);
|
|
13780
|
+
}, $[131] = actorRef, $[132] = datasets, $[133] = isVariantsEnabled, $[134] = resolved.variant, $[135] = t, $[136] = tab.id, $[137] = toast, $[138] = t46) : t46 = $[138];
|
|
13338
13781
|
let t47;
|
|
13339
|
-
$[
|
|
13782
|
+
$[139] !== rootElement || $[140] !== t45 || $[141] !== t46 ? (t47 = {
|
|
13783
|
+
rootElement,
|
|
13784
|
+
onShortcut: t45,
|
|
13785
|
+
onPaste: t46
|
|
13786
|
+
}, $[139] = rootElement, $[140] = t45, $[141] = t46, $[142] = t47) : t47 = $[142], useVistaDocumentEvents(t47);
|
|
13787
|
+
let t48;
|
|
13788
|
+
$[143] === prettify ? t48 = $[144] : (t48 = () => void prettify(), $[143] = prettify, $[144] = t48);
|
|
13789
|
+
let t49;
|
|
13790
|
+
$[145] === run ? t49 = $[146] : (t49 = () => run({ type: "manual" }), $[145] = run, $[146] = t49);
|
|
13791
|
+
let t50;
|
|
13792
|
+
$[147] !== buildRequest || $[148] !== cancel || $[149] !== copyQuery || $[150] !== isFetching || $[151] !== params || $[152] !== replaceParams || $[153] !== request || $[154] !== resolved || $[155] !== setOptions || $[156] !== setParams || $[157] !== setQuery || $[158] !== t48 || $[159] !== t49 || $[160] !== tab || $[161] !== toggleAutoRefetch ? (t50 = /* @__PURE__ */ jsx(RequestPanel, {
|
|
13340
13793
|
buildRequest,
|
|
13341
13794
|
formatForEditor,
|
|
13342
13795
|
isFetching,
|
|
@@ -13346,9 +13799,9 @@ function QueryTab(t0) {
|
|
|
13346
13799
|
onOptionsChange: setOptions,
|
|
13347
13800
|
onParamsChange: setParams,
|
|
13348
13801
|
onParamsReplace: replaceParams,
|
|
13349
|
-
onPrettify:
|
|
13802
|
+
onPrettify: t48,
|
|
13350
13803
|
onQueryChange: setQuery,
|
|
13351
|
-
onRun:
|
|
13804
|
+
onRun: t49,
|
|
13352
13805
|
onToggleAutoRefetch: toggleAutoRefetch,
|
|
13353
13806
|
params,
|
|
13354
13807
|
paramsEditorRef,
|
|
@@ -13356,9 +13809,9 @@ function QueryTab(t0) {
|
|
|
13356
13809
|
request,
|
|
13357
13810
|
resolved,
|
|
13358
13811
|
tab
|
|
13359
|
-
}), $[
|
|
13360
|
-
let requestPanel =
|
|
13361
|
-
$[
|
|
13812
|
+
}), $[147] = buildRequest, $[148] = cancel, $[149] = copyQuery, $[150] = isFetching, $[151] = params, $[152] = replaceParams, $[153] = request, $[154] = resolved, $[155] = setOptions, $[156] = setParams, $[157] = setQuery, $[158] = t48, $[159] = t49, $[160] = tab, $[161] = toggleAutoRefetch, $[162] = t50) : t50 = $[162];
|
|
13813
|
+
let requestPanel = t50, t51;
|
|
13814
|
+
$[163] !== lintFindings || $[164] !== refetchAfterMutations || $[165] !== request || $[166] !== resolved || $[167] !== revealRange || $[168] !== runnerRef || $[169] !== tab ? (t51 = /* @__PURE__ */ jsx(ResponsePanel, {
|
|
13362
13815
|
lintFindings,
|
|
13363
13816
|
onEditQuery: editQuery,
|
|
13364
13817
|
onMutationsApplied: refetchAfterMutations,
|
|
@@ -13367,142 +13820,145 @@ function QueryTab(t0) {
|
|
|
13367
13820
|
resolved,
|
|
13368
13821
|
runnerRef,
|
|
13369
13822
|
tab
|
|
13370
|
-
}), $[
|
|
13371
|
-
let responsePanel =
|
|
13372
|
-
$[
|
|
13373
|
-
let
|
|
13374
|
-
$[
|
|
13375
|
-
"aria-labelledby":
|
|
13823
|
+
}), $[163] = lintFindings, $[164] = refetchAfterMutations, $[165] = request, $[166] = resolved, $[167] = revealRange, $[168] = runnerRef, $[169] = tab, $[170] = t51) : t51 = $[170];
|
|
13824
|
+
let responsePanel = t51, t52;
|
|
13825
|
+
$[171] === tab.id ? t52 = $[172] : (t52 = getQueryTabId(tab.id), $[171] = tab.id, $[172] = t52);
|
|
13826
|
+
let t53;
|
|
13827
|
+
$[173] === t52 ? t53 = $[174] : (t53 = {
|
|
13828
|
+
"aria-labelledby": t52,
|
|
13376
13829
|
"data-testid": "vista-query-tab",
|
|
13377
13830
|
id: QUERY_TAB_PANEL_ID,
|
|
13378
13831
|
role: "tabpanel"
|
|
13379
|
-
}, $[
|
|
13380
|
-
let panelProps =
|
|
13832
|
+
}, $[173] = t52, $[174] = t53);
|
|
13833
|
+
let panelProps = t53;
|
|
13381
13834
|
if (layout === "mobile") {
|
|
13382
|
-
let
|
|
13383
|
-
$[
|
|
13384
|
-
let
|
|
13385
|
-
$[
|
|
13386
|
-
let
|
|
13387
|
-
$[
|
|
13835
|
+
let t54;
|
|
13836
|
+
$[175] === t ? t54 = $[176] : (t54 = t("query.label"), $[175] = t, $[176] = t54);
|
|
13837
|
+
let t55;
|
|
13838
|
+
$[177] === Symbol.for("react.memo_cache_sentinel") ? (t55 = () => setMobilePane("request"), $[177] = t55) : t55 = $[177];
|
|
13839
|
+
let t56 = mobilePane === "request", t57;
|
|
13840
|
+
$[178] !== t54 || $[179] !== t56 ? (t57 = /* @__PURE__ */ jsx(Tab, {
|
|
13388
13841
|
"aria-controls": "vista-mobile-request-pane",
|
|
13389
13842
|
fontSize: 1,
|
|
13390
13843
|
id: "vista-mobile-request-tab",
|
|
13391
|
-
label:
|
|
13392
|
-
onClick:
|
|
13844
|
+
label: t54,
|
|
13845
|
+
onClick: t55,
|
|
13393
13846
|
padding: 2,
|
|
13394
|
-
selected:
|
|
13395
|
-
}), $[
|
|
13396
|
-
let
|
|
13397
|
-
$[
|
|
13398
|
-
let
|
|
13399
|
-
$[
|
|
13400
|
-
let
|
|
13401
|
-
$[
|
|
13847
|
+
selected: t56
|
|
13848
|
+
}), $[178] = t54, $[179] = t56, $[180] = t57) : t57 = $[180];
|
|
13849
|
+
let t58;
|
|
13850
|
+
$[181] === t ? t58 = $[182] : (t58 = t("result.label"), $[181] = t, $[182] = t58);
|
|
13851
|
+
let t59;
|
|
13852
|
+
$[183] === Symbol.for("react.memo_cache_sentinel") ? (t59 = () => setMobilePane("response"), $[183] = t59) : t59 = $[183];
|
|
13853
|
+
let t60 = mobilePane === "response", t61;
|
|
13854
|
+
$[184] !== t58 || $[185] !== t60 ? (t61 = /* @__PURE__ */ jsx(Tab, {
|
|
13402
13855
|
"aria-controls": "vista-mobile-response-pane",
|
|
13403
13856
|
fontSize: 1,
|
|
13404
13857
|
id: "vista-mobile-response-tab",
|
|
13405
|
-
label:
|
|
13406
|
-
onClick:
|
|
13858
|
+
label: t58,
|
|
13859
|
+
onClick: t59,
|
|
13407
13860
|
padding: 2,
|
|
13408
|
-
selected:
|
|
13409
|
-
}), $[
|
|
13410
|
-
let
|
|
13411
|
-
$[
|
|
13861
|
+
selected: t60
|
|
13862
|
+
}), $[184] = t58, $[185] = t60, $[186] = t61) : t61 = $[186];
|
|
13863
|
+
let t62;
|
|
13864
|
+
$[187] !== t57 || $[188] !== t61 ? (t62 = /* @__PURE__ */ jsx(Flex, {
|
|
13412
13865
|
borderBottom: !0,
|
|
13413
13866
|
flexShrink: 0,
|
|
13414
13867
|
justifyContent: "center",
|
|
13415
13868
|
paddingY: 1,
|
|
13416
13869
|
children: /* @__PURE__ */ jsxs(TabList, {
|
|
13417
13870
|
gap: 1,
|
|
13418
|
-
children: [
|
|
13871
|
+
children: [t57, t61]
|
|
13419
13872
|
})
|
|
13420
|
-
}), $[
|
|
13421
|
-
let
|
|
13422
|
-
$[
|
|
13423
|
-
let
|
|
13424
|
-
$[
|
|
13873
|
+
}), $[187] = t57, $[188] = t61, $[189] = t62) : t62 = $[189];
|
|
13874
|
+
let t63 = mobilePane !== "request" && "cTWfhW_hiddenPane", t64;
|
|
13875
|
+
$[190] === t63 ? t64 = $[191] : (t64 = cx(_key12$1, t63), $[190] = t63, $[191] = t64);
|
|
13876
|
+
let t65;
|
|
13877
|
+
$[192] !== requestPanel || $[193] !== t64 ? (t65 = /* @__PURE__ */ jsx(Box, {
|
|
13425
13878
|
"aria-labelledby": "vista-mobile-request-tab",
|
|
13426
|
-
className:
|
|
13879
|
+
className: t64,
|
|
13427
13880
|
flexBasis: "0%",
|
|
13428
13881
|
flexGrow: 1,
|
|
13429
13882
|
id: "vista-mobile-request-pane",
|
|
13430
13883
|
role: "tabpanel",
|
|
13431
13884
|
children: requestPanel
|
|
13432
|
-
}), $[
|
|
13433
|
-
let
|
|
13434
|
-
$[
|
|
13435
|
-
let
|
|
13436
|
-
$[
|
|
13885
|
+
}), $[192] = requestPanel, $[193] = t64, $[194] = t65) : t65 = $[194];
|
|
13886
|
+
let t66 = mobilePane !== "response" && "cTWfhW_hiddenPane", t67;
|
|
13887
|
+
$[195] === t66 ? t67 = $[196] : (t67 = cx(_key12$1, t66), $[195] = t66, $[196] = t67);
|
|
13888
|
+
let t68;
|
|
13889
|
+
$[197] !== responsePanel || $[198] !== t67 ? (t68 = /* @__PURE__ */ jsx(Box, {
|
|
13437
13890
|
"aria-labelledby": "vista-mobile-response-tab",
|
|
13438
|
-
className:
|
|
13891
|
+
className: t67,
|
|
13439
13892
|
flexBasis: "0%",
|
|
13440
13893
|
flexGrow: 1,
|
|
13441
13894
|
id: "vista-mobile-response-pane",
|
|
13442
13895
|
role: "tabpanel",
|
|
13443
13896
|
children: responsePanel
|
|
13444
|
-
}), $[
|
|
13445
|
-
let
|
|
13446
|
-
return $[
|
|
13897
|
+
}), $[197] = responsePanel, $[198] = t67, $[199] = t68) : t68 = $[199];
|
|
13898
|
+
let t69;
|
|
13899
|
+
return $[200] !== panelProps || $[201] !== t62 || $[202] !== t65 || $[203] !== t68 ? (t69 = /* @__PURE__ */ jsxs(Flex, {
|
|
13447
13900
|
...panelProps,
|
|
13448
13901
|
flexBasis: "0%",
|
|
13449
13902
|
flexDirection: "column",
|
|
13450
13903
|
flexGrow: 1,
|
|
13451
13904
|
minHeight: "0",
|
|
13452
13905
|
children: [
|
|
13453
|
-
t59,
|
|
13454
13906
|
t62,
|
|
13455
|
-
t65
|
|
13907
|
+
t65,
|
|
13908
|
+
t68
|
|
13456
13909
|
]
|
|
13457
|
-
}), $[
|
|
13910
|
+
}), $[200] = panelProps, $[201] = t62, $[202] = t65, $[203] = t68, $[204] = t69) : t69 = $[204], t69;
|
|
13458
13911
|
}
|
|
13459
|
-
let minSize = MIN_PANE_SIZE[layout], containerExtent = layout === "stacked" ? splitContainerSize?.height : splitContainerSize?.width, defaultSplitSize = Math.max(minSize, Math.floor((containerExtent || 0) * DEFAULT_REQUEST_SHARE[layout])),
|
|
13460
|
-
$[
|
|
13461
|
-
let
|
|
13462
|
-
$[
|
|
13912
|
+
let minSize = MIN_PANE_SIZE[layout], containerExtent = layout === "stacked" ? splitContainerSize?.height : splitContainerSize?.width, defaultSplitSize = Math.max(minSize, Math.floor((containerExtent || 0) * DEFAULT_REQUEST_SHARE[layout])), t54;
|
|
13913
|
+
$[205] === t ? t54 = $[206] : (t54 = t("vista.split.request-response"), $[205] = t, $[206] = t54);
|
|
13914
|
+
let t55, t56;
|
|
13915
|
+
$[207] === layout ? (t55 = $[208], t56 = $[209]) : (t55 = (size) => setSplitSizes((sizes) => ({
|
|
13463
13916
|
...sizes,
|
|
13464
13917
|
[layout]: size
|
|
13465
|
-
})),
|
|
13918
|
+
})), t56 = () => setSplitSizes((sizes_0) => ({
|
|
13466
13919
|
...sizes_0,
|
|
13467
13920
|
[layout]: void 0
|
|
13468
|
-
})), $[
|
|
13469
|
-
let
|
|
13470
|
-
$[
|
|
13471
|
-
className:
|
|
13921
|
+
})), $[207] = layout, $[208] = t55, $[209] = t56);
|
|
13922
|
+
let t57 = splitSizes[layout] ?? defaultSplitSize, t58 = layout === "stacked" ? "horizontal" : "vertical", t59;
|
|
13923
|
+
$[210] === requestPanel ? t59 = $[211] : (t59 = /* @__PURE__ */ jsx(Box, {
|
|
13924
|
+
className: _key12$1,
|
|
13472
13925
|
children: requestPanel
|
|
13473
|
-
}), $[
|
|
13474
|
-
let
|
|
13475
|
-
$[
|
|
13476
|
-
className:
|
|
13926
|
+
}), $[210] = requestPanel, $[211] = t59);
|
|
13927
|
+
let t60;
|
|
13928
|
+
$[212] === responsePanel ? t60 = $[213] : (t60 = /* @__PURE__ */ jsx(Box, {
|
|
13929
|
+
className: _key12$1,
|
|
13477
13930
|
children: responsePanel
|
|
13478
|
-
}), $[
|
|
13479
|
-
let
|
|
13480
|
-
$[
|
|
13481
|
-
label:
|
|
13931
|
+
}), $[212] = responsePanel, $[213] = t60);
|
|
13932
|
+
let t61;
|
|
13933
|
+
$[214] !== layout || $[215] !== minSize || $[216] !== t54 || $[217] !== t55 || $[218] !== t56 || $[219] !== t57 || $[220] !== t58 || $[221] !== t59 || $[222] !== t60 ? (t61 = /* @__PURE__ */ jsxs(ResizableSplit, {
|
|
13934
|
+
label: t54,
|
|
13482
13935
|
minSecondarySize: minSize,
|
|
13483
13936
|
minSize,
|
|
13484
|
-
onChange:
|
|
13485
|
-
onReset:
|
|
13486
|
-
size:
|
|
13487
|
-
split:
|
|
13937
|
+
onChange: t55,
|
|
13938
|
+
onReset: t56,
|
|
13939
|
+
size: t57,
|
|
13940
|
+
split: t58,
|
|
13488
13941
|
testId: "vista-split",
|
|
13489
|
-
children: [
|
|
13490
|
-
}, layout), $[
|
|
13491
|
-
let
|
|
13492
|
-
return $[
|
|
13942
|
+
children: [t59, t60]
|
|
13943
|
+
}, layout), $[214] = layout, $[215] = minSize, $[216] = t54, $[217] = t55, $[218] = t56, $[219] = t57, $[220] = t58, $[221] = t59, $[222] = t60, $[223] = t61) : t61 = $[223];
|
|
13944
|
+
let t62;
|
|
13945
|
+
return $[224] !== panelProps || $[225] !== t61 ? (t62 = /* @__PURE__ */ jsx(Box, {
|
|
13493
13946
|
...panelProps,
|
|
13494
|
-
className:
|
|
13947
|
+
className: _key42,
|
|
13495
13948
|
ref: setSplitContainer,
|
|
13496
|
-
children:
|
|
13497
|
-
}), $[
|
|
13949
|
+
children: t61
|
|
13950
|
+
}), $[224] = panelProps, $[225] = t61, $[226] = t62) : t62 = $[226], t62;
|
|
13498
13951
|
}
|
|
13499
|
-
function
|
|
13500
|
-
function
|
|
13952
|
+
function _temp5() {}
|
|
13953
|
+
function _temp4(resolve) {
|
|
13501
13954
|
return requestAnimationFrame(resolve);
|
|
13502
13955
|
}
|
|
13503
|
-
function
|
|
13956
|
+
function _temp3(snapshot_2) {
|
|
13504
13957
|
return selectOpenDrawer(snapshot_2) !== null;
|
|
13505
13958
|
}
|
|
13959
|
+
function _temp2$1(param) {
|
|
13960
|
+
return param.name;
|
|
13961
|
+
}
|
|
13506
13962
|
function _temp$1(snapshot_1) {
|
|
13507
13963
|
return isPanelExpanded(snapshot_1, "params");
|
|
13508
13964
|
}
|
|
@@ -13572,7 +14028,9 @@ function VistaDialogs() {
|
|
|
13572
14028
|
* shared, and opens the request a URL names when it is not what the tool wrote there itself (a
|
|
13573
14029
|
* link opened from elsewhere, a bookmark). The value is the query URL the Response panel shows,
|
|
13574
14030
|
* read the way a pasted one is: a tab already showing the request is selected, otherwise one
|
|
13575
|
-
* opens for it.
|
|
14031
|
+
* opens for it and runs the query right away, as a pasted URL does. A tab that already shows the
|
|
14032
|
+
* request is only selected (after a reload, the address names the active tab's own request), so
|
|
14033
|
+
* its last result stays as it was.
|
|
13576
14034
|
*/
|
|
13577
14035
|
function VistaUrlState(t0) {
|
|
13578
14036
|
let $ = c(21), { tab } = t0, { t } = useTranslation(visionLocaleNamespace), toast = useToast(), router = useRouter(), actorRef = useVistaActor(), datasets = useVistaSelector(selectDatasets), environment = useRequestEnvironment(), { request } = useQueryRequestBuilder(tab), activeUrl = request?.url ?? null, t1;
|
|
@@ -13587,7 +14045,8 @@ function VistaUrlState(t0) {
|
|
|
13587
14045
|
id: existing.id
|
|
13588
14046
|
}) : (actorRef.send({
|
|
13589
14047
|
type: "tab.add",
|
|
13590
|
-
tab: parsedQueryToTabInit(parsed)
|
|
14048
|
+
tab: parsedQueryToTabInit(parsed),
|
|
14049
|
+
fetch: "link"
|
|
13591
14050
|
}), parsed.isKnownDataset || toast.push({
|
|
13592
14051
|
closable: !0,
|
|
13593
14052
|
status: "warning",
|
|
@@ -13787,7 +14246,7 @@ function VistaWebMcp(t0) {
|
|
|
13787
14246
|
title,
|
|
13788
14247
|
options: tab.options
|
|
13789
14248
|
},
|
|
13790
|
-
fetch: input.run
|
|
14249
|
+
fetch: input.run === !1 ? void 0 : "generated"
|
|
13791
14250
|
}), text(`Opened the query in a new tab${input.run === !1 ? "" : " and ran it"}.`);
|
|
13792
14251
|
}
|
|
13793
14252
|
case "vision_check_query": {
|
|
@@ -13936,7 +14395,7 @@ function VistaGui(props) {
|
|
|
13936
14395
|
}), $[23] = t11, $[24] = t9, $[25] = t12) : t12 = $[25];
|
|
13937
14396
|
let t13;
|
|
13938
14397
|
$[26] !== layout || $[27] !== t12 ? (t13 = /* @__PURE__ */ jsxs(Flex, {
|
|
13939
|
-
className:
|
|
14398
|
+
className: "cTWfhW_root",
|
|
13940
14399
|
"data-testid": "vista-root",
|
|
13941
14400
|
"data-vista-layout": layout,
|
|
13942
14401
|
height: "100%",
|
|
@@ -13986,4 +14445,4 @@ function VistaGui(props) {
|
|
|
13986
14445
|
}
|
|
13987
14446
|
export { VistaGui };
|
|
13988
14447
|
|
|
13989
|
-
//# sourceMappingURL=VistaGui-
|
|
14448
|
+
//# sourceMappingURL=VistaGui-D3NHSIsK.js.map
|