@shuffleio/shuffle-mcps 0.0.16 → 0.0.18

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  import React$1, { ReactNode } from 'react';
2
- import * as react_jsx_runtime from 'react/jsx-runtime';
3
2
  import { SxProps, Theme } from '@mui/material';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
 
5
5
  /**
6
6
  * ShuffleMcpThemeProvider
@@ -30,10 +30,11 @@ import { SxProps, Theme } from '@mui/material';
30
30
 
31
31
  type ShuffleMcpColorMode = "light" | "dark" | "auto";
32
32
  interface ShuffleMcpThemeProviderProps {
33
- children: React$1.ReactNode;
33
+ children?: React$1.ReactNode;
34
34
  /**
35
35
  * Color mode for the wrapped subtree.
36
- * - `"auto"` (default) — follow the host page's `.dark` class on `<html>`.
36
+ * - `"dark"` (default) — render exactly like Shuffle Security standalone.
37
+ * - `"auto"` — follow the host page's `.dark` class on `<html>`.
37
38
  * - `"light"` / `"dark"` — pin the subtree to that scheme via a wrapping div.
38
39
  */
39
40
  mode?: ShuffleMcpColorMode;
@@ -244,115 +245,6 @@ interface ShuffleMCPHandle {
244
245
  search: (query: string) => void;
245
246
  clear: () => void;
246
247
  }
