/* * Copyright 2025 coze-dev Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { type FC } from 'react'; import { FieldArray, useForm, type FieldArrayRenderProps, } from '@flowgram-adapter/free-layout-editor'; import { type InputValueVO, ValueExpressionType } from '@coze-workflow/base'; import { I18n } from '@coze-arch/i18n'; import { useReadonly } from '@/nodes-v2/hooks/use-readonly'; import { AddIcon } from '@/nodes-v2/components/add-icon'; import { FormCard } from '@/form-extensions/components/form-card'; import { ColumnsTitleWithAction } from '@/form-extensions/components/columns-title-with-action'; import { useModelEnabledTypes } from '../hooks/use-model-enabled-types'; import { VisionInputField } from './vision-input-field'; import styles from './index.module.less'; interface VisionProps { readonly?: boolean; } /** * Visual understanding configuration */ export const Vision: FC = () => { const enabledTypes = useModelEnabledTypes(); const disabledTooltip = !enabledTypes.length ? I18n.t('workflow_250310_05', undefined, '所选模型不支持视觉理解') : ''; const form = useForm(); const readonly = useReadonly(); return ( {({ field }: FieldArrayRenderProps) => (
{field.map((child, index) => ( ))} {readonly ? ( <> ) : (
{ field.append({ name: '', input: { type: ValueExpressionType.REF, rawMeta: { isVision: true }, }, }); }} />
)}
)}
); };