pull/20696/merge
GuanMu 10 months ago committed by GitHub
commit 8ee3e7a1c4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -53,16 +53,27 @@
"type": "node", "type": "node",
"request": "launch", "request": "launch",
"program": "${workspaceFolder}/web/node_modules/next/dist/bin/next", "program": "${workspaceFolder}/web/node_modules/next/dist/bin/next",
"runtimeArgs": ["--inspect"], "sourceMaps": true,
"skipFiles": ["<node_internals>/**"], "runtimeArgs": [
"--inspect"
],
"sourceMapPathOverrides": {
"turbopack:///[project]/app/*": "${webRoot}/web/app/*"
},
"skipFiles": [
"<node_internals>/**"
],
"args": [
"--turbopack"
],
"serverReadyAction": { "serverReadyAction": {
"action": "debugWithChrome", "action": "debugWithChrome",
"killOnServerStop": true, "killOnServerStop": true,
"pattern": "- Local:.+(https?://.+)", "pattern": "- Local:.+(https?://.+)",
"uriFormat": "%s", "uriFormat": "%s",
"webRoot": "${workspaceFolder}/web" "webRoot": "${workspaceFolder}/web"
}, },
"cwd": "${workspaceFolder}/web" "cwd": "${workspaceFolder}/web"
} }
] ]
} }