247
- declare const ShuffleMCP: React$1.ForwardRefExoticComponent<ShuffleMCPProps & React$1.RefAttributes<ShuffleMCPHandle>>;
248
-
249
- /**
250
- * Singul standard actions catalog, keyed by lowercase category fragment.
251
- * Mirrors the canonical action names exposed by https://singul.io —
252
- * each name becomes the `{action}` segment in `POST /api/{action}`.
253
- * Fields shown here are starter parameters; the full schema lives on
254
- * the Singul side and is editable in the curl preview below.
255
- */
256
- interface AppDetailDrawerProps extends ShuffleHostProps {
257
- open: boolean;
258
- onClose: () => void;
259
- /** App name to load */
260
- appName: string | null;
261
- /** Pre-resolved Algolia objectID — bypasses Algolia lookup when provided (e.g. when the
262
- * caller already had the hit, like AppSearchDrawer / "Add Ingestion Source"). */
263
- appId?: string | null;
264
- /** Anchor side */
265
- anchor?: 'left' | 'right';
266
- /** Width in px */
267
- width?: number;
268
- /** Called when drawer closes so parent can refresh data */
269
- onRefresh?: () => void;
270
- /** When set, replaces the Activate button with "+ Add" and calls this on click */
271
- onAddToCanvas?: (appInfo: {
272
- name: string;
273
- icon: string;
274
- algoliaId: string | null;
275
- }) => void;
276
- /** Whether the current user is authenticated. Defaults to true. */
277
- isAuthenticated?: boolean;
278
- /** Host app's currently active org id. If different from the library's tracked org,
279
- * an `Org-Id` header is injected into the Singul curl preview. */
280
- activeOrgId?: string | null;
281
- }
282
- declare function AppDetailDrawer({ open, onClose, appName, appId, anchor, width, onRefresh, onAddToCanvas, isAuthenticated, activeOrgId, }: AppDetailDrawerProps): react_jsx_runtime.JSX.Element;
283
-
284
- interface ConnectionPathApp {
285
- name: string;
286
- icon: string;
287
- hasValidAuth?: boolean;
288
- isActiveOnly?: boolean;
289
- }
290
- interface AppSearchDrawerProps extends ShuffleHostProps {
291
- open: boolean;
292
- onClose: () => void;
293
- initialQuery?: string;
294
- title?: string;
295
- subtitle?: string;
296
- anchor?: 'left' | 'right';
297
- width?: number;
298
- /** Show the Shuffle Pipelines banner above search results */
299
- showPipelinesBanner?: boolean;
300
- /** If provided, selecting an app calls this instead of opening AppDetailDrawer */
301
- onQuickSelect?: (app: {
302
- name: string;
303
- icon: string;
304
- categories: string[];
305
- id: string | null;
306
- }) => void;
307
- /** If provided, called before default behavior. Return true to prevent opening detail drawer. */
308
- onSelectOverride?: (app: {
309
- name: string;
310
- icon: string;
311
- categories: string[];
312
- }) => boolean;
313
- /** Called when the detail drawer closes, with the app name that was being configured */
314
- onDetailClose?: (appName: string) => void;
315
- /** When set, replaces Activate with "+ Add" in the detail drawer */
316
- onAddToCanvas?: (appInfo: {
317
- name: string;
318
- icon: string;
319
- algoliaId: string | null;
320
- }) => void;
321
- /** When set, apps matching this category are sorted to the top in user's apps */
322
- priorityCategory?: string;
323
- /** Apps currently in the connection path diagram — shown first in the drawer */
324
- connectionPathApps?: ConnectionPathApp[];
325
- /** Apps to pin at the top of the ShuffleMCP search results (deduped by name). */
326
- pinnedApps?: Array<{
327
- name: string;
328
- image_url: string;
329
- categories?: string[];
330
- objectID?: string;
331
- }>;
332
- /** Highlight (pulsing ring) the matching app card after `highlightDelayMs` */
333
- highlightAppName?: string;
334
- /** Delay before the highlight kicks in (default 5000ms) */
335
- highlightDelayMs?: number;
336
- /** Enable multi-select: clicking apps toggles them in/out of the selection,
337
- * drawer stays open, and the picker shows checkboxes + a primary-bordered
338
- * highlight on already-chosen rows. */
339
- multiSelect?: boolean;
340
- /** Currently chosen apps (used to highlight rows in multi-select mode).
341
- * Match is by objectID first, then by normalized name. */
342
- selectedApps?: Array<{
343
- name: string;
344
- id?: string | null;
345
- icon?: string;
346
- }>;
347
- /** Fires whenever the selection changes in multi-select mode. */
348
- onSelectionChange?: (apps: Array<{
349
- name: string;
350
- id: string | null;
351
- icon: string;
352
- categories: string[];
353
- }>) => void;
354
- }
355
- declare function AppSearchDrawer({ open, onClose, initialQuery, title, subtitle, anchor, width, showPipelinesBanner, onQuickSelect, onSelectOverride, onDetailClose, onAddToCanvas, priorityCategory, connectionPathApps, pinnedApps, highlightAppName, highlightDelayMs, multiSelect, selectedApps, onSelectionChange, }: AppSearchDrawerProps): react_jsx_runtime.JSX.Element;
356
248
 
357
249
  interface AiAgentPromptsEditorProps {
358
250
  /** Ordered list of prompts. */
@@ -381,9 +273,6 @@ interface AiAgentPromptsEditorProps {
381
273
  placeholder: string;
382
274
  }) => React$1.ReactNode;
383
275
  }
384
- declare const AiAgentPromptsEditor: React$1.FC<AiAgentPromptsEditorProps>;
385
-
386
- declare function ShufflePipelinesBanner(): react_jsx_runtime.JSX.Element;
387
276
 
