@shuffleio/shuffle-mcps 0.0.32 → 0.0.34
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 +263 -101
- package/dist/index.d.ts +263 -101
- package/dist/index.js +5485 -2060
- package/dist/index.mjs +5492 -2044
- package/dist/{shuffle-mcp-TWJGPBOQ.css → shuffle-mcp-E5J7ZAE2.css} +11 -3
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React$1
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
import React__default, { ReactNode } from 'react';
|
|
2
3
|
import { SxProps, Theme } from '@mui/material';
|
|
3
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* ShuffleMcpThemeProvider
|
|
@@ -25,7 +25,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
25
25
|
|
|
26
26
|
type ShuffleMcpColorMode = "light" | "dark" | "auto";
|
|
27
27
|
interface ShuffleMcpThemeProviderProps {
|
|
28
|
-
children?:
|
|
28
|
+
children?: React__default.ReactNode;
|
|
29
29
|
/**
|
|
30
30
|
* Color mode for the wrapped subtree.
|
|
31
31
|
* - `"auto"` (default) — follow the host page's `.dark` class on `<html>`.
|
|
@@ -34,7 +34,7 @@ interface ShuffleMcpThemeProviderProps {
|
|
|
34
34
|
*/
|
|
35
35
|
mode?: ShuffleMcpColorMode;
|
|
36
36
|
}
|
|
37
|
-
declare const ShuffleMcpThemeProvider:
|
|
37
|
+
declare const ShuffleMcpThemeProvider: React__default.FC<ShuffleMcpThemeProviderProps>;
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
40
|
* Standard host-injected props passed to every top-level Shuffle-MCPs
|
|
@@ -229,11 +229,19 @@ interface ShuffleMCPProps extends ShuffleHostProps {
|
|
|
229
229
|
configured: boolean;
|
|
230
230
|
validated: boolean;
|
|
231
231
|
}) => React.ReactNode;
|
|
232
|
-
renderEmptyState?: () => React.ReactNode;
|
|
232
|
+
renderEmptyState?: (query: string) => React.ReactNode;
|
|
233
233
|
renderLoadingState?: () => React.ReactNode;
|
|
234
|
+
/** Custom footer shown when the user has scrolled through all results */
|
|
235
|
+
renderEndOfResults?: () => React.ReactNode;
|
|
236
|
+
/** Optional element rendered inside the search field, on its right edge.
|
|
237
|
+
* Useful for injecting context-aware CTAs (e.g. a "New App" chip that
|
|
238
|
+
* seeds the AddAppDialog with the current category). */
|
|
239
|
+
renderInputEndAdornment?: () => React.ReactNode;
|
|
234
240
|
onAppSelected?: (detail: AppSelectedEvent) => void;
|
|
235
241
|
onSelectionChange?: (apps: AlgoliaSearchApp[]) => void;
|
|
236
242
|
onSearchChange?: (query: string) => void;
|
|
243
|
+
/** Called when the user clicks the "New app" CTA at the end of results. */
|
|
244
|
+
onCreateNewApp?: () => void;
|
|
237
245
|
}
|
|
238
246
|
|
|
239
247
|
/**
|
|
@@ -245,6 +253,7 @@ interface ShuffleMCPProps extends ShuffleHostProps {
|
|
|
245
253
|
interface ShuffleMCPHandle {
|
|
246
254
|
search: (query: string) => void;
|
|
247
255
|
clear: () => void;
|
|
256
|
+
focus: (selectAll?: boolean) => void;
|
|
248
257
|
}
|
|
249
258
|
|
|
250
259
|
interface AiAgentPromptsEditorProps {
|
|
@@ -272,7 +281,7 @@ interface AiAgentPromptsEditorProps {
|
|
|
272
281
|
value: string;
|
|
273
282
|
onChange: (next: string) => void;
|
|
274
283
|
placeholder: string;
|
|
275
|
-
}) =>
|
|
284
|
+
}) => React__default.ReactNode;
|
|
276
285
|
}
|
|
277
286
|
|
|
278
287
|
interface AppTitleHeaderProps extends ShuffleHostProps {
|
|
@@ -335,6 +344,39 @@ interface TryMcpSectionProps extends ShuffleHostProps {
|
|
|
335
344
|
categories?: string[];
|
|
336
345
|
}
|
|
337
346
|
|
|
347
|
+
interface AgentPreset {
|
|
348
|
+
id: string;
|
|
349
|
+
label: string;
|
|
350
|
+
description: string;
|
|
351
|
+
/** Default prompt seed — will pre-fill the AgentUI when the preset is clicked. */
|
|
352
|
+
defaultPrompt: string;
|
|
353
|
+
icon: React.ReactNode;
|
|
354
|
+
/** When true, the preset is clickable and pre-fills the prompt. Others are placeholders. */
|
|
355
|
+
enabled?: boolean;
|
|
356
|
+
/** Optional tools/apps to pre-select when this preset is clicked. */
|
|
357
|
+
defaultApps?: Array<{
|
|
358
|
+
name: string;
|
|
359
|
+
id?: string;
|
|
360
|
+
icon?: string;
|
|
361
|
+
}>;
|
|
362
|
+
}
|
|
363
|
+
declare const AGENT_PRESETS: AgentPreset[];
|
|
364
|
+
interface AgentPresetsProps {
|
|
365
|
+
/** Inline variant sits inside the prompt input row alongside action buttons. */
|
|
366
|
+
variant?: 'default' | 'inline' | 'floating';
|
|
367
|
+
/** Called when the user picks a preset — receives the preset's default prompt seed. */
|
|
368
|
+
onSelectPreset?: (preset: AgentPreset) => void;
|
|
369
|
+
/** Optional currently selected preset — turns the trigger into a chip showing the preset label. */
|
|
370
|
+
selectedPreset?: AgentPreset | null;
|
|
371
|
+
/** Called when the user clicks the remove (X) button on a selected preset chip. */
|
|
372
|
+
onRemoveSelected?: () => void;
|
|
373
|
+
/** Override the built-in preset list. */
|
|
374
|
+
presets?: AgentPreset[];
|
|
375
|
+
/** Ref forwarded to the trigger button so the host can measure its width. */
|
|
376
|
+
chipRef?: React.Ref<HTMLButtonElement>;
|
|
377
|
+
}
|
|
378
|
+
declare const AgentPresets: ({ variant, onSelectPreset, selectedPreset, onRemoveSelected, presets, chipRef }: AgentPresetsProps) => React$1.JSX.Element;
|
|
379
|
+
|
|
338
380
|
/**
|
|
339
381
|
* AgentUI — Standalone "start + debug agents" surface.
|
|
340
382
|
*
|
|
@@ -377,7 +419,7 @@ interface AgentUIProps {
|
|
|
377
419
|
/** Hero title above the prompt. */
|
|
378
420
|
title?: string;
|
|
379
421
|
/** Optional subtitle/description shown under the title. */
|
|
380
|
-
subtitle?:
|
|
422
|
+
subtitle?: React__default.ReactNode;
|
|
381
423
|
/** Placeholder shown in the empty prompt. */
|
|
382
424
|
placeholder?: string;
|
|
383
425
|
/** Pre-fill the prompt with this text. */
|
|
@@ -387,7 +429,7 @@ interface AgentUIProps {
|
|
|
387
429
|
/** Hide the centered hero icon (compact mode). */
|
|
388
430
|
hideHeroIcon?: boolean;
|
|
389
431
|
/** Replace the default AgentIcon with a custom node (e.g. brand logo). */
|
|
390
|
-
heroIcon?:
|
|
432
|
+
heroIcon?: React__default.ReactNode;
|
|
391
433
|
/** Pixel size of the hero icon container. Default 84. */
|
|
392
434
|
heroIconSize?: number;
|
|
393
435
|
/** Maximum width of the centered card. */
|
|
@@ -420,7 +462,7 @@ interface AgentUIProps {
|
|
|
420
462
|
/** Tooltip on the submit button. Default: "⌘+Enter to send". */
|
|
421
463
|
submitTooltip?: string;
|
|
422
464
|
/** Custom icon for the submit button. */
|
|
423
|
-
submitIcon?:
|
|
465
|
+
submitIcon?: React__default.ReactNode;
|
|
424
466
|
/**
|
|
425
467
|
* When provided, the submit button + Cmd/Ctrl+Enter call this instead of
|
|
426
468
|
* running the agent. Used for "edit existing scheduled workflow" mode where
|
|
@@ -495,6 +537,7 @@ interface AgentUIProps {
|
|
|
495
537
|
id?: string;
|
|
496
538
|
icon?: string;
|
|
497
539
|
}>;
|
|
540
|
+
presetId?: string;
|
|
498
541
|
onStep?: (event: {
|
|
499
542
|
id: 'name' | 'workflow' | 'schedule';
|
|
500
543
|
state: 'active' | 'done' | 'error';
|
|
@@ -526,7 +569,57 @@ interface AgentUIProps {
|
|
|
526
569
|
sx?: SxProps<Theme>;
|
|
527
570
|
/** Style overrides for the inner content card (the column under the run-switcher). */
|
|
528
571
|
contentSx?: SxProps<Theme>;
|
|
572
|
+
/**
|
|
573
|
+
* Storage key for the per-user prompt-prefix chip. Typically the current
|
|
574
|
+
* Shuffle user id. When omitted, the prefix persists under `"default"`
|
|
575
|
+
* (shared across all users on this browser).
|
|
576
|
+
*/
|
|
577
|
+
userId?: string;
|
|
578
|
+
/** Hide the "+ Templates" trigger next to the input. */
|
|
579
|
+
hidePresets?: boolean;
|
|
580
|
+
/** Override the built-in template list surfaced by the "+ Templates" trigger. */
|
|
581
|
+
presets?: AgentPreset[];
|
|
582
|
+
/** Called when the user picks a preset. Overrides the built-in seed behavior. */
|
|
583
|
+
onSelectPreset?: (preset: AgentPreset) => void;
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
interface AgentPromptPrefixChipProps {
|
|
587
|
+
/** Optional label override. Defaults to "Shuffle Tools MCP". */
|
|
588
|
+
label?: string;
|
|
589
|
+
/** Storage key (typically the current user id) — used when uncontrolled. */
|
|
590
|
+
userId?: string;
|
|
591
|
+
/** Controlled value. When provided, disables internal persistence. */
|
|
592
|
+
value?: string;
|
|
593
|
+
/** Called when the user saves an edit in controlled mode. */
|
|
594
|
+
onChange?: (next: string) => void | Promise<void>;
|
|
595
|
+
/** Called when the user clicks the remove (X) button. */
|
|
596
|
+
onRemove?: () => void;
|
|
597
|
+
/** Override the built-in default prompt seed. */
|
|
598
|
+
defaultPrompt?: string;
|
|
599
|
+
/** Dialog title override. */
|
|
600
|
+
dialogTitle?: string;
|
|
601
|
+
/** When true, the chip is not clickable and the edit dialog is suppressed. */
|
|
602
|
+
readOnly?: boolean;
|
|
529
603
|
}
|
|
604
|
+
declare const AgentPromptPrefixChip: ({ label, userId, value, onChange, onRemove, defaultPrompt, dialogTitle, readOnly, }: AgentPromptPrefixChipProps) => React$1.JSX.Element;
|
|
605
|
+
|
|
606
|
+
declare const AGENT_PROMPT_PREFIX_CATEGORY = "agent-prompt-prefix";
|
|
607
|
+
/** Default seed used until the user saves their own prefix. */
|
|
608
|
+
declare const DEFAULT_AGENT_PROMPT_PREFIX = "You are the Shuffle Tools agent. Use the connected Shuffle tools to help me with the request that follows.";
|
|
609
|
+
interface UseAgentPromptPrefixOptions {
|
|
610
|
+
/** Storage key — typically the current user id. Falls back to `"default"`. */
|
|
611
|
+
userId?: string;
|
|
612
|
+
/** Override the seed shown until the user saves their own. */
|
|
613
|
+
defaultPrompt?: string;
|
|
614
|
+
/** When false, disables datastore reads/writes entirely (in-memory only). */
|
|
615
|
+
persist?: boolean;
|
|
616
|
+
}
|
|
617
|
+
declare const useAgentPromptPrefix: (options?: UseAgentPromptPrefixOptions) => {
|
|
618
|
+
prompt: string;
|
|
619
|
+
savePrompt: (next: string) => Promise<boolean>;
|
|
620
|
+
hasFetched: boolean;
|
|
621
|
+
isSaving: boolean;
|
|
622
|
+
};
|
|
530
623
|
|
|
531
624
|
type AgentRunDrawerTab = 'run' | 'permissions' | 'localLLM';
|
|
532
625
|
interface AgentRunDrawerProps extends ShuffleHostProps {
|
|
@@ -841,6 +934,128 @@ interface LocalLLMConfigProps extends ShuffleHostProps {
|
|
|
841
934
|
onTestResult?: (result: LocalLLMTestResult) => void;
|
|
842
935
|
}
|
|
843
936
|
|
|
937
|
+
/**
|
|
938
|
+
* AddAppModal — Two-phase modal for finding and authenticating apps.
|
|
939
|
+
*
|
|
940
|
+
* Phase 1: ShuffleMCP search (same style as /onboarding/sources)
|
|
941
|
+
* Phase 2: AppAuthCard for the selected app (same as /onboarding/authenticate)
|
|
942
|
+
*
|
|
943
|
+
* Self-contained: lives in Shuffle-MCPs so it can be used inside the library
|
|
944
|
+
* (e.g., AppSearchDrawer) without host-app imports.
|
|
945
|
+
*/
|
|
946
|
+
interface AddAppModalProps {
|
|
947
|
+
open: boolean;
|
|
948
|
+
onClose: () => void;
|
|
949
|
+
/** Initial search query (e.g. category label like "SIEM") */
|
|
950
|
+
initialQuery: string;
|
|
951
|
+
/** Category label for display */
|
|
952
|
+
categoryLabel: string;
|
|
953
|
+
}
|
|
954
|
+
|
|
955
|
+
type AuthStatus = 'pending' | 'testing' | 'connected' | 'error';
|
|
956
|
+
interface AppAuthState {
|
|
957
|
+
systemId: string;
|
|
958
|
+
status: AuthStatus;
|
|
959
|
+
credentials: Record<string, string>;
|
|
960
|
+
errorMessage?: string;
|
|
961
|
+
successMessage?: string;
|
|
962
|
+
warningMessage?: string;
|
|
963
|
+
workflowId?: string;
|
|
964
|
+
executionId?: string;
|
|
965
|
+
errorCode?: number;
|
|
966
|
+
}
|
|
967
|
+
interface ApiAuthEntry {
|
|
968
|
+
id?: string;
|
|
969
|
+
label?: string;
|
|
970
|
+
app: {
|
|
971
|
+
id: string;
|
|
972
|
+
name: string;
|
|
973
|
+
large_image?: string;
|
|
974
|
+
};
|
|
975
|
+
active?: boolean;
|
|
976
|
+
created?: number;
|
|
977
|
+
edited?: number;
|
|
978
|
+
validation?: {
|
|
979
|
+
valid: boolean;
|
|
980
|
+
error?: string;
|
|
981
|
+
last_valid?: number;
|
|
982
|
+
};
|
|
983
|
+
}
|
|
984
|
+
interface AppAuthConfigProps extends ShuffleHostProps {
|
|
985
|
+
apps: AlgoliaSearchApp[];
|
|
986
|
+
authStates: Record<string, AppAuthState>;
|
|
987
|
+
authenticatedApps?: ApiAuthEntry[];
|
|
988
|
+
onAuthChange: (appId: string, credentials: Record<string, string>) => void;
|
|
989
|
+
onTestConnection: (appId: string, authenticationId?: string) => void;
|
|
990
|
+
onSaveAuth: (appId: string, credentials: Record<string, string>) => Promise<boolean>;
|
|
991
|
+
onSelectAuth?: (appId: string, authId: string) => void;
|
|
992
|
+
onRefreshAuth?: () => Promise<void> | void;
|
|
993
|
+
}
|
|
994
|
+
interface AppAuthCardProps extends ShuffleHostProps {
|
|
995
|
+
app: AlgoliaSearchApp;
|
|
996
|
+
authState: AppAuthState;
|
|
997
|
+
isExpanded: boolean;
|
|
998
|
+
onToggle: () => void;
|
|
999
|
+
onAuthChange: (appId: string, credentials: Record<string, string>) => void;
|
|
1000
|
+
onTestConnection: (appId: string, authenticationId?: string) => void;
|
|
1001
|
+
onSaveAuth: (appId: string, credentials: Record<string, string>) => Promise<boolean>;
|
|
1002
|
+
apiAuthEntries: ApiAuthEntry[];
|
|
1003
|
+
onSelectAuth?: (appId: string, authId: string) => void;
|
|
1004
|
+
/** Called to refresh auth entries (e.g. after OAuth popup closes) */
|
|
1005
|
+
onRefreshAuth?: () => Promise<void> | void;
|
|
1006
|
+
/** When true, do NOT auto-fill URL fields with the param.example value. */
|
|
1007
|
+
disableUrlPrefill?: boolean;
|
|
1008
|
+
/** Hide the entire card header row (app icon, name, description, chips, docs, expand). Body stays expanded. */
|
|
1009
|
+
hideHeader?: boolean;
|
|
1010
|
+
/** Hide the "Configured / Not configured" and "Tested / Not tested" chips. */
|
|
1011
|
+
hideStatusChips?: boolean;
|
|
1012
|
+
/** Hide the documentation (book icon) link. */
|
|
1013
|
+
hideDocsLink?: boolean;
|
|
1014
|
+
/** Hide URL-like fields (name/id containing "url", "endpoint", or "host").
|
|
1015
|
+
* Use when the URL is supplied externally (e.g. via a provider preset). */
|
|
1016
|
+
hideUrlFields?: boolean;
|
|
1017
|
+
/** Render without the outer Card border so the component can be embedded
|
|
1018
|
+
* inside another bordered container without the nested "double border" look. */
|
|
1019
|
+
borderless?: boolean;
|
|
1020
|
+
/** Compact mode for embedded auth setup (e.g. Local LLM). Hides the
|
|
1021
|
+
* "Select authentication" dropdown and the large "Pending Verification"
|
|
1022
|
+
* detail panel with its standalone Test Connection button. The inline
|
|
1023
|
+
* credentials form (with the small "Test Authentication" CTA) is always
|
|
1024
|
+
* visible so users can edit & retest in one place. */
|
|
1025
|
+
compactAuthForm?: boolean;
|
|
1026
|
+
/** Render additional fields inside the expanded body, above the credential
|
|
1027
|
+
* inputs. The slot receives the live `localCredentials` and a `setField`
|
|
1028
|
+
* helper so its values are persisted as part of the auth on Save. */
|
|
1029
|
+
extraFieldsSlot?: (api: {
|
|
1030
|
+
credentials: Record<string, string>;
|
|
1031
|
+
setField: (key: string, value: string) => void;
|
|
1032
|
+
}) => React.ReactNode;
|
|
1033
|
+
}
|
|
1034
|
+
declare const AppAuthCard: ({ app, authState, isExpanded, onToggle, onAuthChange, onTestConnection, onSaveAuth, apiAuthEntries, onSelectAuth, onRefreshAuth, disableUrlPrefill, hideHeader, hideStatusChips, hideDocsLink, hideUrlFields, borderless, compactAuthForm, extraFieldsSlot, globalUrl, userdata, isLoaded, isLoggedIn, serverside, }: AppAuthCardProps) => React$1.JSX.Element;
|
|
1035
|
+
declare const AppAuthConfig: ({ apps, authStates, authenticatedApps, onAuthChange, onTestConnection, onSaveAuth, onSelectAuth, onRefreshAuth, globalUrl, userdata, isLoaded, isLoggedIn, serverside, }: AppAuthConfigProps) => React$1.JSX.Element;
|
|
1036
|
+
|
|
1037
|
+
/**
|
|
1038
|
+
* useAppAuthFlow — Shared hook for the search→authenticate flow.
|
|
1039
|
+
* Encapsulates fetching auth entries, saving credentials, and testing connections.
|
|
1040
|
+
* Used by AddAppModal, AppSearchDrawer, and anywhere else that needs app auth.
|
|
1041
|
+
*
|
|
1042
|
+
* Self-contained: lives in Shuffle-MCPs so library consumers can use the same
|
|
1043
|
+
* auth flow without host-app wiring.
|
|
1044
|
+
*/
|
|
1045
|
+
|
|
1046
|
+
declare function useAppAuthFlow(): {
|
|
1047
|
+
selectedApp: AlgoliaSearchApp;
|
|
1048
|
+
authState: AppAuthState;
|
|
1049
|
+
authenticatedApps: ApiAuthEntry[];
|
|
1050
|
+
authLoading: boolean;
|
|
1051
|
+
selectApp: (app: AlgoliaSearchApp) => void;
|
|
1052
|
+
clearSelection: () => void;
|
|
1053
|
+
handleAuthChange: (_appId: string, credentials: Record<string, string>) => void;
|
|
1054
|
+
handleTestConnection: (systemId: string, authenticationId?: string) => Promise<void>;
|
|
1055
|
+
handleSaveAuth: (appId: string, credentials: Record<string, string>) => Promise<boolean>;
|
|
1056
|
+
refreshAuth: () => Promise<void>;
|
|
1057
|
+
};
|
|
1058
|
+
|
|
844
1059
|
/**
|
|
845
1060
|
* Shared diagnosis utilities for an agent execution result.
|
|
846
1061
|
*
|
|
@@ -998,76 +1213,7 @@ interface IntegrationStatusProps extends ShuffleHostProps {
|
|
|
998
1213
|
}
|
|
999
1214
|
/** Fire this event from anywhere to make all IntegrationStatus instances re-fetch. */
|
|
1000
1215
|
declare const refreshAllIntegrationStatus: () => void;
|
|
1001
|
-
declare const IntegrationStatus: ({ collapsed, filterApps, onAddClick, iconSize, onDisable, disabledApps, showAll, hideAddButton, hideHeader, priorityCategory, extraApps }: IntegrationStatusProps) =>
|
|
1002
|
-
|
|
1003
|
-
type AuthStatus = 'pending' | 'testing' | 'connected' | 'error';
|
|
1004
|
-
interface AppAuthState {
|
|
1005
|
-
systemId: string;
|
|
1006
|
-
status: AuthStatus;
|
|
1007
|
-
credentials: Record<string, string>;
|
|
1008
|
-
errorMessage?: string;
|
|
1009
|
-
successMessage?: string;
|
|
1010
|
-
warningMessage?: string;
|
|
1011
|
-
workflowId?: string;
|
|
1012
|
-
executionId?: string;
|
|
1013
|
-
errorCode?: number;
|
|
1014
|
-
}
|
|
1015
|
-
interface ApiAuthEntry {
|
|
1016
|
-
id?: string;
|
|
1017
|
-
label?: string;
|
|
1018
|
-
app: {
|
|
1019
|
-
id: string;
|
|
1020
|
-
name: string;
|
|
1021
|
-
large_image?: string;
|
|
1022
|
-
};
|
|
1023
|
-
active?: boolean;
|
|
1024
|
-
created?: number;
|
|
1025
|
-
edited?: number;
|
|
1026
|
-
validation?: {
|
|
1027
|
-
valid: boolean;
|
|
1028
|
-
error?: string;
|
|
1029
|
-
last_valid?: number;
|
|
1030
|
-
};
|
|
1031
|
-
}
|
|
1032
|
-
interface AppAuthConfigProps extends ShuffleHostProps {
|
|
1033
|
-
apps: AlgoliaSearchApp[];
|
|
1034
|
-
authStates: Record<string, AppAuthState>;
|
|
1035
|
-
authenticatedApps?: ApiAuthEntry[];
|
|
1036
|
-
onAuthChange: (appId: string, credentials: Record<string, string>) => void;
|
|
1037
|
-
onTestConnection: (appId: string, authenticationId?: string) => void;
|
|
1038
|
-
onSaveAuth: (appId: string, credentials: Record<string, string>) => Promise<boolean>;
|
|
1039
|
-
onSelectAuth?: (appId: string, authId: string) => void;
|
|
1040
|
-
onRefreshAuth?: () => Promise<void> | void;
|
|
1041
|
-
}
|
|
1042
|
-
interface AppAuthCardProps extends ShuffleHostProps {
|
|
1043
|
-
app: AlgoliaSearchApp;
|
|
1044
|
-
authState: AppAuthState;
|
|
1045
|
-
isExpanded: boolean;
|
|
1046
|
-
onToggle: () => void;
|
|
1047
|
-
onAuthChange: (appId: string, credentials: Record<string, string>) => void;
|
|
1048
|
-
onTestConnection: (appId: string, authenticationId?: string) => void;
|
|
1049
|
-
onSaveAuth: (appId: string, credentials: Record<string, string>) => Promise<boolean>;
|
|
1050
|
-
apiAuthEntries: ApiAuthEntry[];
|
|
1051
|
-
onSelectAuth?: (appId: string, authId: string) => void;
|
|
1052
|
-
/** Called to refresh auth entries (e.g. after OAuth popup closes) */
|
|
1053
|
-
onRefreshAuth?: () => Promise<void> | void;
|
|
1054
|
-
/** When true, do NOT auto-fill URL fields with the param.example value. */
|
|
1055
|
-
disableUrlPrefill?: boolean;
|
|
1056
|
-
/** Hide the entire card header row (app icon, name, description, chips, docs, expand). Body stays expanded. */
|
|
1057
|
-
hideHeader?: boolean;
|
|
1058
|
-
/** Hide the "Configured / Not configured" and "Tested / Not tested" chips. */
|
|
1059
|
-
hideStatusChips?: boolean;
|
|
1060
|
-
/** Hide the documentation (book icon) link. */
|
|
1061
|
-
hideDocsLink?: boolean;
|
|
1062
|
-
/** Hide URL-like fields (name/id containing "url", "endpoint", or "host").
|
|
1063
|
-
* Use when the URL is supplied externally (e.g. via a provider preset). */
|
|
1064
|
-
hideUrlFields?: boolean;
|
|
1065
|
-
/** Render without the outer Card border so the component can be embedded
|
|
1066
|
-
* inside another bordered container without the nested "double border" look. */
|
|
1067
|
-
borderless?: boolean;
|
|
1068
|
-
}
|
|
1069
|
-
declare const AppAuthCard: ({ app, authState, isExpanded, onToggle, onAuthChange, onTestConnection, onSaveAuth, apiAuthEntries, onSelectAuth, onRefreshAuth, disableUrlPrefill, hideHeader, hideStatusChips, hideDocsLink, hideUrlFields, borderless, globalUrl, userdata, isLoaded, isLoggedIn, serverside, }: AppAuthCardProps) => react_jsx_runtime.JSX.Element;
|
|
1070
|
-
declare const AppAuthConfig: ({ apps, authStates, authenticatedApps, onAuthChange, onTestConnection, onSaveAuth, onSelectAuth, onRefreshAuth, globalUrl, userdata, isLoaded, isLoggedIn, serverside, }: AppAuthConfigProps) => react_jsx_runtime.JSX.Element;
|
|
1216
|
+
declare const IntegrationStatus: ({ collapsed, filterApps, onAddClick, iconSize, onDisable, disabledApps, showAll, hideAddButton, hideHeader, priorityCategory, extraApps }: IntegrationStatusProps) => React$1.JSX.Element;
|
|
1071
1217
|
|
|
1072
1218
|
declare function useAppAuth(): {
|
|
1073
1219
|
authStates: Record<string, AppAuthState>;
|
|
@@ -1087,7 +1233,7 @@ interface AppDetailContextType {
|
|
|
1087
1233
|
}
|
|
1088
1234
|
declare const AppDetailProvider: ({ children }: {
|
|
1089
1235
|
children: ReactNode;
|
|
1090
|
-
}) =>
|
|
1236
|
+
}) => React$1.JSX.Element;
|
|
1091
1237
|
declare const useAppDetail: () => AppDetailContextType;
|
|
1092
1238
|
/** Safe variant: returns null if no provider is mounted. Useful for components used both inside and outside the dashboard. */
|
|
1093
1239
|
declare const useAppDetailOptional: () => AppDetailContextType;
|
|
@@ -1147,7 +1293,7 @@ interface AgentIconProps {
|
|
|
1147
1293
|
/**
|
|
1148
1294
|
* Renders the Singul agent icon — use this everywhere instead of 🤖.
|
|
1149
1295
|
*/
|
|
1150
|
-
declare const AgentIcon: ({ size, className, style }: AgentIconProps) =>
|
|
1296
|
+
declare const AgentIcon: ({ size, className, style }: AgentIconProps) => React$1.JSX.Element;
|
|
1151
1297
|
|
|
1152
1298
|
/**
|
|
1153
1299
|
* Shuffle Datastore Service
|
|
@@ -1162,6 +1308,8 @@ interface DatastoreItem {
|
|
|
1162
1308
|
created?: number;
|
|
1163
1309
|
edited?: number;
|
|
1164
1310
|
public_authorization?: string;
|
|
1311
|
+
publicAuthorization?: string;
|
|
1312
|
+
PublicAuthorization?: string;
|
|
1165
1313
|
enrichments?: Array<{
|
|
1166
1314
|
type: string;
|
|
1167
1315
|
value?: string;
|
|
@@ -1192,6 +1340,11 @@ interface CategoryConfig {
|
|
|
1192
1340
|
public: boolean;
|
|
1193
1341
|
};
|
|
1194
1342
|
}
|
|
1343
|
+
interface DatastoreKeyExisted {
|
|
1344
|
+
key: string;
|
|
1345
|
+
existed: boolean;
|
|
1346
|
+
changed: boolean;
|
|
1347
|
+
}
|
|
1195
1348
|
interface DatastoreResponse {
|
|
1196
1349
|
success: boolean;
|
|
1197
1350
|
data?: DatastoreItem[];
|
|
@@ -1200,6 +1353,10 @@ interface DatastoreResponse {
|
|
|
1200
1353
|
totalAmount?: number;
|
|
1201
1354
|
error?: string;
|
|
1202
1355
|
diagnostics?: DatastoreDiagnostics;
|
|
1356
|
+
/** Per-key write result reported by the backend (v2 datastore writes). */
|
|
1357
|
+
keysExisted?: DatastoreKeyExisted[];
|
|
1358
|
+
/** True when the backend reports the stored value actually changed. */
|
|
1359
|
+
changed?: boolean;
|
|
1203
1360
|
}
|
|
1204
1361
|
interface DatastoreDiagnostics {
|
|
1205
1362
|
operation: string;
|
|
@@ -1232,7 +1389,9 @@ declare const setDatastoreItems: (items: {
|
|
|
1232
1389
|
/**
|
|
1233
1390
|
* Get a single item from the datastore
|
|
1234
1391
|
*/
|
|
1235
|
-
declare const getDatastoreItem: (key: string, category: string, overrideOrgId?: string
|
|
1392
|
+
declare const getDatastoreItem: (key: string, category: string, overrideOrgId?: string, options?: {
|
|
1393
|
+
priority?: boolean;
|
|
1394
|
+
}) => Promise<DatastoreResponse & {
|
|
1236
1395
|
item?: DatastoreItem;
|
|
1237
1396
|
}>;
|
|
1238
1397
|
/**
|
|
@@ -1244,7 +1403,7 @@ declare const getDatastoreItemPublic: (key: string, orgId: string, authorization
|
|
|
1244
1403
|
/**
|
|
1245
1404
|
* Get all items in a category with optional cursor-based pagination
|
|
1246
1405
|
*/
|
|
1247
|
-
declare const getDatastoreByCategory: (category: string, cursor?: string, limit?: number) => Promise<DatastoreResponse>;
|
|
1406
|
+
declare const getDatastoreByCategory: (category: string, cursor?: string, limit?: number, overrideOrgId?: string) => Promise<DatastoreResponse>;
|
|
1248
1407
|
/**
|
|
1249
1408
|
* Delete a single item from the datastore
|
|
1250
1409
|
*/
|
|
@@ -1260,6 +1419,7 @@ declare const deleteDatastoreItems: (keys: string[], category: string) => Promis
|
|
|
1260
1419
|
}>;
|
|
1261
1420
|
declare const DATASTORE_CATEGORIES: {
|
|
1262
1421
|
readonly INCIDENTS: "shuffle-security_incidents";
|
|
1422
|
+
readonly VULNERABILITIES: "shuffle-security_vulnerabilities";
|
|
1263
1423
|
readonly ASSETS: "shuffle-security_assets";
|
|
1264
1424
|
readonly TEMPLATES: "shuffle-security_templates";
|
|
1265
1425
|
readonly CONFIGURATION: "shuffle-security_configuration";
|
|
@@ -1390,7 +1550,7 @@ interface UsageBarProps {
|
|
|
1390
1550
|
actionLabel?: string;
|
|
1391
1551
|
actionHref?: string;
|
|
1392
1552
|
}
|
|
1393
|
-
declare const UsageBar:
|
|
1553
|
+
declare const UsageBar: React__default.FC<UsageBarProps>;
|
|
1394
1554
|
|
|
1395
1555
|
/**
|
|
1396
1556
|
* Local Singul Library — fully self-contained.
|
|
@@ -1409,31 +1569,33 @@ declare const UsageBar: React$1.FC<UsageBarProps>;
|
|
|
1409
1569
|
*/
|
|
1410
1570
|
type ShuffleTheme = 'light' | 'dark' | 'system';
|
|
1411
1571
|
|
|
1412
|
-
declare const ShuffleMCP:
|
|
1572
|
+
declare const ShuffleMCP: React__default.ForwardRefExoticComponent<any>;
|
|
1573
|
+
|
|
1574
|
+
declare const AppDetailDrawer: React__default.ComponentType<any>;
|
|
1575
|
+
declare const AppSearchDrawer: React__default.ComponentType<any>;
|
|
1576
|
+
declare const AiAgentPromptsEditor: React__default.ComponentType<any>;
|
|
1413
1577
|
|
|
1414
|
-
declare const
|
|
1415
|
-
declare const
|
|
1416
|
-
declare const AiAgentPromptsEditor: React$1.ComponentType<any>;
|
|
1578
|
+
declare const ShufflePipelinesBanner: React__default.ComponentType<any>;
|
|
1579
|
+
declare const AppTitleHeader: React__default.ComponentType<any>;
|
|
1417
1580
|
|
|
1418
|
-
declare const
|
|
1419
|
-
declare const AppTitleHeader: React$1.ComponentType<any>;
|
|
1581
|
+
declare const AppAuthSection: React__default.ComponentType<any>;
|
|
1420
1582
|
|
|
1421
|
-
declare const
|
|
1583
|
+
declare const TryMcpSection: React__default.ComponentType<any>;
|
|
1422
1584
|
|
|
1423
|
-
declare const
|
|
1585
|
+
declare const SingulActionsPreview: React__default.ComponentType<any>;
|
|
1586
|
+
declare const AgentUI: React__default.ComponentType<any>;
|
|
1424
1587
|
|
|
1425
|
-
declare const
|
|
1426
|
-
declare const AgentUI: React$1.ComponentType<any>;
|
|
1588
|
+
declare const AgentRunDrawer: React__default.ComponentType<any>;
|
|
1427
1589
|
|
|
1428
|
-
declare const
|
|
1590
|
+
declare const AgentActivityList: React__default.ComponentType<any>;
|
|
1429
1591
|
|
|
1430
|
-
declare const
|
|
1592
|
+
declare const AgentExecutionDrawer: React__default.ComponentType<any>;
|
|
1431
1593
|
|
|
1432
|
-
declare const
|
|
1594
|
+
declare const AgentsView: React__default.ComponentType<any>;
|
|
1433
1595
|
|
|
1434
|
-
declare const
|
|
1596
|
+
declare const AgentRunDiagnosisBanner: React__default.ComponentType<any>;
|
|
1597
|
+
declare const LocalLLMConfig: React__default.ComponentType<any>;
|
|
1435
1598
|
|
|
1436
|
-
declare const
|
|
1437
|
-
declare const LocalLLMConfig: React$1.ComponentType<any>;
|
|
1599
|
+
declare const AddAppModal: React__default.ComponentType<any>;
|
|
1438
1600
|
|
|
1439
|
-
export { API_CONFIG, AgentActivityList, type AgentActivityListProps, type AgentActivityParams, type AgentActivityResponse, type AgentDecision, AgentExecutionDrawer, type AgentExecutionDrawerProps, AgentIcon, type AgentLocalModel, 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, LocalLLMConfig, type LocalLLMConfigProps, type LocalLLMTestResult, type OutputDiagnosis, type ResolvedApp, SIEM_PATTERNS, type ShuffleHostProps, ShuffleMCP, type ShuffleMCPHandle, type ShuffleMCPProps, type ShuffleMcpColorMode, ShuffleMcpThemeProvider, type ShuffleMcpThemeProviderProps, ShufflePipelinesBanner, type ShuffleTheme, SingulActionsPreview, THREAT_INTEL_PATTERNS, TryMcpSection, type TryMcpSectionProps, UsageBar, type UsageBarProps, VULN_SCANNER_PATTERNS, type ValidatedIngestionApp, ShuffleMCP as default, deleteDatastoreItem, deleteDatastoreItems, diagnoseOutputWarning, extractActionAppNames, extractValidatedIngestionApps, extractWorkflowActionAppNames, 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, scheduleAgentRun, searchAgentActivity, seedResolvedApp, setDatastoreItem, setDatastoreItems, setHostBaseUrl, setRegionUrl, setRuntimeOrgId, setToastImpl, shuffleFetch, toast, useAppAuth, useAppDetail, useAppDetailOptional, useAppLookup, useSyncHostBaseUrl };
|
|
1601
|
+
export { AGENT_PRESETS, AGENT_PROMPT_PREFIX_CATEGORY, API_CONFIG, AddAppModal, type AddAppModalProps, AgentActivityList, type AgentActivityListProps, type AgentActivityParams, type AgentActivityResponse, type AgentDecision, AgentExecutionDrawer, type AgentExecutionDrawerProps, AgentIcon, type AgentLocalModel, type AgentPreset, AgentPresets, type AgentPresetsProps, AgentPromptPrefixChip, type AgentPromptPrefixChipProps, 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, DEFAULT_AGENT_PROMPT_PREFIX, 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, LocalLLMConfig, type LocalLLMConfigProps, type LocalLLMTestResult, type OutputDiagnosis, type ResolvedApp, SIEM_PATTERNS, type ShuffleHostProps, ShuffleMCP, type ShuffleMCPHandle, type ShuffleMCPProps, type ShuffleMcpColorMode, ShuffleMcpThemeProvider, type ShuffleMcpThemeProviderProps, ShufflePipelinesBanner, type ShuffleTheme, SingulActionsPreview, THREAT_INTEL_PATTERNS, TryMcpSection, type TryMcpSectionProps, UsageBar, type UsageBarProps, type UseAgentPromptPrefixOptions, VULN_SCANNER_PATTERNS, type ValidatedIngestionApp, ShuffleMCP as default, deleteDatastoreItem, deleteDatastoreItems, diagnoseOutputWarning, extractActionAppNames, extractValidatedIngestionApps, extractWorkflowActionAppNames, 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, scheduleAgentRun, searchAgentActivity, seedResolvedApp, setDatastoreItem, setDatastoreItems, setHostBaseUrl, setRegionUrl, setRuntimeOrgId, setToastImpl, shuffleFetch, toast, useAgentPromptPrefix, useAppAuth, useAppAuthFlow, useAppDetail, useAppDetailOptional, useAppLookup, useSyncHostBaseUrl };
|