33 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-05-26 14:13:28 +08:00
import type { Tool } from '@/app/components/tools/types'
import type { DataSourceItem } from './types'
export const transformDataSourceToTool = (dataSourceItem: DataSourceItem) => {
return {
2025-05-26 16:33:08 +08:00
id: dataSourceItem.plugin_id,
2025-06-04 11:39:04 +08:00
provider: dataSourceItem.provider,
2025-06-05 16:51:01 +08:00
name: dataSourceItem.provider,
2025-05-26 14:13:28 +08:00
author: dataSourceItem.declaration.identity.author,
description: dataSourceItem.declaration.identity.description,
icon: dataSourceItem.declaration.identity.icon,
label: dataSourceItem.declaration.identity.label,
2025-05-26 17:28:16 +08:00
type: dataSourceItem.declaration.provider_type,
2025-05-26 14:13:28 +08:00
team_credentials: {},
allow_delete: true,
2025-06-04 11:39:04 +08:00
is_authorized: dataSourceItem.is_authorized,
2025-05-26 14:13:28 +08:00
labels: dataSourceItem.declaration.identity.tags || [],
plugin_id: dataSourceItem.plugin_id,
tools: dataSourceItem.declaration.datasources.map((datasource) => {
return {
name: datasource.identity.name,
author: datasource.identity.author,
label: datasource.identity.label,
description: datasource.description,
parameters: datasource.parameters,
labels: [],
output_schema: {},
} as Tool
}),
2025-06-04 11:39:04 +08:00
credentialsSchema: dataSourceItem.declaration.credentials_schema || [],
2025-05-26 14:13:28 +08:00
}
}