388
277
  interface AppTitleHeaderProps extends ShuffleHostProps {
389
278
  /** Display name of the app (will be capitalized via CSS). */
@@ -407,7 +296,6 @@ interface AppTitleHeaderProps extends ShuffleHostProps {
407
296
  /** When provided, replaces the Activate button with "+ Add". */
408
297
  onAdd?: () => void;
409
298
  }
410
- declare function AppTitleHeader({ name, image, hasValidAuth, hasAnyAuth, isAuthenticated, categories, isActivated, activateLoading, onActivateToggle, onAdd, }: AppTitleHeaderProps): react_jsx_runtime.JSX.Element;
411
299
 
412
300
  interface AppAuthSectionProps extends ShuffleHostProps {
413
301
  /** Display name (used in copy when no auth exists). */
@@ -432,7 +320,6 @@ interface AppAuthSectionProps extends ShuffleHostProps {
432
320
  onSaveAuth: (appId: string, credentials: Record<string, string>) => Promise<boolean>;
433
321
  onRefreshAuth: () => void;
434
322
  }
435
- declare function AppAuthSection({ displayName, algoliaApp, resolvedAlgoliaId, authState, expanded, onToggle, authCount, isAuthenticated, matchingEntries, onAuthChange, onTestConnection, onSaveAuth, onRefreshAuth, }: AppAuthSectionProps): react_jsx_runtime.JSX.Element;
436
323
 
437
324
  interface TryMcpSectionProps extends ShuffleHostProps {
438
325
  appName: string;
@@ -443,20 +330,6 @@ interface TryMcpSectionProps extends ShuffleHostProps {
443
330
  /** App categories — used to pick suggested actions. */
444
331
  categories?: string[];
445
332
  }
446
- declare function TryMcpSection({ appName, appIcon, appId, categories }: TryMcpSectionProps): react_jsx_runtime.JSX.Element;
447
-
448
- interface SingulActionsPreviewProps extends ShuffleHostProps {
449
- appName: string;
450
- appIcon?: string;
451
- appId?: string | null;
452
- categories?: string[];
453
- activeOrgId?: string | null;
454
- /** Optional click handler invoked when the user presses the
455
- * "Authenticate {App}" button surfaced after an
456
- * `action: "app_authentication"` response. */
457
- onAuthenticate?: (appName: string) => void;
458
- }
459
- declare const SingulActionsPreview: ({ appName, appIcon, categories, activeOrgId, onAuthenticate, }: SingulActionsPreviewProps) => react_jsx_runtime.JSX.Element;
460
333
 
461
334
  /**
462
335
  * AgentUI — Standalone "start + debug agents" surface.
@@ -529,6 +402,17 @@ interface AgentUIProps {
529
402
  appPickerTitle?: string;
530
403
  /** Subtitle on the AppSearchDrawer. */
531
404
  appPickerSubtitle?: string;
405
+ /**
406
+ * Handler for the "Choose LLM" chip. When provided, takes full ownership
407
+ * of the click. When omitted, AgentUI dispatches a window
408
+ * `agent-drawer-open` CustomEvent — that's what the bundled
409
+ * `AgentRunDrawer` listens for. On hosts that don't mount the drawer,
410
+ * provide this prop to wire your own LLM picker (or set it to a no-op
411
+ * to hide the chip's intent entirely).
412
+ */
413
+ onChooseLLM?: () => void;
414
+ /** Hide the "Choose LLM" chip entirely. */
415
+ hideChooseLLM?: boolean;
532
416
  /** Tooltip on the submit button. Default: "⌘+Enter to send". */
533
417
  submitTooltip?: string;
534
418
  /** Custom icon for the submit button. */
@@ -633,7 +517,6 @@ interface AgentUIProps {
633
517
  /** Style overrides for the inner content card (the column under the run-switcher). */
634
518
  contentSx?: SxProps<Theme>;
635
519
  }
636
- declare const AgentUI: React$1.FC<AgentUIProps>;
637
520
 
638
521
  type AgentRunDrawerTab = 'run' | 'permissions' | 'localLLM';
639
522
  interface AgentRunDrawerProps extends ShuffleHostProps {
@@ -672,7 +555,6 @@ interface AgentRunDrawerProps extends ShuffleHostProps {
672
555
  /** Style overrides for the body container that wraps the active tab content. */
673
556
  bodySx?: SxProps<Theme>;
674
557
  }
675
- declare const AgentRunDrawer: ({ open, onClose, initialTab, permissionsSlot, localLLMSlot, localLLMTabBadge, permissionsDisabled, permissionsDisabledTooltip, agentUIProps, width, title, subtitle, className, paperSx, headerSx, tabsSx, bodySx, }: AgentRunDrawerProps) => react_jsx_runtime.JSX.Element;
676
558
 
677
559
  /** Check if running on a known Shuffle Cloud domain */
678
560
  declare const isCloudDomain: () => boolean;
@@ -688,6 +570,26 @@ declare const isCloud: () => boolean;
688
570
  * True when running self-hosted (onprem) — i.e. NOT in Lovable preview AND NOT on a known cloud domain.
689
571
  */
690
572
  declare const isOnprem: () => boolean;
573
+ /**
574
+ * Set the dynamic region URL from getinfo response.
575
+ * Only applies if the URL is a shuffler.io subdomain and different from default.
576
+ */
577
+ declare const setRegionUrl: (regionUrl: string | undefined | null, orgId: string | undefined | null) => void;
578
+ /**
579
+ * Called when org changes. Resets region URL to default until next getinfo.
580
+ */
581
+ declare const resetRegionUrl: () => void;
582
+ /**
583
+ * Host override — call from a top-level component (or `useSyncHostBaseUrl`)
584
+ * with the `globalUrl` injected via `ShuffleHostProps`. When set, this beats
585
+ * region URL and the env-based default for ALL fetches that go through
586
+ * `getApiUrl()` / `API_CONFIG.baseUrl` / `shuffleFetch`.
587
+ *
588
+ * Pass `null` / `undefined` / empty string to clear the override.
589
+ */
590
+ declare const setHostBaseUrl: (url: string | undefined | null) => void;
591
+ /** Get the currently active host override, if any. */
592
+ declare const getHostBaseUrl: () => string | null;
691
593
  declare const API_CONFIG: {
692
594
  readonly baseUrl: string;
693
595
  version: string;
@@ -822,7 +724,6 @@ interface AgentActivityListProps extends ShuffleHostProps {
822
724
  /** Style overrides for each individual run row. */
823
725
  rowSx?: SxProps<Theme>;
824
726
  }
825
- declare const AgentActivityList: ({ apiKey, apiBaseUrl, orgId, onRunClick, onEditWorkflow, showSearchBar, showStatusChips, limit, emptyTitle, emptySubtitle, className, sx, toolbarSx, rowSx, }: AgentActivityListProps) => react_jsx_runtime.JSX.Element;
826
727
 
827
728
  interface AgentExecutionDrawerProps extends ShuffleHostProps {
828
729
  open: boolean;
@@ -852,7 +753,6 @@ interface AgentExecutionDrawerProps extends ShuffleHostProps {
852
753
  /** Handler for scheduling the loaded agent prompt from the execution view. */
853
754
  onSchedule?: AgentUIProps['onSchedule'];
854
755
  }
855
- declare const AgentExecutionDrawer: ({ open, onClose, run, width, apiKey, apiBaseUrl, orgId, className, paperSx, headerSx, bodySx, topBanner, onSchedule, }: AgentExecutionDrawerProps) => react_jsx_runtime.JSX.Element;
856
756
 
857
757
  interface AgentsViewProps extends ShuffleHostProps {
858
758
  /**
@@ -863,8 +763,17 @@ interface AgentsViewProps extends ShuffleHostProps {
863
763
  onSchedule: NonNullable<AgentUIProps['onSchedule']>;
864
764
  /** Override max content width of the inner stack. Defaults to 820. */
865
765
  maxWidth?: number;
766
+ /**
767
+ * Optional handler for the "Choose LLM" chip. Forwarded to the embedded
768
+ * AgentUI. When omitted, AgentUI dispatches its legacy window event
769
+ * (handled by the bundled AgentRunDrawer in Shuffle Security). On other
770
+ * hosts, pass this prop to wire your own LLM picker — or set
771
+ * `hideChooseLLM` to remove the chip entirely.
772
+ */
773
+ onChooseLLM?: () => void;
774
+ /** Hide the "Choose LLM" chip in the embedded AgentUI. */
775
+ hideChooseLLM?: boolean;
866
776
  }
867
- declare const AgentsView: ({ onSchedule, maxWidth }: AgentsViewProps) => react_jsx_runtime.JSX.Element;
868
777
 
869
778
  /**
870
779
  * Shared diagnosis utilities for an agent execution result.
@@ -917,21 +826,6 @@ type OutputDiagnosis = {
917
826
  };
918
827
  declare const diagnoseOutputWarning: (run: DiagnosableRun) => OutputDiagnosis | null;
919
828
 
920
- interface Props extends ShuffleHostProps {
921
- run: DiagnosableRun | null | undefined;
922
- /** Outer padding wrapper. Defaults to `{ px: 2.5, pb: 0.5 }`. */
923
- sx?: Record<string, unknown>;
924
- /** When provided, the banner becomes clickable and asks the host to jump
925
- * to the underlying decision (e.g. switch to the detailed timeline,
926
- * expand that row, scroll to it). */
927
- onJumpToEvidence?: (decisionIndex: number) => void;
928
- /** Stable id used to persist dismissals per-execution. Falls back to
929
- * `run.execution_id` if present. When neither is available, dismiss
930
- * still works for the current mount but is not persisted. */
931
- executionId?: string;
932
- }
933
- declare const AgentRunDiagnosisBanner: ({ run, sx, onJumpToEvidence, executionId }: Props) => react_jsx_runtime.JSX.Element;
934
-
935
829
  /**
936
830
  * useAppLookup — Resolve an app's display name, image, categories,
937
831
  * canonical Algolia objectID and matching auth entries from just
@@ -1132,6 +1026,27 @@ declare const useAppDetail: () => AppDetailContextType;
1132
1026
  /** Safe variant: returns null if no provider is mounted. Useful for components used both inside and outside the dashboard. */
1133
1027
  declare const useAppDetailOptional: () => AppDetailContextType;
1134
1028
 
1029
+ declare const useSyncHostBaseUrl: (globalUrl: string | undefined | null) => void;
1030
+
1031
+ /**
1032
+ * Global fetch circuit breaker.
1033
+ *
1034
+ * Installs a one-time wrapper around `window.fetch` that protects the Shuffle
1035
+ * backend from infinite-loop spam. If the same endpoint (method + URL pathname,
1036
+ * scoped to a Shuffle backend origin) fails repeatedly inside a short window,
1037
+ * subsequent calls fail-fast with a synthetic 503 for a cooldown period.
1038
+ *
1039
+ * This is a safety net — components and hooks should still throttle / cache
1040
+ * their own requests. The breaker only kicks in when something has gone wrong
1041
+ * (a useEffect missing deps, a render loop, an unreachable backend).
1042
+ *
1043
+ * Both Shuffle-Core and Shuffle-MCPs install this — it is idempotent so the
1044
+ * first call wins and the second is a no-op.
1045
+ */
1046
+ /** Register a backend origin as one we should guard. Idempotent. */
1047
+ declare const registerProtectedOrigin: (url: string | undefined | null) => void;
1048
+ declare const installFetchBreaker: () => void;
1049
+
1135
1050
  /**
1136
1051
  * Tiny toast facade — library version. Mirrors the sonner-style surface
1137
1052
  * (`toast(...)`, `toast.success`, `toast.error`, `toast.info`, `toast.warning`)
@@ -1409,4 +1324,35 @@ interface UsageBarProps {
1409
1324
  }
1410
1325
  declare const UsageBar: React$1.FC<UsageBarProps>;
1411
1326
 
1412
- export { API_CONFIG, AgentActivityList, type AgentActivityListProps, type AgentActivityParams, type AgentActivityResponse, type AgentDecision, AgentExecutionDrawer, type AgentExecutionDrawerProps, AgentIcon, type AgentRun, AgentRunDiagnosisBanner, AgentRunDrawer, type AgentRunDrawerProps, type AgentRunDrawerTab, type AgentRunResult, AgentUI, type AgentUIApp, type AgentUIProps, AgentsView, type AgentsViewProps, AiAgentPromptsEditor, type AiAgentPromptsEditorProps, type AlgoliaSearchApp, type ApiAuthEntry, AppAuthCard, type AppAuthCardProps, AppAuthConfig, AppAuthSection, type AppAuthSectionProps, type AppAuthState, type AppAuthentication, AppDetailDrawer, AppDetailProvider, type AppLookupResult, AppSearchDrawer, type AppSelectedEvent, AppTitleHeader, type AppTitleHeaderProps, type AuthStatus, CASES_PATTERNS, COMMUNICATION_PATTERNS_NAMES, type CategoryAutomation, type CategoryConfig, type CustomStyles, DATASTORE_CATEGORIES, type DatastoreDiagnostics, type DatastoreItem, type DatastoreResponse, type DiagnosableRun, type DiagnosisEvidence, EDR_PATTERNS, EMAIL_APP_PATTERNS, FORWARD_TICKETS_WORKFLOW_NAME, type FetchAppsOptions, INGEST_TICKETS_WORKFLOW_NAME, type IngestionCategory, IntegrationStatus, type OutputDiagnosis, type ResolvedApp, SIEM_PATTERNS, type ShuffleHostProps, ShuffleMCP, type ShuffleMCPHandle, type ShuffleMCPProps, type ShuffleMcpColorMode, ShuffleMcpThemeProvider, type ShuffleMcpThemeProviderProps, ShufflePipelinesBanner, SingulActionsPreview, THREAT_INTEL_PATTERNS, TryMcpSection, type TryMcpSectionProps, UsageBar, type UsageBarProps, VULN_SCANNER_PATTERNS, type ValidatedIngestionApp, ShuffleMCP as default, deleteDatastoreItem, deleteDatastoreItems, diagnoseOutputWarning, extractValidatedIngestionApps, extractWorkflowAppNames, fetchApps, fetchAppsViaApiConfig, findForwardTicketsWorkflow, findIngestTicketsWorkflow, getApiUrl, getAuthHeader, getDatastoreByCategory, getDatastoreItem, getDatastoreItemPublic, getFailureInfo, getIngestionCategory, hasOutputWarning, invalidateAppsCache, invalidateResolvedApps, isCloud, isCloudDomain, isEmailApp, isIngestionApp, isOnprem, isThreatIntelApp, isVulnScannerApp, isWorkflowScheduleStopped, normalizeAppName, parseRunResult, refreshAllIntegrationStatus, resolveApp, resolveApps, searchAgentActivity, seedResolvedApp, setDatastoreItem, setDatastoreItems, setRuntimeOrgId, setToastImpl, shuffleFetch, toast, useAppAuth, useAppDetail, useAppDetailOptional, useAppLookup };
1327
+ /**
1328
+ * Local Singul Library — fully self-contained.
1329
+ * No host-app `@/` imports remain inside this folder (assets aside).
1330
+ */
1331
+
1332
+ declare const ShuffleMCP: React$1.ForwardRefExoticComponent<any>;
1333
+
1334
+ declare const AppDetailDrawer: React$1.ComponentType<any>;
1335
+ declare const AppSearchDrawer: React$1.ComponentType<any>;
1336
+ declare const AiAgentPromptsEditor: React$1.ComponentType<any>;
1337
+
1338
+ declare const ShufflePipelinesBanner: React$1.ComponentType<any>;
1339
+ declare const AppTitleHeader: React$1.ComponentType<any>;
1340
+
1341
+ declare const AppAuthSection: React$1.ComponentType<any>;
1342
+
1343
+ declare const TryMcpSection: React$1.ComponentType<any>;
1344
+
1345
+ declare const SingulActionsPreview: React$1.ComponentType<any>;
1346
+ declare const AgentUI: React$1.ComponentType<any>;
1347
+
1348
+ declare const AgentRunDrawer: React$1.ComponentType<any>;
1349
+
1350
+ declare const AgentActivityList: React$1.ComponentType<any>;
1351
+
1352
+ declare const AgentExecutionDrawer: React$1.ComponentType<any>;
1353
+
1354
+ declare const AgentsView: React$1.ComponentType<any>;
1355
+
1356
+ declare const AgentRunDiagnosisBanner: React$1.ComponentType<any>;
1357
+
1358
+ export { API_CONFIG, AgentActivityList, type AgentActivityListProps, type AgentActivityParams, type AgentActivityResponse, type AgentDecision, AgentExecutionDrawer, type AgentExecutionDrawerProps, AgentIcon, type AgentRun, AgentRunDiagnosisBanner, AgentRunDrawer, type AgentRunDrawerProps, type AgentRunDrawerTab, type AgentRunResult, AgentUI, type AgentUIApp, type AgentUIProps, AgentsView, type AgentsViewProps, AiAgentPromptsEditor, type AiAgentPromptsEditorProps, type AlgoliaSearchApp, type ApiAuthEntry, AppAuthCard, type AppAuthCardProps, AppAuthConfig, AppAuthSection, type AppAuthSectionProps, type AppAuthState, type AppAuthentication, AppDetailDrawer, AppDetailProvider, type AppLookupResult, AppSearchDrawer, type AppSelectedEvent, AppTitleHeader, type AppTitleHeaderProps, type AuthStatus, CASES_PATTERNS, COMMUNICATION_PATTERNS_NAMES, type CategoryAutomation, type CategoryConfig, type CustomStyles, DATASTORE_CATEGORIES, type DatastoreDiagnostics, type DatastoreItem, type DatastoreResponse, type DiagnosableRun, type DiagnosisEvidence, EDR_PATTERNS, EMAIL_APP_PATTERNS, FORWARD_TICKETS_WORKFLOW_NAME, type FetchAppsOptions, INGEST_TICKETS_WORKFLOW_NAME, type IngestionCategory, IntegrationStatus, type OutputDiagnosis, type ResolvedApp, SIEM_PATTERNS, type ShuffleHostProps, ShuffleMCP, type ShuffleMCPHandle, type ShuffleMCPProps, type ShuffleMcpColorMode, ShuffleMcpThemeProvider, type ShuffleMcpThemeProviderProps, ShufflePipelinesBanner, SingulActionsPreview, THREAT_INTEL_PATTERNS, TryMcpSection, type TryMcpSectionProps, UsageBar, type UsageBarProps, VULN_SCANNER_PATTERNS, type ValidatedIngestionApp, ShuffleMCP as default, deleteDatastoreItem, deleteDatastoreItems, diagnoseOutputWarning, extractValidatedIngestionApps, extractWorkflowAppNames, fetchApps, fetchAppsViaApiConfig, findForwardTicketsWorkflow, findIngestTicketsWorkflow, getApiUrl, getAuthHeader, getDatastoreByCategory, getDatastoreItem, getDatastoreItemPublic, getFailureInfo, getHostBaseUrl, getIngestionCategory, hasOutputWarning, installFetchBreaker, invalidateAppsCache, invalidateResolvedApps, isCloud, isCloudDomain, isEmailApp, isIngestionApp, isOnprem, isThreatIntelApp, isVulnScannerApp, isWorkflowScheduleStopped, normalizeAppName, parseRunResult, refreshAllIntegrationStatus, registerProtectedOrigin, resetRegionUrl, resolveApp, resolveApps, searchAgentActivity, seedResolvedApp, setDatastoreItem, setDatastoreItems, setHostBaseUrl, setRegionUrl, setRuntimeOrgId, setToastImpl, shuffleFetch, toast, useAppAuth, useAppDetail, useAppDetailOptional, useAppLookup, useSyncHostBaseUrl };