1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import type { ToolCredential, ToolParameter } from '../types'
- const toType = (type: string) => {
- switch (type) {
- case 'string':
- return 'text-input'
- case 'number':
- return 'number-input'
- default:
- return type
- }
- }
- export const toolParametersToFormSchemas = (parameters: ToolParameter[]) => {
- if (!parameters)
- return []
- const formSchemas = parameters.map((parameter) => {
- return {
- ...parameter,
- variable: parameter.name,
- type: toType(parameter.type),
- _type: parameter.type,
- show_on: [],
- options: parameter.options?.map((option) => {
- return {
- ...option,
- show_on: [],
- }
- }),
- tooltip: parameter.human_description,
- }
- })
- return formSchemas
- }
- export const toolCredentialToFormSchemas = (parameters: ToolCredential[]) => {
- if (!parameters)
- return []
- const formSchemas = parameters.map((parameter) => {
- return {
- ...parameter,
- variable: parameter.name,
- label: parameter.label,
- tooltip: parameter.help,
- show_on: [],
- options: parameter.options?.map((option) => {
- return {
- ...option,
- show_on: [],
- }
- }),
- }
- })
- return formSchemas
- }
- export const addDefaultValue = (value: Record<string, any>, formSchemas: { variable: string; default?: any }[]) => {
- const newValues = { ...value }
- formSchemas.forEach((formSchema) => {
- const itemValue = value[formSchema.variable]
- if ((formSchema.default !== undefined) && (value === undefined || itemValue === null || itemValue === '' || itemValue === undefined))
- newValues[formSchema.variable] = formSchema.default
- })
- return newValues
- }
|