@shuffleio/shuffle-mcps 0.0.20 → 0.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +189 -143
- package/dist/index.mjs +383 -339
- package/dist/{shuffle-mcp-CN72CJJQ.css → shuffle-mcp-ER33P3W2.css} +62 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -448,7 +448,7 @@ __export(index_exports, {
|
|
|
448
448
|
useSyncHostBaseUrl: () => useSyncHostBaseUrl
|
|
449
449
|
});
|
|
450
450
|
module.exports = __toCommonJS(index_exports);
|
|
451
|
-
var import_shuffle_mcp2 = require("./shuffle-mcp-
|
|
451
|
+
var import_shuffle_mcp2 = require("./shuffle-mcp-ER33P3W2.css");
|
|
452
452
|
var import_react20 = __toESM(require("react"));
|
|
453
453
|
|
|
454
454
|
// ShuffleMcpThemeProvider.tsx
|
|
@@ -459,15 +459,34 @@ var readHtmlDarkClass = () => {
|
|
|
459
459
|
if (typeof document === "undefined") return false;
|
|
460
460
|
return document.documentElement.classList.contains("dark");
|
|
461
461
|
};
|
|
462
|
-
var
|
|
462
|
+
var readAncestorDark = (anchor) => {
|
|
463
|
+
if (!anchor || typeof document === "undefined") return null;
|
|
464
|
+
const start = anchor.parentElement;
|
|
465
|
+
if (!start) return null;
|
|
466
|
+
const scoped = start.closest('[data-shuffle-mode="dark"], [data-shuffle-mode="light"]');
|
|
467
|
+
if (scoped) return scoped.getAttribute("data-shuffle-mode") === "dark";
|
|
468
|
+
const darkAncestor = start.closest(".dark");
|
|
469
|
+
if (darkAncestor) return true;
|
|
470
|
+
return null;
|
|
471
|
+
};
|
|
472
|
+
var useAutoDarkClass = (enabled, anchorRef) => {
|
|
463
473
|
const [isDark, setIsDark] = import_react.default.useState(() => enabled ? readHtmlDarkClass() : false);
|
|
464
|
-
import_react.default.
|
|
474
|
+
import_react.default.useLayoutEffect(() => {
|
|
465
475
|
if (!enabled || typeof document === "undefined") return;
|
|
466
|
-
|
|
467
|
-
|
|
476
|
+
const recompute = () => {
|
|
477
|
+
const ancestor = readAncestorDark(anchorRef.current);
|
|
478
|
+
setIsDark(ancestor !== null ? ancestor : readHtmlDarkClass());
|
|
479
|
+
};
|
|
480
|
+
recompute();
|
|
481
|
+
const observer = new MutationObserver(recompute);
|
|
468
482
|
observer.observe(document.documentElement, { attributes: true, attributeFilter: ["class"] });
|
|
483
|
+
let node = anchorRef.current?.parentElement ?? null;
|
|
484
|
+
while (node) {
|
|
485
|
+
observer.observe(node, { attributes: true, attributeFilter: ["class", "data-shuffle-mode"] });
|
|
486
|
+
node = node.parentElement;
|
|
487
|
+
}
|
|
469
488
|
return () => observer.disconnect();
|
|
470
|
-
}, [enabled]);
|
|
489
|
+
}, [enabled, anchorRef]);
|
|
471
490
|
return isDark;
|
|
472
491
|
};
|
|
473
492
|
var ShuffleMcpThemeContext = import_react.default.createContext(null);
|
|
@@ -554,10 +573,12 @@ var ShuffleMcpThemeProvider = ({
|
|
|
554
573
|
}) => {
|
|
555
574
|
const parent = (0, import_material.useTheme)();
|
|
556
575
|
const parentCtx = useShuffleMcpTheme();
|
|
557
|
-
const
|
|
558
|
-
const
|
|
576
|
+
const anchorRef = import_react.default.useRef(null);
|
|
577
|
+
const autoIsDark = useAutoDarkClass(mode === "auto", anchorRef);
|
|
578
|
+
const effectiveDark = mode === "auto" ? autoIsDark : mode === "dark";
|
|
559
579
|
const sameAsParent = parentCtx !== null && parentCtx.isDark === effectiveDark;
|
|
560
580
|
const scopeClassName = effectiveDark ? "shuffle-mcp-scope dark" : "shuffle-mcp-scope";
|
|
581
|
+
const resolvedModeAttr = effectiveDark ? "dark" : "light";
|
|
561
582
|
const merged = import_react.default.useMemo(
|
|
562
583
|
() => (0, import_material.createTheme)({
|
|
563
584
|
...parent,
|
|
@@ -577,18 +598,24 @@ var ShuffleMcpThemeProvider = ({
|
|
|
577
598
|
[mode, effectiveDark, scopeClassName]
|
|
578
599
|
);
|
|
579
600
|
if (sameAsParent) {
|
|
580
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.
|
|
601
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ShuffleMcpThemeContext.Provider, { value: ctxValue, children: [
|
|
602
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { ref: anchorRef, style: { display: "none" }, "aria-hidden": true }),
|
|
603
|
+
children
|
|
604
|
+
] });
|
|
581
605
|
}
|
|
582
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ShuffleMcpThemeContext.Provider, { value: ctxValue, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.ThemeProvider, { theme: merged, children: /* @__PURE__ */ (0, import_jsx_runtime.
|
|
606
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ShuffleMcpThemeContext.Provider, { value: ctxValue, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.ThemeProvider, { theme: merged, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: scopeClassName, "data-shuffle-mode": resolvedModeAttr, "data-shuffle-mcp-root": true, children: [
|
|
607
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { ref: anchorRef, style: { display: "none" }, "aria-hidden": true }),
|
|
608
|
+
children
|
|
609
|
+
] }) }) });
|
|
583
610
|
};
|
|
584
611
|
|
|
585
|
-
// ShuffleMCP.tsx
|
|
612
|
+
// views/ShuffleMCP.tsx
|
|
586
613
|
var import_react12 = __toESM(require("react"));
|
|
587
614
|
var import_algoliasearch = require("algoliasearch");
|
|
588
615
|
var import_material10 = require("@mui/material");
|
|
589
616
|
|
|
590
|
-
// AppDetailDrawer.tsx
|
|
591
|
-
var
|
|
617
|
+
// views/AppDetailDrawer.tsx
|
|
618
|
+
var import_react11 = require("react");
|
|
592
619
|
|
|
593
620
|
// toast.ts
|
|
594
621
|
var defaultImpl = (arg, opts) => {
|
|
@@ -612,7 +639,7 @@ base.info = (msg, opts) => _impl({ title: msg, description: opts?.description, v
|
|
|
612
639
|
base.warning = (msg, opts) => _impl({ title: msg, description: opts?.description, variant: "warning" }, opts);
|
|
613
640
|
var toast = base;
|
|
614
641
|
|
|
615
|
-
// AppDetailDrawer.tsx
|
|
642
|
+
// views/AppDetailDrawer.tsx
|
|
616
643
|
var import_lucide_react6 = require("lucide-react");
|
|
617
644
|
|
|
618
645
|
// datastore.ts
|
|
@@ -1049,7 +1076,7 @@ var DATASTORE_CATEGORIES = {
|
|
|
1049
1076
|
LEGACY_CASES: "shuffle-security_cases"
|
|
1050
1077
|
};
|
|
1051
1078
|
|
|
1052
|
-
// AppDetailDrawer.tsx
|
|
1079
|
+
// views/AppDetailDrawer.tsx
|
|
1053
1080
|
var import_material9 = require("@mui/material");
|
|
1054
1081
|
var import_react_markdown3 = __toESM(require("react-markdown"));
|
|
1055
1082
|
var import_remark_gfm3 = __toESM(require("remark-gfm"));
|
|
@@ -1059,7 +1086,7 @@ var import_framer_motion6 = require("framer-motion");
|
|
|
1059
1086
|
var import_react4 = require("react");
|
|
1060
1087
|
init_api();
|
|
1061
1088
|
|
|
1062
|
-
// IntegrationStatus.tsx
|
|
1089
|
+
// components/IntegrationStatus.tsx
|
|
1063
1090
|
var import_react3 = require("react");
|
|
1064
1091
|
var import_lucide_react = require("lucide-react");
|
|
1065
1092
|
var import_material2 = require("@mui/material");
|
|
@@ -1115,7 +1142,7 @@ var fetchAuthenticatedApps = (crossOrgId) => {
|
|
|
1115
1142
|
return promise;
|
|
1116
1143
|
};
|
|
1117
1144
|
|
|
1118
|
-
// IntegrationStatus.tsx
|
|
1145
|
+
// components/IntegrationStatus.tsx
|
|
1119
1146
|
init_appsCache();
|
|
1120
1147
|
|
|
1121
1148
|
// auth-utils.ts
|
|
@@ -1338,7 +1365,7 @@ function extractValidatedIngestionApps(authApiResponse, workflowAppNames) {
|
|
|
1338
1365
|
return apps;
|
|
1339
1366
|
}
|
|
1340
1367
|
|
|
1341
|
-
// IntegrationStatus.tsx
|
|
1368
|
+
// components/IntegrationStatus.tsx
|
|
1342
1369
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
1343
1370
|
var ONBOARDING_CONFIG_CATEGORY = "shuffle-security_onboarding";
|
|
1344
1371
|
var SELECTED_TOOLS_KEY = "selected_tools";
|
|
@@ -1988,11 +2015,11 @@ function useAppAuth() {
|
|
|
1988
2015
|
};
|
|
1989
2016
|
}
|
|
1990
2017
|
|
|
1991
|
-
// AppDetailDrawer.tsx
|
|
2018
|
+
// views/AppDetailDrawer.tsx
|
|
1992
2019
|
init_api();
|
|
1993
2020
|
init_appsCache();
|
|
1994
2021
|
|
|
1995
|
-
// AppTitleHeader.tsx
|
|
2022
|
+
// components/AppTitleHeader.tsx
|
|
1996
2023
|
var import_material3 = require("@mui/material");
|
|
1997
2024
|
var import_lucide_react2 = require("lucide-react");
|
|
1998
2025
|
var import_framer_motion = require("framer-motion");
|
|
@@ -2120,17 +2147,17 @@ function AppTitleHeader({
|
|
|
2120
2147
|
) });
|
|
2121
2148
|
}
|
|
2122
2149
|
|
|
2123
|
-
// AppAuthSection.tsx
|
|
2150
|
+
// components/AppAuthSection.tsx
|
|
2124
2151
|
var import_material5 = require("@mui/material");
|
|
2125
2152
|
var import_framer_motion3 = require("framer-motion");
|
|
2126
2153
|
|
|
2127
|
-
// AppAuthConfig.tsx
|
|
2128
|
-
var
|
|
2154
|
+
// components/AppAuthConfig.tsx
|
|
2155
|
+
var import_react7 = require("react");
|
|
2129
2156
|
var import_lucide_react3 = require("lucide-react");
|
|
2130
2157
|
var import_material4 = require("@mui/material");
|
|
2131
2158
|
var import_framer_motion2 = require("framer-motion");
|
|
2132
2159
|
|
|
2133
|
-
// AppFallbackIcon.tsx
|
|
2160
|
+
// components/AppFallbackIcon.tsx
|
|
2134
2161
|
var import_react5 = require("react");
|
|
2135
2162
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
2136
2163
|
var norm = (s) => s.toLowerCase().replace(/[\s_\-]+/g, "_");
|
|
@@ -2276,8 +2303,20 @@ var AppFallbackIcon = ({
|
|
|
2276
2303
|
);
|
|
2277
2304
|
};
|
|
2278
2305
|
|
|
2279
|
-
// AppAuthConfig.tsx
|
|
2306
|
+
// components/AppAuthConfig.tsx
|
|
2307
|
+
init_api();
|
|
2308
|
+
|
|
2309
|
+
// useSyncHostBaseUrl.ts
|
|
2310
|
+
var import_react6 = require("react");
|
|
2280
2311
|
init_api();
|
|
2312
|
+
var useSyncHostBaseUrl = (globalUrl) => {
|
|
2313
|
+
(0, import_react6.useEffect)(() => {
|
|
2314
|
+
if (!globalUrl) return;
|
|
2315
|
+
setHostBaseUrl(globalUrl);
|
|
2316
|
+
}, [globalUrl]);
|
|
2317
|
+
};
|
|
2318
|
+
|
|
2319
|
+
// components/AppAuthConfig.tsx
|
|
2281
2320
|
var import_react_markdown = __toESM(require("react-markdown"));
|
|
2282
2321
|
var import_remark_gfm = __toESM(require("remark-gfm"));
|
|
2283
2322
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
@@ -2333,8 +2372,14 @@ var AppAuthCard = ({
|
|
|
2333
2372
|
hideStatusChips,
|
|
2334
2373
|
hideDocsLink,
|
|
2335
2374
|
hideUrlFields,
|
|
2336
|
-
borderless
|
|
2375
|
+
borderless,
|
|
2376
|
+
globalUrl,
|
|
2377
|
+
userdata,
|
|
2378
|
+
isLoaded,
|
|
2379
|
+
isLoggedIn,
|
|
2380
|
+
serverside
|
|
2337
2381
|
}) => {
|
|
2382
|
+
useSyncHostBaseUrl(globalUrl);
|
|
2338
2383
|
const getBestDefaultAuth = (entries) => {
|
|
2339
2384
|
if (entries.length === 0) return ADD_NEW_AUTH;
|
|
2340
2385
|
const validatedEntry = entries.find((e) => e.validation?.valid === true);
|
|
@@ -2344,15 +2389,15 @@ var AppAuthCard = ({
|
|
|
2344
2389
|
const lastEntry = entries[entries.length - 1];
|
|
2345
2390
|
return lastEntry.id || lastEntry.label || "0";
|
|
2346
2391
|
};
|
|
2347
|
-
const [selectedAuthId, setSelectedAuthId] = (0,
|
|
2392
|
+
const [selectedAuthId, setSelectedAuthId] = (0, import_react7.useState)(() => {
|
|
2348
2393
|
return getBestDefaultAuth(apiAuthEntries);
|
|
2349
2394
|
});
|
|
2350
|
-
const [userHasSelected, setUserHasSelected] = (0,
|
|
2351
|
-
const [testStatusPerAuth, setTestStatusPerAuth] = (0,
|
|
2352
|
-
const [testMessagesPerAuth, setTestMessagesPerAuth] = (0,
|
|
2353
|
-
const [testingAuthId, setTestingAuthId] = (0,
|
|
2354
|
-
const [deleteConfirmAuthId, setDeleteConfirmAuthId] = (0,
|
|
2355
|
-
const [deleting, setDeleting] = (0,
|
|
2395
|
+
const [userHasSelected, setUserHasSelected] = (0, import_react7.useState)(false);
|
|
2396
|
+
const [testStatusPerAuth, setTestStatusPerAuth] = (0, import_react7.useState)({});
|
|
2397
|
+
const [testMessagesPerAuth, setTestMessagesPerAuth] = (0, import_react7.useState)({});
|
|
2398
|
+
const [testingAuthId, setTestingAuthId] = (0, import_react7.useState)(null);
|
|
2399
|
+
const [deleteConfirmAuthId, setDeleteConfirmAuthId] = (0, import_react7.useState)(null);
|
|
2400
|
+
const [deleting, setDeleting] = (0, import_react7.useState)(false);
|
|
2356
2401
|
const handleDeleteAuth = async (authId) => {
|
|
2357
2402
|
setDeleting(true);
|
|
2358
2403
|
try {
|
|
@@ -2376,10 +2421,10 @@ var AppAuthCard = ({
|
|
|
2376
2421
|
}
|
|
2377
2422
|
};
|
|
2378
2423
|
const localTestStatus = testStatusPerAuth[selectedAuthId] || "untested";
|
|
2379
|
-
const [wasPreValidatedPerAuth, setWasPreValidatedPerAuth] = (0,
|
|
2380
|
-
const prevEntryCountRef = (0,
|
|
2381
|
-
const autoTestFiredRef = (0,
|
|
2382
|
-
(0,
|
|
2424
|
+
const [wasPreValidatedPerAuth, setWasPreValidatedPerAuth] = (0, import_react7.useState)({});
|
|
2425
|
+
const prevEntryCountRef = (0, import_react7.useRef)(apiAuthEntries.length);
|
|
2426
|
+
const autoTestFiredRef = (0, import_react7.useRef)(null);
|
|
2427
|
+
(0, import_react7.useEffect)(() => {
|
|
2383
2428
|
if (apiAuthEntries.length > 0) {
|
|
2384
2429
|
if (apiAuthEntries.length > prevEntryCountRef.current) {
|
|
2385
2430
|
const sorted = [...apiAuthEntries].sort((a, b) => {
|
|
@@ -2408,7 +2453,7 @@ var AppAuthCard = ({
|
|
|
2408
2453
|
}
|
|
2409
2454
|
prevEntryCountRef.current = apiAuthEntries.length;
|
|
2410
2455
|
}, [apiAuthEntries, userHasSelected]);
|
|
2411
|
-
(0,
|
|
2456
|
+
(0, import_react7.useEffect)(() => {
|
|
2412
2457
|
if (wasPreValidatedPerAuth[selectedAuthId] === void 0) {
|
|
2413
2458
|
const currentAuth = apiAuthEntries.find(
|
|
2414
2459
|
(auth2) => (auth2.id || auth2.label || "") === selectedAuthId
|
|
@@ -2430,7 +2475,7 @@ var AppAuthCard = ({
|
|
|
2430
2475
|
};
|
|
2431
2476
|
const localTestMessages = testMessagesPerAuth[selectedAuthId] || {};
|
|
2432
2477
|
const wasPreValidated = wasPreValidatedPerAuth[selectedAuthId] || false;
|
|
2433
|
-
(0,
|
|
2478
|
+
(0, import_react7.useEffect)(() => {
|
|
2434
2479
|
if (!testingAuthId) return;
|
|
2435
2480
|
if (authState.status === "testing") {
|
|
2436
2481
|
setTestStatusForAuth(testingAuthId, "testing");
|
|
@@ -2484,19 +2529,19 @@ var AppAuthCard = ({
|
|
|
2484
2529
|
minute: "2-digit"
|
|
2485
2530
|
});
|
|
2486
2531
|
};
|
|
2487
|
-
const [localCredentials, setLocalCredentials] = (0,
|
|
2488
|
-
const [fieldErrors, setFieldErrors] = (0,
|
|
2489
|
-
const [loading, setLoading] = (0,
|
|
2490
|
-
const [saving, setSaving] = (0,
|
|
2491
|
-
const [saveSuccess, setSaveSuccess] = (0,
|
|
2492
|
-
const [error, setError] = (0,
|
|
2493
|
-
const [appConfig, setAppConfig] = (0,
|
|
2494
|
-
(0,
|
|
2532
|
+
const [localCredentials, setLocalCredentials] = (0, import_react7.useState)(authState.credentials || {});
|
|
2533
|
+
const [fieldErrors, setFieldErrors] = (0, import_react7.useState)({});
|
|
2534
|
+
const [loading, setLoading] = (0, import_react7.useState)(false);
|
|
2535
|
+
const [saving, setSaving] = (0, import_react7.useState)(false);
|
|
2536
|
+
const [saveSuccess, setSaveSuccess] = (0, import_react7.useState)(null);
|
|
2537
|
+
const [error, setError] = (0, import_react7.useState)(null);
|
|
2538
|
+
const [appConfig, setAppConfig] = (0, import_react7.useState)(null);
|
|
2539
|
+
(0, import_react7.useEffect)(() => {
|
|
2495
2540
|
if (isExpanded && onRefreshAuth) {
|
|
2496
2541
|
onRefreshAuth();
|
|
2497
2542
|
}
|
|
2498
2543
|
}, [isExpanded]);
|
|
2499
|
-
(0,
|
|
2544
|
+
(0, import_react7.useEffect)(() => {
|
|
2500
2545
|
const fetchAppConfig = async () => {
|
|
2501
2546
|
if (!isExpanded || appConfig) return;
|
|
2502
2547
|
setLoading(true);
|
|
@@ -2529,13 +2574,13 @@ var AppAuthCard = ({
|
|
|
2529
2574
|
}, [isExpanded, app.objectID, appConfig]);
|
|
2530
2575
|
const auth = appConfig?.authentication;
|
|
2531
2576
|
const isOAuth2 = isOAuth2Type(auth?.type);
|
|
2532
|
-
const [selectedScopes, setSelectedScopes] = (0,
|
|
2533
|
-
(0,
|
|
2577
|
+
const [selectedScopes, setSelectedScopes] = (0, import_react7.useState)([]);
|
|
2578
|
+
(0, import_react7.useEffect)(() => {
|
|
2534
2579
|
if (auth?.scope) {
|
|
2535
2580
|
setSelectedScopes(auth.scope);
|
|
2536
2581
|
}
|
|
2537
2582
|
}, [auth?.scope]);
|
|
2538
|
-
(0,
|
|
2583
|
+
(0, import_react7.useEffect)(() => {
|
|
2539
2584
|
if (disableUrlPrefill) return;
|
|
2540
2585
|
if (!auth?.parameters || auth.parameters.length === 0) return;
|
|
2541
2586
|
const urlDefaults = {};
|
|
@@ -2552,7 +2597,7 @@ var AppAuthCard = ({
|
|
|
2552
2597
|
setLocalCredentials((prev) => ({ ...urlDefaults, ...prev }));
|
|
2553
2598
|
}
|
|
2554
2599
|
}, [auth?.parameters, disableUrlPrefill]);
|
|
2555
|
-
(0,
|
|
2600
|
+
(0, import_react7.useEffect)(() => {
|
|
2556
2601
|
const incoming = authState.credentials || {};
|
|
2557
2602
|
setLocalCredentials((prev) => {
|
|
2558
2603
|
let changed = false;
|
|
@@ -2568,12 +2613,12 @@ var AppAuthCard = ({
|
|
|
2568
2613
|
return changed ? next : prev;
|
|
2569
2614
|
});
|
|
2570
2615
|
}, [authState.credentials]);
|
|
2571
|
-
const [docsOpen, setDocsOpen] = (0,
|
|
2572
|
-
const [docsContent, setDocsContent] = (0,
|
|
2573
|
-
const [docsLoading, setDocsLoading] = (0,
|
|
2574
|
-
const [editingLabel, setEditingLabel] = (0,
|
|
2575
|
-
const [editLabelValue, setEditLabelValue] = (0,
|
|
2576
|
-
const [savingLabel, setSavingLabel] = (0,
|
|
2616
|
+
const [docsOpen, setDocsOpen] = (0, import_react7.useState)(false);
|
|
2617
|
+
const [docsContent, setDocsContent] = (0, import_react7.useState)("");
|
|
2618
|
+
const [docsLoading, setDocsLoading] = (0, import_react7.useState)(false);
|
|
2619
|
+
const [editingLabel, setEditingLabel] = (0, import_react7.useState)(false);
|
|
2620
|
+
const [editLabelValue, setEditLabelValue] = (0, import_react7.useState)("");
|
|
2621
|
+
const [savingLabel, setSavingLabel] = (0, import_react7.useState)(false);
|
|
2577
2622
|
const handleRenameAuth = async () => {
|
|
2578
2623
|
if (!selectedAuth || !editLabelValue.trim()) return;
|
|
2579
2624
|
setSavingLabel(true);
|
|
@@ -2969,8 +3014,8 @@ var AppAuthCard = ({
|
|
|
2969
3014
|
{
|
|
2970
3015
|
sx: {
|
|
2971
3016
|
background: "transparent",
|
|
2972
|
-
border: borderless ? "none" : "
|
|
2973
|
-
borderColor: borderless ? "transparent" : isTested ? "hsl(var(--severity-low) / 0.
|
|
3017
|
+
border: borderless ? "none" : "2px solid",
|
|
3018
|
+
borderColor: borderless ? "transparent" : isTested ? "hsl(var(--severity-low) / 0.9)" : authState.status === "error" ? "hsl(var(--destructive) / 0.7)" : "hsl(var(--border))",
|
|
2974
3019
|
borderRadius: borderless ? 0 : 3,
|
|
2975
3020
|
boxShadow: "none",
|
|
2976
3021
|
overflow: "hidden",
|
|
@@ -4012,8 +4057,14 @@ var AppAuthConfig = ({
|
|
|
4012
4057
|
onTestConnection,
|
|
4013
4058
|
onSaveAuth,
|
|
4014
4059
|
onSelectAuth,
|
|
4015
|
-
onRefreshAuth
|
|
4060
|
+
onRefreshAuth,
|
|
4061
|
+
globalUrl,
|
|
4062
|
+
userdata,
|
|
4063
|
+
isLoaded,
|
|
4064
|
+
isLoggedIn,
|
|
4065
|
+
serverside
|
|
4016
4066
|
}) => {
|
|
4067
|
+
useSyncHostBaseUrl(globalUrl);
|
|
4017
4068
|
const getApiAuthEntries = (app) => {
|
|
4018
4069
|
const normalize = (n) => n.toLowerCase().replace(/[\s_\-]+/g, "_");
|
|
4019
4070
|
return authenticatedApps.filter((auth) => normalize(auth.app?.name || "") === normalize(app.name)).map((auth) => ({
|
|
@@ -4032,8 +4083,8 @@ var AppAuthConfig = ({
|
|
|
4032
4083
|
const entries = getApiAuthEntries(app);
|
|
4033
4084
|
return entries.some((e) => e.validation?.valid === true);
|
|
4034
4085
|
};
|
|
4035
|
-
const initialSortRef = (0,
|
|
4036
|
-
const authAppsLoadedRef = (0,
|
|
4086
|
+
const initialSortRef = (0, import_react7.useRef)(null);
|
|
4087
|
+
const authAppsLoadedRef = (0, import_react7.useRef)(false);
|
|
4037
4088
|
if (!authAppsLoadedRef.current && authenticatedApps.length > 0) {
|
|
4038
4089
|
authAppsLoadedRef.current = true;
|
|
4039
4090
|
initialSortRef.current = null;
|
|
@@ -4056,7 +4107,7 @@ var AppAuthConfig = ({
|
|
|
4056
4107
|
const firstNotConfigured = sortedApps.find((app) => !isAppConfigured(app));
|
|
4057
4108
|
const firstNotValidated = sortedApps.find((app) => !isAppValidated(app));
|
|
4058
4109
|
const defaultExpanded = firstNotConfigured?.objectID || firstNotValidated?.objectID || false;
|
|
4059
|
-
const [expanded, setExpanded] = (0,
|
|
4110
|
+
const [expanded, setExpanded] = (0, import_react7.useState)(defaultExpanded);
|
|
4060
4111
|
if (apps.length === 0) {
|
|
4061
4112
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
4062
4113
|
import_material4.Alert,
|
|
@@ -4116,6 +4167,11 @@ var AppAuthConfig = ({
|
|
|
4116
4167
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
4117
4168
|
AppAuthCard,
|
|
4118
4169
|
{
|
|
4170
|
+
globalUrl,
|
|
4171
|
+
userdata,
|
|
4172
|
+
isLoaded,
|
|
4173
|
+
isLoggedIn,
|
|
4174
|
+
serverside,
|
|
4119
4175
|
app,
|
|
4120
4176
|
authState,
|
|
4121
4177
|
isExpanded,
|
|
@@ -4133,7 +4189,7 @@ var AppAuthConfig = ({
|
|
|
4133
4189
|
] });
|
|
4134
4190
|
};
|
|
4135
4191
|
|
|
4136
|
-
// AppAuthSection.tsx
|
|
4192
|
+
// components/AppAuthSection.tsx
|
|
4137
4193
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
4138
4194
|
function AppAuthSection({
|
|
4139
4195
|
displayName,
|
|
@@ -4170,19 +4226,19 @@ function AppAuthSection({
|
|
|
4170
4226
|
] }) });
|
|
4171
4227
|
}
|
|
4172
4228
|
|
|
4173
|
-
// TryMcpSection.tsx
|
|
4229
|
+
// views/TryMcpSection.tsx
|
|
4174
4230
|
var import_material7 = require("@mui/material");
|
|
4175
4231
|
var import_framer_motion5 = require("framer-motion");
|
|
4176
4232
|
|
|
4177
|
-
// AppMcpChat.tsx
|
|
4178
|
-
var
|
|
4233
|
+
// views/AppMcpChat.tsx
|
|
4234
|
+
var import_react8 = require("react");
|
|
4179
4235
|
var import_lucide_react4 = require("lucide-react");
|
|
4180
4236
|
var import_material6 = require("@mui/material");
|
|
4181
4237
|
|
|
4182
4238
|
// ../assets/singul-agent-icon.png
|
|
4183
4239
|
var singul_agent_icon_default = "data:image/png;base64,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";
|
|
4184
4240
|
|
|
4185
|
-
// AgentIcon.tsx
|
|
4241
|
+
// components/AgentIcon.tsx
|
|
4186
4242
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
4187
4243
|
var AgentIcon = ({ size = 16, className, style }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
4188
4244
|
"img",
|
|
@@ -4197,7 +4253,7 @@ var AgentIcon = ({ size = 16, className, style }) => /* @__PURE__ */ (0, import_
|
|
|
4197
4253
|
);
|
|
4198
4254
|
var AgentIcon_default = AgentIcon;
|
|
4199
4255
|
|
|
4200
|
-
// AppMcpChat.tsx
|
|
4256
|
+
// views/AppMcpChat.tsx
|
|
4201
4257
|
var import_framer_motion4 = require("framer-motion");
|
|
4202
4258
|
var import_react_markdown2 = __toESM(require("react-markdown"));
|
|
4203
4259
|
var import_remark_gfm2 = __toESM(require("remark-gfm"));
|
|
@@ -4331,14 +4387,14 @@ function getPrimaryCategory(appName, categories) {
|
|
|
4331
4387
|
return null;
|
|
4332
4388
|
}
|
|
4333
4389
|
var AppMcpChat = ({ appName, appIcon, appId, categories }) => {
|
|
4334
|
-
const [input, setInput] = (0,
|
|
4335
|
-
const [runState, setRunState] = (0,
|
|
4336
|
-
const [query, setQuery] = (0,
|
|
4337
|
-
const [result, setResult] = (0,
|
|
4338
|
-
const [isError, setIsError] = (0,
|
|
4339
|
-
const inputRef = (0,
|
|
4340
|
-
const suggestions = (0,
|
|
4341
|
-
const primaryCategory = (0,
|
|
4390
|
+
const [input, setInput] = (0, import_react8.useState)("");
|
|
4391
|
+
const [runState, setRunState] = (0, import_react8.useState)("idle");
|
|
4392
|
+
const [query, setQuery] = (0, import_react8.useState)("");
|
|
4393
|
+
const [result, setResult] = (0, import_react8.useState)("");
|
|
4394
|
+
const [isError, setIsError] = (0, import_react8.useState)(false);
|
|
4395
|
+
const inputRef = (0, import_react8.useRef)(null);
|
|
4396
|
+
const suggestions = (0, import_react8.useMemo)(() => getSuggestions(appName, categories), [appName, categories]);
|
|
4397
|
+
const primaryCategory = (0, import_react8.useMemo)(() => getPrimaryCategory(appName, categories), [appName, categories]);
|
|
4342
4398
|
const MIN_INPUT_LENGTH = 6;
|
|
4343
4399
|
const runAction = async () => {
|
|
4344
4400
|
const trimmed = input.trim();
|
|
@@ -4772,7 +4828,7 @@ ${JSON.stringify(data, null, 2)}
|
|
|
4772
4828
|
};
|
|
4773
4829
|
var AppMcpChat_default = AppMcpChat;
|
|
4774
4830
|
|
|
4775
|
-
// TryMcpSection.tsx
|
|
4831
|
+
// views/TryMcpSection.tsx
|
|
4776
4832
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
4777
4833
|
function TryMcpSection({ appName, appIcon, appId, categories }) {
|
|
4778
4834
|
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_framer_motion5.motion.div, { initial: { opacity: 0, y: 12 }, animate: { opacity: 1, y: 0 }, transition: { duration: 0.3, delay: 0.15 }, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_material7.Box, { sx: { mt: 5, mb: 3 }, children: [
|
|
@@ -4789,8 +4845,8 @@ function TryMcpSection({ appName, appIcon, appId, categories }) {
|
|
|
4789
4845
|
] }) });
|
|
4790
4846
|
}
|
|
4791
4847
|
|
|
4792
|
-
// SingulActionsPreview.tsx
|
|
4793
|
-
var
|
|
4848
|
+
// components/SingulActionsPreview.tsx
|
|
4849
|
+
var import_react9 = require("react");
|
|
4794
4850
|
var import_material8 = require("@mui/material");
|
|
4795
4851
|
var import_lucide_react5 = require("lucide-react");
|
|
4796
4852
|
init_api();
|
|
@@ -4798,7 +4854,7 @@ var import_react18_json_view = __toESM(require("react18-json-view"));
|
|
|
4798
4854
|
var import_style = require("react18-json-view/src/style.css");
|
|
4799
4855
|
var import_dark = require("react18-json-view/src/dark.css");
|
|
4800
4856
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
4801
|
-
var
|
|
4857
|
+
var import_react10 = require("react");
|
|
4802
4858
|
var deepParseJsonStrings = (obj, depth = 0) => {
|
|
4803
4859
|
if (depth > 5) return obj;
|
|
4804
4860
|
if (typeof obj === "string") {
|
|
@@ -5055,29 +5111,29 @@ var SingulActionsPreview = ({
|
|
|
5055
5111
|
activeOrgId,
|
|
5056
5112
|
onAuthenticate
|
|
5057
5113
|
}) => {
|
|
5058
|
-
const defaultCategory = (0,
|
|
5114
|
+
const defaultCategory = (0, import_react9.useMemo)(() => pickDefaultCategory(categories), [categories]);
|
|
5059
5115
|
const actions = ALL_ACTIONS;
|
|
5060
|
-
const sortedActions = (0,
|
|
5116
|
+
const sortedActions = (0, import_react9.useMemo)(() => {
|
|
5061
5117
|
const inCat = actions.filter((a) => a.category === defaultCategory);
|
|
5062
5118
|
const rest = actions.filter((a) => a.category !== defaultCategory);
|
|
5063
5119
|
return [...inCat, ...rest];
|
|
5064
5120
|
}, [actions, defaultCategory]);
|
|
5065
5121
|
const isDisabled = false;
|
|
5066
|
-
const [selected, setSelected] = (0,
|
|
5067
|
-
const [lang, setLang] = (0,
|
|
5068
|
-
const [snippet, setSnippet] = (0,
|
|
5069
|
-
const curlOpts = (0,
|
|
5122
|
+
const [selected, setSelected] = (0, import_react9.useState)(null);
|
|
5123
|
+
const [lang, setLang] = (0, import_react9.useState)("curl");
|
|
5124
|
+
const [snippet, setSnippet] = (0, import_react9.useState)("");
|
|
5125
|
+
const curlOpts = (0, import_react9.useMemo)(() => {
|
|
5070
5126
|
const apiKey = API_CONFIG.apiKey;
|
|
5071
5127
|
const trackedOrg = getTrackedOrgId();
|
|
5072
5128
|
const orgId = trackedOrg && activeOrgId && trackedOrg !== activeOrgId ? trackedOrg : null;
|
|
5073
5129
|
const baseUrl = API_CONFIG.baseUrl;
|
|
5074
5130
|
return { apiKey, orgId, baseUrl };
|
|
5075
5131
|
}, [activeOrgId]);
|
|
5076
|
-
const buildSnippet = (0,
|
|
5132
|
+
const buildSnippet = (0, import_react9.useCallback)(
|
|
5077
5133
|
(action, l) => l === "python" ? buildSingulPython(appName, action, curlOpts) : buildSingulCurl(appName, action, curlOpts),
|
|
5078
5134
|
[appName, curlOpts]
|
|
5079
5135
|
);
|
|
5080
|
-
(0,
|
|
5136
|
+
(0, import_react9.useEffect)(() => {
|
|
5081
5137
|
const initial = sortedActions[0] || null;
|
|
5082
5138
|
setSelected(initial);
|
|
5083
5139
|
setSnippet(buildSnippet(initial, lang));
|
|
@@ -5095,10 +5151,10 @@ var SingulActionsPreview = ({
|
|
|
5095
5151
|
toast.error("Copy failed");
|
|
5096
5152
|
}
|
|
5097
5153
|
};
|
|
5098
|
-
const [playLoading, setPlayLoading] = (0,
|
|
5099
|
-
const [playResult, setPlayResult] = (0,
|
|
5100
|
-
const responseRef = (0,
|
|
5101
|
-
const [copied, setCopied] = (0,
|
|
5154
|
+
const [playLoading, setPlayLoading] = (0, import_react9.useState)(false);
|
|
5155
|
+
const [playResult, setPlayResult] = (0, import_react9.useState)(null);
|
|
5156
|
+
const responseRef = (0, import_react9.useRef)(null);
|
|
5157
|
+
const [copied, setCopied] = (0, import_react9.useState)(false);
|
|
5102
5158
|
const scrollToResponse = () => {
|
|
5103
5159
|
requestAnimationFrame(() => {
|
|
5104
5160
|
responseRef.current?.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
@@ -5166,7 +5222,7 @@ var SingulActionsPreview = ({
|
|
|
5166
5222
|
scrollToResponse();
|
|
5167
5223
|
}
|
|
5168
5224
|
};
|
|
5169
|
-
const lineCount = (0,
|
|
5225
|
+
const lineCount = (0, import_react9.useMemo)(() => Math.max(snippet.split("\n").length, 1), [snippet]);
|
|
5170
5226
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_material8.Box, { sx: { mt: 5, mb: 3, opacity: isDisabled ? 0.55 : 1 }, children: [
|
|
5171
5227
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_material8.Box, { sx: { display: "flex", alignItems: "center", gap: 1, mb: 1.5 }, children: [
|
|
5172
5228
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_material8.Typography, { sx: { color: "hsl(var(--foreground))", fontWeight: 600, fontSize: "0.95rem" }, children: "Try individual actions" }),
|
|
@@ -5216,7 +5272,7 @@ var SingulActionsPreview = ({
|
|
|
5216
5272
|
groupBy: (o) => o.category,
|
|
5217
5273
|
getOptionLabel: (o) => o?.label ?? "",
|
|
5218
5274
|
isOptionEqualToValue: (a, b) => a?.name === b?.name && a?.category === b?.category,
|
|
5219
|
-
renderOption: (props, option) => /* @__PURE__ */ (0,
|
|
5275
|
+
renderOption: (props, option) => /* @__PURE__ */ (0, import_react10.createElement)("li", { ...props, key: `${option.category}-${option.name}` }, /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_material8.Box, { sx: { display: "flex", flexDirection: "column" }, children: [
|
|
5220
5276
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_material8.Typography, { sx: { fontSize: "0.78rem", color: "hsl(var(--foreground))" }, children: option.label }),
|
|
5221
5277
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_material8.Typography, { sx: { fontFamily: "'JetBrains Mono', monospace", fontSize: "0.65rem", color: "hsl(var(--muted-foreground))" }, children: option.name })
|
|
5222
5278
|
] })),
|
|
@@ -5589,7 +5645,7 @@ var SingulActionsPreview = ({
|
|
|
5589
5645
|
};
|
|
5590
5646
|
var SingulActionsPreview_default = SingulActionsPreview;
|
|
5591
5647
|
|
|
5592
|
-
// AppDetailDrawer.tsx
|
|
5648
|
+
// views/AppDetailDrawer.tsx
|
|
5593
5649
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
5594
5650
|
function AppDetailDrawer({
|
|
5595
5651
|
open,
|
|
@@ -5603,15 +5659,15 @@ function AppDetailDrawer({
|
|
|
5603
5659
|
isAuthenticated = true,
|
|
5604
5660
|
activeOrgId
|
|
5605
5661
|
}) {
|
|
5606
|
-
const [appInfo, setAppInfo] = (0,
|
|
5607
|
-
const [appLoading, setAppLoading] = (0,
|
|
5608
|
-
const [isActivated, setIsActivated] = (0,
|
|
5609
|
-
const [activatedAppId, setActivatedAppId] = (0,
|
|
5610
|
-
const [activateLoading, setActivateLoading] = (0,
|
|
5611
|
-
const [resolvedAlgoliaId, setResolvedAlgoliaId] = (0,
|
|
5612
|
-
const [authExpanded, setAuthExpanded] = (0,
|
|
5613
|
-
const lastValidAuthRef = (0,
|
|
5614
|
-
const [incidentStats, setIncidentStats] = (0,
|
|
5662
|
+
const [appInfo, setAppInfo] = (0, import_react11.useState)(null);
|
|
5663
|
+
const [appLoading, setAppLoading] = (0, import_react11.useState)(true);
|
|
5664
|
+
const [isActivated, setIsActivated] = (0, import_react11.useState)(null);
|
|
5665
|
+
const [activatedAppId, setActivatedAppId] = (0, import_react11.useState)(null);
|
|
5666
|
+
const [activateLoading, setActivateLoading] = (0, import_react11.useState)(false);
|
|
5667
|
+
const [resolvedAlgoliaId, setResolvedAlgoliaId] = (0, import_react11.useState)(null);
|
|
5668
|
+
const [authExpanded, setAuthExpanded] = (0, import_react11.useState)(true);
|
|
5669
|
+
const lastValidAuthRef = (0, import_react11.useRef)(null);
|
|
5670
|
+
const [incidentStats, setIncidentStats] = (0, import_react11.useState)(null);
|
|
5615
5671
|
const {
|
|
5616
5672
|
authStates,
|
|
5617
5673
|
authenticatedApps,
|
|
@@ -5621,7 +5677,7 @@ function AppDetailDrawer({
|
|
|
5621
5677
|
handleSaveAuth,
|
|
5622
5678
|
refreshAuth
|
|
5623
5679
|
} = useAppAuth();
|
|
5624
|
-
(0,
|
|
5680
|
+
(0, import_react11.useEffect)(() => {
|
|
5625
5681
|
if (!open || !appName) return;
|
|
5626
5682
|
setAppLoading(true);
|
|
5627
5683
|
setAppInfo(null);
|
|
@@ -5713,7 +5769,7 @@ function AppDetailDrawer({
|
|
|
5713
5769
|
setAppLoading(false);
|
|
5714
5770
|
})();
|
|
5715
5771
|
}, [open, appName, appId]);
|
|
5716
|
-
(0,
|
|
5772
|
+
(0, import_react11.useEffect)(() => {
|
|
5717
5773
|
if (!open || !appName || !isAuthenticated) {
|
|
5718
5774
|
setIncidentStats(null);
|
|
5719
5775
|
return;
|
|
@@ -5752,13 +5808,13 @@ function AppDetailDrawer({
|
|
|
5752
5808
|
onRefresh?.();
|
|
5753
5809
|
onClose();
|
|
5754
5810
|
};
|
|
5755
|
-
const matchingEntries = (0,
|
|
5811
|
+
const matchingEntries = (0, import_react11.useMemo)(() => {
|
|
5756
5812
|
if (!appName || !isAuthenticated) return [];
|
|
5757
5813
|
return authenticatedApps.filter(
|
|
5758
5814
|
(auth) => auth.app?.name?.toLowerCase().replace(/[\s_\-]+/g, "_") === appName.toLowerCase().replace(/[\s_\-]+/g, "_")
|
|
5759
5815
|
);
|
|
5760
5816
|
}, [appName, authenticatedApps, isAuthenticated]);
|
|
5761
|
-
const resolvedImage = (0,
|
|
5817
|
+
const resolvedImage = (0, import_react11.useMemo)(() => {
|
|
5762
5818
|
if (appInfo?.large_image) return appInfo.large_image;
|
|
5763
5819
|
for (const entry of matchingEntries) {
|
|
5764
5820
|
const img = entry.app?.large_image || entry.large_image;
|
|
@@ -5766,7 +5822,7 @@ function AppDetailDrawer({
|
|
|
5766
5822
|
}
|
|
5767
5823
|
return "";
|
|
5768
5824
|
}, [appInfo, matchingEntries]);
|
|
5769
|
-
const algoliaApp = (0,
|
|
5825
|
+
const algoliaApp = (0, import_react11.useMemo)(() => {
|
|
5770
5826
|
if (!appName) return null;
|
|
5771
5827
|
return {
|
|
5772
5828
|
objectID: resolvedAlgoliaId || appName,
|
|
@@ -5782,12 +5838,12 @@ function AppDetailDrawer({
|
|
|
5782
5838
|
const effectiveActivated = isActivated === null ? hasAnyAuth ? true : null : isActivated || hasAnyAuth;
|
|
5783
5839
|
const authCount = matchingEntries.length;
|
|
5784
5840
|
const displayName = (appInfo?.name || appName || "").replace(/_/g, " ");
|
|
5785
|
-
(0,
|
|
5841
|
+
(0, import_react11.useEffect)(() => {
|
|
5786
5842
|
if (lastValidAuthRef.current === hasValidAuth) return;
|
|
5787
5843
|
lastValidAuthRef.current = hasValidAuth;
|
|
5788
5844
|
setAuthExpanded(!hasValidAuth);
|
|
5789
5845
|
}, [hasValidAuth]);
|
|
5790
|
-
(0,
|
|
5846
|
+
(0, import_react11.useEffect)(() => {
|
|
5791
5847
|
lastValidAuthRef.current = null;
|
|
5792
5848
|
}, [appName]);
|
|
5793
5849
|
const handleActivateToggle = async () => {
|
|
@@ -5961,11 +6017,11 @@ function AppDetailDrawer({
|
|
|
5961
6017
|
);
|
|
5962
6018
|
}
|
|
5963
6019
|
|
|
5964
|
-
// ShuffleMCP.tsx
|
|
5965
|
-
var import_shuffle_mcp = require("./shuffle-mcp-
|
|
6020
|
+
// views/ShuffleMCP.tsx
|
|
6021
|
+
var import_shuffle_mcp = require("./shuffle-mcp-ER33P3W2.css");
|
|
5966
6022
|
init_appsCache();
|
|
5967
6023
|
|
|
5968
|
-
// SegmentedControl.tsx
|
|
6024
|
+
// components/SegmentedControl.tsx
|
|
5969
6025
|
var React2 = __toESM(require("react"));
|
|
5970
6026
|
var import_framer_motion7 = require("framer-motion");
|
|
5971
6027
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
@@ -6162,17 +6218,7 @@ function SegmentedControl({
|
|
|
6162
6218
|
) });
|
|
6163
6219
|
}
|
|
6164
6220
|
|
|
6165
|
-
//
|
|
6166
|
-
var import_react11 = require("react");
|
|
6167
|
-
init_api();
|
|
6168
|
-
var useSyncHostBaseUrl = (globalUrl) => {
|
|
6169
|
-
(0, import_react11.useEffect)(() => {
|
|
6170
|
-
if (!globalUrl) return;
|
|
6171
|
-
setHostBaseUrl(globalUrl);
|
|
6172
|
-
}, [globalUrl]);
|
|
6173
|
-
};
|
|
6174
|
-
|
|
6175
|
-
// ShuffleMCP.tsx
|
|
6221
|
+
// views/ShuffleMCP.tsx
|
|
6176
6222
|
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
6177
6223
|
var DEFAULT_ALGOLIA_APP_ID = "JNSS5CFDZZ";
|
|
6178
6224
|
var DEFAULT_ALGOLIA_API_KEY = "33e4e3564f4f060e96e0531957bed552";
|
|
@@ -6711,7 +6757,7 @@ var ShuffleMCP = import_react12.default.forwardRef(({
|
|
|
6711
6757
|
});
|
|
6712
6758
|
ShuffleMCP.displayName = "ShuffleMCP";
|
|
6713
6759
|
|
|
6714
|
-
// AppSearchDrawer.tsx
|
|
6760
|
+
// views/AppSearchDrawer.tsx
|
|
6715
6761
|
var import_react13 = require("react");
|
|
6716
6762
|
var import_lucide_react7 = require("lucide-react");
|
|
6717
6763
|
var import_material11 = require("@mui/material");
|
|
@@ -7121,7 +7167,7 @@ function AppSearchDrawer({
|
|
|
7121
7167
|
] });
|
|
7122
7168
|
}
|
|
7123
7169
|
|
|
7124
|
-
// AiAgentPromptsEditor.tsx
|
|
7170
|
+
// components/AiAgentPromptsEditor.tsx
|
|
7125
7171
|
var import_material12 = require("@mui/material");
|
|
7126
7172
|
var import_lucide_react8 = require("lucide-react");
|
|
7127
7173
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
@@ -7314,13 +7360,13 @@ var AiAgentPromptsEditor = ({
|
|
|
7314
7360
|
};
|
|
7315
7361
|
var AiAgentPromptsEditor_default = AiAgentPromptsEditor;
|
|
7316
7362
|
|
|
7317
|
-
// ShufflePipelinesBanner.tsx
|
|
7363
|
+
// components/ShufflePipelinesBanner.tsx
|
|
7318
7364
|
var import_material13 = require("@mui/material");
|
|
7319
7365
|
|
|
7320
7366
|
// ../assets/shuffle-icon.png
|
|
7321
7367
|
var shuffle_icon_default = "data:image/png;base64,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";
|
|
7322
7368
|
|
|
7323
|
-
// ShufflePipelinesBanner.tsx
|
|
7369
|
+
// components/ShufflePipelinesBanner.tsx
|
|
7324
7370
|
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
7325
7371
|
function ShufflePipelinesBanner() {
|
|
7326
7372
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
@@ -7381,7 +7427,7 @@ function ShufflePipelinesBanner() {
|
|
|
7381
7427
|
}
|
|
7382
7428
|
var ShufflePipelinesBanner_default = ShufflePipelinesBanner;
|
|
7383
7429
|
|
|
7384
|
-
// AgentUI.tsx
|
|
7430
|
+
// components/AgentUI.tsx
|
|
7385
7431
|
var import_react15 = require("react");
|
|
7386
7432
|
var import_lucide_react11 = require("lucide-react");
|
|
7387
7433
|
var import_react_router_dom2 = require("react-router-dom");
|
|
@@ -7947,11 +7993,11 @@ var parseScheduleHint = (input) => {
|
|
|
7947
7993
|
return null;
|
|
7948
7994
|
};
|
|
7949
7995
|
|
|
7950
|
-
// AgentRunDiagnosisBanner.tsx
|
|
7996
|
+
// components/AgentRunDiagnosisBanner.tsx
|
|
7951
7997
|
var import_material15 = require("@mui/material");
|
|
7952
7998
|
var import_lucide_react10 = require("lucide-react");
|
|
7953
7999
|
|
|
7954
|
-
// AgentDiagnosisCtas.tsx
|
|
8000
|
+
// components/AgentDiagnosisCtas.tsx
|
|
7955
8001
|
var import_material14 = require("@mui/material");
|
|
7956
8002
|
var import_lucide_react9 = require("lucide-react");
|
|
7957
8003
|
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
@@ -8025,7 +8071,7 @@ var AgentDiagnosisCtas = ({ diagnosis, compact = false, tone = "medium" }) => {
|
|
|
8025
8071
|
};
|
|
8026
8072
|
var AgentDiagnosisCtas_default = AgentDiagnosisCtas;
|
|
8027
8073
|
|
|
8028
|
-
// AgentRunDiagnosisBanner.tsx
|
|
8074
|
+
// components/AgentRunDiagnosisBanner.tsx
|
|
8029
8075
|
var import_react14 = require("react");
|
|
8030
8076
|
|
|
8031
8077
|
// agentDiagnosis.ts
|
|
@@ -8384,7 +8430,7 @@ var diagnoseOutputWarning = (run) => {
|
|
|
8384
8430
|
return null;
|
|
8385
8431
|
};
|
|
8386
8432
|
|
|
8387
|
-
// AgentRunDiagnosisBanner.tsx
|
|
8433
|
+
// components/AgentRunDiagnosisBanner.tsx
|
|
8388
8434
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
8389
8435
|
var DISMISS_PREFIX = "agent-diagnosis-dismissed::";
|
|
8390
8436
|
var readDismissed = (key) => {
|
|
@@ -8540,7 +8586,7 @@ var AgentRunDiagnosisBanner = ({ run, sx, onJumpToEvidence, executionId }) => {
|
|
|
8540
8586
|
};
|
|
8541
8587
|
var AgentRunDiagnosisBanner_default = AgentRunDiagnosisBanner;
|
|
8542
8588
|
|
|
8543
|
-
// AgentUI.tsx
|
|
8589
|
+
// components/AgentUI.tsx
|
|
8544
8590
|
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
8545
8591
|
var normalizeMarkdown = (raw) => {
|
|
8546
8592
|
if (raw == null) return "";
|
|
@@ -11703,7 +11749,7 @@ var AgentUI = ({
|
|
|
11703
11749
|
};
|
|
11704
11750
|
var AgentUI_default = AgentUI;
|
|
11705
11751
|
|
|
11706
|
-
// AgentRunDrawer.tsx
|
|
11752
|
+
// components/AgentRunDrawer.tsx
|
|
11707
11753
|
var import_react16 = require("react");
|
|
11708
11754
|
var import_material17 = require("@mui/material");
|
|
11709
11755
|
var import_lucide_react12 = require("lucide-react");
|
|
@@ -11895,7 +11941,7 @@ var AgentRunDrawer = ({
|
|
|
11895
11941
|
};
|
|
11896
11942
|
var AgentRunDrawer_default = AgentRunDrawer;
|
|
11897
11943
|
|
|
11898
|
-
// AgentActivityList.tsx
|
|
11944
|
+
// components/AgentActivityList.tsx
|
|
11899
11945
|
var import_react17 = require("react");
|
|
11900
11946
|
var import_material18 = require("@mui/material");
|
|
11901
11947
|
var import_lucide_react13 = require("lucide-react");
|
|
@@ -12050,7 +12096,7 @@ var stopAgentSchedule = async (workflowId, params = {}) => {
|
|
|
12050
12096
|
if (!res.ok) throw new Error(`Failed to stop schedule: ${res.statusText}`);
|
|
12051
12097
|
};
|
|
12052
12098
|
|
|
12053
|
-
// AgentActivityList.tsx
|
|
12099
|
+
// components/AgentActivityList.tsx
|
|
12054
12100
|
var import_lucide_react14 = require("lucide-react");
|
|
12055
12101
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
12056
12102
|
var STATUS_CONFIG = {
|
|
@@ -12666,7 +12712,7 @@ var AgentActivityList = ({
|
|
|
12666
12712
|
};
|
|
12667
12713
|
var AgentActivityList_default = AgentActivityList;
|
|
12668
12714
|
|
|
12669
|
-
// AgentExecutionDrawer.tsx
|
|
12715
|
+
// components/AgentExecutionDrawer.tsx
|
|
12670
12716
|
var import_material19 = require("@mui/material");
|
|
12671
12717
|
var import_lucide_react15 = require("lucide-react");
|
|
12672
12718
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
@@ -12843,7 +12889,7 @@ var AgentExecutionDrawer = ({
|
|
|
12843
12889
|
};
|
|
12844
12890
|
var AgentExecutionDrawer_default = AgentExecutionDrawer;
|
|
12845
12891
|
|
|
12846
|
-
// AgentsView.tsx
|
|
12892
|
+
// views/AgentsView.tsx
|
|
12847
12893
|
var import_react18 = require("react");
|
|
12848
12894
|
var import_material20 = require("@mui/material");
|
|
12849
12895
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
@@ -13169,7 +13215,7 @@ init_api();
|
|
|
13169
13215
|
init_fetchBreaker();
|
|
13170
13216
|
init_appsCache();
|
|
13171
13217
|
|
|
13172
|
-
// UsageBar.tsx
|
|
13218
|
+
// components/UsageBar.tsx
|
|
13173
13219
|
var import_material21 = require("@mui/material");
|
|
13174
13220
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
13175
13221
|
var fmt = (n) => n.toLocaleString();
|