chore: knip fix (#34481)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
Stephen Zhou
2026-04-02 23:03:42 +08:00
committed by GitHub
parent 985b41c40b
commit 36e840cd87
403 changed files with 475 additions and 3679 deletions

View File

@@ -89,6 +89,12 @@ if $web_modified; then
echo "No staged TypeScript changes detected, skipping type-check:tsgo" echo "No staged TypeScript changes detected, skipping type-check:tsgo"
fi fi
echo "Running knip"
if ! pnpm run knip; then
echo "Knip check failed. Please run 'pnpm run knip' to fix the errors."
exit 1
fi
echo "Running unit tests check" echo "Running unit tests check"
modified_files=$(git diff --cached --name-only -- utils | grep -v '\.spec\.ts$' || true) modified_files=$(git diff --cached --name-only -- utils | grep -v '\.spec\.ts$' || true)

View File

@@ -35,7 +35,7 @@ const TagManagementModal = dynamic(() => import('@/app/components/base/tag-manag
ssr: false, ssr: false,
}) })
export type IAppDetailLayoutProps = { type IAppDetailLayoutProps = {
children: React.ReactNode children: React.ReactNode
appId: string appId: string
} }

View File

@@ -25,7 +25,7 @@ import { useAppWorkflow } from '@/service/use-workflow'
import { AppModeEnum } from '@/types/app' import { AppModeEnum } from '@/types/app'
import { asyncRunSafe } from '@/utils' import { asyncRunSafe } from '@/utils'
export type ICardViewProps = { type ICardViewProps = {
appId: string appId: string
isInPanel?: boolean isInPanel?: boolean
className?: string className?: string

View File

@@ -27,7 +27,7 @@ const TIME_PERIOD_MAPPING: { value: number, name: TimePeriodName }[] = [
const queryDateFormat = 'YYYY-MM-DD HH:mm' const queryDateFormat = 'YYYY-MM-DD HH:mm'
export type IChartViewProps = { type IChartViewProps = {
appId: string appId: string
headerRight: React.ReactNode headerRight: React.ReactNode
} }

View File

@@ -1,9 +0,0 @@
.logTable td {
padding: 7px 8px;
box-sizing: border-box;
max-width: 200px;
}
.pagination li {
list-style: none;
}

View File

@@ -26,7 +26,7 @@ import { usePathname } from '@/next/navigation'
import { useDatasetDetail, useDatasetRelatedApps } from '@/service/knowledge/use-dataset' import { useDatasetDetail, useDatasetRelatedApps } from '@/service/knowledge/use-dataset'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
export type IAppDetailLayoutProps = { type IAppDetailLayoutProps = {
children: React.ReactNode children: React.ReactNode
datasetId: string datasetId: string
} }

View File

@@ -13,10 +13,6 @@ import { useProviderContext } from '@/context/provider-context'
import { useRouter } from '@/next/navigation' import { useRouter } from '@/next/navigation'
import { useLogout, useUserProfile } from '@/service/use-common' import { useLogout, useUserProfile } from '@/service/use-common'
export type IAppSelector = {
isMobile: boolean
}
export default function AppSelector() { export default function AppSelector() {
const router = useRouter() const router = useRouter()
const { t } = useTranslation() const { t } = useTranslation()

View File

@@ -5,7 +5,7 @@ import AppInfoModals from './app-info-modals'
import AppInfoTrigger from './app-info-trigger' import AppInfoTrigger from './app-info-trigger'
import { useAppInfoActions } from './use-app-info-actions' import { useAppInfoActions } from './use-app-info-actions'
export type IAppInfoProps = { type IAppInfoProps = {
expand: boolean expand: boolean
onlyShowDetail?: boolean onlyShowDetail?: boolean
openState?: boolean openState?: boolean

View File

@@ -7,7 +7,7 @@ import {
import Tooltip from '@/app/components/base/tooltip' import Tooltip from '@/app/components/base/tooltip'
import AppIcon from '../base/app-icon' import AppIcon from '../base/app-icon'
export type IAppBasicProps = { type IAppBasicProps = {
iconType?: 'app' | 'api' | 'dataset' | 'webapp' | 'notion' iconType?: 'app' | 'api' | 'dataset' | 'webapp' | 'notion'
icon?: string icon?: string
icon_background?: string | null icon_background?: string | null

View File

@@ -17,7 +17,7 @@ import DatasetSidebarDropdown from './dataset-sidebar-dropdown'
import NavLink from './nav-link' import NavLink from './nav-link'
import ToggleButton from './toggle-button' import ToggleButton from './toggle-button'
export type IAppDetailNavProps = { type IAppDetailNavProps = {
iconType?: 'app' | 'dataset' iconType?: 'app' | 'dataset'
navigation: Array<{ navigation: Array<{
name: string name: string

View File

@@ -39,7 +39,5 @@ export enum AnnotationEnableStatus {
} }
export enum JobStatus { export enum JobStatus {
waiting = 'waiting',
processing = 'processing',
completed = 'completed', completed = 'completed',
} }

View File

@@ -2,7 +2,7 @@ import type { HTMLProps, PropsWithChildren } from 'react'
import { RiArrowRightUpLine } from '@remixicon/react' import { RiArrowRightUpLine } from '@remixicon/react'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
export type SuggestedActionProps = PropsWithChildren<HTMLProps<HTMLAnchorElement> & { type SuggestedActionProps = PropsWithChildren<HTMLProps<HTMLAnchorElement> & {
icon?: React.ReactNode icon?: React.ReactNode
link?: string link?: string
disabled?: boolean disabled?: boolean

View File

@@ -3,7 +3,7 @@ import type { FC, ReactNode } from 'react'
import * as React from 'react' import * as React from 'react'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
export type IFeaturePanelProps = { type IFeaturePanelProps = {
className?: string className?: string
headerIcon?: ReactNode headerIcon?: ReactNode
title: ReactNode title: ReactNode

View File

@@ -2,7 +2,7 @@
import type { FC } from 'react' import type { FC } from 'react'
import * as React from 'react' import * as React from 'react'
export type IGroupNameProps = { type IGroupNameProps = {
name: string name: string
} }

View File

@@ -9,7 +9,7 @@ import * as React from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
export type IOperationBtnProps = { type IOperationBtnProps = {
className?: string className?: string
type: 'add' | 'edit' type: 'add' | 'edit'
actionName?: string actionName?: string

View File

@@ -4,7 +4,7 @@ import * as React from 'react'
import s from './style.module.css' import s from './style.module.css'
export type IVarHighlightProps = { type IVarHighlightProps = {
name: string name: string
className?: string className?: string
} }

View File

@@ -5,7 +5,7 @@ import { useTranslation } from 'react-i18next'
import Button from '@/app/components/base/button' import Button from '@/app/components/base/button'
import WarningMask from '.' import WarningMask from '.'
export type IFormattingChangedProps = { type IFormattingChangedProps = {
onConfirm: () => void onConfirm: () => void
} }

View File

@@ -5,7 +5,7 @@ import { useTranslation } from 'react-i18next'
import Button from '@/app/components/base/button' import Button from '@/app/components/base/button'
import WarningMask from '.' import WarningMask from '.'
export type IFormattingChangedProps = { type IFormattingChangedProps = {
onConfirm: () => void onConfirm: () => void
onCancel: () => void onCancel: () => void
} }

View File

@@ -3,7 +3,7 @@ import type { FC } from 'react'
import * as React from 'react' import * as React from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
export type IHasNotSetAPIProps = { type IHasNotSetAPIProps = {
onSetting: () => void onSetting: () => void
} }

View File

@@ -4,7 +4,7 @@ import * as React from 'react'
import s from './style.module.css' import s from './style.module.css'
export type IWarningMaskProps = { type IWarningMaskProps = {
title: string title: string
description: string description: string
footer: React.ReactNode footer: React.ReactNode

View File

@@ -6,7 +6,7 @@ import { useTranslation } from 'react-i18next'
import Button from '@/app/components/base/button' import Button from '@/app/components/base/button'
import VarHighlight from '../../base/var-highlight' import VarHighlight from '../../base/var-highlight'
export type IConfirmAddVarProps = { type IConfirmAddVarProps = {
varNameArr: string[] varNameArr: string[]
onConfirm: () => void onConfirm: () => void
onCancel: () => void onCancel: () => void

View File

@@ -33,7 +33,7 @@ import { getNewVar, getVars } from '@/utils/var'
import ConfirmAddVar from './confirm-add-var' import ConfirmAddVar from './confirm-add-var'
import PromptEditorHeightResizeWrap from './prompt-editor-height-resize-wrap' import PromptEditorHeightResizeWrap from './prompt-editor-height-resize-wrap'
export type ISimplePromptInput = { type ISimplePromptInput = {
mode: AppModeEnum mode: AppModeEnum
promptTemplate: string promptTemplate: string
promptVariables: PromptVariable[] promptVariables: PromptVariable[]

View File

@@ -1,10 +1,3 @@
export const jsonObjectWrap = {
type: 'object',
properties: {},
required: [],
additionalProperties: true,
}
export const jsonConfigPlaceHolder = JSON.stringify( export const jsonConfigPlaceHolder = JSON.stringify(
{ {
type: 'object', type: 'object',

View File

@@ -52,7 +52,7 @@ const normalizeSelectDefaultValue = (inputVar: InputVar) => {
return inputVar return inputVar
} }
export type IConfigModalProps = { type IConfigModalProps = {
isCreate?: boolean isCreate?: boolean
payload?: InputVar payload?: InputVar
isShow: boolean isShow: boolean

View File

@@ -8,7 +8,7 @@ import { ReactSortable } from 'react-sortablejs'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
export type Options = string[] export type Options = string[]
export type IConfigSelectProps = { type IConfigSelectProps = {
options: Options options: Options
onChange: (options: Options) => void onChange: (options: Options) => void
} }

View File

@@ -4,7 +4,7 @@ import * as React from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import Button from '@/app/components/base/button' import Button from '@/app/components/base/button'
export type IModalFootProps = { type IModalFootProps = {
onConfirm: () => void onConfirm: () => void
onCancel: () => void onCancel: () => void
} }

View File

@@ -7,7 +7,7 @@ import { useTranslation } from 'react-i18next'
import InputVarTypeIcon from '@/app/components/workflow/nodes/_base/components/input-var-type-icon' import InputVarTypeIcon from '@/app/components/workflow/nodes/_base/components/input-var-type-icon'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
export type ISelectTypeItemProps = { type ISelectTypeItemProps = {
type: InputVarType type: InputVarType
selected: boolean selected: boolean
onClick: () => void onClick: () => void

View File

@@ -1,152 +0,0 @@
'use client'
import type { FC } from 'react'
import type { ExternalDataTool } from '@/models/common'
import copy from 'copy-to-clipboard'
import { noop } from 'es-toolkit/function'
import * as React from 'react'
import { useTranslation } from 'react-i18next'
import { useContext } from 'use-context-selector'
import s from '@/app/components/app/configuration/config-prompt/style.module.css'
import {
Copy,
CopyCheck,
} from '@/app/components/base/icons/src/vender/line/files'
import PromptEditor from '@/app/components/base/prompt-editor'
import { toast } from '@/app/components/base/ui/toast'
import ConfigContext from '@/context/debug-configuration'
import { useModalContext } from '@/context/modal-context'
import { cn } from '@/utils/classnames'
type Props = {
className?: string
type: 'first-prompt' | 'next-iteration'
value: string
onChange: (value: string) => void
}
const Editor: FC<Props> = ({
className,
type,
value,
onChange,
}) => {
const { t } = useTranslation()
const [isCopied, setIsCopied] = React.useState(false)
const {
modelConfig,
hasSetBlockStatus,
dataSets,
showSelectDataSet,
externalDataToolsConfig,
setExternalDataToolsConfig,
} = useContext(ConfigContext)
const promptVariables = modelConfig.configs.prompt_variables
const { setShowExternalDataToolModal } = useModalContext()
const isFirstPrompt = type === 'first-prompt'
const editorHeight = isFirstPrompt ? 'h-[336px]' : 'h-[52px]'
const handleOpenExternalDataToolModal = () => {
setShowExternalDataToolModal({
payload: {},
onSaveCallback: (newExternalDataTool?: ExternalDataTool) => {
if (!newExternalDataTool)
return
setExternalDataToolsConfig([...externalDataToolsConfig, newExternalDataTool])
},
onValidateBeforeSaveCallback: (newExternalDataTool: ExternalDataTool) => {
for (let i = 0; i < promptVariables.length; i++) {
if (promptVariables[i].key === newExternalDataTool.variable) {
toast.error(t('varKeyError.keyAlreadyExists', { ns: 'appDebug', key: promptVariables[i].key }))
return false
}
}
for (let i = 0; i < externalDataToolsConfig.length; i++) {
if (externalDataToolsConfig[i].variable === newExternalDataTool.variable) {
toast.error(t('varKeyError.keyAlreadyExists', { ns: 'appDebug', key: externalDataToolsConfig[i].variable }))
return false
}
}
return true
},
})
}
return (
<div className={cn(className, s.gradientBorder, 'relative')}>
<div className="rounded-xl bg-white">
<div className={cn(s.boxHeader, 'flex h-11 items-center justify-between rounded-tl-xl rounded-tr-xl bg-white pb-1 pl-4 pr-3 pt-2 hover:shadow-xs')}>
<div className="text-sm font-semibold uppercase text-indigo-800">{t(`agent.${isFirstPrompt ? 'firstPrompt' : 'nextIteration'}`, { ns: 'appDebug' })}</div>
<div className={cn(s.optionWrap, 'items-center space-x-1')}>
{!isCopied
? (
<Copy
className="h-6 w-6 cursor-pointer p-1 text-gray-500"
onClick={() => {
copy(value)
setIsCopied(true)
}}
/>
)
: (
<CopyCheck className="h-6 w-6 p-1 text-gray-500" />
)}
</div>
</div>
<div className={cn(editorHeight, 'min-h-[102px] overflow-y-auto px-4 text-sm text-gray-700')}>
<PromptEditor
className={editorHeight}
value={value}
contextBlock={{
show: true,
selectable: !hasSetBlockStatus.context,
datasets: dataSets.map(item => ({
id: item.id,
name: item.name,
type: item.data_source_type,
})),
onAddContext: showSelectDataSet,
}}
variableBlock={{
show: true,
variables: modelConfig.configs.prompt_variables.filter(item => item.key && item.key.trim() && item.name && item.name.trim()).map(item => ({
name: item.name,
value: item.key,
})),
}}
externalToolBlock={{
show: true,
externalTools: externalDataToolsConfig.map(item => ({
name: item.label!,
variableName: item.variable!,
icon: item.icon,
icon_background: item.icon_background,
})),
onAddExternalTool: handleOpenExternalDataToolModal,
}}
historyBlock={{
show: false,
selectable: false,
history: {
user: '',
assistant: '',
},
onEditRole: noop,
}}
queryBlock={{
show: false,
selectable: false,
}}
onChange={onChange}
onBlur={noop}
/>
</div>
<div className="flex pb-2 pl-4">
<div className="h-[18px] rounded-md bg-gray-100 px-1 text-xs leading-[18px] text-gray-500">{value.length}</div>
</div>
</div>
</div>
)
}
export default React.memo(Editor)

View File

@@ -7,7 +7,7 @@ import * as React from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import Button from '@/app/components/base/button' import Button from '@/app/components/base/button'
export type IAutomaticBtnProps = { type IAutomaticBtnProps = {
onClick: () => void onClick: () => void
} }
const AutomaticBtn: FC<IAutomaticBtnProps> = ({ const AutomaticBtn: FC<IAutomaticBtnProps> = ({

View File

@@ -43,7 +43,7 @@ import useGenData from './use-gen-data'
const i18nPrefix = 'generate' const i18nPrefix = 'generate'
export type IGetAutomaticResProps = { type IGetAutomaticResProps = {
mode: AppModeEnum mode: AppModeEnum
isShow: boolean isShow: boolean
onClose: () => void onClose: () => void

View File

@@ -31,7 +31,7 @@ import { GeneratorType } from '../automatic/types'
import useGenData from '../automatic/use-gen-data' import useGenData from '../automatic/use-gen-data'
const i18nPrefix = 'generate' const i18nPrefix = 'generate'
export type IGetCodeGeneratorResProps = { type IGetCodeGeneratorResProps = {
flowId: string flowId: string
nodeId: string nodeId: string
currentCode?: string currentCode?: string

View File

@@ -5,7 +5,7 @@ import { useTranslation } from 'react-i18next'
import Button from '@/app/components/base/button' import Button from '@/app/components/base/button'
import s from './style.module.css' import s from './style.module.css'
export type IContrlBtnGroupProps = { type IContrlBtnGroupProps = {
onSave: () => void onSave: () => void
onReset: () => void onReset: () => void
} }

View File

@@ -17,7 +17,7 @@ import Link from '@/next/link'
import { useInfiniteDatasets } from '@/service/knowledge/use-dataset' import { useInfiniteDatasets } from '@/service/knowledge/use-dataset'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
export type ISelectDataSetProps = { type ISelectDataSetProps = {
isShow: boolean isShow: boolean
onClose: () => void onClose: () => void
selectedIds: string[] selectedIds: string[]

View File

@@ -18,5 +18,3 @@ export const DebugWithMultipleModelContext = createContext<DebugWithMultipleMode
}) })
export const useDebugWithMultipleModelContext = () => useContext(DebugWithMultipleModelContext) export const useDebugWithMultipleModelContext = () => useContext(DebugWithMultipleModelContext)
export default DebugWithMultipleModelContext

View File

@@ -1,14 +0,0 @@
.advancedPromptMode {
position: relative;
}
.advancedPromptMode::before {
content: '';
position: absolute;
bottom: 0;
left: -1px;
width: 100%;
height: 3px;
background-color: rgba(68, 76, 231, 0.18);
transform: skewX(-30deg);
}

View File

@@ -1,204 +0,0 @@
import type { ExternalDataTool } from '@/models/common'
import {
RiAddLine,
RiArrowDownSLine,
RiDeleteBinLine,
} from '@remixicon/react'
import copy from 'copy-to-clipboard'
import { useState } from 'react'
import { useTranslation } from 'react-i18next'
import { useContext } from 'use-context-selector'
import AppIcon from '@/app/components/base/app-icon'
import {
Settings01,
} from '@/app/components/base/icons/src/vender/line/general'
import { Tool03 } from '@/app/components/base/icons/src/vender/solid/general'
import Switch from '@/app/components/base/switch'
import { toast } from '@/app/components/base/ui/toast'
import {
Tooltip,
TooltipContent,
TooltipTrigger,
} from '@/app/components/base/ui/tooltip'
import ConfigContext from '@/context/debug-configuration'
import { useModalContext } from '@/context/modal-context'
const Tools = () => {
const { t } = useTranslation()
const { setShowExternalDataToolModal } = useModalContext()
const {
externalDataToolsConfig,
setExternalDataToolsConfig,
modelConfig,
} = useContext(ConfigContext)
const [expanded, setExpanded] = useState(true)
const [copied, setCopied] = useState(false)
const handleSaveExternalDataToolModal = (externalDataTool: ExternalDataTool, index: number) => {
if (index > -1) {
setExternalDataToolsConfig([
...externalDataToolsConfig.slice(0, index),
externalDataTool,
...externalDataToolsConfig.slice(index + 1),
])
}
else {
setExternalDataToolsConfig([...externalDataToolsConfig, externalDataTool])
}
}
const handleValidateBeforeSaveExternalDataToolModal = (newExternalDataTool: ExternalDataTool, index: number) => {
const promptVariables = modelConfig?.configs?.prompt_variables || []
for (let i = 0; i < promptVariables.length; i++) {
if (promptVariables[i].key === newExternalDataTool.variable) {
toast.error(t('varKeyError.keyAlreadyExists', { ns: 'appDebug', key: promptVariables[i].key }))
return false
}
}
let existedExternalDataTools = []
if (index > -1) {
existedExternalDataTools = [
...externalDataToolsConfig.slice(0, index),
...externalDataToolsConfig.slice(index + 1),
]
}
else {
existedExternalDataTools = [...externalDataToolsConfig]
}
for (let i = 0; i < existedExternalDataTools.length; i++) {
if (existedExternalDataTools[i].variable === newExternalDataTool.variable) {
toast.error(t('varKeyError.keyAlreadyExists', { ns: 'appDebug', key: existedExternalDataTools[i].variable }))
return false
}
}
return true
}
const handleOpenExternalDataToolModal = (payload: ExternalDataTool, index: number) => {
setShowExternalDataToolModal({
payload,
onSaveCallback: (externalDataTool?: ExternalDataTool) => {
if (!externalDataTool)
return
handleSaveExternalDataToolModal(externalDataTool, index)
},
onValidateBeforeSaveCallback: (newExternalDataTool: ExternalDataTool) => handleValidateBeforeSaveExternalDataToolModal(newExternalDataTool, index),
})
}
return (
<div className="mt-3 rounded-xl bg-gray-50 px-3">
<div className="flex h-12 items-center">
<div className="flex grow items-center">
<div
className={`
group mr-1 flex h-6 w-6 items-center justify-center rounded-md
${externalDataToolsConfig.length && 'hover:bg-white hover:shadow-xs'}
`}
onClick={() => setExpanded(v => !v)}
>
{
externalDataToolsConfig.length
? <Tool03 className="h-4 w-4 text-[#444CE7] group-hover:hidden" />
: <Tool03 className="h-4 w-4 text-[#444CE7]" />
}
{
!!externalDataToolsConfig.length && (
<RiArrowDownSLine className={`hidden h-4 w-4 cursor-pointer text-primary-600 group-hover:block ${expanded ? 'rotate-180' : 'rotate-0'}`} />
)
}
</div>
<div className="mr-1 text-sm font-semibold text-gray-800">
{t('feature.tools.title', { ns: 'appDebug' })}
</div>
<Tooltip>
<TooltipTrigger render={<span className="i-ri-question-line ml-1 h-4 w-4 shrink-0 text-text-quaternary" />} />
<TooltipContent>
<div className="max-w-[160px]">
{t('feature.tools.tips', { ns: 'appDebug' })}
</div>
</TooltipContent>
</Tooltip>
</div>
{
!expanded && !!externalDataToolsConfig.length && (
<>
<div className="mr-3 text-xs text-gray-500">{t('feature.tools.toolsInUse', { ns: 'appDebug', count: externalDataToolsConfig.length })}</div>
<div className="mr-1 h-3.5 w-px bg-gray-200" />
</>
)
}
<div
className="flex h-7 cursor-pointer items-center px-3 text-xs font-medium text-gray-700"
onClick={() => handleOpenExternalDataToolModal({}, -1)}
>
<RiAddLine className="mr-[5px] h-3.5 w-3.5" />
{t('operation.add', { ns: 'common' })}
</div>
</div>
{
expanded && !!externalDataToolsConfig.length && (
<div className="pb-3">
{
externalDataToolsConfig.map((item, index: number) => (
<div
key={`${index}-${item.type}-${item.label}-${item.variable}`}
className="group mb-1 flex items-center rounded-lg border-[0.5px] border-gray-200 bg-white px-2.5 py-2 shadow-xs last-of-type:mb-0"
>
<div className="flex grow items-center">
<AppIcon
size="large"
className="mr-2 h-6! w-6! rounded-md border-[0.5px] border-black/5"
icon={item.icon}
background={item.icon_background}
/>
<div className="mr-2 text-[13px] font-medium text-gray-800">{item.label}</div>
<Tooltip>
<TooltipTrigger
render={(
<div
className="text-xs text-gray-500"
onClick={() => {
copy(item.variable || '')
setCopied(true)
}}
>
{item.variable}
</div>
)}
/>
<TooltipContent>
{copied ? t('copied', { ns: 'appApi' }) : `${item.variable}, ${t('copy', { ns: 'appApi' })}`}
</TooltipContent>
</Tooltip>
</div>
<div
className="mr-1 hidden h-6 w-6 cursor-pointer items-center justify-center rounded-md hover:bg-black/5 group-hover:flex"
onClick={() => handleOpenExternalDataToolModal(item, index)}
>
<Settings01 className="h-4 w-4 text-gray-500" />
</div>
<div
className="group/action hidden h-6 w-6 cursor-pointer items-center justify-center rounded-md hover:bg-[#FEE4E2] group-hover:flex"
onClick={() => setExternalDataToolsConfig([...externalDataToolsConfig.slice(0, index), ...externalDataToolsConfig.slice(index + 1)])}
>
<RiDeleteBinLine className="h-4 w-4 text-gray-500 group-hover/action:text-[#D92D20]" />
</div>
<div className="ml-2 mr-3 hidden h-3.5 w-px bg-gray-200 group-hover:block" />
<Switch
size="lg"
value={item.enabled ?? false}
onChange={(enabled: boolean) => handleSaveExternalDataToolModal({ ...item, enabled }, index)}
/>
</div>
))
}
</div>
)
}
</div>
)
}
export default Tools

View File

@@ -12,7 +12,7 @@ import { useGlobalPublicStore } from '@/context/global-public-context'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
import { AppTypeIcon, AppTypeLabel } from '../../type-selector' import { AppTypeIcon, AppTypeLabel } from '../../type-selector'
export type AppCardProps = { type AppCardProps = {
app: App app: App
canCreate: boolean canCreate: boolean
onCreate: () => void onCreate: () => void

View File

@@ -13,7 +13,7 @@ import { toast } from '@/app/components/base/ui/toast'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
import { formatFileSize } from '@/utils/format' import { formatFileSize } from '@/utils/format'
export type Props = { type Props = {
file: File | undefined file: File | undefined
updateFile: (file?: File) => void updateFile: (file?: File) => void
className?: string className?: string

View File

@@ -17,7 +17,7 @@ import EmptyElement from './empty-element'
import Filter, { TIME_PERIOD_MAPPING } from './filter' import Filter, { TIME_PERIOD_MAPPING } from './filter'
import List from './list' import List from './list'
export type ILogsProps = { type ILogsProps = {
appDetail: App appDetail: App
} }

View File

@@ -72,17 +72,17 @@ const defaultModalContext: ModalContextState = {
setShowTriggerEventsLimitModal: noop, setShowTriggerEventsLimitModal: noop,
} }
export type MockOverrides = { type MockOverrides = {
providerContext?: Partial<typeof defaultProviderContext> providerContext?: Partial<typeof defaultProviderContext>
modalContext?: Partial<typeof defaultModalContext> modalContext?: Partial<typeof defaultModalContext>
} }
export type APIKeyInfoPanelRenderOptions = { type APIKeyInfoPanelRenderOptions = {
mockOverrides?: MockOverrides mockOverrides?: MockOverrides
} & Omit<RenderOptions, 'wrapper'> } & Omit<RenderOptions, 'wrapper'>
// Setup function to configure mocks // Setup function to configure mocks
export function setupMocks(overrides: MockOverrides = {}) { function setupMocks(overrides: MockOverrides = {}) {
mockUseProviderContext.mockReturnValue({ mockUseProviderContext.mockReturnValue({
...defaultProviderContext, ...defaultProviderContext,
...overrides.providerContext, ...overrides.providerContext,
@@ -95,7 +95,7 @@ export function setupMocks(overrides: MockOverrides = {}) {
} }
// Custom render function // Custom render function
export function renderAPIKeyInfoPanel(options: APIKeyInfoPanelRenderOptions = {}) { function renderAPIKeyInfoPanel(options: APIKeyInfoPanelRenderOptions = {}) {
const { mockOverrides, ...renderOptions } = options const { mockOverrides, ...renderOptions } = options
setupMocks(mockOverrides) setupMocks(mockOverrides)
@@ -210,4 +210,4 @@ export function clearAllMocks() {
} }
// Export mock functions for external access // Export mock functions for external access
export { defaultModalContext, mockUseModalContext, mockUseProviderContext } export { defaultModalContext, mockUseModalContext }

View File

@@ -102,12 +102,12 @@ export type PeriodParamsWithTimeRange = {
query?: TimeRange query?: TimeRange
} }
export type IBizChartProps = { type IBizChartProps = {
period: PeriodParams period: PeriodParams
id: string id: string
} }
export type IChartProps = { type IChartProps = {
className?: string className?: string
basicInfo: { title: string, explanation: string, timePeriod: string } basicInfo: { title: string, explanation: string, timePeriod: string }
valueKey?: string valueKey?: string
@@ -508,5 +508,3 @@ export const AvgUserInteractions: FC<IBizChartProps> = ({ id, period }) => {
/> />
) )
} }
export default Chart

View File

@@ -29,7 +29,7 @@ import Link from '@/next/link'
import { AppModeEnum } from '@/types/app' import { AppModeEnum } from '@/types/app'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
export type ISettingsModalProps = { type ISettingsModalProps = {
isChat: boolean isChat: boolean
appInfo: AppDetailResponse & Partial<AppSSO> appInfo: AppDetailResponse & Partial<AppSSO>
isShow: boolean isShow: boolean

View File

@@ -22,7 +22,7 @@ import {
import { useAllTriggerPlugins } from '@/service/use-triggers' import { useAllTriggerPlugins } from '@/service/use-triggers'
import { canFindTool } from '@/utils' import { canFindTool } from '@/utils'
export type ITriggerCardProps = { type ITriggerCardProps = {
appInfo: AppDetailResponse & Partial<AppSSO> appInfo: AppDetailResponse & Partial<AppSSO>
onToggleResult?: (err: Error | null, message?: I18nKeysByPrefix<'common', 'actionMsg.'>) => void onToggleResult?: (err: Error | null, message?: I18nKeysByPrefix<'common', 'actionMsg.'>) => void
} }

View File

@@ -38,7 +38,7 @@ import ResultTab from './result-tab'
const MAX_DEPTH = 3 const MAX_DEPTH = 3
export type IGenerationItemProps = { type IGenerationItemProps = {
isWorkflow?: boolean isWorkflow?: boolean
workflowProcessData?: WorkflowProcess workflowProcessData?: WorkflowProcess
className?: string className?: string
@@ -67,12 +67,6 @@ export type IGenerationItemProps = {
inSidePanel?: boolean inSidePanel?: boolean
} }
export const copyIcon = (
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.3335 2.33341C9.87598 2.33341 10.1472 2.33341 10.3698 2.39304C10.9737 2.55486 11.4454 3.02657 11.6072 3.63048C11.6668 3.85302 11.6668 4.12426 11.6668 4.66675V10.0334C11.6668 11.0135 11.6668 11.5036 11.4761 11.8779C11.3083 12.2072 11.0406 12.4749 10.7113 12.6427C10.337 12.8334 9.84692 12.8334 8.86683 12.8334H5.1335C4.1534 12.8334 3.66336 12.8334 3.28901 12.6427C2.95973 12.4749 2.69201 12.2072 2.52423 11.8779C2.3335 11.5036 2.3335 11.0135 2.3335 10.0334V4.66675C2.3335 4.12426 2.3335 3.85302 2.39313 3.63048C2.55494 3.02657 3.02665 2.55486 3.63056 2.39304C3.8531 2.33341 4.12435 2.33341 4.66683 2.33341M5.60016 3.50008H8.40016C8.72686 3.50008 8.89021 3.50008 9.01499 3.4365C9.12475 3.38058 9.21399 3.29134 9.26992 3.18158C9.3335 3.05679 9.3335 2.89345 9.3335 2.56675V2.10008C9.3335 1.77338 9.3335 1.61004 9.26992 1.48525C9.21399 1.37549 9.12475 1.28625 9.01499 1.23033C8.89021 1.16675 8.72686 1.16675 8.40016 1.16675H5.60016C5.27347 1.16675 5.11012 1.16675 4.98534 1.23033C4.87557 1.28625 4.78634 1.37549 4.73041 1.48525C4.66683 1.61004 4.66683 1.77338 4.66683 2.10008V2.56675C4.66683 2.89345 4.66683 3.05679 4.73041 3.18158C4.78634 3.29134 4.87557 3.38058 4.98534 3.4365C5.11012 3.50008 5.27347 3.50008 5.60016 3.50008Z" stroke="#344054" strokeWidth="1.25" strokeLinecap="round" strokeLinejoin="round" />
</svg>
)
const GenerationItem: FC<IGenerationItemProps> = ({ const GenerationItem: FC<IGenerationItemProps> = ({
isWorkflow, isWorkflow,
workflowProcessData, workflowProcessData,

View File

@@ -8,7 +8,7 @@ import * as React from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import Button from '@/app/components/base/button' import Button from '@/app/components/base/button'
export type INoDataProps = { type INoDataProps = {
onStartCreateContent: () => void onStartCreateContent: () => void
} }

View File

@@ -11,7 +11,7 @@ import {
import { AppModeEnum } from '@/types/app' import { AppModeEnum } from '@/types/app'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
export type AppSelectorProps = { type AppSelectorProps = {
value: Array<AppModeEnum> value: Array<AppModeEnum>
onChange: (value: AppSelectorProps['value']) => void onChange: (value: AppSelectorProps['value']) => void
} }

View File

@@ -62,7 +62,7 @@ const AccessControl = dynamic(() => import('@/app/components/app/app-access-cont
ssr: false, ssr: false,
}) })
export type AppCardProps = { type AppCardProps = {
app: App app: App
onRefresh?: () => void onRefresh?: () => void
} }

View File

@@ -25,7 +25,7 @@ const CreateFromDSLModal = dynamic(() => import('@/app/components/app/create-fro
ssr: false, ssr: false,
}) })
export type CreateAppCardProps = { type CreateAppCardProps = {
className?: string className?: string
isLoading?: boolean isLoading?: boolean
onSuccess?: () => void onSuccess?: () => void

View File

@@ -15,7 +15,7 @@ import { cn } from '@/utils/classnames'
import ResultPanel from './result' import ResultPanel from './result'
import TracingPanel from './tracing' import TracingPanel from './tracing'
export type AgentLogDetailProps = { type AgentLogDetailProps = {
activeTab?: 'DETAIL' | 'TRACING' activeTab?: 'DETAIL' | 'TRACING'
conversationID: string conversationID: string
log: IChatItem log: IChatItem

View File

@@ -1,2 +1,2 @@
export { default } from './lazy-amplitude-provider' export { default } from './lazy-amplitude-provider'
export { resetUser, setUserId, setUserProperties, trackEvent } from './utils' export { setUserId, setUserProperties, trackEvent } from './utils'

View File

@@ -8,7 +8,7 @@ import { cn } from '@/utils/classnames'
init({ data }) init({ data })
export type AnswerIconProps = { type AnswerIconProps = {
iconType?: AppIconType | null iconType?: AppIconType | null
icon?: string | null icon?: string | null
background?: string | null background?: string | null

View File

@@ -12,7 +12,7 @@ import { cn } from '@/utils/classnames'
init({ data }) init({ data })
export type AppIconProps = { type AppIconProps = {
size?: 'xs' | 'tiny' | 'small' | 'medium' | 'large' | 'xl' | 'xxl' size?: 'xs' | 'tiny' | 'small' | 'medium' | 'large' | 'xl' | 'xxl'
rounded?: boolean rounded?: boolean
iconType?: AppIconType | null iconType?: AppIconType | null

View File

@@ -24,11 +24,11 @@ export type AvatarProps = {
onLoadingStatusChange?: (status: ImageLoadingStatus) => void onLoadingStatusChange?: (status: ImageLoadingStatus) => void
} }
export type AvatarRootProps = React.ComponentPropsWithRef<typeof BaseAvatar.Root> & { type AvatarRootProps = React.ComponentPropsWithRef<typeof BaseAvatar.Root> & {
size?: AvatarSize size?: AvatarSize
} }
export function AvatarRoot({ function AvatarRoot({
size = 'md', size = 'md',
className, className,
...props ...props
@@ -45,9 +45,9 @@ export function AvatarRoot({
) )
} }
export type AvatarImageProps = React.ComponentPropsWithRef<typeof BaseAvatar.Image> type AvatarImageProps = React.ComponentPropsWithRef<typeof BaseAvatar.Image>
export function AvatarImage({ function AvatarImage({
className, className,
...props ...props
}: AvatarImageProps) { }: AvatarImageProps) {
@@ -59,11 +59,11 @@ export function AvatarImage({
) )
} }
export type AvatarFallbackProps = React.ComponentPropsWithRef<typeof BaseAvatar.Fallback> & { type AvatarFallbackProps = React.ComponentPropsWithRef<typeof BaseAvatar.Fallback> & {
size?: AvatarSize size?: AvatarSize
} }
export function AvatarFallback({ function AvatarFallback({
size = 'md', size = 'md',
className, className,
...props ...props

View File

@@ -29,7 +29,7 @@ export const getInputKeys = (value: string) => {
return res return res
} }
export type IBlockInputProps = { type IBlockInputProps = {
value: string value: string
className?: string // wrapper class className?: string // wrapper class
highLightClassName?: string // class for the highlighted text default is text-blue-500 highLightClassName?: string // class for the highlighted text default is text-blue-500

View File

@@ -97,7 +97,7 @@ const ChatWithHistory: FC<ChatWithHistoryProps> = ({
) )
} }
export type ChatWithHistoryWrapProps = { type ChatWithHistoryWrapProps = {
installedAppInfo?: InstalledApp installedAppInfo?: InstalledApp
className?: string className?: string
} }

View File

@@ -7,7 +7,7 @@ import Button from '@/app/components/base/button'
import Input from '@/app/components/base/input' import Input from '@/app/components/base/input'
import Modal from '@/app/components/base/modal' import Modal from '@/app/components/base/modal'
export type IRenameModalProps = { type IRenameModalProps = {
isShow: boolean isShow: boolean
saveLoading: boolean saveLoading: boolean
name: string name: string

View File

@@ -26,5 +26,3 @@ export const ChatContext = createContext<ChatContextValue>({
}) })
export const useChatContext = () => useContext(ChatContext) export const useChatContext = () => useContext(ChatContext)
export default ChatContext

View File

@@ -4,7 +4,7 @@ import * as React from 'react'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
import s from './style.module.css' import s from './style.module.css'
export type ILoadingAnimProps = { type ILoadingAnimProps = {
type: 'text' | 'avatar' type: 'text' | 'avatar'
} }

View File

@@ -29,8 +29,6 @@ export type SubmitAnnotationFunc = (
content: string, content: string,
) => Promise<any> ) => Promise<any>
export type DisplayScene = 'web' | 'console'
export type ToolInfoInThought = { export type ToolInfoInThought = {
name: string name: string
label: string label: string
@@ -151,15 +149,6 @@ export type MessageReplace = {
conversation_id: string conversation_id: string
} }
export type AnnotationReply = {
id: string
task_id: string
answer: string
conversation_id: string
annotation_id: string
annotation_author_name: string
}
export type InputForm = { export type InputForm = {
type: InputVarType type: InputVarType
label: string label: string

View File

@@ -16,7 +16,7 @@ import {
} from '../context' } from '../context'
import { CssTransform } from '../theme/utils' import { CssTransform } from '../theme/utils'
export type IHeaderProps = { type IHeaderProps = {
isMobile?: boolean isMobile?: boolean
allowResetChat?: boolean allowResetChat?: boolean
customerIcon?: React.ReactNode customerIcon?: React.ReactNode

View File

@@ -3,42 +3,16 @@ import type { FileEntity } from '@/app/components/base/file-uploader/types'
import type { WorkflowRunningStatus } from '@/app/components/workflow/types' import type { WorkflowRunningStatus } from '@/app/components/workflow/types'
import type { import type {
ModelConfig, ModelConfig,
VisionSettings,
} from '@/types/app' } from '@/types/app'
import type { HumanInputFilledFormData, HumanInputFormData, NodeTracing } from '@/types/workflow' import type { HumanInputFilledFormData, HumanInputFormData, NodeTracing } from '@/types/workflow'
export type { export type {
Inputs, Inputs,
PromptVariable,
} from '@/models/debug' } from '@/models/debug'
export type { VisionFile } from '@/types/app'
export { TransferMethod } from '@/types/app' export { TransferMethod } from '@/types/app'
export type UserInputForm = {
default: string
label: string
required: boolean
variable: string
}
export type UserInputFormTextInput = {
'text-input': UserInputForm & {
max_length: number
}
}
export type UserInputFormSelect = {
select: UserInputForm & {
options: string[]
}
}
export type UserInputFormParagraph = {
paragraph: UserInputForm
}
export type VisionConfig = VisionSettings
export type EnableType = { export type EnableType = {
enabled: boolean enabled: boolean
} }

View File

@@ -9,13 +9,13 @@ import SearchMenu from '@/assets/search-menu.svg'
import { cn } from '@/utils/classnames' import { cn } from '@/utils/classnames'
import Button from '../button' import Button from '../button'
export type CheckboxListOption = { type CheckboxListOption = {
label: string label: string
value: string value: string
disabled?: boolean disabled?: boolean
} }
export type CheckboxListProps = { type CheckboxListProps = {
title?: string title?: string
label?: string label?: string
description?: string description?: string

View File

@@ -17,5 +17,3 @@ export const DaysOfWeek = () => {
</div> </div>
) )
} }
export default React.memo(DaysOfWeek)

View File

@@ -126,7 +126,7 @@ export const convertTimezoneToOffsetStr = (timezone?: string) => {
export const isDayjsObject = (value: unknown): value is Dayjs => dayjs.isDayjs(value) export const isDayjsObject = (value: unknown): value is Dayjs => dayjs.isDayjs(value)
export type ToDayjsOptions = { type ToDayjsOptions = {
timezone?: string timezone?: string
format?: string format?: string
formats?: string[] formats?: string[]

View File

@@ -21,7 +21,7 @@ const dividerVariants = cva('', {
}, },
}) })
export type DividerProps = { type DividerProps = {
className?: string className?: string
style?: CSSProperties style?: CSSProperties
} & VariantProps<typeof dividerVariants> } & VariantProps<typeof dividerVariants>

View File

@@ -1,7 +1,7 @@
export { default as FileTypeIcon } from './file-type-icon' export { default as FileTypeIcon } from './file-type-icon'
export { default as FileUploaderInAttachmentWrapper } from './file-uploader-in-attachment' export { default as FileUploaderInAttachmentWrapper } from './file-uploader-in-attachment'
export { default as FileItemInAttachment } from './file-uploader-in-attachment/file-item'
export { default as FileUploaderInChatInput } from './file-uploader-in-chat-input' export { default as FileUploaderInChatInput } from './file-uploader-in-chat-input'
export { default as FileItem } from './file-uploader-in-chat-input/file-item'
export { FileListInChatInput } from './file-uploader-in-chat-input/file-list' export { FileListInChatInput } from './file-uploader-in-chat-input/file-list'
export { FileList } from './file-uploader-in-chat-input/file-list' export { FileList } from './file-uploader-in-chat-input/file-list'

View File

@@ -30,5 +30,3 @@ export const UserSchema = z.object({
preferredContactMethod: ContactMethod, preferredContactMethod: ContactMethod,
}), }),
}) })
export type User = z.infer<typeof UserSchema>

View File

@@ -14,9 +14,11 @@ import UploadMethodField from './components/field/upload-method'
import VariableOrConstantInputField from './components/field/variable-selector' import VariableOrConstantInputField from './components/field/variable-selector'
import Actions from './components/form/actions' import Actions from './components/form/actions'
export const { fieldContext, useFieldContext, formContext, useFormContext } const { fieldContext, useFieldContext, formContext, useFormContext }
= createFormHookContexts() = createFormHookContexts()
export { formContext, useFieldContext, useFormContext }
export const { useAppForm, withForm } = createFormHook({ export const { useAppForm, withForm } = createFormHook({
fieldComponents: { fieldComponents: {
TextField, TextField,

View File

@@ -82,8 +82,6 @@ export type FormSchema = {
} }
} }
export type FormValues = Record<string, any>
export type GetValuesOptions = { export type GetValuesOptions = {
needTransformWhenSecretFieldIsPristine?: boolean needTransformWhenSecretFieldIsPristine?: boolean
needCheckValidatedValues?: boolean needCheckValidatedValues?: boolean

View File

@@ -9,16 +9,16 @@ export enum GaType {
webapp = 'webapp', webapp = 'webapp',
} }
export const GA_MEASUREMENT_ID_ADMIN = 'G-DM9497FN4V' const GA_MEASUREMENT_ID_ADMIN = 'G-DM9497FN4V'
export const GA_MEASUREMENT_ID_WEBAPP = 'G-2MFWXK7WYT' const GA_MEASUREMENT_ID_WEBAPP = 'G-2MFWXK7WYT'
export const COOKIEYES_SCRIPT_SRC = 'https://cdn-cookieyes.com/client_data/2a645945fcae53f8e025a2b1/script.js' const COOKIEYES_SCRIPT_SRC = 'https://cdn-cookieyes.com/client_data/2a645945fcae53f8e025a2b1/script.js'
const gaIdMaps = { const gaIdMaps = {
[GaType.admin]: GA_MEASUREMENT_ID_ADMIN, [GaType.admin]: GA_MEASUREMENT_ID_ADMIN,
[GaType.webapp]: GA_MEASUREMENT_ID_WEBAPP, [GaType.webapp]: GA_MEASUREMENT_ID_WEBAPP,
} }
export type IGAProps = { type IGAProps = {
gaType: GaType gaType: GaType
} }

View File

@@ -6,7 +6,7 @@ export type IconData = {
icon: AbstractNode icon: AbstractNode
} }
export type IconBaseProps = { type IconBaseProps = {
data: IconData data: IconData
className?: string className?: string
onClick?: React.MouseEventHandler<SVGElement> onClick?: React.MouseEventHandler<SVGElement>

View File

@@ -1,9 +0,0 @@
export { default as BaichuanTextCn } from './BaichuanTextCn'
export { default as Minimax } from './Minimax'
export { default as MinimaxText } from './MinimaxText'
export { default as Tongyi } from './Tongyi'
export { default as TongyiText } from './TongyiText'
export { default as TongyiTextCn } from './TongyiTextCn'
export { default as Wxyy } from './Wxyy'
export { default as WxyyText } from './WxyyText'
export { default as WxyyTextCn } from './WxyyTextCn'

View File

@@ -1,12 +1,5 @@
export { default as ArCube1 } from './ArCube1'
export { default as Asterisk } from './Asterisk'
export { default as AwsMarketplaceDark } from './AwsMarketplaceDark' export { default as AwsMarketplaceDark } from './AwsMarketplaceDark'
export { default as AwsMarketplaceLight } from './AwsMarketplaceLight' export { default as AwsMarketplaceLight } from './AwsMarketplaceLight'
export { default as Azure } from './Azure' export { default as Azure } from './Azure'
export { default as Buildings } from './Buildings'
export { default as Diamond } from './Diamond'
export { default as GoogleCloud } from './GoogleCloud' export { default as GoogleCloud } from './GoogleCloud'
export { default as Group2 } from './Group2'
export { default as Keyframe } from './Keyframe'
export { default as Sparkles } from './Sparkles'
export { default as SparklesSoft } from './SparklesSoft'

View File

@@ -1,16 +1,9 @@
export { default as D } from './D'
export { default as DiagonalDividingLine } from './DiagonalDividingLine'
export { default as Dify } from './Dify'
export { default as Gdpr } from './Gdpr'
export { default as Github } from './Github' export { default as Github } from './Github'
export { default as Highlight } from './Highlight' export { default as Highlight } from './Highlight'
export { default as Iso } from './Iso'
export { default as Line3 } from './Line3' export { default as Line3 } from './Line3'
export { default as Lock } from './Lock'
export { default as MessageChatSquare } from './MessageChatSquare'
export { default as MultiPathRetrieval } from './MultiPathRetrieval'
export { default as Notion } from './Notion' export { default as Notion } from './Notion'
export { default as NTo1Retrieval } from './NTo1Retrieval'
export { default as Soc2 } from './Soc2'
export { default as SparklesSoft } from './SparklesSoft' export { default as SparklesSoft } from './SparklesSoft'
export { default as SparklesSoftAccent } from './SparklesSoftAccent' export { default as SparklesSoftAccent } from './SparklesSoftAccent'

View File

@@ -1,5 +1,5 @@
export { default as ExternalKnowledgeBase } from './ExternalKnowledgeBase' export { default as ExternalKnowledgeBase } from './ExternalKnowledgeBase'
export { default as General } from './General' export { default as General } from './General'
export { default as Graph } from './Graph'
export { default as ParentChild } from './ParentChild' export { default as ParentChild } from './ParentChild'
export { default as Qa } from './Qa' export { default as Qa } from './Qa'

View File

@@ -1,8 +1,6 @@
export { default as File } from './File'
export { default as OptionCardEffectBlue } from './OptionCardEffectBlue' export { default as OptionCardEffectBlue } from './OptionCardEffectBlue'
export { default as OptionCardEffectBlueLight } from './OptionCardEffectBlueLight' export { default as OptionCardEffectBlueLight } from './OptionCardEffectBlueLight'
export { default as OptionCardEffectOrange } from './OptionCardEffectOrange' export { default as OptionCardEffectOrange } from './OptionCardEffectOrange'
export { default as OptionCardEffectPurple } from './OptionCardEffectPurple' export { default as OptionCardEffectPurple } from './OptionCardEffectPurple'
export { default as OptionCardEffectTeal } from './OptionCardEffectTeal' export { default as OptionCardEffectTeal } from './OptionCardEffectTeal'
export { default as SelectionMod } from './SelectionMod' export { default as SelectionMod } from './SelectionMod'
export { default as Watercrawl } from './Watercrawl'

View File

@@ -1,50 +1,14 @@
export { default as Anthropic } from './Anthropic'
export { default as AnthropicDark } from './AnthropicDark' export { default as AnthropicDark } from './AnthropicDark'
export { default as AnthropicLight } from './AnthropicLight' export { default as AnthropicLight } from './AnthropicLight'
export { default as AnthropicShortLight } from './AnthropicShortLight' export { default as AnthropicShortLight } from './AnthropicShortLight'
export { default as AnthropicText } from './AnthropicText'
export { default as Azureai } from './Azureai'
export { default as AzureaiText } from './AzureaiText'
export { default as AzureOpenaiService } from './AzureOpenaiService'
export { default as AzureOpenaiServiceText } from './AzureOpenaiServiceText'
export { default as Baichuan } from './Baichuan'
export { default as BaichuanText } from './BaichuanText'
export { default as Chatglm } from './Chatglm'
export { default as ChatglmText } from './ChatglmText'
export { default as Cohere } from './Cohere'
export { default as CohereText } from './CohereText'
export { default as Deepseek } from './Deepseek' export { default as Deepseek } from './Deepseek'
export { default as Gemini } from './Gemini' export { default as Gemini } from './Gemini'
export { default as Gpt3 } from './Gpt3'
export { default as Gpt4 } from './Gpt4'
export { default as Grok } from './Grok' export { default as Grok } from './Grok'
export { default as Huggingface } from './Huggingface'
export { default as HuggingfaceText } from './HuggingfaceText'
export { default as HuggingfaceTextHub } from './HuggingfaceTextHub'
export { default as IflytekSpark } from './IflytekSpark'
export { default as IflytekSparkText } from './IflytekSparkText'
export { default as IflytekSparkTextCn } from './IflytekSparkTextCn'
export { default as Jina } from './Jina'
export { default as JinaText } from './JinaText'
export { default as Localai } from './Localai'
export { default as LocalaiText } from './LocalaiText'
export { default as Microsoft } from './Microsoft'
export { default as OpenaiBlack } from './OpenaiBlack'
export { default as OpenaiBlue } from './OpenaiBlue'
export { default as OpenaiGreen } from './OpenaiGreen'
export { default as OpenaiSmall } from './OpenaiSmall' export { default as OpenaiSmall } from './OpenaiSmall'
export { default as OpenaiTeal } from './OpenaiTeal'
export { default as OpenaiText } from './OpenaiText'
export { default as OpenaiTransparent } from './OpenaiTransparent'
export { default as OpenaiViolet } from './OpenaiViolet'
export { default as OpenaiYellow } from './OpenaiYellow' export { default as OpenaiYellow } from './OpenaiYellow'
export { default as Openllm } from './Openllm'
export { default as OpenllmText } from './OpenllmText'
export { default as Replicate } from './Replicate'
export { default as ReplicateText } from './ReplicateText'
export { default as Tongyi } from './Tongyi' export { default as Tongyi } from './Tongyi'
export { default as XorbitsInference } from './XorbitsInference'
export { default as XorbitsInferenceText } from './XorbitsInferenceText'
export { default as Zhipuai } from './Zhipuai'
export { default as ZhipuaiText } from './ZhipuaiText'
export { default as ZhipuaiTextCn } from './ZhipuaiTextCn'

View File

@@ -1 +0,0 @@
export { default as Checked } from './Checked'

View File

@@ -1,5 +1,5 @@
export { default as DefaultToolIcon } from './DefaultToolIcon' export { default as DefaultToolIcon } from './DefaultToolIcon'
export { default as Icon3Dots } from './Icon3Dots'
export { default as Message3Fill } from './Message3Fill' export { default as Message3Fill } from './Message3Fill'
export { default as RowStruct } from './RowStruct' export { default as RowStruct } from './RowStruct'
export { default as Slack } from './Slack' export { default as Slack } from './Slack'

View File

@@ -1,7 +0,0 @@
export { default as Google } from './Google'
export { default as PartnerDark } from './PartnerDark'
export { default as PartnerLight } from './PartnerLight'
export { default as VerifiedDark } from './VerifiedDark'
export { default as VerifiedLight } from './VerifiedLight'
export { default as WebReader } from './WebReader'
export { default as Wikipedia } from './Wikipedia'

View File

@@ -1,5 +1 @@
export { default as DataSet } from './DataSet'
export { default as Loading } from './Loading' export { default as Loading } from './Loading'
export { default as Search } from './Search'
export { default as ThoughtList } from './ThoughtList'
export { default as WebReader } from './WebReader'

View File

@@ -3,7 +3,7 @@ export { default as ApiAggregate } from './ApiAggregate'
export { default as ArrowShape } from './ArrowShape' export { default as ArrowShape } from './ArrowShape'
export { default as Chunk } from './Chunk' export { default as Chunk } from './Chunk'
export { default as Collapse } from './Collapse' export { default as Collapse } from './Collapse'
export { default as Divider } from './Divider'
export { default as Economic } from './Economic' export { default as Economic } from './Economic'
export { default as FullTextSearch } from './FullTextSearch' export { default as FullTextSearch } from './FullTextSearch'
export { default as GeneralChunk } from './GeneralChunk' export { default as GeneralChunk } from './GeneralChunk'

View File

@@ -1,4 +1,2 @@
export { default as AlertTriangle } from './AlertTriangle'
export { default as ThumbsDown } from './ThumbsDown'
export { default as ThumbsUp } from './ThumbsUp' export { default as ThumbsUp } from './ThumbsUp'
export { default as Warning } from './Warning' export { default as Warning } from './Warning'

View File

@@ -3,7 +3,5 @@ export { default as ArrowUpRight } from './ArrowUpRight'
export { default as ChevronDownDouble } from './ChevronDownDouble' export { default as ChevronDownDouble } from './ChevronDownDouble'
export { default as ChevronRight } from './ChevronRight' export { default as ChevronRight } from './ChevronRight'
export { default as ChevronSelectorVertical } from './ChevronSelectorVertical' export { default as ChevronSelectorVertical } from './ChevronSelectorVertical'
export { default as IconR } from './IconR'
export { default as RefreshCcw01 } from './RefreshCcw01' export { default as RefreshCcw01 } from './RefreshCcw01'
export { default as RefreshCw05 } from './RefreshCw05'
export { default as ReverseLeft } from './ReverseLeft'

View File

@@ -1,6 +1,4 @@
export { default as AiText } from './AiText'
export { default as ChatBot } from './ChatBot'
export { default as ChatBotSlim } from './ChatBotSlim' export { default as ChatBotSlim } from './ChatBotSlim'
export { default as CuteRobot } from './CuteRobot'
export { default as MessageCheckRemove } from './MessageCheckRemove' export { default as MessageCheckRemove } from './MessageCheckRemove'
export { default as MessageFastPlus } from './MessageFastPlus' export { default as MessageFastPlus } from './MessageFastPlus'

View File

@@ -1,14 +1,2 @@
export { default as ArtificialBrain } from './ArtificialBrain'
export { default as BarChartSquare02 } from './BarChartSquare02'
export { default as BracketsX } from './BracketsX' export { default as BracketsX } from './BracketsX'
export { default as CodeBrowser } from './CodeBrowser' export { default as CodeBrowser } from './CodeBrowser'
export { default as Container } from './Container'
export { default as Database01 } from './Database01'
export { default as Database03 } from './Database03'
export { default as FileHeart02 } from './FileHeart02'
export { default as GitBranch01 } from './GitBranch01'
export { default as PromptEngineering } from './PromptEngineering'
export { default as PuzzlePiece01 } from './PuzzlePiece01'
export { default as TerminalSquare } from './TerminalSquare'
export { default as Variable } from './Variable'
export { default as Webhooks } from './Webhooks'

View File

@@ -1,8 +1 @@
export { default as AlignLeft } from './AlignLeft'
export { default as BezierCurve03 } from './BezierCurve03'
export { default as Collapse } from './Collapse'
export { default as Colors } from './Colors'
export { default as ImageIndentLeft } from './ImageIndentLeft' export { default as ImageIndentLeft } from './ImageIndentLeft'
export { default as LeftIndent02 } from './LeftIndent02'
export { default as LetterSpacing01 } from './LetterSpacing01'
export { default as TypeSquare } from './TypeSquare'

View File

@@ -1,11 +1,10 @@
export { default as Copy } from './Copy' export { default as Copy } from './Copy'
export { default as CopyCheck } from './CopyCheck' export { default as CopyCheck } from './CopyCheck'
export { default as File02 } from './File02'
export { default as FileArrow01 } from './FileArrow01' export { default as FileArrow01 } from './FileArrow01'
export { default as FileCheck02 } from './FileCheck02'
export { default as FileDownload02 } from './FileDownload02' export { default as FileDownload02 } from './FileDownload02'
export { default as FilePlus01 } from './FilePlus01' export { default as FilePlus01 } from './FilePlus01'
export { default as FilePlus02 } from './FilePlus02' export { default as FilePlus02 } from './FilePlus02'
export { default as FileText } from './FileText'
export { default as FileUpload } from './FileUpload'
export { default as Folder } from './Folder' export { default as Folder } from './Folder'

View File

@@ -1,7 +1,6 @@
export { default as Balance } from './Balance' export { default as Balance } from './Balance'
export { default as CoinsStacked01 } from './CoinsStacked01'
export { default as CreditsCoin } from './CreditsCoin' export { default as CreditsCoin } from './CreditsCoin'
export { default as GoldCoin } from './GoldCoin'
export { default as ReceiptList } from './ReceiptList'
export { default as Tag01 } from './Tag01' export { default as Tag01 } from './Tag01'
export { default as Tag03 } from './Tag03' export { default as Tag03 } from './Tag03'

View File

@@ -1,30 +1,19 @@
export { default as AtSign } from './AtSign'
export { default as Bookmark } from './Bookmark'
export { default as Check } from './Check' export { default as Check } from './Check'
export { default as CheckDone01 } from './CheckDone01'
export { default as ChecklistSquare } from './ChecklistSquare'
export { default as CodeAssistant } from './CodeAssistant' export { default as CodeAssistant } from './CodeAssistant'
export { default as DotsGrid } from './DotsGrid'
export { default as Edit02 } from './Edit02'
export { default as Edit04 } from './Edit04'
export { default as Edit05 } from './Edit05'
export { default as Hash02 } from './Hash02'
export { default as InfoCircle } from './InfoCircle'
export { default as Link03 } from './Link03' export { default as Link03 } from './Link03'
export { default as LinkExternal02 } from './LinkExternal02' export { default as LinkExternal02 } from './LinkExternal02'
export { default as LogIn04 } from './LogIn04'
export { default as LogOut01 } from './LogOut01' export { default as LogOut01 } from './LogOut01'
export { default as LogOut04 } from './LogOut04'
export { default as MagicEdit } from './MagicEdit' export { default as MagicEdit } from './MagicEdit'
export { default as Menu01 } from './Menu01'
export { default as Pin01 } from './Pin01'
export { default as Pin02 } from './Pin02' export { default as Pin02 } from './Pin02'
export { default as Plus02 } from './Plus02' export { default as Plus02 } from './Plus02'
export { default as Refresh } from './Refresh'
export { default as SearchMenu } from './SearchMenu' export { default as SearchMenu } from './SearchMenu'
export { default as Settings01 } from './Settings01' export { default as Settings01 } from './Settings01'
export { default as Settings04 } from './Settings04' export { default as Settings04 } from './Settings04'
export { default as Target04 } from './Target04'
export { default as Upload03 } from './Upload03'
export { default as UploadCloud01 } from './UploadCloud01'
export { default as X } from './X' export { default as X } from './X'

View File

@@ -1,4 +1 @@
export { default as AlignLeft01 } from './AlignLeft01'
export { default as AlignRight01 } from './AlignRight01'
export { default as Grid01 } from './Grid01'
export { default as LayoutGrid02 } from './LayoutGrid02' export { default as LayoutGrid02 } from './LayoutGrid02'

View File

@@ -1,6 +1,2 @@
export { default as Microphone01 } from './Microphone01'
export { default as PlayCircle } from './PlayCircle'
export { default as SlidersH } from './SlidersH'
export { default as Speaker } from './Speaker'
export { default as Stop } from './Stop' export { default as Stop } from './Stop'
export { default as StopCircle } from './StopCircle' export { default as StopCircle } from './StopCircle'

View File

@@ -1,10 +1,8 @@
export { default as BubbleX } from './BubbleX' export { default as BubbleX } from './BubbleX'
export { default as Colors } from './Colors'
export { default as DragHandle } from './DragHandle' export { default as DragHandle } from './DragHandle'
export { default as Env } from './Env' export { default as Env } from './Env'
export { default as GlobalVariable } from './GlobalVariable' export { default as GlobalVariable } from './GlobalVariable'
export { default as Icon3Dots } from './Icon3Dots' export { default as Icon3Dots } from './Icon3Dots'
export { default as LongArrowLeft } from './LongArrowLeft' export { default as LongArrowLeft } from './LongArrowLeft'
export { default as LongArrowRight } from './LongArrowRight' export { default as LongArrowRight } from './LongArrowRight'
export { default as SearchMenu } from './SearchMenu'
export { default as Tools } from './Tools'

View File

@@ -1 +0,0 @@
export { default as CubeOutline } from './CubeOutline'

View File

@@ -1,4 +1,2 @@
export { default as ClockFastForward } from './ClockFastForward' export { default as ClockFastForward } from './ClockFastForward'
export { default as ClockPlay } from './ClockPlay' export { default as ClockPlay } from './ClockPlay'
export { default as ClockPlaySlim } from './ClockPlaySlim'
export { default as ClockRefresh } from './ClockRefresh'

View File

@@ -1,2 +0,0 @@
export { default as User01 } from './User01'
export { default as Users01 } from './Users01'

View File

@@ -1 +0,0 @@
export { default as Stars02 } from './Stars02'

View File

@@ -1,4 +1,3 @@
export { default as AnthropicText } from './AnthropicText'
export { default as Generator } from './Generator' export { default as Generator } from './Generator'
export { default as Group } from './Group' export { default as Group } from './Group'
export { default as HourglassShape } from './HourglassShape' export { default as HourglassShape } from './HourglassShape'

View File

@@ -1,2 +1 @@
export { default as GoldCoin } from './GoldCoin'
export { default as Scales02 } from './Scales02' export { default as Scales02 } from './Scales02'

Some files were not shown because too many files have changed in this diff Show More