Merge branch 'dev' into feature/20260602_connection_driver_i18n

# Conflicts:
#	frontend/package.json.md5
#	frontend/src/App.tsx
#	frontend/src/components/AIChatPanel.message-boundary.test.tsx
#	frontend/src/components/AIChatPanel.tsx
#	frontend/src/components/AISettingsModal.tsx
#	frontend/src/components/ConnectionModal.tsx
#	frontend/src/components/DataGrid.ddl.test.tsx
#	frontend/src/components/DataGrid.layout.test.tsx
#	frontend/src/components/DataGrid.tsx
#	frontend/src/components/DataGridColumnTitle.test.tsx
#	frontend/src/components/DataGridLegacyCellContextMenu.tsx
#	frontend/src/components/DataGridSecondaryActions.tsx
#	frontend/src/components/DataGridToolbarFrame.tsx
#	frontend/src/components/DataSyncModal.tsx
#	frontend/src/components/DataViewer.tsx
#	frontend/src/components/DefinitionViewer.tsx
#	frontend/src/components/DriverManagerModal.tsx
#	frontend/src/components/QueryEditor.external-sql-save.test.tsx
#	frontend/src/components/QueryEditor.tsx
#	frontend/src/components/RedisViewer.tsx
#	frontend/src/components/Sidebar.locate-toolbar.test.tsx
#	frontend/src/components/Sidebar.tsx
#	frontend/src/components/TabManager.hover.test.tsx
#	frontend/src/components/TabManager.tsx
#	frontend/src/components/TableDesigner.tsx
#	frontend/src/components/V2TableContextMenu.tsx
#	frontend/src/components/ai/AIChatHeader.tsx
#	frontend/src/components/ai/AIHistoryDrawer.tsx
#	frontend/src/main.tsx
#	frontend/src/store.ts
#	frontend/src/utils/aiComposerNotice.test.ts
#	frontend/src/utils/aiComposerNotice.ts
#	frontend/src/utils/connectionModalPresentation.ts
#	frontend/src/utils/driverImportGuidance.ts
#	frontend/src/utils/externalSqlTree.test.ts
#	frontend/src/utils/externalSqlTree.ts
#	frontend/src/utils/sqlDialect.ts
#	internal/ai/service/service.go
This commit is contained in:
tianqijiuyun-latiao
2026-06-16 18:35:11 +08:00
631 changed files with 101151 additions and 10056 deletions

View File

@@ -41,6 +41,9 @@ export type ConnectionConfigLayoutKind =
| 'postgres-compatible'
| 'oracle'
| 'file'
| 'search'
| 'vector'
| 'timeseries'
| 'custom'
| 'jvm'
| 'generic-sql';
@@ -57,6 +60,7 @@ type ConnectionConfigSectionCopy = {
const mysqlCompatibleTypes = new Set([
'mysql',
'goldendb',
'mariadb',
'oceanbase',
'doris',
@@ -70,6 +74,7 @@ const postgresCompatibleTypes = new Set([
'highgo',
'vastbase',
'opengauss',
'gaussdb',
]);
const fileDatabaseTypes = new Set(['sqlite', 'duckdb']);
@@ -119,6 +124,12 @@ export const getConnectionConfigLayoutKindLabel = (
return t('connection.modal.layoutKind.oracle');
case 'file':
return t('connection.modal.layoutKind.file');
case 'search':
return '搜索引擎';
case 'vector':
return '向量数据库';
case 'timeseries':
return '时序数据库';
case 'custom':
return t('connection.modal.layoutKind.custom');
case 'jvm':
@@ -195,6 +206,100 @@ export const resolveConnectionConfigLayout = (
],
};
}
if (type === 'elasticsearch') {
return {
kind: 'search',
sections: [
'identity',
'uri',
'target',
'service',
'credentials',
'databaseScope',
],
};
}
if (type === 'chroma' || type === 'qdrant') {
return {
kind: 'vector',
sections: [
'identity',
'uri',
'target',
'service',
'credentials',
'databaseScope',
],
};
}
if (type === 'iotdb') {
return {
kind: 'timeseries',
sections: [
'identity',
'uri',
'target',
'service',
'credentials',
'databaseScope',
],
};
}
if (type === 'mqtt') {
return {
kind: 'generic-sql',
sections: [
'identity',
'uri',
'target',
'connectionMode',
'replica',
'service',
'credentials',
],
};
}
if (type === 'rocketmq') {
return {
kind: 'generic-sql',
sections: [
'identity',
'uri',
'target',
'connectionMode',
'replica',
'service',
'credentials',
],
};
}
if (type === 'kafka') {
return {
kind: 'generic-sql',
sections: [
'identity',
'uri',
'target',
'connectionMode',
'replica',
'service',
'credentials',
],
};
}
if (type === 'rabbitmq') {
return {
kind: 'generic-sql',
sections: [
'identity',
'uri',
'target',
'service',
'credentials',
'databaseScope',
],
};
}
if (postgresCompatibleTypes.has(type)) {
return {
kind: 'postgres-compatible',