@ -693,7 +693,6 @@ const Configuration: FC = () => {
setHasFetchedDetail(true) setHasFetchedDetail(true)
}) })
})() })()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [appId]) }, [appId])
const promptEmpty = (() => { const promptEmpty = (() => {

@ -1,10 +1,10 @@
.playIcon { .playIcon {
background-image: url(~@/app/components/develop/secret-key/assets/play.svg); background-image: url(/assets/play.svg);
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.pauseIcon { .pauseIcon {
background-image: url(~@/app/components/develop/secret-key/assets/pause.svg); background-image: url(/assets/pause.svg);
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
} }

@ -1,15 +1,15 @@
.copyIcon { .copyIcon {
background-image: url(~@/app/components/develop/secret-key/assets/copy.svg); background-image: url(/assets/copy.svg);
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.copyIcon:hover { .copyIcon:hover {
background-image: url(~@/app/components/develop/secret-key/assets/copy-hover.svg); background-image: url(/assets/copy-hover.svg);
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.copyIcon.copied { .copyIcon.copied {
background-image: url(~@/app/components/develop/secret-key/assets/copied.svg); background-image: url(/assets/copied.svg);
} }

@ -1,15 +1,15 @@
.copyIcon { .copyIcon {
background-image: url(~@/app/components/develop/secret-key/assets/copy.svg); background-image: url(/assets/copy.svg);
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.copyIcon:hover { .copyIcon:hover {
background-image: url(~@/app/components/develop/secret-key/assets/copy-hover.svg); background-image: url(/assets/copy-hover.svg);
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.copyIcon.copied { .copyIcon.copied {
background-image: url(~@/app/components/develop/secret-key/assets/copied.svg); background-image: url(/assets/copied.svg);
} }

@ -1,5 +1,5 @@
.wrapper { .wrapper {
display: inline-flex; display: inline-flex;
background: url(~@/app/components/base/icons/assets/image/llm/baichuan-text-cn.png) center center no-repeat; background: url(/app/components/base/icons/assets/image/llm/baichuan-text-cn.png) center center no-repeat;
background-size: contain; background-size: contain;
} }

@ -1,5 +1,5 @@
.wrapper { .wrapper {
display: inline-flex; display: inline-flex;
background: url(~@/app/components/base/icons/assets/image/llm/minimax.png) center center no-repeat; background: url(app/components/base/icons/assets/image/llm/minimax.png) center center no-repeat;
background-size: contain; background-size: contain;
} }

@ -1,5 +1,5 @@
.wrapper { .wrapper {
display: inline-flex; display: inline-flex;
background: url(~@/app/components/base/icons/assets/image/llm/minimax-text.png) center center no-repeat; background: url(app/components/base/icons/assets/image/llm/minimax-text.png) center center no-repeat;
background-size: contain; background-size: contain;
} }

@ -1,5 +1,5 @@
.wrapper { .wrapper {
display: inline-flex; display: inline-flex;
background: url(~@/app/components/base/icons/assets/image/llm/tongyi.png) center center no-repeat; background: url(app/components/base/icons/assets/image/llm/tongyi.png) center center no-repeat;
background-size: contain; background-size: contain;
} }

@ -1,5 +1,5 @@
.wrapper { .wrapper {
display: inline-flex; display: inline-flex;
background: url(~@/app/components/base/icons/assets/image/llm/tongyi-text.png) center center no-repeat; background: url(app/components/base/icons/assets/image/llm/tongyi-text.png) center center no-repeat;
background-size: contain; background-size: contain;
} }

@ -1,5 +1,5 @@
.wrapper { .wrapper {
display: inline-flex; display: inline-flex;
background: url(~@/app/components/base/icons/assets/image/llm/tongyi-text-cn.png) center center no-repeat; background: url(app/components/base/icons/assets/image/llm/tongyi-text-cn.png) center center no-repeat;
background-size: contain; background-size: contain;
} }

@ -1,5 +1,5 @@
.wrapper { .wrapper {
display: inline-flex; display: inline-flex;
background: url(~@/app/components/base/icons/assets/image/llm/wxyy.png) center center no-repeat; background: url(app/components/base/icons/assets/image/llm/wxyy.png) center center no-repeat;
background-size: contain; background-size: contain;
} }

@ -1,5 +1,5 @@
.wrapper { .wrapper {
display: inline-flex; display: inline-flex;
background: url(~@/app/components/base/icons/assets/image/llm/wxyy-text.png) center center no-repeat; background: url(app/components/base/icons/assets/image/llm/wxyy-text.png) center center no-repeat;
background-size: contain; background-size: contain;
} }

@ -1,5 +1,5 @@
.wrapper { .wrapper {
display: inline-flex; display: inline-flex;
background: url(~@/app/components/base/icons/assets/image/llm/wxyy-text-cn.png) center center no-repeat; background: url(app/components/base/icons/assets/image/llm/wxyy-text-cn.png) center center no-repeat;
background-size: contain; background-size: contain;
} }

@ -77,7 +77,6 @@ const Select: FC<ISelectProps> = ({
defaultSelect = existed defaultSelect = existed
setSelectedItem(defaultSelect) setSelectedItem(defaultSelect)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [defaultValue]) }, [defaultValue])
const filteredItems: Item[] const filteredItems: Item[]
@ -201,7 +200,6 @@ const SimpleSelect: FC<ISelectProps> = ({
defaultSelect = existed defaultSelect = existed
setSelectedItem(defaultSelect) setSelectedItem(defaultSelect)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [defaultValue]) }, [defaultValue])
const listboxRef = useRef<HTMLDivElement>(null) const listboxRef = useRef<HTMLDivElement>(null)

@ -1,11 +1,11 @@
.svgIcon { .svgIcon {
background-image: url(~@/app/components/develop/secret-key/assets/svg.svg); background-image: url(/assets/svg.svg);
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.svgIconed { .svgIconed {
background-image: url(~@/app/components/develop/secret-key/assets/svged.svg); background-image: url(/assets/svged.svg);
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
} }

@ -405,7 +405,6 @@ const StepTwo = ({
score_threshold_enabled: false, score_threshold_enabled: false,
score_threshold: 0.5, score_threshold: 0.5,
}) })
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [rerankDefaultModel, isRerankDefaultModelValid]) }, [rerankDefaultModel, isRerankDefaultModelValid])
const getCreationParams = () => { const getCreationParams = () => {
@ -596,7 +595,6 @@ const StepTwo = ({
getRulesFromDetail() getRulesFromDetail()
getDefaultMode() getDefaultMode()
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []) }, [])
useEffect(() => { useEffect(() => {

@ -60,7 +60,6 @@ const ChildSegmentDetail: FC<IChildSegmentDetailProps> = ({
const wordCountText = useMemo(() => { const wordCountText = useMemo(() => {
const count = content.length const count = content.length
return `${formatNumber(count)} ${t('datasetDocuments.segment.characters', { count })}` return `${formatNumber(count)} ${t('datasetDocuments.segment.characters', { count })}`
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [content.length]) }, [content.length])
const EditTimeText = useMemo(() => { const EditTimeText = useMemo(() => {
@ -69,7 +68,6 @@ const ChildSegmentDetail: FC<IChildSegmentDetailProps> = ({
dateFormat: `${t('datasetDocuments.segment.dateTimeFormat')}`, dateFormat: `${t('datasetDocuments.segment.dateTimeFormat')}`,
}) })
return `${t('datasetDocuments.segment.editedAt')} ${timeText}` return `${t('datasetDocuments.segment.editedAt')} ${timeText}`
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [childChunkInfo?.updated_at]) }, [childChunkInfo?.updated_at])
return ( return (

@ -164,7 +164,6 @@ const Documents: FC<IDocumentsProps> = ({ datasetId }) => {
if (totalPages < currPage + 1) if (totalPages < currPage + 1)
setCurrPage(totalPages === 0 ? 0 : totalPages - 1) setCurrPage(totalPages === 0 ? 0 : totalPages - 1)
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [documentsRes]) }, [documentsRes])
const invalidDocumentDetail = useInvalidDocumentDetailKey() const invalidDocumentDetail = useInvalidDocumentDetailKey()
@ -178,7 +177,6 @@ const Documents: FC<IDocumentsProps> = ({ datasetId }) => {
invalidChunkList() invalidChunkList()
invalidChildChunkList() invalidChildChunkList()
}, 5000) }, 5000)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []) }, [])
const documentsWithProgress = useMemo(() => { const documentsWithProgress = useMemo(() => {

@ -54,40 +54,40 @@
} }
.actionIcon { .actionIcon {
@apply bg-gray-500; @apply bg-gray-500;
mask-image: url(~@/assets/action.svg); mask-image: url(/assets/action.svg);
} }
.pdfIcon { .pdfIcon {
background-image: url(~@/assets/pdf.svg); background-image: url(/assets/pdf.svg);
} }
.jsonIcon { .jsonIcon {
background-image: url(~@/assets/json.svg); background-image: url(/assets/json.svg);
} }
.htmlIcon { .htmlIcon {
background-image: url(~@/assets/html.svg); background-image: url(/assets/html.svg);
} }
.txtIcon { .txtIcon {
background-image: url(~@/assets/txt.svg); background-image: url(/assets/txt.svg);
} }
.markdownIcon { .markdownIcon {
background-image: url(~@/assets/md.svg); background-image: url(/assets/md.svg);
} }
.mdIcon { .mdIcon {
background-image: url(~@/assets/md.svg); background-image: url(/assets/md.svg);
} }
.xlsIcon { .xlsIcon {
background-image: url(~@/assets/xlsx.svg); background-image: url(/assets/xlsx.svg);
} }
.xlsxIcon { .xlsxIcon {
background-image: url(~@/assets/xlsx.svg); background-image: url(/assets/xlsx.svg);
} }
.csvIcon { .csvIcon {
background-image: url(~@/assets/csv.svg); background-image: url(/assets/csv.svg);
} }
.docIcon { .docIcon {
background-image: url(~@/assets/doc.svg); background-image: url(/assets/doc.svg);
} }
.docxIcon { .docxIcon {
background-image: url(~@/assets/docx.svg); background-image: url(/assets/docx.svg);
} }
.statusItemDetail { .statusItemDetail {
@apply border-[0.5px] border-components-button-secondary-border inline-flex items-center @apply border-[0.5px] border-components-button-secondary-border inline-flex items-center

@ -26,7 +26,7 @@
.trashIcon { .trashIcon {
background-color: transparent; background-color: transparent;
background-image: url(./assets/trash-gray.svg); background-image: url(/assets/trash-gray.svg);
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 16px 16px; background-size: 16px 16px;
@ -34,24 +34,24 @@
.trashIcon:hover { .trashIcon:hover {
background-color: rgba(254, 228, 226, 1); background-color: rgba(254, 228, 226, 1);
background-image: url(./assets/trash-red.svg); background-image: url(/assets/trash-red.svg);
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 16px 16px; background-size: 16px 16px;
} }
.copyIcon { .copyIcon {
background-image: url(./assets/copy.svg); background-image: url(/assets/copy.svg);
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.copyIcon:hover { .copyIcon:hover {
background-image: url(./assets/copy-hover.svg); background-image: url(/assets/copy-hover.svg);
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.copyIcon.copied { .copyIcon.copied {
background-image: url(./assets/copied.svg); background-image: url(/assets/copied.svg);
} }

@ -15,12 +15,12 @@
.actionIcon { .actionIcon {
@apply bg-gray-500; @apply bg-gray-500;
mask-image: url(~@/assets/action.svg); mask-image: url(/assets/action.svg);
} }
body .btn.open, body .btn.open,
body .btn:hover { body .btn:hover {
background: url(~@/assets/action.svg) center center no-repeat transparent; background: url(/assets/action.svg) center center no-repeat transparent;
background-size: 16px 16px; background-size: 16px 16px;
} }

@ -41,13 +41,10 @@ const Item: FC<Props> = ({
onFetchedPayload(payload) onFetchedPayload(payload)
setPayload({ ...payload, from: dependency.type }) setPayload({ ...payload, from: dependency.type })
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [data]) }, [data])
useEffect(() => { useEffect(() => {
if (error) if (error)
onFetchError() onFetchError()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [error]) }, [error])
if (!payload) return <Loading /> if (!payload) return <Loading />
return ( return (

@ -131,7 +131,6 @@ const InstallByDSLList: ForwardRefRenderFunction<ExposeRefs, Props> = ({
if (failedIndex.length > 0) if (failedIndex.length > 0)
setErrorIndexes([...errorIndexes, ...failedIndex]) setErrorIndexes([...errorIndexes, ...failedIndex])
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isFetchingMarketplaceDataById]) }, [isFetchingMarketplaceDataById])
useEffect(() => { useEffect(() => {
@ -156,15 +155,12 @@ const InstallByDSLList: ForwardRefRenderFunction<ExposeRefs, Props> = ({
if (failedIndex.length > 0) if (failedIndex.length > 0)
setErrorIndexes([...errorIndexes, ...failedIndex]) setErrorIndexes([...errorIndexes, ...failedIndex])
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isFetchingDataByMeta]) }, [isFetchingDataByMeta])
useEffect(() => { useEffect(() => {
// get info all failed // get info all failed
if (infoByMetaError || infoByIdError) if (infoByMetaError || infoByIdError)
setErrorIndexes([...errorIndexes, ...marketPlaceInDSLIndex]) setErrorIndexes([...errorIndexes, ...marketPlaceInDSLIndex])
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [infoByMetaError, infoByIdError]) }, [infoByMetaError, infoByIdError])
const isLoadedAllData = (plugins.filter(p => !!p).length + errorIndexes.length) === allPlugins.length const isLoadedAllData = (plugins.filter(p => !!p).length + errorIndexes.length) === allPlugins.length
@ -189,8 +185,6 @@ const InstallByDSLList: ForwardRefRenderFunction<ExposeRefs, Props> = ({
useEffect(() => { useEffect(() => {
if (isLoadedAllData && installedInfo) if (isLoadedAllData && installedInfo)
onLoadedAllPlugin(installedInfo!) onLoadedAllPlugin(installedInfo!)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isLoadedAllData, installedInfo]) }, [isLoadedAllData, installedInfo])
const handleSelect = useCallback((index: number) => { const handleSelect = useCallback((index: number) => {

@ -17,7 +17,7 @@ const Types = ({
return ( return (
<div className='mb-3'> <div className='mb-3'>
<div className={cn('mb-0.5 flex cursor-pointer items-center rounded-lg p-1 pl-3 text-sm leading-5 hover:bg-white', value === 'builtin' && '!bg-white font-medium')} onClick={() => onSelect('builtin')}> <div className={cn('mb-0.5 flex cursor-pointer items-center rounded-lg p-1 pl-3 text-sm leading-5 hover:bg-white', value === 'builtin' && '!bg-white font-medium')} onClick={() => onSelect('builtin')}>
<div className="mr-2 h-4 w-4 shrink-0 bg-[url('~@/app/components/tools/add-tool-modal/D.png')] bg-cover bg-no-repeat" /> <div className="mr-2 h-4 w-4 shrink-0 bg-[url('/assets/D.png')] bg-cover bg-no-repeat" />
<span className={cn('text-gray-700', value === 'builtin' && '!text-primary-600')}>{t('tools.type.builtIn')}</span> <span className={cn('text-gray-700', value === 'builtin' && '!text-primary-600')}>{t('tools.type.builtIn')}</span>
</div> </div>
<div className={cn('mb-0.5 flex cursor-pointer items-center rounded-lg p-1 pl-3 text-sm leading-5 text-gray-700 hover:bg-white', value === 'api' && '!bg-white font-medium !text-primary-600')} onClick={() => onSelect('api')}> <div className={cn('mb-0.5 flex cursor-pointer items-center rounded-lg p-1 pl-3 text-sm leading-5 text-gray-700 hover:bg-white', value === 'api' && '!bg-white font-medium !text-primary-600')} onClick={() => onSelect('api')}>

@ -141,7 +141,6 @@ const MCPDetailContent: FC<Props> = ({
useEffect(() => { useEffect(() => {
if (isTriggerAuthorize) if (isTriggerAuthorize)
handleAuthorize() handleAuthorize()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []) }, [])
if (!detail) if (!detail)

@ -83,7 +83,6 @@ export const useWorkflowInit = () => {
useEffect(() => { useEffect(() => {
handleGetInitialWorkflowData() handleGetInitialWorkflowData()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []) }, [])
const handleFetchPreloadData = useCallback(async () => { const handleFetchPreloadData = useCallback(async () => {

@ -101,7 +101,6 @@ const AllTools = ({
category: PluginType.tool, category: PluginType.tool,
}) })
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [searchText, tags, enable_marketplace]) }, [searchText, tags, enable_marketplace])
const pluginRef = useRef<ListRef>(null) const pluginRef = useRef<ListRef>(null)

@ -60,7 +60,6 @@ const OperationDropdown: FC<Props> = ({
downloadFile({ data: blob, fileName }) downloadFile({ data: blob, fileName })
setNeedDownload(false) setNeedDownload(false)
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [blob]) }, [blob])
return ( return (
<PortalToFollowElem <PortalToFollowElem

@ -56,7 +56,6 @@ const List = forwardRef<ListRef, ListProps>(({
useEffect(() => { useEffect(() => {
handleScroll() handleScroll()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [list]) }, [list])
const handleHeadClick = () => { const handleHeadClick = () => {

@ -122,7 +122,6 @@ const Tool: FC<Props> = ({
} }
if (!hasSearchText && !isFold) if (!hasSearchText && !isFold)
setFold(true) setFold(true)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [hasSearchText]) }, [hasSearchText])
const FoldIcon = isFold ? RiArrowRightSLine : RiArrowDownSLine const FoldIcon = isFold ? RiArrowRightSLine : RiArrowDownSLine

@ -270,8 +270,6 @@ export const useWorkflow = () => {
}) })
setNodes(newNodes) setNodes(newNodes)
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [store]) }, [store])
const isVarUsedInNodes = useCallback((varSelector: ValueSelector) => { const isVarUsedInNodes = useCallback((varSelector: ValueSelector) => {

@ -190,7 +190,6 @@ export const Workflow: FC<WorkflowProps> = memo(({
return () => { return () => {
handleSyncWorkflowDraft(true, true) handleSyncWorkflowDraft(true, true)
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []) }, [])
const { handleRefreshWorkflowDraft } = useWorkflowRefreshDraft() const { handleRefreshWorkflowDraft } = useWorkflowRefreshDraft()
@ -282,7 +281,6 @@ export const Workflow: FC<WorkflowProps> = memo(({
const { fetchInspectVars } = useSetWorkflowVarsWithValue() const { fetchInspectVars } = useSetWorkflowVarsWithValue()
useEffect(() => { useEffect(() => {
fetchInspectVars() fetchInspectVars()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []) }, [])
const store = useStoreApi() const store = useStoreApi()

@ -143,7 +143,6 @@ export const AgentStrategySelector = memo((props: AgentStrategySelectorProps) =>
category: PluginType.agent, category: PluginType.agent,
}) })
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [query]) }, [query])
const pluginRef = useRef<ListRef>(null) const pluginRef = useRef<ListRef>(null)

@ -64,7 +64,6 @@ const OutputVarList: FC<Props> = ({
}) })
onChange(newOutputs, index, newKey) onChange(newOutputs, index, newKey)
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [list, onChange, outputs, outputKeyOrders]) }, [list, onChange, outputs, outputKeyOrders])
const handleVarTypeChange = useCallback((index: number) => { const handleVarTypeChange = useCallback((index: number) => {
@ -75,7 +74,6 @@ const OutputVarList: FC<Props> = ({
}) })
onChange(newOutputs) onChange(newOutputs)
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [list, onChange, outputs, outputKeyOrders]) }, [list, onChange, outputs, outputKeyOrders])
const handleVarRemove = useCallback((index: number) => { const handleVarRemove = useCallback((index: number) => {

@ -138,7 +138,6 @@ const VarReferencePicker: FC<Props> = ({
useEffect(() => { useEffect(() => {
if (triggerRef.current) if (triggerRef.current)
setTriggerWidth(triggerRef.current.clientWidth) setTriggerWidth(triggerRef.current.clientWidth)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [triggerRef.current]) }, [triggerRef.current])
const [varKindType, setVarKindType] = useState<VarKindType>(defaultVarKindType) const [varKindType, setVarKindType] = useState<VarKindType>(defaultVarKindType)
@ -149,7 +148,6 @@ const VarReferencePicker: FC<Props> = ({
const [open, setOpen] = useState(false) const [open, setOpen] = useState(false)
useEffect(() => { useEffect(() => {
onOpen() onOpen()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [open]) }, [open])
const hasValue = !isConstant && value.length > 0 const hasValue = !isConstant && value.length > 0

@ -118,7 +118,6 @@ const Item: FC<ItemProps> = ({
const open = (isObj || isStructureOutput) && isHovering const open = (isObj || isStructureOutput) && isHovering
useEffect(() => { useEffect(() => {
onHovering && onHovering(isHovering) onHovering && onHovering(isHovering)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isHovering]) }, [isHovering])
const handleChosen = (e: React.MouseEvent) => { const handleChosen = (e: React.MouseEvent) => {
e.stopPropagation() e.stopPropagation()
@ -219,11 +218,9 @@ const ObjectChildren: FC<ObjectChildrenProps> = ({
const isHovering = isItemHovering || isChildrenHovering const isHovering = isItemHovering || isChildrenHovering
useEffect(() => { useEffect(() => {
onHovering && onHovering(isHovering) onHovering && onHovering(isHovering)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isHovering]) }, [isHovering])
useEffect(() => { useEffect(() => {
onHovering && onHovering(isItemHovering) onHovering && onHovering(isItemHovering)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isItemHovering]) }, [isItemHovering])
// absolute top-[-2px] // absolute top-[-2px]
return ( return (

@ -67,7 +67,6 @@ const LastRun: FC<Props> = ({
updateNodeRunningStatus(hidePageOneStepFinishedStatus) updateNodeRunningStatus(hidePageOneStepFinishedStatus)
resetHidePageStatus() resetHidePageStatus()
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isOneStepRunSucceed, isOneStepRunFailed, oneStepRunRunningStatus]) }, [isOneStepRunSucceed, isOneStepRunFailed, oneStepRunRunningStatus])
useEffect(() => { useEffect(() => {
@ -77,7 +76,6 @@ const LastRun: FC<Props> = ({
useEffect(() => { useEffect(() => {
resetHidePageStatus() resetHidePageStatus()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [nodeId]) }, [nodeId])
const handlePageVisibilityChange = useCallback(() => { const handlePageVisibilityChange = useCallback(() => {

@ -197,7 +197,6 @@ const useLastRun = <T>({
setTabType(TabType.lastRun) setTabType(TabType.lastRun)
setInitShowLastRunTab(false) setInitShowLastRunTab(false)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [initShowLastRunTab]) }, [initShowLastRunTab])
const invalidLastRun = useInvalidLastRun(appId!, id) const invalidLastRun = useInvalidLastRun(appId!, id)

@ -251,7 +251,6 @@ const useOneStepRun = <T>({
const { isValid } = checkValidWrap() const { isValid } = checkValidWrap()
setCanShowSingleRun(isValid) setCanShowSingleRun(isValid)
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [data._isSingleRun]) }, [data._isSingleRun])
useEffect(() => { useEffect(() => {

@ -151,7 +151,6 @@ const useConfig = (id: string, payload: AgentNodeType) => {
return return
const newData = formattingLegacyData() const newData = formattingLegacyData()
setInputs(newData) setInputs(newData)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [currentStrategy]) }, [currentStrategy])
// vars // vars

@ -60,7 +60,6 @@ const useConfig = (id: string, payload: CodeNodeType) => {
}) })
syncOutputKeyOrders(defaultConfig.outputs) syncOutputKeyOrders(defaultConfig.outputs)
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [defaultConfig]) }, [defaultConfig])
const handleCodeChange = useCallback((code: string) => { const handleCodeChange = useCallback((code: string) => {

@ -51,7 +51,6 @@ const useConfig = (id: string, payload: HttpNodeType) => {
setInputs(newInputs) setInputs(newInputs)
setIsDataReady(true) setIsDataReady(true)
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [defaultConfig]) }, [defaultConfig])
const handleMethodChange = useCallback((method: Method) => { const handleMethodChange = useCallback((method: Method) => {

@ -172,7 +172,6 @@ const useConfig = (id: string, payload: KnowledgeRetrievalNodeType) => {
} }
}) })
setInputs(newInput) setInputs(newInput)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [currentProvider?.provider, currentModel, currentRerankModel, rerankDefaultModel]) }, [currentProvider?.provider, currentModel, currentRerankModel, rerankDefaultModel])
const [selectedDatasets, setSelectedDatasets] = useState<DataSet[]>([]) const [selectedDatasets, setSelectedDatasets] = useState<DataSet[]>([])
const [rerankModelOpen, setRerankModelOpen] = useState(false) const [rerankModelOpen, setRerankModelOpen] = useState(false)
@ -229,7 +228,6 @@ const useConfig = (id: string, payload: KnowledgeRetrievalNodeType) => {
setInputs(newInputs) setInputs(newInputs)
setSelectedDatasetsLoaded(true) setSelectedDatasetsLoaded(true)
})() })()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []) }, [])
useEffect(() => { useEffect(() => {
@ -241,7 +239,6 @@ const useConfig = (id: string, payload: KnowledgeRetrievalNodeType) => {
setInputs(produce(inputs, (draft) => { setInputs(produce(inputs, (draft) => {
draft.query_variable_selector = query_variable_selector draft.query_variable_selector = query_variable_selector
})) }))
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []) }, [])
const handleOnDatasetsChange = useCallback((newDatasets: DataSet[]) => { const handleOnDatasetsChange = useCallback((newDatasets: DataSet[]) => {

@ -101,7 +101,6 @@ const useConfig = (id: string, payload: LLMNodeType) => {
}) })
setInputs(newInputs) setInputs(newInputs)
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [defaultConfig, isChatModel]) }, [defaultConfig, isChatModel])
const [modelChanged, setModelChanged] = useState(false) const [modelChanged, setModelChanged] = useState(false)
@ -161,7 +160,6 @@ const useConfig = (id: string, payload: LLMNodeType) => {
return return
setModelChanged(false) setModelChanged(false)
handleVisionConfigAfterModelChanged() handleVisionConfigAfterModelChanged()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isVisionModel, modelChanged]) }, [isVisionModel, modelChanged])
// variables // variables

@ -155,7 +155,6 @@ const useConfig = (id: string, payload: ParameterExtractorNodeType) => {
return return
setModelChanged(false) setModelChanged(false)
handleVisionConfigAfterModelChanged() handleVisionConfigAfterModelChanged()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isVisionModel, modelChanged]) }, [isVisionModel, modelChanged])
const { const {

@ -88,7 +88,6 @@ const useConfig = (id: string, payload: QuestionClassifierNodeType) => {
return return
setModelChanged(false) setModelChanged(false)
handleVisionConfigAfterModelChanged() handleVisionConfigAfterModelChanged()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isVisionModel, modelChanged]) }, [isVisionModel, modelChanged])
const handleQueryVarChange = useCallback((newVar: ValueSelector | string) => { const handleQueryVarChange = useCallback((newVar: ValueSelector | string) => {
@ -110,7 +109,6 @@ const useConfig = (id: string, payload: QuestionClassifierNodeType) => {
query_variable_selector: inputs.query_variable_selector.length > 0 ? inputs.query_variable_selector : query_variable_selector, query_variable_selector: inputs.query_variable_selector.length > 0 ? inputs.query_variable_selector : query_variable_selector,
}) })
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [defaultConfig]) }, [defaultConfig])
const handleClassesChange = useCallback((newClasses: any) => { const handleClassesChange = useCallback((newClasses: any) => {

@ -65,7 +65,6 @@ const useConfig = (id: string, payload: TemplateTransformNodeType) => {
...defaultConfig, ...defaultConfig,
}) })
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [defaultConfig]) }, [defaultConfig])
const handleCodeChange = useCallback((template: string) => { const handleCodeChange = useCallback((template: string) => {

@ -140,7 +140,6 @@ const useConfig = (id: string, payload: ToolNodeType) => {
return return
const inputsWithDefaultValue = formattingParameters() const inputsWithDefaultValue = formattingParameters()
setInputs(inputsWithDefaultValue) setInputs(inputsWithDefaultValue)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [currTool]) }, [currTool])
// setting when call // setting when call

@ -18,30 +18,30 @@ const StatusContainer: FC<Props> = ({
<div <div
className={cn( className={cn(
'system-xs-regular relative break-all rounded-lg border px-3 py-2.5', 'system-xs-regular relative break-all rounded-lg border px-3 py-2.5',
status === 'succeeded' && 'border-[rgba(23,178,106,0.8)] bg-workflow-display-success-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-success.svg)] text-text-success', status === 'succeeded' && 'border-[rgba(23,178,106,0.8)] bg-workflow-display-success-bg bg-[url(/assets/bg-line-success.svg)] text-text-success',
status === 'succeeded' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(23,178,106,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]', status === 'succeeded' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(23,178,106,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]',
status === 'succeeded' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(23,178,106,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]', status === 'succeeded' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(23,178,106,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]',
status === 'partial-succeeded' && 'border-[rgba(23,178,106,0.8)] bg-workflow-display-success-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-success.svg)] text-text-success', status === 'partial-succeeded' && 'border-[rgba(23,178,106,0.8)] bg-workflow-display-success-bg bg-[url(/assets/bg-line-success.svg)] text-text-success',
status === 'partial-succeeded' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(23,178,106,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]', status === 'partial-succeeded' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(23,178,106,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]',
status === 'partial-succeeded' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(23,178,106,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]', status === 'partial-succeeded' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(23,178,106,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]',
status === 'failed' && 'border-[rgba(240,68,56,0.8)] bg-workflow-display-error-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-error.svg)] text-text-warning', status === 'failed' && 'border-[rgba(240,68,56,0.8)] bg-workflow-display-error-bg bg-[url(/assets/bg-line-error.svg)] text-text-warning',
status === 'failed' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(240,68,56,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]', status === 'failed' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(240,68,56,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]',
status === 'failed' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(240,68,56,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]', status === 'failed' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(240,68,56,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]',
status === 'stopped' && 'border-[rgba(247,144,9,0.8)] bg-workflow-display-warning-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-warning.svg)] text-text-destructive', status === 'stopped' && 'border-[rgba(247,144,9,0.8)] bg-workflow-display-warning-bg bg-[url(/assets/bg-line-warning.svg)] text-text-destructive',
status === 'stopped' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(247,144,9,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]', status === 'stopped' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(247,144,9,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]',
status === 'stopped' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(247,144,9,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]', status === 'stopped' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(247,144,9,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]',
status === 'exception' && 'border-[rgba(247,144,9,0.8)] bg-workflow-display-warning-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-warning.svg)] text-text-destructive', status === 'exception' && 'border-[rgba(247,144,9,0.8)] bg-workflow-display-warning-bg bg-[url(/assets/bg-line-warning.svg)] text-text-destructive',
status === 'exception' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(247,144,9,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]', status === 'exception' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(247,144,9,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]',
status === 'exception' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(247,144,9,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]', status === 'exception' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(247,144,9,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]',
status === 'running' && 'border-[rgba(11,165,236,0.8)] bg-workflow-display-normal-bg bg-[url(~@/app/components/workflow/run/assets/bg-line-running.svg)] text-util-colors-blue-light-blue-light-600', status === 'running' && 'border-[rgba(11,165,236,0.8)] bg-workflow-display-normal-bg bg-[url(/assets/bg-line-running.svg)] text-util-colors-blue-light-blue-light-600',
status === 'running' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(11,165,236,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]', status === 'running' && theme === Theme.light && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.5),inset_0_1px_3px_0_rgba(0,0,0,0.12),inset_0_2px_24px_0_rgba(11,165,236,0.2),0_1px_2px_0_rgba(9,9,11,0.05),0_0_0_1px_rgba(0,0,0,0.05)]',
status === 'running' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(11,165,236,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]', status === 'running' && theme === Theme.dark && 'shadow-[inset_2px_2px_0_0_rgba(255,255,255,0.12),inset_0_1px_3px_0_rgba(0,0,0,0.4),inset_0_2px_24px_0_rgba(11,165,236,0.25),0_1px_2px_0_rgba(0,0,0,0.1),0_0_0_1px_rgba(24, 24, 27, 0.95)]',
)} )}
> >
<div className={cn( <div className={cn(
'absolute left-0 top-0 h-[50px] w-[65%] bg-no-repeat', 'absolute left-0 top-0 h-[50px] w-[65%] bg-no-repeat',
theme === Theme.light && 'bg-[url(~@/app/components/workflow/run/assets/highlight.svg)]', theme === Theme.light && 'bg-[url(/assets/highlight.svg)]',
theme === Theme.dark && 'bg-[url(~@/app/components/workflow/run/assets/highlight-dark.svg)]', theme === Theme.dark && 'bg-[url(/assets/highlight-dark.svg)]',
)}></div> )}></div>
{children} {children}
</div> </div>

@ -72,7 +72,6 @@ const ValueContent = ({
if (showFileEditor) if (showFileEditor)
setFileValue(formatFileValue(currentVar)) setFileValue(formatFileValue(currentVar))
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [currentVar.id, currentVar.value]) }, [currentVar.id, currentVar.value])
const handleTextChange = (value: string) => { const handleTextChange = (value: string) => {

@ -1,11 +1,14 @@
@import "preflight.css"; @import "preflight.css";
@tailwind base;
@tailwind components;
@import '../../themes/light.css'; @import '../../themes/light.css';
@import '../../themes/dark.css'; @import '../../themes/dark.css';
@import "../../themes/manual-light.css"; @import "../../themes/manual-light.css";
@import "../../themes/manual-dark.css"; @import "../../themes/manual-dark.css";
@import "../components/base/button/index.css";
@import "../components/base/action-button/index.css";
@import "../components/base/modal/index.css";
@tailwind base;
@tailwind components;
html { html {
color-scheme: light; color-scheme: light;
@ -680,10 +683,6 @@ button:focus-within {
display: none; display: none;
} }
@import "../components/base/button/index.css";
@import "../components/base/action-button/index.css";
@import "../components/base/modal/index.css";
@tailwind utilities; @tailwind utilities;
@layer utilities { @layer utilities {

@ -1,5 +1,4 @@
const { basePath, assetPrefix } = require('./utils/var-basePath') const { basePath, assetPrefix } = require('./utils/var-basePath')
const { codeInspectorPlugin } = require('code-inspector-plugin')
const withMDX = require('@next/mdx')({ const withMDX = require('@next/mdx')({
extension: /\.mdx?$/, extension: /\.mdx?$/,
options: { options: {
@ -27,7 +26,6 @@ const nextConfig = {
basePath, basePath,
assetPrefix, assetPrefix,
webpack: (config, { dev, isServer }) => { webpack: (config, { dev, isServer }) => {
config.plugins.push(codeInspectorPlugin({ bundler: 'webpack' }))
return config return config
}, },
productionBrowserSourceMaps: false, // enable browser source map generation during the production build productionBrowserSourceMaps: false, // enable browser source map generation during the production build

@ -18,7 +18,7 @@
"and_qq >= 14.9" "and_qq >= 14.9"
], ],
"scripts": { "scripts": {
"dev": "cross-env NODE_OPTIONS='--inspect' next dev", "dev": "cross-env NODE_OPTIONS='--inspect' next dev --turbopack",
"build": "next build", "build": "next build",
"start": "cp -r .next/static .next/standalone/.next/static && cp -r public .next/standalone/public && cross-env PORT=$npm_config_port HOSTNAME=$npm_config_host node .next/standalone/server.js", "start": "cp -r .next/static .next/standalone/.next/static && cp -r public .next/standalone/public && cross-env PORT=$npm_config_port HOSTNAME=$npm_config_host node .next/standalone/server.js",
"lint": "pnpx oxlint && pnpm eslint --cache --cache-location node_modules/.cache/eslint/.eslint-cache", "lint": "pnpx oxlint && pnpm eslint --cache --cache-location node_modules/.cache/eslint/.eslint-cache",
@ -194,7 +194,6 @@
"@types/uuid": "^10.0.0", "@types/uuid": "^10.0.0",
"autoprefixer": "^10.4.20", "autoprefixer": "^10.4.20",
"bing-translate-api": "^4.0.2", "bing-translate-api": "^4.0.2",
"code-inspector-plugin": "^0.18.1",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"eslint": "^9.20.1", "eslint": "^9.20.1",
"eslint-config-next": "~15.3.5", "eslint-config-next": "~15.3.5",

@ -504,9 +504,6 @@ importers:
bing-translate-api: bing-translate-api:
specifier: ^4.0.2 specifier: ^4.0.2
version: 4.1.0 version: 4.1.0
code-inspector-plugin:
specifier: ^0.18.1
version: 0.18.3
cross-env: cross-env:
specifier: ^7.0.3 specifier: ^7.0.3
version: 7.0.3 version: 7.0.3
@ -3639,9 +3636,6 @@ packages:
resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
hasBin: true hasBin: true
async@3.2.6:
resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
autoprefixer@10.4.21: autoprefixer@10.4.21:
resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
@ -3864,10 +3858,6 @@ packages:
resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
engines: {node: '>=8'} engines: {node: '>=8'}
chalk@4.1.1:
resolution: {integrity: sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==}
engines: {node: '>=10'}
chalk@4.1.2: chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'} engines: {node: '>=10'}
@ -4006,12 +3996,6 @@ packages:
resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
code-inspector-core@0.18.3:
resolution: {integrity: sha512-60pT2cPoguMTUYdN1MMpjoPUnuF0ud/u7M2y+Vqit/bniLEit9dySEWAVxLU/Ukc5ILrDeLKEttc6fCMl9RUrA==}
code-inspector-plugin@0.18.3:
resolution: {integrity: sha512-d9oJXZUsnvfTaQDwFmDNA2F+AR/TXIxWg1rr8KGcEskltR2prbZsfuu1z70EAn4khpx0smfi/PvIIwNJQ7FAMw==}
collapse-white-space@2.1.0: collapse-white-space@2.1.0:
resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
@ -4513,10 +4497,6 @@ packages:
dot-case@3.0.4: dot-case@3.0.4:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
dotenv@16.6.1:
resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
engines: {node: '>=12'}
duplexer@0.1.2: duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
@ -4599,9 +4579,6 @@ packages:
esast-util-from-js@2.0.1: esast-util-from-js@2.0.1:
resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
esbuild-code-inspector-plugin@0.18.3:
resolution: {integrity: sha512-FaPt5eFMtW1oXMWqAcqfAJByNagP1V/R9dwDDLQO29JmryMF35+frskTqy+G53whmTaVi19+TCrFqhNbMZH5ZQ==}
esbuild-register@3.6.0: esbuild-register@3.6.0:
resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==}
peerDependencies: peerDependencies:
@ -5890,9 +5867,6 @@ packages:
resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
engines: {node: '>=0.10'} engines: {node: '>=0.10'}
launch-ide@1.0.1:
resolution: {integrity: sha512-U7qBxSNk774PxWq4XbmRe0ThiIstPoa4sMH/OGSYxrFVvg8x3biXcF1fsH6wasDpEmEXMdINUrQhBdwsSgKyMg==}
layout-base@1.0.2: layout-base@1.0.2:
resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==}
@ -6704,10 +6678,6 @@ packages:
resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==}
engines: {node: '>=10'} engines: {node: '>=10'}
portfinder@1.0.37:
resolution: {integrity: sha512-yuGIEjDAYnnOex9ddMnKZEMFE0CcGo6zbfzDklkmT1m5z734ss6JMzN9rNB3+RR7iS+F10D4/BVIaXOyh8PQKw==}
engines: {node: '>= 10.12'}
postcss-import@15.1.0: postcss-import@15.1.0:
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
@ -7993,9 +7963,6 @@ packages:
vfile@6.0.3: vfile@6.0.3:
resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
vite-code-inspector-plugin@0.18.3:
resolution: {integrity: sha512-178H73vbDUHE+JpvfAfioUHlUr7qXCYIEa2YNXtzenFQGOjtae59P1jjcxGfa6pPHEnOoaitb13K+0qxwhi/WA==}
vm-browserify@1.1.2: vm-browserify@1.1.2:
resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==}
@ -8051,9 +8018,6 @@ packages:
engines: {node: '>= 10.13.0'} engines: {node: '>= 10.13.0'}
hasBin: true hasBin: true
webpack-code-inspector-plugin@0.18.3:
resolution: {integrity: sha512-3782rsJhBnRiw0IpR6EqnyGDQoiSq0CcGeLJ52rZXlszYCe8igXtcujq7OhI0byaivWQ1LW7sXKyMEoVpBhq0w==}
webpack-dev-middleware@6.1.3: webpack-dev-middleware@6.1.3:
resolution: {integrity: sha512-A4ChP0Qj8oGociTs6UdlRUGANIGrCDL3y+pmQMc+dSsraXHCatFpmMey4mYELA+juqwUqwQsUgJJISXl1KWmiw==} resolution: {integrity: sha512-A4ChP0Qj8oGociTs6UdlRUGANIGrCDL3y+pmQMc+dSsraXHCatFpmMey4mYELA+juqwUqwQsUgJJISXl1KWmiw==}
engines: {node: '>= 14.15.0'} engines: {node: '>= 14.15.0'}
@ -11900,8 +11864,6 @@ snapshots:
astring@1.9.0: {} astring@1.9.0: {}
async@3.2.6: {}
autoprefixer@10.4.21(postcss@8.5.6): autoprefixer@10.4.21(postcss@8.5.6):
dependencies: dependencies:
browserslist: 4.25.1 browserslist: 4.25.1
@ -12175,11 +12137,6 @@ snapshots:
ansi-styles: 4.3.0 ansi-styles: 4.3.0
supports-color: 7.2.0 supports-color: 7.2.0
chalk@4.1.1:
dependencies:
ansi-styles: 4.3.0
supports-color: 7.2.0
chalk@4.1.2: chalk@4.1.2:
dependencies: dependencies:
ansi-styles: 4.3.0 ansi-styles: 4.3.0
@ -12298,27 +12255,6 @@ snapshots:
co@4.6.0: {} co@4.6.0: {}
code-inspector-core@0.18.3:
dependencies:
'@vue/compiler-dom': 3.5.17
chalk: 4.1.1
dotenv: 16.6.1
launch-ide: 1.0.1
portfinder: 1.0.37
transitivePeerDependencies:
- supports-color
code-inspector-plugin@0.18.3:
dependencies:
chalk: 4.1.1
code-inspector-core: 0.18.3
dotenv: 16.6.1
esbuild-code-inspector-plugin: 0.18.3
vite-code-inspector-plugin: 0.18.3
webpack-code-inspector-plugin: 0.18.3
transitivePeerDependencies:
- supports-color
collapse-white-space@2.1.0: {} collapse-white-space@2.1.0: {}
collect-v8-coverage@1.0.2: {} collect-v8-coverage@1.0.2: {}
@ -12835,8 +12771,6 @@ snapshots:
no-case: 3.0.4 no-case: 3.0.4
tslib: 2.8.1 tslib: 2.8.1
dotenv@16.6.1: {}
duplexer@0.1.2: {} duplexer@0.1.2: {}
echarts-for-react@3.0.2(echarts@5.6.0)(react@19.1.0): echarts-for-react@3.0.2(echarts@5.6.0)(react@19.1.0):
@ -12924,12 +12858,6 @@ snapshots:
esast-util-from-estree: 2.0.0 esast-util-from-estree: 2.0.0
vfile-message: 4.0.2 vfile-message: 4.0.2
esbuild-code-inspector-plugin@0.18.3:
dependencies:
code-inspector-core: 0.18.3
transitivePeerDependencies:
- supports-color
esbuild-register@3.6.0(esbuild@0.25.0): esbuild-register@3.6.0(esbuild@0.25.0):
dependencies: dependencies:
debug: 4.4.1 debug: 4.4.1
@ -14715,11 +14643,6 @@ snapshots:
dependencies: dependencies:
language-subtag-registry: 0.3.23 language-subtag-registry: 0.3.23
launch-ide@1.0.1:
dependencies:
chalk: 4.1.1
dotenv: 16.6.1
layout-base@1.0.2: {} layout-base@1.0.2: {}
layout-base@2.0.1: {} layout-base@2.0.1: {}
@ -15847,13 +15770,6 @@ snapshots:
dependencies: dependencies:
'@babel/runtime': 7.27.6 '@babel/runtime': 7.27.6
portfinder@1.0.37:
dependencies:
async: 3.2.6
debug: 4.4.1
transitivePeerDependencies:
- supports-color
postcss-import@15.1.0(postcss@8.5.6): postcss-import@15.1.0(postcss@8.5.6):
dependencies: dependencies:
postcss: 8.5.6 postcss: 8.5.6
@ -17298,12 +17214,6 @@ snapshots:
'@types/unist': 3.0.3 '@types/unist': 3.0.3
vfile-message: 4.0.2 vfile-message: 4.0.2
vite-code-inspector-plugin@0.18.3:
dependencies:
code-inspector-core: 0.18.3
transitivePeerDependencies:
- supports-color
vm-browserify@1.1.2: {} vm-browserify@1.1.2: {}
void-elements@3.1.0: {} void-elements@3.1.0: {}
@ -17372,12 +17282,6 @@ snapshots:
- bufferutil - bufferutil
- utf-8-validate - utf-8-validate
webpack-code-inspector-plugin@0.18.3:
dependencies:
code-inspector-core: 0.18.3
transitivePeerDependencies:
- supports-color
webpack-dev-middleware@6.1.3(webpack@5.100.2(esbuild@0.25.0)(uglify-js@3.19.3)): webpack-dev-middleware@6.1.3(webpack@5.100.2(esbuild@0.25.0)(uglify-js@3.19.3)):
dependencies: dependencies:
colorette: 2.0.20 colorette: 2.0.20

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -2,4 +2,5 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.66667 8.00008C6.66667 7.2637 7.26362 6.66675 8 6.66675C8.73638 6.66675 9.33333 7.2637 9.33333 8.00008C9.33333 8.73646 8.73638 9.33341 8 9.33341C7.26362 9.33341 6.66667 8.73646 6.66667 8.00008Z" fill="#667085" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.66667 8.00008C6.66667 7.2637 7.26362 6.66675 8 6.66675C8.73638 6.66675 9.33333 7.2637 9.33333 8.00008C9.33333 8.73646 8.73638 9.33341 8 9.33341C7.26362 9.33341 6.66667 8.73646 6.66667 8.00008Z" fill="#667085" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.3333 8.00008C11.3333 7.2637 11.9303 6.66675 12.6667 6.66675C13.403 6.66675 14 7.2637 14 8.00008C14 8.73646 13.403 9.33341 12.6667 9.33341C11.9303 9.33341 11.3333 8.73646 11.3333 8.00008Z" fill="#667085" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M11.3333 8.00008C11.3333 7.2637 11.9303 6.66675 12.6667 6.66675C13.403 6.66675 14 7.2637 14 8.00008C14 8.73646 13.403 9.33341 12.6667 9.33341C11.9303 9.33341 11.3333 8.73646 11.3333 8.00008Z" fill="#667085" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 8.00008C2 7.2637 2.59695 6.66675 3.33333 6.66675C4.06971 6.66675 4.66667 7.2637 4.66667 8.00008C4.66667 8.73646 4.06971 9.33341 3.33333 9.33341C2.59695 9.33341 2 8.73646 2 8.00008Z" fill="#667085" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M2 8.00008C2 7.2637 2.59695 6.66675 3.33333 6.66675C4.06971 6.66675 4.66667 7.2637 4.66667 8.00008C4.66667 8.73646 4.06971 9.33341 3.33333 9.33341C2.59695 9.33341 2 8.73646 2 8.00008Z" fill="#667085" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 892 B

After

Width:  |  Height:  |  Size: 893 B

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Before

Width:  |  Height:  |  Size: 875 B

After

Width:  |  Height:  |  Size: 875 B

Before

Width:  |  Height:  |  Size: 875 B

After

Width:  |  Height:  |  Size: 875 B

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Before

Width:  |  Height:  |  Size: 711 B

After

Width:  |  Height:  |  Size: 711 B

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Before

Width:  |  Height:  |  Size: 580 B

After

Width:  |  Height:  |  Size: 580 B

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Before

Width:  |  Height:  |  Size: 703 B

After

Width:  |  Height:  |  Size: 703 B

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Before

Width:  |  Height:  |  Size: 548 B

After

Width:  |  Height:  |  Size: 548 B

Before

Width:  |  Height:  |  Size: 550 B

After

Width:  |  Height:  |  Size: 550 B

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Loading…
Cancel
Save