Trim non-core workflow nodes
This commit is contained in:
@@ -11,7 +11,7 @@ import type {
|
|||||||
SystemSummaryData,
|
SystemSummaryData,
|
||||||
} from '#/components/form-editor';
|
} from '#/components/form-editor';
|
||||||
|
|
||||||
import { computed, onUnmounted, ref, watch } from 'vue';
|
import { computed, defineAsyncComponent, onUnmounted, ref, watch } from 'vue';
|
||||||
|
|
||||||
import { Settings2, X } from '@vben/icons';
|
import { Settings2, X } from '@vben/icons';
|
||||||
import { $t } from '@vben/locales';
|
import { $t } from '@vben/locales';
|
||||||
@@ -30,15 +30,33 @@ import {
|
|||||||
runWorkflowStreamApi,
|
runWorkflowStreamApi,
|
||||||
} from '#/api/ai-platform/ai-platform';
|
} from '#/api/ai-platform/ai-platform';
|
||||||
import { ChatBox } from '#/components/ChatBox/index';
|
import { ChatBox } from '#/components/ChatBox/index';
|
||||||
import {
|
const DesignEditorPanel = defineAsyncComponent(() =>
|
||||||
AppDesignPanel,
|
import('#/components/form-editor').then((mod) => mod.DesignEditorPanel),
|
||||||
AppSettingsPanel,
|
);
|
||||||
DashboardBasicInfoConfirmPanel,
|
const AppDesignPanel = defineAsyncComponent(() =>
|
||||||
DashboardDesignConfirmPanel,
|
import('#/components/form-editor').then((mod) => mod.AppDesignPanel),
|
||||||
DashboardPublishConfirmPanel,
|
);
|
||||||
DesignEditorPanel,
|
const AppSettingsPanel = defineAsyncComponent(() =>
|
||||||
SystemSummaryConfirmPanel,
|
import('#/components/form-editor').then((mod) => mod.AppSettingsPanel),
|
||||||
} from '#/components/form-editor';
|
);
|
||||||
|
const DashboardBasicInfoConfirmPanel = defineAsyncComponent(() =>
|
||||||
|
import('#/components/form-editor').then(
|
||||||
|
(mod) => mod.DashboardBasicInfoConfirmPanel,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
const DashboardDesignConfirmPanel = defineAsyncComponent(() =>
|
||||||
|
import('#/components/form-editor').then(
|
||||||
|
(mod) => mod.DashboardDesignConfirmPanel,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
const DashboardPublishConfirmPanel = defineAsyncComponent(() =>
|
||||||
|
import('#/components/form-editor').then(
|
||||||
|
(mod) => mod.DashboardPublishConfirmPanel,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
const SystemSummaryConfirmPanel = defineAsyncComponent(() =>
|
||||||
|
import('#/components/form-editor').then((mod) => mod.SystemSummaryConfirmPanel),
|
||||||
|
);
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
nodes: any[];
|
nodes: any[];
|
||||||
|
|||||||
@@ -55,78 +55,12 @@ const components: Record<string, any> = {
|
|||||||
// 循环节点
|
// 循环节点
|
||||||
loop: defineAsyncComponent(() => import('../panels/LoopPanel.vue')),
|
loop: defineAsyncComponent(() => import('../panels/LoopPanel.vue')),
|
||||||
// 表单节点
|
// 表单节点
|
||||||
form_basic_info: defineAsyncComponent(
|
|
||||||
() => import('../panels/FormBasicInfoPanel.vue'),
|
|
||||||
),
|
|
||||||
form_database_design: defineAsyncComponent(
|
|
||||||
() => import('../panels/FormDatabaseDesignPanel.vue'),
|
|
||||||
),
|
|
||||||
form_database_create: defineAsyncComponent(
|
|
||||||
() => import('../panels/FormDatabaseCreatePanel.vue'),
|
|
||||||
),
|
|
||||||
form_ui_design: defineAsyncComponent(
|
|
||||||
() => import('../panels/FormUIDesignPanel.vue'),
|
|
||||||
),
|
|
||||||
form_list_design: defineAsyncComponent(
|
|
||||||
() => import('../panels/FormListDesignPanel.vue'),
|
|
||||||
),
|
|
||||||
form_create: defineAsyncComponent(
|
|
||||||
() => import('../panels/FormCreatePanel.vue'),
|
|
||||||
),
|
|
||||||
form_publish: defineAsyncComponent(
|
|
||||||
() => import('../panels/FormPublishPanel.vue'),
|
|
||||||
),
|
|
||||||
// 应用节点
|
// 应用节点
|
||||||
app_create: defineAsyncComponent(
|
|
||||||
() => import('../panels/AppCreatePanel.vue'),
|
|
||||||
),
|
|
||||||
app_design: defineAsyncComponent(
|
|
||||||
() => import('../panels/AppDesignPanel.vue'),
|
|
||||||
),
|
|
||||||
app_settings: defineAsyncComponent(
|
|
||||||
() => import('../panels/AppSettingsPanel.vue'),
|
|
||||||
),
|
|
||||||
app_update: defineAsyncComponent(
|
|
||||||
() => import('../panels/AppUpdatePanel.vue'),
|
|
||||||
),
|
|
||||||
// 仪表盘节点
|
// 仪表盘节点
|
||||||
dashboard_basic_info: defineAsyncComponent(
|
|
||||||
() => import('../panels/DashboardBasicInfoPanel.vue'),
|
|
||||||
),
|
|
||||||
dashboard_design: defineAsyncComponent(
|
|
||||||
() => import('../panels/DashboardDesignPanel.vue'),
|
|
||||||
),
|
|
||||||
dashboard_create: defineAsyncComponent(
|
|
||||||
() => import('../panels/DashboardCreatePanel.vue'),
|
|
||||||
),
|
|
||||||
dashboard_publish: defineAsyncComponent(
|
|
||||||
() => import('../panels/DashboardPublishPanel.vue'),
|
|
||||||
),
|
|
||||||
// 系统总结节点
|
// 系统总结节点
|
||||||
system_summary: defineAsyncComponent(
|
|
||||||
() => import('../panels/SystemSummaryPanel.vue'),
|
|
||||||
),
|
|
||||||
// 子流程节点
|
// 子流程节点
|
||||||
subflow: defineAsyncComponent(() => import('../panels/SubflowPanel.vue')),
|
subflow: defineAsyncComponent(() => import('../panels/SubflowPanel.vue')),
|
||||||
// 表单数据节点
|
// 表单数据节点
|
||||||
form_data_create: defineAsyncComponent(
|
|
||||||
() => import('../panels/FormDataPanel.vue'),
|
|
||||||
),
|
|
||||||
form_data_read: defineAsyncComponent(
|
|
||||||
() => import('../panels/FormDataPanel.vue'),
|
|
||||||
),
|
|
||||||
form_data_update: defineAsyncComponent(
|
|
||||||
() => import('../panels/FormDataPanel.vue'),
|
|
||||||
),
|
|
||||||
form_data_delete: defineAsyncComponent(
|
|
||||||
() => import('../panels/FormDataPanel.vue'),
|
|
||||||
),
|
|
||||||
form_data_list: defineAsyncComponent(
|
|
||||||
() => import('../panels/FormDataPanel.vue'),
|
|
||||||
),
|
|
||||||
form_schema_to_llm: defineAsyncComponent(
|
|
||||||
() => import('../panels/FormDataPanel.vue'),
|
|
||||||
),
|
|
||||||
// Text-to-SQL 节点
|
// Text-to-SQL 节点
|
||||||
text_to_sql: defineAsyncComponent(
|
text_to_sql: defineAsyncComponent(
|
||||||
() => import('../panels/TextToSqlPanel.vue'),
|
() => import('../panels/TextToSqlPanel.vue'),
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import {
|
|||||||
Bot,
|
Bot,
|
||||||
Brain,
|
Brain,
|
||||||
CircleHelp,
|
CircleHelp,
|
||||||
ClipboardCheck,
|
|
||||||
Clock,
|
Clock,
|
||||||
Code,
|
Code,
|
||||||
Combine,
|
Combine,
|
||||||
@@ -28,14 +27,11 @@ import {
|
|||||||
Database,
|
Database,
|
||||||
DatabaseBackup,
|
DatabaseBackup,
|
||||||
DatabaseZap,
|
DatabaseZap,
|
||||||
FilePlus,
|
|
||||||
FileText,
|
|
||||||
Fullscreen,
|
Fullscreen,
|
||||||
GitBranch,
|
GitBranch,
|
||||||
GitFork,
|
GitFork,
|
||||||
Globe,
|
Globe,
|
||||||
HelpCircle,
|
HelpCircle,
|
||||||
LayoutDashboard,
|
|
||||||
LayoutTemplate,
|
LayoutTemplate,
|
||||||
ListChecks,
|
ListChecks,
|
||||||
Map,
|
Map,
|
||||||
@@ -46,16 +42,12 @@ import {
|
|||||||
Plus,
|
Plus,
|
||||||
Redo2,
|
Redo2,
|
||||||
RefreshCw,
|
RefreshCw,
|
||||||
Save,
|
|
||||||
Search,
|
Search,
|
||||||
Send,
|
Send,
|
||||||
Settings,
|
|
||||||
Snowflake,
|
Snowflake,
|
||||||
Square,
|
Square,
|
||||||
TableProperties,
|
|
||||||
Trash2,
|
Trash2,
|
||||||
Undo2,
|
Undo2,
|
||||||
Upload,
|
|
||||||
Workflow,
|
Workflow,
|
||||||
} from '@vben/icons';
|
} from '@vben/icons';
|
||||||
import { $t } from '@vben/locales';
|
import { $t } from '@vben/locales';
|
||||||
@@ -93,32 +85,16 @@ import '@vue-flow/controls/dist/style.css';
|
|||||||
const AiChatPanel = defineAsyncComponent(() =>
|
const AiChatPanel = defineAsyncComponent(() =>
|
||||||
import('#/components/ai-chat-panel/AiChatPanel.vue'),
|
import('#/components/ai-chat-panel/AiChatPanel.vue'),
|
||||||
);
|
);
|
||||||
const AppCreateNode = defineAsyncComponent(() => import('./nodes/AppCreateNode.vue'));
|
|
||||||
const AppDesignNode = defineAsyncComponent(() => import('./nodes/AppDesignNode.vue'));
|
|
||||||
const AppSettingsNode = defineAsyncComponent(() => import('./nodes/AppSettingsNode.vue'));
|
|
||||||
const AppUpdateNode = defineAsyncComponent(() => import('./nodes/AppUpdateNode.vue'));
|
|
||||||
const ChoiceNode = defineAsyncComponent(() => import('./nodes/ChoiceNode.vue'));
|
const ChoiceNode = defineAsyncComponent(() => import('./nodes/ChoiceNode.vue'));
|
||||||
const CodeNode = defineAsyncComponent(() => import('./nodes/CodeNode.vue'));
|
const CodeNode = defineAsyncComponent(() => import('./nodes/CodeNode.vue'));
|
||||||
const ConditionNode = defineAsyncComponent(() => import('./nodes/ConditionNode.vue'));
|
const ConditionNode = defineAsyncComponent(() => import('./nodes/ConditionNode.vue'));
|
||||||
const ConfirmNode = defineAsyncComponent(() => import('./nodes/ConfirmNode.vue'));
|
const ConfirmNode = defineAsyncComponent(() => import('./nodes/ConfirmNode.vue'));
|
||||||
const DashboardBasicInfoNode = defineAsyncComponent(() => import('./nodes/DashboardBasicInfoNode.vue'));
|
|
||||||
const DashboardCreateNode = defineAsyncComponent(() => import('./nodes/DashboardCreateNode.vue'));
|
|
||||||
const DashboardDesignNode = defineAsyncComponent(() => import('./nodes/DashboardDesignNode.vue'));
|
|
||||||
const DashboardPublishNode = defineAsyncComponent(() => import('./nodes/DashboardPublishNode.vue'));
|
|
||||||
const DbDeleteNode = defineAsyncComponent(() => import('./nodes/DbDeleteNode.vue'));
|
const DbDeleteNode = defineAsyncComponent(() => import('./nodes/DbDeleteNode.vue'));
|
||||||
const DbInsertNode = defineAsyncComponent(() => import('./nodes/DbInsertNode.vue'));
|
const DbInsertNode = defineAsyncComponent(() => import('./nodes/DbInsertNode.vue'));
|
||||||
const DbQueryNode = defineAsyncComponent(() => import('./nodes/DbQueryNode.vue'));
|
const DbQueryNode = defineAsyncComponent(() => import('./nodes/DbQueryNode.vue'));
|
||||||
const DbSqlNode = defineAsyncComponent(() => import('./nodes/DbSqlNode.vue'));
|
const DbSqlNode = defineAsyncComponent(() => import('./nodes/DbSqlNode.vue'));
|
||||||
const DbUpdateNode = defineAsyncComponent(() => import('./nodes/DbUpdateNode.vue'));
|
const DbUpdateNode = defineAsyncComponent(() => import('./nodes/DbUpdateNode.vue'));
|
||||||
const EndNode = defineAsyncComponent(() => import('./nodes/EndNode.vue'));
|
const EndNode = defineAsyncComponent(() => import('./nodes/EndNode.vue'));
|
||||||
const FormBasicInfoNode = defineAsyncComponent(() => import('./nodes/FormBasicInfoNode.vue'));
|
|
||||||
const FormCreateNode = defineAsyncComponent(() => import('./nodes/FormCreateNode.vue'));
|
|
||||||
const FormDatabaseCreateNode = defineAsyncComponent(() => import('./nodes/FormDatabaseCreateNode.vue'));
|
|
||||||
const FormDatabaseDesignNode = defineAsyncComponent(() => import('./nodes/FormDatabaseDesignNode.vue'));
|
|
||||||
const FormDataNode = defineAsyncComponent(() => import('./nodes/FormDataNode.vue'));
|
|
||||||
const FormListDesignNode = defineAsyncComponent(() => import('./nodes/FormListDesignNode.vue'));
|
|
||||||
const FormPublishNode = defineAsyncComponent(() => import('./nodes/FormPublishNode.vue'));
|
|
||||||
const FormUIDesignNode = defineAsyncComponent(() => import('./nodes/FormUIDesignNode.vue'));
|
|
||||||
const HttpNode = defineAsyncComponent(() => import('./nodes/HttpNode.vue'));
|
const HttpNode = defineAsyncComponent(() => import('./nodes/HttpNode.vue'));
|
||||||
const IntentNode = defineAsyncComponent(() => import('./nodes/IntentNode.vue'));
|
const IntentNode = defineAsyncComponent(() => import('./nodes/IntentNode.vue'));
|
||||||
const KnowledgeRetrievalNode = defineAsyncComponent(() => import('./nodes/KnowledgeRetrievalNode.vue'));
|
const KnowledgeRetrievalNode = defineAsyncComponent(() => import('./nodes/KnowledgeRetrievalNode.vue'));
|
||||||
@@ -132,7 +108,6 @@ const SnowflakeCortexAnalystNode = defineAsyncComponent(() => import('./nodes/Sn
|
|||||||
const SnowflakeCortexLLMNode = defineAsyncComponent(() => import('./nodes/SnowflakeCortexLLMNode.vue'));
|
const SnowflakeCortexLLMNode = defineAsyncComponent(() => import('./nodes/SnowflakeCortexLLMNode.vue'));
|
||||||
const StartNode = defineAsyncComponent(() => import('./nodes/StartNode.vue'));
|
const StartNode = defineAsyncComponent(() => import('./nodes/StartNode.vue'));
|
||||||
const SubflowNode = defineAsyncComponent(() => import('./nodes/SubflowNode.vue'));
|
const SubflowNode = defineAsyncComponent(() => import('./nodes/SubflowNode.vue'));
|
||||||
const SystemSummaryNode = defineAsyncComponent(() => import('./nodes/SystemSummaryNode.vue'));
|
|
||||||
const TemplateNode = defineAsyncComponent(() => import('./nodes/TemplateNode.vue'));
|
const TemplateNode = defineAsyncComponent(() => import('./nodes/TemplateNode.vue'));
|
||||||
const TextToSqlNode = defineAsyncComponent(() => import('./nodes/TextToSqlNode.vue'));
|
const TextToSqlNode = defineAsyncComponent(() => import('./nodes/TextToSqlNode.vue'));
|
||||||
|
|
||||||
@@ -189,34 +164,12 @@ const nodeTypes = {
|
|||||||
// 循环节点
|
// 循环节点
|
||||||
loop: markRaw(LoopNode),
|
loop: markRaw(LoopNode),
|
||||||
// 表单节点
|
// 表单节点
|
||||||
form_basic_info: markRaw(FormBasicInfoNode),
|
|
||||||
form_database_design: markRaw(FormDatabaseDesignNode),
|
|
||||||
form_database_create: markRaw(FormDatabaseCreateNode),
|
|
||||||
form_ui_design: markRaw(FormUIDesignNode),
|
|
||||||
form_list_design: markRaw(FormListDesignNode),
|
|
||||||
form_create: markRaw(FormCreateNode),
|
|
||||||
form_publish: markRaw(FormPublishNode),
|
|
||||||
// 应用管理节点
|
// 应用管理节点
|
||||||
app_create: markRaw(AppCreateNode),
|
|
||||||
app_design: markRaw(AppDesignNode),
|
|
||||||
app_settings: markRaw(AppSettingsNode),
|
|
||||||
app_update: markRaw(AppUpdateNode),
|
|
||||||
// 仪表盘节点
|
// 仪表盘节点
|
||||||
dashboard_basic_info: markRaw(DashboardBasicInfoNode),
|
|
||||||
dashboard_design: markRaw(DashboardDesignNode),
|
|
||||||
dashboard_create: markRaw(DashboardCreateNode),
|
|
||||||
dashboard_publish: markRaw(DashboardPublishNode),
|
|
||||||
// 系统总结节点
|
// 系统总结节点
|
||||||
system_summary: markRaw(SystemSummaryNode),
|
|
||||||
// 子流程节点
|
// 子流程节点
|
||||||
subflow: markRaw(SubflowNode),
|
subflow: markRaw(SubflowNode),
|
||||||
// 表单数据节点
|
// 表单数据节点
|
||||||
form_data_create: markRaw(FormDataNode),
|
|
||||||
form_data_read: markRaw(FormDataNode),
|
|
||||||
form_data_update: markRaw(FormDataNode),
|
|
||||||
form_data_delete: markRaw(FormDataNode),
|
|
||||||
form_data_list: markRaw(FormDataNode),
|
|
||||||
form_schema_to_llm: markRaw(FormDataNode),
|
|
||||||
// Text-to-SQL 节点
|
// Text-to-SQL 节点
|
||||||
text_to_sql: markRaw(TextToSqlNode),
|
text_to_sql: markRaw(TextToSqlNode),
|
||||||
// 知识库节点
|
// 知识库节点
|
||||||
@@ -394,94 +347,6 @@ const nodeCategories = computed(() => [
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: $t('ai-platform.workflow.editor.categories.formDesign'),
|
|
||||||
nodes: [
|
|
||||||
{
|
|
||||||
type: 'form_basic_info',
|
|
||||||
label: getNodeLabel('form_basic_info'),
|
|
||||||
icon: 'FileText',
|
|
||||||
color: 'purple',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'form_database_design',
|
|
||||||
label: getNodeLabel('form_database_design'),
|
|
||||||
icon: 'Database',
|
|
||||||
color: 'purple',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'form_database_create',
|
|
||||||
label: getNodeLabel('form_database_create'),
|
|
||||||
icon: 'DatabaseZap',
|
|
||||||
color: 'purple',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'form_ui_design',
|
|
||||||
label: getNodeLabel('form_ui_design'),
|
|
||||||
icon: 'LayoutTemplate',
|
|
||||||
color: 'purple',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'form_list_design',
|
|
||||||
label: getNodeLabel('form_list_design'),
|
|
||||||
icon: 'TableProperties',
|
|
||||||
color: 'purple',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'form_create',
|
|
||||||
label: getNodeLabel('form_create'),
|
|
||||||
icon: 'FilePlus',
|
|
||||||
color: 'purple',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'form_publish',
|
|
||||||
label: getNodeLabel('form_publish'),
|
|
||||||
icon: 'Send',
|
|
||||||
color: 'purple',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: $t('ai-platform.workflow.editor.categories.formData'),
|
|
||||||
nodes: [
|
|
||||||
{
|
|
||||||
type: 'form_data_create',
|
|
||||||
label: getNodeLabel('form_data_create'),
|
|
||||||
icon: 'FilePlus',
|
|
||||||
color: 'green',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'form_data_read',
|
|
||||||
label: getNodeLabel('form_data_read'),
|
|
||||||
icon: 'FileText',
|
|
||||||
color: 'blue',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'form_data_update',
|
|
||||||
label: getNodeLabel('form_data_update'),
|
|
||||||
icon: 'FileText',
|
|
||||||
color: 'orange',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'form_data_delete',
|
|
||||||
label: getNodeLabel('form_data_delete'),
|
|
||||||
icon: 'Trash2',
|
|
||||||
color: 'red',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'form_data_list',
|
|
||||||
label: getNodeLabel('form_data_list'),
|
|
||||||
icon: 'Search',
|
|
||||||
color: 'blue',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'form_schema_to_llm',
|
|
||||||
label: getNodeLabel('form_schema_to_llm'),
|
|
||||||
icon: 'Code',
|
|
||||||
color: 'purple',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: $t('ai-platform.workflow.editor.categories.dialog'),
|
name: $t('ai-platform.workflow.editor.categories.dialog'),
|
||||||
nodes: [
|
nodes: [
|
||||||
@@ -616,72 +481,6 @@ const nodeCategories = computed(() => [
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: $t('ai-platform.workflow.editor.categories.appManage'),
|
|
||||||
nodes: [
|
|
||||||
{
|
|
||||||
type: 'app_create',
|
|
||||||
label: getNodeLabel('app_create'),
|
|
||||||
icon: 'LayoutTemplate',
|
|
||||||
color: 'indigo',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'app_design',
|
|
||||||
label: getNodeLabel('app_design'),
|
|
||||||
icon: 'LayoutDashboard',
|
|
||||||
color: 'indigo',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'app_settings',
|
|
||||||
label: getNodeLabel('app_settings'),
|
|
||||||
icon: 'Settings',
|
|
||||||
color: 'indigo',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'app_update',
|
|
||||||
label: getNodeLabel('app_update'),
|
|
||||||
icon: 'Save',
|
|
||||||
color: 'indigo',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: $t('ai-platform.workflow.editor.categories.dashboard'),
|
|
||||||
icon: 'LayoutDashboard',
|
|
||||||
color: 'cyan',
|
|
||||||
nodes: [
|
|
||||||
{
|
|
||||||
type: 'dashboard_basic_info',
|
|
||||||
label: getNodeLabel('dashboard_basic_info'),
|
|
||||||
icon: 'FileText',
|
|
||||||
color: 'cyan',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'dashboard_design',
|
|
||||||
label: getNodeLabel('dashboard_design'),
|
|
||||||
icon: 'LayoutDashboard',
|
|
||||||
color: 'cyan',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'dashboard_create',
|
|
||||||
label: getNodeLabel('dashboard_create'),
|
|
||||||
icon: 'FilePlus',
|
|
||||||
color: 'cyan',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'dashboard_publish',
|
|
||||||
label: getNodeLabel('dashboard_publish'),
|
|
||||||
icon: 'Upload',
|
|
||||||
color: 'cyan',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'system_summary',
|
|
||||||
label: getNodeLabel('system_summary'),
|
|
||||||
icon: 'ClipboardCheck',
|
|
||||||
color: 'cyan',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: $t('ai-platform.workflow.editor.categories.knowledge'),
|
name: $t('ai-platform.workflow.editor.categories.knowledge'),
|
||||||
nodes: [
|
nodes: [
|
||||||
@@ -725,18 +524,10 @@ const iconComponents: Record<string, any> = {
|
|||||||
RefreshCw,
|
RefreshCw,
|
||||||
CornerDownLeft,
|
CornerDownLeft,
|
||||||
// 表单节点图标
|
// 表单节点图标
|
||||||
FileText,
|
|
||||||
TableProperties,
|
|
||||||
Send,
|
Send,
|
||||||
// 应用节点图标
|
// 应用节点图标
|
||||||
LayoutDashboard,
|
|
||||||
Settings,
|
|
||||||
Save,
|
|
||||||
// 仪表盘节点图标
|
// 仪表盘节点图标
|
||||||
FilePlus,
|
|
||||||
Upload,
|
|
||||||
// 系统总结节点图标
|
// 系统总结节点图标
|
||||||
ClipboardCheck,
|
|
||||||
// 子流程节点图标
|
// 子流程节点图标
|
||||||
Workflow,
|
Workflow,
|
||||||
// 知识库节点图标
|
// 知识库节点图标
|
||||||
|
|||||||
@@ -2,32 +2,16 @@ import { defineAsyncComponent, markRaw } from 'vue';
|
|||||||
|
|
||||||
import AddButtonEdge from '../editor/edges/AddButtonEdge.vue';
|
import AddButtonEdge from '../editor/edges/AddButtonEdge.vue';
|
||||||
|
|
||||||
const AppCreateNode = defineAsyncComponent(() => import('../editor/nodes/AppCreateNode.vue'));
|
|
||||||
const AppDesignNode = defineAsyncComponent(() => import('../editor/nodes/AppDesignNode.vue'));
|
|
||||||
const AppSettingsNode = defineAsyncComponent(() => import('../editor/nodes/AppSettingsNode.vue'));
|
|
||||||
const AppUpdateNode = defineAsyncComponent(() => import('../editor/nodes/AppUpdateNode.vue'));
|
|
||||||
const ChoiceNode = defineAsyncComponent(() => import('../editor/nodes/ChoiceNode.vue'));
|
const ChoiceNode = defineAsyncComponent(() => import('../editor/nodes/ChoiceNode.vue'));
|
||||||
const CodeNode = defineAsyncComponent(() => import('../editor/nodes/CodeNode.vue'));
|
const CodeNode = defineAsyncComponent(() => import('../editor/nodes/CodeNode.vue'));
|
||||||
const ConditionNode = defineAsyncComponent(() => import('../editor/nodes/ConditionNode.vue'));
|
const ConditionNode = defineAsyncComponent(() => import('../editor/nodes/ConditionNode.vue'));
|
||||||
const ConfirmNode = defineAsyncComponent(() => import('../editor/nodes/ConfirmNode.vue'));
|
const ConfirmNode = defineAsyncComponent(() => import('../editor/nodes/ConfirmNode.vue'));
|
||||||
const DashboardBasicInfoNode = defineAsyncComponent(() => import('../editor/nodes/DashboardBasicInfoNode.vue'));
|
|
||||||
const DashboardCreateNode = defineAsyncComponent(() => import('../editor/nodes/DashboardCreateNode.vue'));
|
|
||||||
const DashboardDesignNode = defineAsyncComponent(() => import('../editor/nodes/DashboardDesignNode.vue'));
|
|
||||||
const DashboardPublishNode = defineAsyncComponent(() => import('../editor/nodes/DashboardPublishNode.vue'));
|
|
||||||
const DbDeleteNode = defineAsyncComponent(() => import('../editor/nodes/DbDeleteNode.vue'));
|
const DbDeleteNode = defineAsyncComponent(() => import('../editor/nodes/DbDeleteNode.vue'));
|
||||||
const DbInsertNode = defineAsyncComponent(() => import('../editor/nodes/DbInsertNode.vue'));
|
const DbInsertNode = defineAsyncComponent(() => import('../editor/nodes/DbInsertNode.vue'));
|
||||||
const DbQueryNode = defineAsyncComponent(() => import('../editor/nodes/DbQueryNode.vue'));
|
const DbQueryNode = defineAsyncComponent(() => import('../editor/nodes/DbQueryNode.vue'));
|
||||||
const DbSqlNode = defineAsyncComponent(() => import('../editor/nodes/DbSqlNode.vue'));
|
const DbSqlNode = defineAsyncComponent(() => import('../editor/nodes/DbSqlNode.vue'));
|
||||||
const DbUpdateNode = defineAsyncComponent(() => import('../editor/nodes/DbUpdateNode.vue'));
|
const DbUpdateNode = defineAsyncComponent(() => import('../editor/nodes/DbUpdateNode.vue'));
|
||||||
const EndNode = defineAsyncComponent(() => import('../editor/nodes/EndNode.vue'));
|
const EndNode = defineAsyncComponent(() => import('../editor/nodes/EndNode.vue'));
|
||||||
const FormBasicInfoNode = defineAsyncComponent(() => import('../editor/nodes/FormBasicInfoNode.vue'));
|
|
||||||
const FormCreateNode = defineAsyncComponent(() => import('../editor/nodes/FormCreateNode.vue'));
|
|
||||||
const FormDatabaseCreateNode = defineAsyncComponent(() => import('../editor/nodes/FormDatabaseCreateNode.vue'));
|
|
||||||
const FormDatabaseDesignNode = defineAsyncComponent(() => import('../editor/nodes/FormDatabaseDesignNode.vue'));
|
|
||||||
const FormDataNode = defineAsyncComponent(() => import('../editor/nodes/FormDataNode.vue'));
|
|
||||||
const FormListDesignNode = defineAsyncComponent(() => import('../editor/nodes/FormListDesignNode.vue'));
|
|
||||||
const FormPublishNode = defineAsyncComponent(() => import('../editor/nodes/FormPublishNode.vue'));
|
|
||||||
const FormUIDesignNode = defineAsyncComponent(() => import('../editor/nodes/FormUIDesignNode.vue'));
|
|
||||||
const HttpNode = defineAsyncComponent(() => import('../editor/nodes/HttpNode.vue'));
|
const HttpNode = defineAsyncComponent(() => import('../editor/nodes/HttpNode.vue'));
|
||||||
const IntentNode = defineAsyncComponent(() => import('../editor/nodes/IntentNode.vue'));
|
const IntentNode = defineAsyncComponent(() => import('../editor/nodes/IntentNode.vue'));
|
||||||
const KnowledgeRetrievalNode = defineAsyncComponent(() => import('../editor/nodes/KnowledgeRetrievalNode.vue'));
|
const KnowledgeRetrievalNode = defineAsyncComponent(() => import('../editor/nodes/KnowledgeRetrievalNode.vue'));
|
||||||
@@ -41,7 +25,6 @@ const SnowflakeCortexAnalystNode = defineAsyncComponent(() => import('../editor/
|
|||||||
const SnowflakeCortexLLMNode = defineAsyncComponent(() => import('../editor/nodes/SnowflakeCortexLLMNode.vue'));
|
const SnowflakeCortexLLMNode = defineAsyncComponent(() => import('../editor/nodes/SnowflakeCortexLLMNode.vue'));
|
||||||
const StartNode = defineAsyncComponent(() => import('../editor/nodes/StartNode.vue'));
|
const StartNode = defineAsyncComponent(() => import('../editor/nodes/StartNode.vue'));
|
||||||
const SubflowNode = defineAsyncComponent(() => import('../editor/nodes/SubflowNode.vue'));
|
const SubflowNode = defineAsyncComponent(() => import('../editor/nodes/SubflowNode.vue'));
|
||||||
const SystemSummaryNode = defineAsyncComponent(() => import('../editor/nodes/SystemSummaryNode.vue'));
|
|
||||||
const TemplateNode = defineAsyncComponent(() => import('../editor/nodes/TemplateNode.vue'));
|
const TemplateNode = defineAsyncComponent(() => import('../editor/nodes/TemplateNode.vue'));
|
||||||
const TextToSqlNode = defineAsyncComponent(() => import('../editor/nodes/TextToSqlNode.vue'));
|
const TextToSqlNode = defineAsyncComponent(() => import('../editor/nodes/TextToSqlNode.vue'));
|
||||||
|
|
||||||
@@ -68,29 +51,7 @@ export const workflowNodeTypes = {
|
|||||||
snowflake_cortex_llm: markRaw(SnowflakeCortexLLMNode),
|
snowflake_cortex_llm: markRaw(SnowflakeCortexLLMNode),
|
||||||
snowflake_cortex_analyst: markRaw(SnowflakeCortexAnalystNode),
|
snowflake_cortex_analyst: markRaw(SnowflakeCortexAnalystNode),
|
||||||
loop: markRaw(LoopNode),
|
loop: markRaw(LoopNode),
|
||||||
form_basic_info: markRaw(FormBasicInfoNode),
|
|
||||||
form_database_design: markRaw(FormDatabaseDesignNode),
|
|
||||||
form_database_create: markRaw(FormDatabaseCreateNode),
|
|
||||||
form_ui_design: markRaw(FormUIDesignNode),
|
|
||||||
form_list_design: markRaw(FormListDesignNode),
|
|
||||||
form_create: markRaw(FormCreateNode),
|
|
||||||
form_publish: markRaw(FormPublishNode),
|
|
||||||
app_create: markRaw(AppCreateNode),
|
|
||||||
app_design: markRaw(AppDesignNode),
|
|
||||||
app_settings: markRaw(AppSettingsNode),
|
|
||||||
app_update: markRaw(AppUpdateNode),
|
|
||||||
dashboard_basic_info: markRaw(DashboardBasicInfoNode),
|
|
||||||
dashboard_design: markRaw(DashboardDesignNode),
|
|
||||||
dashboard_create: markRaw(DashboardCreateNode),
|
|
||||||
dashboard_publish: markRaw(DashboardPublishNode),
|
|
||||||
system_summary: markRaw(SystemSummaryNode),
|
|
||||||
subflow: markRaw(SubflowNode),
|
subflow: markRaw(SubflowNode),
|
||||||
form_data_create: markRaw(FormDataNode),
|
|
||||||
form_data_read: markRaw(FormDataNode),
|
|
||||||
form_data_update: markRaw(FormDataNode),
|
|
||||||
form_data_delete: markRaw(FormDataNode),
|
|
||||||
form_data_list: markRaw(FormDataNode),
|
|
||||||
form_schema_to_llm: markRaw(FormDataNode),
|
|
||||||
text_to_sql: markRaw(TextToSqlNode),
|
text_to_sql: markRaw(TextToSqlNode),
|
||||||
knowledge_retrieval: markRaw(KnowledgeRetrievalNode),
|
knowledge_retrieval: markRaw(KnowledgeRetrievalNode),
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user