4.8.13 feature (#3118)

* chore(ui): login page & workflow page (#3046)

* login page & number input & multirow select & llm select

* workflow

* adjust nodes

* New file upload (#3058)

* feat: toolNode aiNode readFileNode adapt new version

* update docker-compose

* update tip

* feat: adapt new file version

* perf: file input

* fix: ts

* feat: add chat history time label (#3024)

* feat:add chat and logs time

* feat: add chat history time label

* code perf

* code perf

---------

Co-authored-by: 勤劳上班的卑微小张 <jiazhan.zhang@ggimage.com>

* add chatType (#3060)

* pref: slow query of full text search (#3044)

* Adapt findLast api;perf: markdown zh format. (#3066)

* perf: context code

* fix: adapt findLast api

* perf: commercial plugin run error

* perf: markdown zh format

* perf: dockerfile proxy (#3067)

* fix ui (#3065)

* fix ui

* fix

* feat: support array reference multi-select (#3041)

* feat: support array reference multi-select

* fix build

* fix

* fix loop multi-select

* adjust condition

* fix get value

* array and non-array conversion

* fix plugin input

* merge func

* feat: iframe code block;perf: workflow selector type (#3076)

* feat: iframe code block

* perf: workflow selector type

* node pluginoutput check (#3074)

* feat: View will move when workflow check error;fix: ui refresh error when continuous file upload (#3077)

* fix: plugin output check

* fix: ui refresh error when continuous file upload

* feat: View will move when workflow check error

* add dispatch try catch (#3075)

* perf: workflow context split (#3083)

* perf: workflow context split

* perf: context

* 4.8.13 test (#3085)

* perf: workflow node ui

* chat iframe url

* feat: support sub route config (#3071)

* feat: support sub route config

* dockerfile

* fix upload

* delete unused code

* 4.8.13 test (#3087)

* fix: image expired

* fix: datacard navbar ui

* perf: build action

* fix: workflow file upload refresh (#3088)

* fix: http tool response (#3097)

* loop node dynamic height (#3092)

* loop node dynamic height

* fix

* fix

* feat: support push chat log (#3093)

* feat: custom uid/metadata

* to: custom info

* fix: chat push latest

* feat: add chat log envs

* refactor: move timer to pushChatLog

* fix: using precise log

---------

Co-authored-by: Finley Ge <m13203533462@163.com>

* 4.8.13 test (#3098)

* perf: loop node refresh

* rename context

* comment

* fix: ts

* perf: push chat log

* array reference check & node ui (#3100)

* feat: loop start add index (#3101)

* feat: loop start add index

* update doc

* 4.8.13 test (#3102)

* fix: loop index;edge parent check

* perf: reference invalid check

* fix: ts

* fix: plugin select files and ai response check (#3104)

* fix: plugin select files and ai response check

* perf: text editor selector;tool call tip;remove invalid image url;

* perf: select file

* perf: drop files

* feat: source id prefix env (#3103)

* 4.8.13 test (#3106)

* perf: select file

* perf: drop files

* perf: env template

* 4.8.13 test (#3107)

* perf: select file

* perf: drop files

* fix: imple mode adapt files

* perf: push chat log (#3109)

* fix: share page load title error (#3111)

* 4.8.13 perf (#3112)

* fix: share page load title error

* update file input doc

* perf: auto add file urls

* perf: auto ser loop node offset height

* 4.8.13 test (#3117)

* perf: plugin

* updat eaction

* feat: add more share config (#3120)

* feat: add more share config

* add i18n en

* fix: missing subroute (#3121)

* perf: outlink config (#3128)

* update action

* perf: outlink config

* fix: ts (#3129)

* 更新 docSite 文档内容 (#3131)

* fix: null pointer (#3130)

* fix: null pointer

* perf: not input text

* update doc url

* perf: outlink default value (#3134)

* update doc (#3136)

* 4.8.13 test (#3137)

* update doc

* perf: completions chat api

* Restore docSite content based on upstream/4.8.13-dev (#3138)

* Restore docSite content based on upstream/4.8.13-dev

* 4813.md缺少更正

* update doc (#3141)

---------

Co-authored-by: heheer <heheer@sealos.io>
Co-authored-by: papapatrick <109422393+Patrickill@users.noreply.github.com>
Co-authored-by: 勤劳上班的卑微小张 <jiazhan.zhang@ggimage.com>
Co-authored-by: Finley Ge <32237950+FinleyGe@users.noreply.github.com>
Co-authored-by: a.e. <49438478+I-Info@users.noreply.github.com>
Co-authored-by: Finley Ge <m13203533462@163.com>
Co-authored-by: Jiangween <145003935+Jiangween@users.noreply.github.com>
This commit is contained in:
Archer
2024-11-13 11:29:53 +08:00
committed by shilin66
parent 72777c341b
commit f680be52f1
449 changed files with 7626 additions and 4180 deletions

View File

@@ -2,9 +2,10 @@ import React, { useCallback, useRef, useState } from 'react';
import Editor, { Monaco, loader } from '@monaco-editor/react';
import { Box, BoxProps } from '@chakra-ui/react';
import MyIcon from '../../Icon';
import { getWebReqUrl } from '../../../../common/system/utils';
loader.config({
paths: { vs: '/js/monaco-editor.0.45.0/vs' }
paths: { vs: getWebReqUrl('/js/monaco-editor.0.45.0/vs') }
});
type EditorVariablePickerType = {

View File

@@ -4,9 +4,10 @@ import { Box, BoxProps } from '@chakra-ui/react';
import MyIcon from '../../Icon';
import { useToast } from '../../../../hooks/useToast';
import { useTranslation } from 'next-i18next';
import { getWebReqUrl } from '../../../../common/system/utils';
loader.config({
paths: { vs: '/js/monaco-editor.0.45.0/vs' }
paths: { vs: getWebReqUrl('/js/monaco-editor.0.45.0/vs') }
});
type EditorVariablePickerType = {

View File

@@ -105,10 +105,10 @@ export default function Editor({
left={0}
right={0}
bottom={0}
py={3}
px={4}
py={2}
px={3}
pointerEvents={'none'}
overflow={'overlay'}
overflow={'hidden'}
>
<Box
color={'myGray.400'}
@@ -146,12 +146,12 @@ export default function Editor({
<Box
zIndex={10}
position={'absolute'}
bottom={0}
bottom={-1}
right={2}
cursor={'pointer'}
onClick={onOpenModal}
>
<MyIcon name={'common/fullScreenLight'} w={'14px'} color={'myGray.600'} />
<MyIcon name={'common/fullScreenLight'} w={'14px'} color={'myGray.500'} />
</Box>
)}
</Box>

View File

@@ -9,6 +9,45 @@
font-size: var(--chakra-fontSizes-sm);
overflow-y: auto;
&:hover {
border-color: var(--chakra-colors-primary-300);
}
&::-webkit-scrollbar {
color: var(--chakra-colors-myGray-100);
}
&::-webkit-scrollbar-thumb {
background-color: var(--chakra-colors-myGray-200) !important;
cursor: pointer;
}
&::-webkit-scrollbar-thumb:hover {
background-color: var(--chakra-colors-myGray-250) !important;
}
}
.contentEditable_isFlow {
position: relative;
height: 100%;
width: 100%;
border: 1px solid var(--chakra-colors-myGray-200);
border-radius: var(--chakra-radii-sm);
padding: 6px 8px;
font-size: var(--chakra-fontSizes-sm);
overflow-y: auto;
&:hover {
border-color: var(--chakra-colors-primary-300);
}
&::-webkit-scrollbar {
color: var(--chakra-colors-myGray-100);
}
&::-webkit-scrollbar-thumb {
background-color: var(--chakra-colors-myGray-200) !important;
cursor: pointer;
}
&::-webkit-scrollbar-thumb:hover {
background-color: var(--chakra-colors-myGray-250) !important;
}
}
.contentEditable:focus {

View File

@@ -1,4 +1,4 @@
import { Box, Button, ModalBody, ModalFooter, useDisclosure } from '@chakra-ui/react';
import { Button, ModalBody, ModalFooter, useDisclosure } from '@chakra-ui/react';
import React from 'react';
import { editorStateToText } from './utils';
import Editor from './Editor';

View File

@@ -1,97 +0,0 @@
import { Box, Button, Image } from '@chakra-ui/react';
import { useTranslation } from 'next-i18next';
export default function ComfirmVar({
newVariables,
onCancel,
onConfirm
}: {
newVariables: string[];
onCancel: () => void;
onConfirm: () => void;
}) {
const { t } = useTranslation();
return (
<>
<Box
background={'rgba(35, 56, 118, 0.2)'}
rounded={'sm'}
position={'absolute'}
top={0}
left={0}
right={0}
bottom={0}
/>
<Box
position={'absolute'}
top={'50%'}
left={'50%'}
transform={'translate(-50%, -50%)'}
w={'70%'}
h={'70%'}
bg={'white'}
rounded={'lg'}
boxShadow={'0 2px 4px rgba(0, 0, 0, 0.1)'}
display={'flex'}
flexDirection={'column'}
justifyContent={'space-between'}
pb={4}
>
<Box display={'flex'} mt={4} mr={4}>
<Box
w={'36px'}
h={'36px'}
minW={'36px'}
boxShadow={'0 4px 8px rgba(0, 0, 0, 0.1)'}
display={'flex'}
alignItems={'center'}
justifyContent={'center'}
rounded={'md'}
border={'1px solid rgba(0, 0, 0, 0.1)'}
mx={4}
>
<Image alt={''} src={'/imgs/workflow/variable.png'} objectFit={'contain'} w={'20px'} />
</Box>
<Box>{t('common:undefined_var')}</Box>
</Box>
<Box
ml={16}
mt={4}
fontSize={'sm'}
color={'rgb(28,100,242)'}
display={'flex'}
whiteSpace={'wrap'}
>
{newVariables.map((item, index) => (
<Box
key={index}
display={'flex'}
alignItems={'center'}
justifyContent={'center'}
bg={'rgb(237,242,250)'}
px={1}
h={6}
rounded={'md'}
mr={2}
>
<span>
<span style={{ opacity: '60%' }}>{`{{`}</span>
<span>{item}</span>
<span style={{ opacity: '60%' }}>{`}}`}</span>
</span>
</Box>
))}
</Box>
<Box>
<Box display={'flex'} justifyContent={'flex-end'} mt={4} mr={4}>
<Button size={'sm'} variant={'ghost'} onClick={onCancel}>
{t('common:common.Cancel')}
</Button>
<Button size={'sm'} variant={'primary'} ml={4} onClick={onConfirm}>
{t('common:common.Confirm')}
</Button>
</Box>
</Box>
</Box>
</>
);
}