@iblai/web-containers 1.52.0 → 1.53.0
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/cjs/components/chat/loading-message.js +13 -0
- package/dist/cjs/components/chat/loading-message.js.map +1 -0
- package/dist/cjs/components/mentors/mentor-selection-grid.js +4 -2
- package/dist/cjs/components/mentors/mentor-selection-grid.js.map +1 -1
- package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-management-content.js +9 -5
- package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-management-content.js.map +1 -1
- package/dist/cjs/components/profile/admin/tabs/UsersTab.js +3 -4
- package/dist/cjs/components/profile/admin/tabs/UsersTab.js.map +1 -1
- package/dist/cjs/components/workflows/action-tooltip.js +11 -0
- package/dist/cjs/components/workflows/action-tooltip.js.map +1 -0
- package/dist/cjs/components/workflows/node-config-panel.js +576 -0
- package/dist/cjs/components/workflows/node-config-panel.js.map +1 -0
- package/dist/cjs/components/workflows/tool-dialogs.js +95 -60
- package/dist/cjs/components/workflows/tool-dialogs.js.map +1 -1
- package/dist/cjs/components/workflows/workflow-canvas.js +1028 -0
- package/dist/cjs/components/workflows/workflow-canvas.js.map +1 -0
- package/dist/cjs/components/workflows/workflow-definition.js +369 -0
- package/dist/cjs/components/workflows/workflow-definition.js.map +1 -0
- package/dist/cjs/components/workflows/workflow-editor.js +523 -0
- package/dist/cjs/components/workflows/workflow-editor.js.map +1 -0
- package/dist/cjs/components/workflows/workflow-preview-chat.js +57 -0
- package/dist/cjs/components/workflows/workflow-preview-chat.js.map +1 -0
- package/dist/cjs/components/workflows/workflow-sidebar.js +2 -2
- package/dist/cjs/components/workflows/workflow-sidebar.js.map +1 -1
- package/dist/cjs/components/workflows/workflows-list.js +115 -0
- package/dist/cjs/components/workflows/workflows-list.js.map +1 -0
- package/dist/cjs/i18n/messages/en.json.js +207 -18
- package/dist/cjs/i18n/messages/en.json.js.map +1 -1
- package/dist/cjs/i18n/messages/es.json.js +201 -12
- package/dist/cjs/i18n/messages/es.json.js.map +1 -1
- package/dist/cjs/i18n/messages/fr.json.js +201 -12
- package/dist/cjs/i18n/messages/fr.json.js.map +1 -1
- package/dist/cjs/i18n/messages/zh.json.js +201 -12
- package/dist/cjs/i18n/messages/zh.json.js.map +1 -1
- package/dist/cjs/index.js +17 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/next/index.js +10 -0
- package/dist/cjs/next/index.js.map +1 -1
- package/dist/cjs/web-containers/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/components/chat/loading-message.js +11 -0
- package/dist/esm/components/chat/loading-message.js.map +1 -0
- package/dist/esm/components/mentors/mentor-selection-grid.js +4 -2
- package/dist/esm/components/mentors/mentor-selection-grid.js.map +1 -1
- package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-management-content.js +9 -5
- package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-management-content.js.map +1 -1
- package/dist/esm/components/profile/admin/tabs/UsersTab.js +3 -4
- package/dist/esm/components/profile/admin/tabs/UsersTab.js.map +1 -1
- package/dist/esm/components/workflows/action-tooltip.js +9 -0
- package/dist/esm/components/workflows/action-tooltip.js.map +1 -0
- package/dist/esm/components/workflows/node-config-panel.js +574 -0
- package/dist/esm/components/workflows/node-config-panel.js.map +1 -0
- package/dist/esm/components/workflows/tool-dialogs.js +96 -61
- package/dist/esm/components/workflows/tool-dialogs.js.map +1 -1
- package/dist/esm/components/workflows/workflow-canvas.js +1026 -0
- package/dist/esm/components/workflows/workflow-canvas.js.map +1 -0
- package/dist/esm/components/workflows/workflow-definition.js +352 -0
- package/dist/esm/components/workflows/workflow-definition.js.map +1 -0
- package/dist/esm/components/workflows/workflow-editor.js +521 -0
- package/dist/esm/components/workflows/workflow-editor.js.map +1 -0
- package/dist/esm/components/workflows/workflow-preview-chat.js +55 -0
- package/dist/esm/components/workflows/workflow-preview-chat.js.map +1 -0
- package/dist/esm/components/workflows/workflow-sidebar.js +2 -2
- package/dist/esm/components/workflows/workflow-sidebar.js.map +1 -1
- package/dist/esm/components/workflows/workflows-list.js +113 -0
- package/dist/esm/components/workflows/workflows-list.js.map +1 -0
- package/dist/esm/i18n/messages/en.json.js +203 -19
- package/dist/esm/i18n/messages/en.json.js.map +1 -1
- package/dist/esm/i18n/messages/es.json.js +197 -13
- package/dist/esm/i18n/messages/es.json.js.map +1 -1
- package/dist/esm/i18n/messages/fr.json.js +197 -13
- package/dist/esm/i18n/messages/fr.json.js.map +1 -1
- package/dist/esm/i18n/messages/zh.json.js +197 -13
- package/dist/esm/i18n/messages/zh.json.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/next/index.js +5 -0
- package/dist/esm/next/index.js.map +1 -1
- package/dist/esm/web-containers/tsconfig.tsbuildinfo +1 -1
- package/dist/index.d.ts +164 -19
- package/dist/next/index.d.ts +215 -3
- package/dist/package.json +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var webUtils = require('@iblai/web-utils');
|
|
6
|
+
var sonner = require('sonner');
|
|
7
|
+
var context = require('../../i18n/context.js');
|
|
8
|
+
require('../../packages/i18n/dist/index.esm.js');
|
|
9
|
+
var index = require('../chat/chat-messages/index.js');
|
|
10
|
+
var chatInputForm = require('../chat-input-form.js');
|
|
11
|
+
var loadingMessage = require('../chat/loading-message.js');
|
|
12
|
+
var bot = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/bot.js');
|
|
13
|
+
|
|
14
|
+
const noopAsync = async () => { };
|
|
15
|
+
const noop = () => { };
|
|
16
|
+
function WorkflowPreviewChat({ tenantKey, mentorId, username, axdToken, baseWsUrl, redirectToAuthSpa, newChatSignal, }) {
|
|
17
|
+
const t = context.useT();
|
|
18
|
+
const [highlightedMessageId, setHighlightedMessageId] = React.useState(null);
|
|
19
|
+
const chatContainerRef = React.useRef(null);
|
|
20
|
+
const handledNewChatSignal = React.useRef(newChatSignal);
|
|
21
|
+
const { messages, sendMessage, stopGenerating, setMessage, activeTab, mentorName, profileImage, sessionId, enableSafetyDisclaimer, isPending, isStreaming, currentStreamingMessage, isConnected, startNewChat, } = webUtils.useAdvancedChat({
|
|
22
|
+
mentorId: mentorId !== null && mentorId !== void 0 ? mentorId : '',
|
|
23
|
+
tenantKey,
|
|
24
|
+
// Hosts pass '' for a signed-out user, who chats as ANONYMOUS_USERNAME.
|
|
25
|
+
username: username || webUtils.ANONYMOUS_USERNAME,
|
|
26
|
+
token: axdToken,
|
|
27
|
+
wsUrl: `${baseWsUrl}/ws/langflow/`,
|
|
28
|
+
stopGenerationWsUrl: `${baseWsUrl}/ws/langflow-stop-generation/`,
|
|
29
|
+
redirectToAuthSpa,
|
|
30
|
+
cachedSessionId: {},
|
|
31
|
+
errorHandler: (message) => {
|
|
32
|
+
sonner.toast.error(message);
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
const visibleMessages = messages.length > 0 && messages[0].role === 'assistant' ? messages.slice(1) : messages;
|
|
36
|
+
React.useEffect(() => {
|
|
37
|
+
if (handledNewChatSignal.current === newChatSignal)
|
|
38
|
+
return;
|
|
39
|
+
handledNewChatSignal.current = newChatSignal;
|
|
40
|
+
startNewChat();
|
|
41
|
+
}, [newChatSignal, startNewChat]);
|
|
42
|
+
React.useEffect(() => {
|
|
43
|
+
if (!chatContainerRef.current)
|
|
44
|
+
return;
|
|
45
|
+
chatContainerRef.current.scrollTo({
|
|
46
|
+
top: chatContainerRef.current.scrollHeight,
|
|
47
|
+
behavior: 'smooth',
|
|
48
|
+
});
|
|
49
|
+
}, [visibleMessages.length, isStreaming, isPending]);
|
|
50
|
+
const handleSubmit = React.useCallback((content) => {
|
|
51
|
+
sendMessage(activeTab, content, { visible: true });
|
|
52
|
+
}, [activeTab, sendMessage]);
|
|
53
|
+
return (jsxRuntime.jsxs("div", { className: "flex h-full flex-col", children: [jsxRuntime.jsx("div", { ref: chatContainerRef, className: "flex-1 overflow-y-auto p-6", children: visibleMessages.length === 0 && !isPending && !isStreaming ? (jsxRuntime.jsxs("div", { className: "flex h-full flex-col items-center justify-center text-center", children: [jsxRuntime.jsx(bot.default, { className: "text-muted-foreground mb-3 h-10 w-10" }), jsxRuntime.jsx("h2", { className: "text-foreground text-xl font-semibold", children: t('workflowsWorkflowPreviewChat.emptyTitle') }), jsxRuntime.jsx("p", { className: "text-muted-foreground mt-2 text-sm", children: t('workflowsWorkflowPreviewChat.emptyDescription') })] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(index.ChatMessages, { messages: visibleMessages, highlightedMessageId: highlightedMessageId, profileImage: profileImage, mentorName: mentorName, sessionId: sessionId, mentorId: mentorId !== null && mentorId !== void 0 ? mentorId : '', tenantKey: tenantKey, handleHighlightMessage: setHighlightedMessageId, handleSubmit: handleSubmit }), (isPending || isStreaming) && !(currentStreamingMessage === null || currentStreamingMessage === void 0 ? void 0 : currentStreamingMessage.content) && (jsxRuntime.jsx(loadingMessage.LoadingMessage, { mentorName: mentorName, profileImage: profileImage }))] })) }), jsxRuntime.jsx("div", { className: "border-t border-gray-200 p-4", children: jsxRuntime.jsx(chatInputForm.ChatInputForm, { sessionId: sessionId, mentorId: mentorId, onSubmit: handleSubmit, stopGenerating: stopGenerating, onScreenSharingClick: noop, isScreenSharingModalOpen: false, onPhoneCallClick: noop, tenantKey: tenantKey, username: username, enableWebBrowsing: false, setMessage: setMessage, isStreaming: isStreaming, enableSafetyDisclaimer: enableSafetyDisclaimer, updateSessionTools: noopAsync, setSessionTools: noopAsync, activeTools: [], screenSharing: false, deepResearch: false, studyMode: false, imageGeneration: false, codeInterpreter: false, promptsIsEnabled: false, googleSlidesIsEnabled: false, googleDocumentIsEnabled: false, artifactsEnabled: false, compactMode: true, isConnecting: !isConnected }) })] }));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
exports.WorkflowPreviewChat = WorkflowPreviewChat;
|
|
57
|
+
//# sourceMappingURL=workflow-preview-chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-preview-chat.js","sources":["../../../../../../../src/components/workflows/workflow-preview-chat.tsx"],"sourcesContent":[null],"names":["useT","useState","useRef","useAdvancedChat","ANONYMOUS_USERNAME","toast","useEffect","useCallback","_jsxs","_jsx","Bot","_Fragment","ChatMessages","LoadingMessage","ChatInputForm"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ var shuffle = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.
|
|
|
7
7
|
var userCheck = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/user-check.js');
|
|
8
8
|
var clock = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/clock.js');
|
|
9
9
|
var gitBranch = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/git-branch.js');
|
|
10
|
-
var
|
|
10
|
+
var plug = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/plug.js');
|
|
11
11
|
var shield = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/shield.js');
|
|
12
12
|
var search = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/search.js');
|
|
13
13
|
var fileText = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/file-text.js');
|
|
@@ -21,7 +21,7 @@ const iconMap = {
|
|
|
21
21
|
note: fileText.default,
|
|
22
22
|
'file-search': search.default,
|
|
23
23
|
guardrails: shield.default,
|
|
24
|
-
mcp:
|
|
24
|
+
mcp: plug.default,
|
|
25
25
|
'if-else': gitBranch.default,
|
|
26
26
|
conditional: gitBranch.default,
|
|
27
27
|
while: clock.default,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-sidebar.js","sources":["../../../../../../../src/components/workflows/workflow-sidebar.tsx"],"sourcesContent":[null],"names":["Play","Bot","Square","FileText","Search","Shield","
|
|
1
|
+
{"version":3,"file":"workflow-sidebar.js","sources":["../../../../../../../src/components/workflows/workflow-sidebar.tsx"],"sourcesContent":[null],"names":["Play","Bot","Square","FileText","Search","Shield","Plug","GitBranch","Clock","UserCheck","Shuffle","Database","_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var sonner = require('sonner');
|
|
6
|
+
var dataLayer = require('@iblai/data-layer');
|
|
7
|
+
var context = require('../../i18n/context.js');
|
|
8
|
+
require('../../packages/i18n/dist/index.esm.js');
|
|
9
|
+
var button = require('../ui/button.js');
|
|
10
|
+
var input = require('../ui/input.js');
|
|
11
|
+
var card = require('../ui/card.js');
|
|
12
|
+
var createWorkflowModal = require('./create-workflow-modal.js');
|
|
13
|
+
var circleAlert = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/circle-alert.js');
|
|
14
|
+
var search = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/search.js');
|
|
15
|
+
var plus = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/plus.js');
|
|
16
|
+
var loaderCircle = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/loader-circle.js');
|
|
17
|
+
var circleCheck = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/circle-check.js');
|
|
18
|
+
var clock = require('../../node_modules/.pnpm/lucide-react@0.528.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/clock.js');
|
|
19
|
+
|
|
20
|
+
function WorkflowsList({ tenantKey, mentorId, onOpenWorkflow }) {
|
|
21
|
+
const t = context.useT();
|
|
22
|
+
const locale = context.useWebContainersLocale();
|
|
23
|
+
const [searchValue, setSearchValue] = React.useState('');
|
|
24
|
+
const [isCreateModalOpen, setIsCreateModalOpen] = React.useState(false);
|
|
25
|
+
const { data, isLoading, error } = dataLayer.useGetWorkflowsQuery({ org: tenantKey, params: { search: searchValue || undefined } }, { skip: !tenantKey });
|
|
26
|
+
const [createWorkflow, { isLoading: isCreating }] = dataLayer.useCreateWorkflowMutation();
|
|
27
|
+
const workflows = React.useMemo(() => { var _a; return (_a = data === null || data === void 0 ? void 0 : data.results) !== null && _a !== void 0 ? _a : []; }, [data]);
|
|
28
|
+
const getStatusColor = (isActive) => {
|
|
29
|
+
return isActive ? 'text-green-600 bg-green-50' : 'text-gray-600 bg-gray-100';
|
|
30
|
+
};
|
|
31
|
+
const getStatusIcon = (isActive) => {
|
|
32
|
+
return isActive ? jsxRuntime.jsx(circleCheck.default, { className: "h-3 w-3" }) : jsxRuntime.jsx(clock.default, { className: "h-3 w-3" });
|
|
33
|
+
};
|
|
34
|
+
const formatDate = (dateString) => {
|
|
35
|
+
return new Date(dateString).toLocaleDateString(locale, {
|
|
36
|
+
month: 'short',
|
|
37
|
+
day: 'numeric',
|
|
38
|
+
year: 'numeric',
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
const getRelativeTime = (dateString) => {
|
|
42
|
+
const date = new Date(dateString);
|
|
43
|
+
const now = new Date();
|
|
44
|
+
const diffMs = now.getTime() - date.getTime();
|
|
45
|
+
const diffMins = Math.floor(diffMs / 60000);
|
|
46
|
+
const diffHours = Math.floor(diffMs / 3600000);
|
|
47
|
+
const diffDays = Math.floor(diffMs / 86400000);
|
|
48
|
+
if (diffMins < 60)
|
|
49
|
+
return t('workflowsWorkflowsList.minutesAgo', { count: diffMins });
|
|
50
|
+
if (diffHours < 24)
|
|
51
|
+
return t('workflowsWorkflowsList.hoursAgo', { count: diffHours });
|
|
52
|
+
if (diffDays < 7)
|
|
53
|
+
return t('workflowsWorkflowsList.daysAgo', { count: diffDays });
|
|
54
|
+
return formatDate(dateString);
|
|
55
|
+
};
|
|
56
|
+
const handleCreateWorkflow = async (name) => {
|
|
57
|
+
const defaultNodes = [
|
|
58
|
+
{
|
|
59
|
+
id: 'start',
|
|
60
|
+
type: 'start',
|
|
61
|
+
position: { x: 100, y: 250 },
|
|
62
|
+
data: { label: 'Start' },
|
|
63
|
+
draggable: true,
|
|
64
|
+
selectable: true,
|
|
65
|
+
connectable: true,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
id: 'mentor-1',
|
|
69
|
+
type: 'mentor',
|
|
70
|
+
position: { x: 350, y: 250 },
|
|
71
|
+
data: {
|
|
72
|
+
label: 'Agent',
|
|
73
|
+
subtitle: 'Agent',
|
|
74
|
+
mentor_id: mentorId,
|
|
75
|
+
},
|
|
76
|
+
draggable: true,
|
|
77
|
+
selectable: true,
|
|
78
|
+
connectable: true,
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
const defaultEdges = [{ id: 'e-start-mentor-1', source: 'start', target: 'mentor-1' }];
|
|
82
|
+
let workflow;
|
|
83
|
+
try {
|
|
84
|
+
workflow = await createWorkflow({
|
|
85
|
+
org: tenantKey,
|
|
86
|
+
data: {
|
|
87
|
+
name,
|
|
88
|
+
definition: { nodes: defaultNodes, edges: defaultEdges },
|
|
89
|
+
},
|
|
90
|
+
}).unwrap();
|
|
91
|
+
setIsCreateModalOpen(false);
|
|
92
|
+
}
|
|
93
|
+
catch (_a) {
|
|
94
|
+
sonner.toast.error(t('workflowsWorkflowsList.failedToCreateWorkflow'));
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
onOpenWorkflow(workflow);
|
|
98
|
+
};
|
|
99
|
+
if (error) {
|
|
100
|
+
return (jsxRuntime.jsx("div", { className: "flex h-full items-center justify-center", children: jsxRuntime.jsxs("div", { className: "text-center", children: [jsxRuntime.jsx(circleAlert.default, { className: "mx-auto mb-4 h-12 w-12 text-red-500" }), jsxRuntime.jsx("p", { className: "text-gray-600", children: t('workflowsWorkflowsList.failedToLoadWorkflows') })] }) }));
|
|
101
|
+
}
|
|
102
|
+
return (jsxRuntime.jsxs("div", { className: "flex h-full overflow-hidden", children: [jsxRuntime.jsx("div", { className: "scrollbar-hide flex-1 overflow-y-auto", children: jsxRuntime.jsxs("div", { className: "mx-auto max-w-[920px] px-3 py-6 md:px-6 md:py-8", children: [jsxRuntime.jsxs("div", { className: "mb-6", children: [jsxRuntime.jsx("h1", { className: "mb-2 text-2xl font-semibold text-gray-700", children: t('workflowsWorkflowsList.pageTitle') }), jsxRuntime.jsx("p", { className: "text-sm text-gray-600", children: t('workflowsWorkflowsList.pageSubtitle') })] }), jsxRuntime.jsxs("div", { className: "mb-6 flex flex-col gap-4 sm:flex-row", children: [jsxRuntime.jsxs("div", { className: "relative flex-1", children: [jsxRuntime.jsx(search.default, { className: "absolute top-1/2 left-4 h-5 w-5 -translate-y-1/2 transform text-gray-400" }), jsxRuntime.jsx(input.Input, { placeholder: t('workflowsWorkflowsList.searchPlaceholder'), value: searchValue, onChange: (e) => setSearchValue(e.target.value), className: "w-full rounded-lg border-gray-300 py-3 pr-4 pl-12 text-base focus:border-blue-500 focus:ring-2 focus:ring-blue-500" })] }), jsxRuntime.jsxs(button.Button, { className: "h-9 rounded-lg bg-gradient-to-r from-[#38A1E5] to-[#7284FF] px-6 py-3 whitespace-nowrap text-white hover:from-[#2E8BD1] hover:to-[#5F6FE8] has-[>svg]:px-3", onClick: () => setIsCreateModalOpen(true), children: [jsxRuntime.jsx(plus.default, { className: "mr-2 h-5 w-5" }), t('workflowsWorkflowsList.createWorkflow')] })] }), isLoading ? (jsxRuntime.jsx("div", { className: "flex items-center justify-center py-12", children: jsxRuntime.jsx(loaderCircle.default, { className: "h-8 w-8 animate-spin text-gray-400" }) })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-6 md:grid-cols-2", children: workflows.map((workflow) => {
|
|
103
|
+
var _a, _b;
|
|
104
|
+
return (jsxRuntime.jsx(card.Card, { className: "flex w-full cursor-pointer flex-col overflow-hidden rounded-lg border border-[#D0E0FF] bg-[#F5F8FF] transition-shadow hover:shadow-md", onClick: () => onOpenWorkflow(workflow), children: jsxRuntime.jsxs(card.CardContent, { className: "p-6", children: [jsxRuntime.jsxs("div", { className: "mb-3 flex items-start justify-between", children: [jsxRuntime.jsx("h3", { className: "text-base font-semibold text-gray-900", children: workflow.name }), jsxRuntime.jsxs("span", { className: `inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-medium ${getStatusColor((_a = workflow.is_active) !== null && _a !== void 0 ? _a : false)}`, children: [getStatusIcon((_b = workflow.is_active) !== null && _b !== void 0 ? _b : false), workflow.is_active
|
|
105
|
+
? t('workflowsWorkflowsList.statusActive')
|
|
106
|
+
: t('workflowsWorkflowsList.statusDraft')] })] }), jsxRuntime.jsx("p", { className: "mb-4 line-clamp-2 text-sm leading-relaxed text-gray-600", children: workflow.description || t('workflowsWorkflowsList.noDescription') }), jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-xs text-gray-500", children: [jsxRuntime.jsx("span", { children: t('workflowsWorkflowsList.modified', {
|
|
107
|
+
time: getRelativeTime(workflow.updated_at),
|
|
108
|
+
}) }), jsxRuntime.jsx("span", { children: t('workflowsWorkflowsList.created', {
|
|
109
|
+
date: formatDate(workflow.created_at),
|
|
110
|
+
}) })] })] }) }, workflow.unique_id));
|
|
111
|
+
}) }), workflows.length === 0 && !isLoading && (jsxRuntime.jsxs("div", { className: "py-12 text-center", children: [jsxRuntime.jsx("p", { className: "mb-4 text-gray-500", children: t('workflowsWorkflowsList.noWorkflowsFound') }), jsxRuntime.jsxs(button.Button, { variant: "outline", onClick: () => setIsCreateModalOpen(true), className: "h-9 border-gray-300 has-[>svg]:px-3", children: [jsxRuntime.jsx(plus.default, { className: "mr-2 h-4 w-4" }), t('workflowsWorkflowsList.createFirstWorkflow')] })] }))] }))] }) }), jsxRuntime.jsx(createWorkflowModal.CreateWorkflowModal, { open: isCreateModalOpen, onOpenChange: setIsCreateModalOpen, onCreateWorkflow: handleCreateWorkflow, isCreating: isCreating })] }));
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
exports.WorkflowsList = WorkflowsList;
|
|
115
|
+
//# sourceMappingURL=workflows-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows-list.js","sources":["../../../../../../../src/components/workflows/workflows-list.tsx"],"sourcesContent":[null],"names":["useT","useWebContainersLocale","useState","useGetWorkflowsQuery","useCreateWorkflowMutation","useMemo","_jsx","CheckCircle2","Clock","toast","_jsxs","AlertCircle","Search","Input","Button","Plus","Loader2","_Fragment","Card","CardContent","CreateWorkflowModal"],"mappings":"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"}
|
|
@@ -3371,7 +3371,8 @@ var memoryTabSavedMemoriesModal = {
|
|
|
3371
3371
|
var mentorsMentorSelectionGrid = {
|
|
3372
3372
|
searchAgentsPlaceholder: "Search Agents",
|
|
3373
3373
|
loadingAgents: "Loading agents...",
|
|
3374
|
-
noAgentsFound: "No agents found matching your search."
|
|
3374
|
+
noAgentsFound: "No agents found matching your search.",
|
|
3375
|
+
selectAgentAriaLabel: "Select agent {name}"
|
|
3375
3376
|
};
|
|
3376
3377
|
var modalsAddPromptModal = {
|
|
3377
3378
|
addNewPrompt: "Add New Prompt",
|
|
@@ -5969,7 +5970,6 @@ var workflowsToolDialogs = {
|
|
|
5969
5970
|
menuItemCustom: "Custom",
|
|
5970
5971
|
customDialogTitle: "Custom tool",
|
|
5971
5972
|
functionDialogDescription: "The model will intelligently decide to call functions based on input it receives from the user.",
|
|
5972
|
-
learnMore: "Learn more.",
|
|
5973
5973
|
definitionLabel: "Definition",
|
|
5974
5974
|
generateButton: "Generate",
|
|
5975
5975
|
examplesButton: "Examples",
|
|
@@ -6003,7 +6003,7 @@ var workflowsToolDialogs = {
|
|
|
6003
6003
|
vectorStoreLabel: "Vector store",
|
|
6004
6004
|
vectorStorePlaceholder: "Enter vector store id",
|
|
6005
6005
|
createButton: "Create",
|
|
6006
|
-
maxResultsLabel: "Max
|
|
6006
|
+
maxResultsLabel: "Max Results",
|
|
6007
6007
|
queryLabel: "Query",
|
|
6008
6008
|
fileSearchQueryPlaceholder: "Enter file search input. Use {{ curly braces }} to insert variables.",
|
|
6009
6009
|
mcpDialogTitle: "Add MCP server",
|
|
@@ -6016,37 +6016,216 @@ var workflowsToolDialogs = {
|
|
|
6016
6016
|
mcpThirdPartyTitle: "Third party servers",
|
|
6017
6017
|
mcpThirdPartySubtitle: "- created and maintained by others",
|
|
6018
6018
|
guardrailsDescription: "Run moderation, PII, jailbreak, or hallucination checks",
|
|
6019
|
-
guardrailsPiiLabel: "Personally
|
|
6019
|
+
guardrailsPiiLabel: "Personally Identifiable Information",
|
|
6020
6020
|
guardrailsModerationLabel: "Moderation",
|
|
6021
6021
|
guardrailsJailbreakLabel: "Jailbreak",
|
|
6022
6022
|
guardrailsHallucinationLabel: "Hallucination",
|
|
6023
|
-
guardrailsContinueOnErrorLabel: "Continue on
|
|
6023
|
+
guardrailsContinueOnErrorLabel: "Continue on Error",
|
|
6024
6024
|
ifElseDescription: "Create conditions to branch your workflow",
|
|
6025
6025
|
ifLabel: "If",
|
|
6026
6026
|
elseIfLabel: "Else if",
|
|
6027
6027
|
caseNamePlaceholder: "Case name (optional)",
|
|
6028
|
-
conditionPlaceholder: "Enter condition, e.g.
|
|
6028
|
+
conditionPlaceholder: "Enter condition, e.g. variables['score'] > 5",
|
|
6029
6029
|
whileDescription: "Loop while a condition is true",
|
|
6030
|
-
|
|
6031
|
-
|
|
6030
|
+
conditionLabel: "Condition",
|
|
6031
|
+
expressionHint: "Use variables['name'] for a workflow variable and step_results['step-id']['output'] for an earlier step's reply.",
|
|
6032
|
+
maxIterationsLabel: "Max Iterations",
|
|
6033
|
+
maxIterationsHint: "The loop stops after this many rounds even if the condition is still true. Default: {count}.",
|
|
6032
6034
|
userApprovalDescription: "Pause for a human to approve or reject a step",
|
|
6033
6035
|
messageLabel: "Message",
|
|
6034
6036
|
userApprovalMessagePlaceholder: "Describe the message to show the user. Eg. ok to proceed?",
|
|
6035
6037
|
transformDescription: "Reshape data",
|
|
6036
|
-
transformModeExpressions: "Expressions",
|
|
6037
|
-
transformModeObject: "Object",
|
|
6038
6038
|
transformKeyLabel: "Key",
|
|
6039
6039
|
transformValueLabel: "Value",
|
|
6040
|
-
|
|
6041
|
-
setStateDialogTitle: "Set global variables",
|
|
6040
|
+
setStateDialogTitle: "Set Global Variables",
|
|
6042
6041
|
setStateDescription: "Assign values to workflow's state variables",
|
|
6043
|
-
assignValueLabel: "Assign
|
|
6044
|
-
toVariableLabel: "To
|
|
6042
|
+
assignValueLabel: "Assign Value",
|
|
6043
|
+
toVariableLabel: "To Variable",
|
|
6045
6044
|
selectPlaceholder: "Select",
|
|
6046
|
-
|
|
6047
|
-
|
|
6048
|
-
|
|
6049
|
-
|
|
6045
|
+
newButton: "New",
|
|
6046
|
+
newVariableLabel: "New Variable",
|
|
6047
|
+
variableNamePlaceholder: "Enter the variable name",
|
|
6048
|
+
variableNameHint: "Start with a letter and use only letters, numbers and underscores.",
|
|
6049
|
+
noVariablesYet: "No variables yet. Add one with New.",
|
|
6050
|
+
removeRowLabel: "Remove"
|
|
6051
|
+
};
|
|
6052
|
+
var workflowsNodeConfigPanel = {
|
|
6053
|
+
startTitle: "Start",
|
|
6054
|
+
startDescription: "Define the workflow inputs",
|
|
6055
|
+
inputVariables: "Input Variables",
|
|
6056
|
+
stateVariables: "State Variables",
|
|
6057
|
+
addButton: "Add",
|
|
6058
|
+
addStateVariableDialogTitle: "Add State Variable",
|
|
6059
|
+
nameLabel: "Name",
|
|
6060
|
+
variableNamePlaceholder: "Enter the variable name",
|
|
6061
|
+
defaultValueLabel: "Default Value",
|
|
6062
|
+
defaultValueOptional: "Optional",
|
|
6063
|
+
booleanTrue: "True",
|
|
6064
|
+
booleanFalse: "False",
|
|
6065
|
+
defaultValueStringPlaceholder: "Enter default value",
|
|
6066
|
+
saveButton: "Save",
|
|
6067
|
+
mentorDescription: "Configure the agent instructions, model, and tools",
|
|
6068
|
+
changeButton: "Change",
|
|
6069
|
+
selectButton: "Select",
|
|
6070
|
+
selectAgentHint: "Select an agent to load configuration.",
|
|
6071
|
+
instructionsLabel: "Instructions",
|
|
6072
|
+
modelLabel: "Model",
|
|
6073
|
+
loadingModelPlaceholder: "Loading model...",
|
|
6074
|
+
noModelConfiguredPlaceholder: "No model configured",
|
|
6075
|
+
selectAgentModelPlaceholder: "Select an agent to load model",
|
|
6076
|
+
toolsLabel: "Tools",
|
|
6077
|
+
selectAgentToolsHint: "Select an agent to configure tools.",
|
|
6078
|
+
loadingTools: "Loading tools...",
|
|
6079
|
+
noToolsAvailable: "No tools available.",
|
|
6080
|
+
toolInfoAriaLabel: "More info about {toolLabel}",
|
|
6081
|
+
toolSwitchAriaLabel: "{toolLabel} {status}",
|
|
6082
|
+
toolEnabled: "enabled",
|
|
6083
|
+
toolDisabled: "disabled",
|
|
6084
|
+
selectAgentDialogTitle: "Select Agent",
|
|
6085
|
+
guardrailsDescription: "Run moderation, PII, jailbreak, or hallucination checks",
|
|
6086
|
+
inputLabel: "Input",
|
|
6087
|
+
piiLabel: "Personally Identifiable Information",
|
|
6088
|
+
moderationLabel: "Moderation",
|
|
6089
|
+
jailbreakLabel: "Jailbreak",
|
|
6090
|
+
hallucinationLabel: "Hallucination",
|
|
6091
|
+
continueOnErrorLabel: "Continue on Error",
|
|
6092
|
+
fileSearchDescription: "Search datasets for relevant information",
|
|
6093
|
+
datasetLabel: "Dataset",
|
|
6094
|
+
selectDatasetHint: "Select a dataset to search against.",
|
|
6095
|
+
maxResultsLabel: "Max Results",
|
|
6096
|
+
queryLabel: "Query",
|
|
6097
|
+
fileSearchQueryPlaceholder: "Enter the file search input. Put a variable name in double curly braces to insert it.",
|
|
6098
|
+
selectDatasetDialogTitle: "Select Dataset",
|
|
6099
|
+
mcpDescription: "Invoke a Model Context Protocol tool",
|
|
6100
|
+
connectedToolsLabel: "Connected Tools",
|
|
6101
|
+
selectMcpDialogTitle: "Select MCP Connector",
|
|
6102
|
+
whileDescription: "Repeat steps while a condition is true",
|
|
6103
|
+
userApprovalDescription: "Pause for a human to approve or reject a step",
|
|
6104
|
+
messageLabel: "Message",
|
|
6105
|
+
approvalMessagePlaceholder: "Describe the message to show the user. Eg. ok to proceed?",
|
|
6106
|
+
transformDescription: "Reshape data",
|
|
6107
|
+
keyLabel: "Key",
|
|
6108
|
+
valueLabel: "Value",
|
|
6109
|
+
setStateDescription: "Assign values to workflow's state variables",
|
|
6110
|
+
assignValueLabel: "Assign Value",
|
|
6111
|
+
toVariableLabel: "To Variable",
|
|
6112
|
+
selectPlaceholder: "Select",
|
|
6113
|
+
newButton: "New",
|
|
6114
|
+
ifElseDescription: "Create conditions to branch your workflow",
|
|
6115
|
+
conditionIf: "If",
|
|
6116
|
+
conditionElseIf: "Else If {index}",
|
|
6117
|
+
caseNamePlaceholder: "Case name (optional)",
|
|
6118
|
+
conditionPlaceholder: "Enter condition, e.g. variables['score'] > 5",
|
|
6119
|
+
endDescription: "Finish the workflow with the last step's reply",
|
|
6120
|
+
closeLabel: "Close",
|
|
6121
|
+
deleteNodeLabel: "Delete {label}",
|
|
6122
|
+
removeRowLabel: "Remove",
|
|
6123
|
+
variableNameHint: "Start with a letter and use only letters, numbers and underscores.",
|
|
6124
|
+
variableNameTaken: "A variable with this name already exists.",
|
|
6125
|
+
invalidNumberDefault: "Enter a number.",
|
|
6126
|
+
invalidObjectDefault: "Enter a valid JSON object.",
|
|
6127
|
+
invalidListDefault: "Enter a valid JSON list.",
|
|
6128
|
+
noVariablesYet: "No variables yet. Add one on the Start step or with New.",
|
|
6129
|
+
newVariableDialogTitle: "New Variable",
|
|
6130
|
+
expressionHint: "Use variables['name'] for a workflow variable and step_results['step-id']['output'] for an earlier step's reply.",
|
|
6131
|
+
conditionLabel: "Condition",
|
|
6132
|
+
maxIterationsLabel: "Max Iterations",
|
|
6133
|
+
maxIterationsHint: "The loop stops after this many rounds even if the condition is still true. Default: {count}.",
|
|
6134
|
+
whileConnectHint: "Connect Loop to the steps to repeat, and the last of those steps back to this one. Done runs once the condition is false.",
|
|
6135
|
+
removeItemLabel: "Remove {name}",
|
|
6136
|
+
maxIterationsInvalid: "Enter a whole number of 1 or more.",
|
|
6137
|
+
stepIdsLabel: "Step IDs",
|
|
6138
|
+
copyStepReference: "Copy Reference to {label}",
|
|
6139
|
+
deleteVariableTitle: "Delete Variable",
|
|
6140
|
+
deleteVariableDescription: "Are you sure you want to delete \"{name}\"? This action cannot be undone.",
|
|
6141
|
+
variableInUseTitle: "Variable In Use",
|
|
6142
|
+
variableInUseDescription: "\"{name}\" can't be deleted because these steps use it. Remove it from them first.",
|
|
6143
|
+
cancelButton: "Cancel",
|
|
6144
|
+
deleteButton: "Delete",
|
|
6145
|
+
toolFallbackLabel: "Tool"
|
|
6146
|
+
};
|
|
6147
|
+
var workflowsWorkflowCanvas = {
|
|
6148
|
+
ifCondition: "If",
|
|
6149
|
+
elseIf: "Else If {index}",
|
|
6150
|
+
elseCondition: "Else",
|
|
6151
|
+
approve: "Approve",
|
|
6152
|
+
reject: "Reject",
|
|
6153
|
+
stickyNote: "Sticky Note",
|
|
6154
|
+
changeAgent: "Change Agent",
|
|
6155
|
+
deleteNode: "Delete {label}",
|
|
6156
|
+
deleteConnection: "Delete Connection",
|
|
6157
|
+
whileLoop: "Loop",
|
|
6158
|
+
whileDone: "Done",
|
|
6159
|
+
panTool: "Pan",
|
|
6160
|
+
selectTool: "Select",
|
|
6161
|
+
undo: "Undo",
|
|
6162
|
+
redo: "Redo",
|
|
6163
|
+
zoomOut: "Zoom Out",
|
|
6164
|
+
zoomIn: "Zoom In"
|
|
6165
|
+
};
|
|
6166
|
+
var workflowsWorkflowEditor = {
|
|
6167
|
+
statusActive: "Active",
|
|
6168
|
+
statusDraft: "Draft",
|
|
6169
|
+
enterWorkflowNameLabel: "Enter workflow name",
|
|
6170
|
+
editWorkflowNameLabel: "Edit workflow name",
|
|
6171
|
+
unsaved: "Unsaved",
|
|
6172
|
+
closePreview: "Close preview",
|
|
6173
|
+
newChatLabel: "New chat for workflow preview",
|
|
6174
|
+
newChat: "New Chat",
|
|
6175
|
+
publish: "Publish",
|
|
6176
|
+
moreOptionsLabel: "More workflow options",
|
|
6177
|
+
deactivate: "Deactivate",
|
|
6178
|
+
activating: "Activating...",
|
|
6179
|
+
activate: "Activate",
|
|
6180
|
+
"delete": "Delete",
|
|
6181
|
+
preview: "Preview",
|
|
6182
|
+
save: "Save",
|
|
6183
|
+
failedToLoadWorkflow: "Failed to load workflow",
|
|
6184
|
+
goBack: "Go Back",
|
|
6185
|
+
workflowNameUpdated: "Workflow name updated",
|
|
6186
|
+
failedToUpdateName: "Failed to update name",
|
|
6187
|
+
workflowSaved: "Workflow saved",
|
|
6188
|
+
failedToSaveWorkflow: "Failed to save workflow",
|
|
6189
|
+
workflowPublished: "Workflow published",
|
|
6190
|
+
workflowHasValidationIssues: "Workflow has validation issues",
|
|
6191
|
+
failedToPublishWorkflow: "Failed to publish workflow",
|
|
6192
|
+
workflowDeactivated: "Workflow deactivated",
|
|
6193
|
+
failedToDeactivateWorkflow: "Failed to deactivate workflow",
|
|
6194
|
+
workflowActivated: "Workflow activated",
|
|
6195
|
+
failedToActivateWorkflow: "Failed to activate workflow",
|
|
6196
|
+
workflowDeleted: "Workflow deleted",
|
|
6197
|
+
failedToDeleteWorkflow: "Failed to delete workflow",
|
|
6198
|
+
validationErrors: "{count, plural, one {# error} other {# errors}}",
|
|
6199
|
+
validationWarnings: "{count, plural, one {# warning} other {# warnings}}",
|
|
6200
|
+
categoryCore: "Core",
|
|
6201
|
+
categoryTools: "Tools",
|
|
6202
|
+
categoryLogic: "Logic",
|
|
6203
|
+
categoryData: "Data",
|
|
6204
|
+
agentNodeLabel: "Agent",
|
|
6205
|
+
agentCheckedAtRuntime: "The agent in each Agent step is checked when the workflow runs.",
|
|
6206
|
+
agentStepMissingAgent: "An Agent step has no agent selected."
|
|
6207
|
+
};
|
|
6208
|
+
var workflowsWorkflowPreviewChat = {
|
|
6209
|
+
emptyTitle: "Preview your agent",
|
|
6210
|
+
emptyDescription: "Prompt the agent as if you're the user."
|
|
6211
|
+
};
|
|
6212
|
+
var workflowsWorkflowsList = {
|
|
6213
|
+
failedToCreateWorkflow: "Failed to create workflow",
|
|
6214
|
+
failedToLoadWorkflows: "Failed to load workflows",
|
|
6215
|
+
pageTitle: "Workflows",
|
|
6216
|
+
pageSubtitle: "Create and manage automated workflows for your agents",
|
|
6217
|
+
searchPlaceholder: "Search workflows...",
|
|
6218
|
+
createWorkflow: "Create Workflow",
|
|
6219
|
+
statusActive: "Active",
|
|
6220
|
+
statusDraft: "Draft",
|
|
6221
|
+
noDescription: "No description",
|
|
6222
|
+
modified: "Modified {time}",
|
|
6223
|
+
created: "Created {date}",
|
|
6224
|
+
noWorkflowsFound: "No workflows found",
|
|
6225
|
+
createFirstWorkflow: "Create your first workflow",
|
|
6226
|
+
minutesAgo: "{count, plural, one {# minute ago} other {# minutes ago}}",
|
|
6227
|
+
hoursAgo: "{count, plural, one {# hour ago} other {# hours ago}}",
|
|
6228
|
+
daysAgo: "{count, plural, one {# day ago} other {# days ago}}"
|
|
6050
6229
|
};
|
|
6051
6230
|
var ltiTabLabels = {
|
|
6052
6231
|
header: {
|
|
@@ -8371,6 +8550,11 @@ var en = {
|
|
|
8371
8550
|
workflowsCreateWorkflowModal: workflowsCreateWorkflowModal,
|
|
8372
8551
|
workflowsDeleteWorkflowModal: workflowsDeleteWorkflowModal,
|
|
8373
8552
|
workflowsToolDialogs: workflowsToolDialogs,
|
|
8553
|
+
workflowsNodeConfigPanel: workflowsNodeConfigPanel,
|
|
8554
|
+
workflowsWorkflowCanvas: workflowsWorkflowCanvas,
|
|
8555
|
+
workflowsWorkflowEditor: workflowsWorkflowEditor,
|
|
8556
|
+
workflowsWorkflowPreviewChat: workflowsWorkflowPreviewChat,
|
|
8557
|
+
workflowsWorkflowsList: workflowsWorkflowsList,
|
|
8374
8558
|
ltiTabLabels: ltiTabLabels,
|
|
8375
8559
|
evaluationTabLabels: evaluationTabLabels,
|
|
8376
8560
|
benchmarksIndex: benchmarksIndex,
|
|
@@ -8719,5 +8903,10 @@ exports.welcomeChatExploreMentors = welcomeChatExploreMentors;
|
|
|
8719
8903
|
exports.workflowsConnectorManagementDialog = workflowsConnectorManagementDialog;
|
|
8720
8904
|
exports.workflowsCreateWorkflowModal = workflowsCreateWorkflowModal;
|
|
8721
8905
|
exports.workflowsDeleteWorkflowModal = workflowsDeleteWorkflowModal;
|
|
8906
|
+
exports.workflowsNodeConfigPanel = workflowsNodeConfigPanel;
|
|
8722
8907
|
exports.workflowsToolDialogs = workflowsToolDialogs;
|
|
8908
|
+
exports.workflowsWorkflowCanvas = workflowsWorkflowCanvas;
|
|
8909
|
+
exports.workflowsWorkflowEditor = workflowsWorkflowEditor;
|
|
8910
|
+
exports.workflowsWorkflowPreviewChat = workflowsWorkflowPreviewChat;
|
|
8911
|
+
exports.workflowsWorkflowsList = workflowsWorkflowsList;
|
|
8723
8912
|
//# sourceMappingURL=en.json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|