Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
390e4cc0bf | ||
|
|
11f9a897e8 | ||
|
|
0e793a660d | ||
|
|
7b2cab5767 | ||
|
|
c51b4290dc | ||
|
|
94a13d7d62 | ||
|
|
edf5fd28c9 |
@@ -89,6 +89,7 @@ class MCPServerStreamableHTTPRequestHandler:
|
||||
types.ListToolsRequest: self.list_tools,
|
||||
types.CallToolRequest: self.invoke_tool,
|
||||
types.InitializedNotification: self.handle_notification,
|
||||
types.PingRequest: self.handle_ping,
|
||||
}
|
||||
try:
|
||||
if self.request_type in handle_map:
|
||||
@@ -105,6 +106,9 @@ class MCPServerStreamableHTTPRequestHandler:
|
||||
def handle_notification(self):
|
||||
return "ping"
|
||||
|
||||
def handle_ping(self):
|
||||
return types.EmptyResult()
|
||||
|
||||
def initialize(self):
|
||||
request = cast(types.InitializeRequest, self.request.root)
|
||||
client_info = request.params.clientInfo
|
||||
|
||||
@@ -123,6 +123,8 @@ class ProviderEntity(BaseModel):
|
||||
description: Optional[I18nObject] = None
|
||||
icon_small: Optional[I18nObject] = None
|
||||
icon_large: Optional[I18nObject] = None
|
||||
icon_small_dark: Optional[I18nObject] = None
|
||||
icon_large_dark: Optional[I18nObject] = None
|
||||
background: Optional[str] = None
|
||||
help: Optional[ProviderHelpEntity] = None
|
||||
supported_model_types: Sequence[ModelType]
|
||||
|
||||
@@ -79,6 +79,7 @@ class PluginDeclaration(BaseModel):
|
||||
name: str = Field(..., pattern=r"^[a-z0-9_-]{1,128}$")
|
||||
description: I18nObject
|
||||
icon: str
|
||||
icon_dark: Optional[str] = Field(default=None)
|
||||
label: I18nObject
|
||||
category: PluginCategory
|
||||
created_at: datetime.datetime
|
||||
|
||||
@@ -28,6 +28,7 @@ class ToolProviderApiEntity(BaseModel):
|
||||
name: str # identifier
|
||||
description: I18nObject
|
||||
icon: str | dict
|
||||
icon_dark: Optional[str | dict] = Field(default=None, description="The dark icon of the tool")
|
||||
label: I18nObject # label
|
||||
type: ToolProviderType
|
||||
masked_credentials: Optional[dict] = None
|
||||
@@ -72,6 +73,7 @@ class ToolProviderApiEntity(BaseModel):
|
||||
"plugin_unique_identifier": self.plugin_unique_identifier,
|
||||
"description": self.description.to_dict(),
|
||||
"icon": self.icon,
|
||||
"icon_dark": self.icon_dark,
|
||||
"label": self.label.to_dict(),
|
||||
"type": self.type.value,
|
||||
"team_credentials": self.masked_credentials,
|
||||
|
||||
@@ -317,6 +317,7 @@ class ToolProviderIdentity(BaseModel):
|
||||
name: str = Field(..., description="The name of the tool")
|
||||
description: I18nObject = Field(..., description="The description of the tool")
|
||||
icon: str = Field(..., description="The icon of the tool")
|
||||
icon_dark: Optional[str] = Field(default=None, description="The dark icon of the tool")
|
||||
label: I18nObject = Field(..., description="The label of the tool")
|
||||
tags: Optional[list[ToolLabelEnum]] = Field(
|
||||
default=[],
|
||||
|
||||
@@ -232,14 +232,14 @@ class WorkflowLoggingCallback(WorkflowCallback):
|
||||
Publish loop started
|
||||
"""
|
||||
self.print_text("\n[LoopRunStartedEvent]", color="blue")
|
||||
self.print_text(f"Loop Node ID: {event.loop_id}", color="blue")
|
||||
self.print_text(f"Loop Node ID: {event.loop_node_id}", color="blue")
|
||||
|
||||
def on_workflow_loop_next(self, event: LoopRunNextEvent) -> None:
|
||||
"""
|
||||
Publish loop next
|
||||
"""
|
||||
self.print_text("\n[LoopRunNextEvent]", color="blue")
|
||||
self.print_text(f"Loop Node ID: {event.loop_id}", color="blue")
|
||||
self.print_text(f"Loop Node ID: {event.loop_node_id}", color="blue")
|
||||
self.print_text(f"Loop Index: {event.index}", color="blue")
|
||||
|
||||
def on_workflow_loop_completed(self, event: LoopRunSucceededEvent | LoopRunFailedEvent) -> None:
|
||||
@@ -250,7 +250,7 @@ class WorkflowLoggingCallback(WorkflowCallback):
|
||||
"\n[LoopRunSucceededEvent]" if isinstance(event, LoopRunSucceededEvent) else "\n[LoopRunFailedEvent]",
|
||||
color="blue",
|
||||
)
|
||||
self.print_text(f"Node ID: {event.loop_id}", color="blue")
|
||||
self.print_text(f"Loop Node ID: {event.loop_node_id}", color="blue")
|
||||
|
||||
def print_text(self, text: str, color: Optional[str] = None, end: str = "\n") -> None:
|
||||
"""Print text with highlighting and no end characters."""
|
||||
|
||||
@@ -334,7 +334,7 @@ class Graph(BaseModel):
|
||||
|
||||
parallel = GraphParallel(
|
||||
start_from_node_id=start_node_id,
|
||||
parent_parallel_id=parent_parallel.id if parent_parallel else None,
|
||||
parent_parallel_id=parent_parallel_id,
|
||||
parent_parallel_start_node_id=parent_parallel.start_from_node_id if parent_parallel else None,
|
||||
)
|
||||
parallel_mapping[parallel.id] = parallel
|
||||
|
||||
@@ -329,6 +329,7 @@ class ToolNode(BaseNode[ToolNodeData]):
|
||||
icon = current_plugin.declaration.icon
|
||||
except StopIteration:
|
||||
pass
|
||||
icon_dark = None
|
||||
try:
|
||||
builtin_tool = next(
|
||||
provider
|
||||
@@ -339,10 +340,12 @@ class ToolNode(BaseNode[ToolNodeData]):
|
||||
if provider.name == dict_metadata["provider"]
|
||||
)
|
||||
icon = builtin_tool.icon
|
||||
icon_dark = builtin_tool.icon_dark
|
||||
except StopIteration:
|
||||
pass
|
||||
|
||||
dict_metadata["icon"] = icon
|
||||
dict_metadata["icon_dark"] = icon_dark
|
||||
message.message.metadata = dict_metadata
|
||||
agent_log = AgentLogEvent(
|
||||
id=message.message.id,
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "dify-api"
|
||||
version = "1.5.1"
|
||||
version = "1.6.0"
|
||||
requires-python = ">=3.11,<3.13"
|
||||
|
||||
dependencies = [
|
||||
|
||||
@@ -75,10 +75,18 @@ class ToolTransformService:
|
||||
provider.icon = ToolTransformService.get_plugin_icon_url(
|
||||
tenant_id=tenant_id, filename=provider.icon
|
||||
)
|
||||
if isinstance(provider.icon_dark, str) and provider.icon_dark:
|
||||
provider.icon_dark = ToolTransformService.get_plugin_icon_url(
|
||||
tenant_id=tenant_id, filename=provider.icon_dark
|
||||
)
|
||||
else:
|
||||
provider.icon = ToolTransformService.get_tool_provider_icon_url(
|
||||
provider_type=provider.type.value, provider_name=provider.name, icon=provider.icon
|
||||
)
|
||||
if provider.icon_dark:
|
||||
provider.icon_dark = ToolTransformService.get_tool_provider_icon_url(
|
||||
provider_type=provider.type.value, provider_name=provider.name, icon=provider.icon_dark
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def builtin_provider_to_user_provider(
|
||||
@@ -96,6 +104,7 @@ class ToolTransformService:
|
||||
name=provider_controller.entity.identity.name,
|
||||
description=provider_controller.entity.identity.description,
|
||||
icon=provider_controller.entity.identity.icon,
|
||||
icon_dark=provider_controller.entity.identity.icon_dark,
|
||||
label=provider_controller.entity.identity.label,
|
||||
type=ToolProviderType.BUILT_IN,
|
||||
masked_credentials={},
|
||||
@@ -179,6 +188,7 @@ class ToolTransformService:
|
||||
name=provider_controller.entity.identity.name,
|
||||
description=provider_controller.entity.identity.description,
|
||||
icon=provider_controller.entity.identity.icon,
|
||||
icon_dark=provider_controller.entity.identity.icon_dark,
|
||||
label=provider_controller.entity.identity.label,
|
||||
type=ToolProviderType.WORKFLOW,
|
||||
masked_credentials={},
|
||||
|
||||
Generated
+1
-1
@@ -1217,7 +1217,7 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "dify-api"
|
||||
version = "1.5.1"
|
||||
version = "1.6.0"
|
||||
source = { virtual = "." }
|
||||
dependencies = [
|
||||
{ name = "arize-phoenix-otel" },
|
||||
|
||||
@@ -2,7 +2,7 @@ x-shared-env: &shared-api-worker-env
|
||||
services:
|
||||
# API service
|
||||
api:
|
||||
image: langgenius/dify-api:1.5.1
|
||||
image: langgenius/dify-api:1.6.0
|
||||
restart: always
|
||||
environment:
|
||||
# Use the shared environment variables.
|
||||
@@ -31,7 +31,7 @@ services:
|
||||
# worker service
|
||||
# The Celery worker for processing the queue.
|
||||
worker:
|
||||
image: langgenius/dify-api:1.5.1
|
||||
image: langgenius/dify-api:1.6.0
|
||||
restart: always
|
||||
environment:
|
||||
# Use the shared environment variables.
|
||||
@@ -57,7 +57,7 @@ services:
|
||||
|
||||
# Frontend web application.
|
||||
web:
|
||||
image: langgenius/dify-web:1.5.1
|
||||
image: langgenius/dify-web:1.6.0
|
||||
restart: always
|
||||
environment:
|
||||
CONSOLE_API_URL: ${CONSOLE_API_URL:-}
|
||||
|
||||
@@ -518,7 +518,7 @@ x-shared-env: &shared-api-worker-env
|
||||
services:
|
||||
# API service
|
||||
api:
|
||||
image: langgenius/dify-api:1.5.1
|
||||
image: langgenius/dify-api:1.6.0
|
||||
restart: always
|
||||
environment:
|
||||
# Use the shared environment variables.
|
||||
@@ -547,7 +547,7 @@ services:
|
||||
# worker service
|
||||
# The Celery worker for processing the queue.
|
||||
worker:
|
||||
image: langgenius/dify-api:1.5.1
|
||||
image: langgenius/dify-api:1.6.0
|
||||
restart: always
|
||||
environment:
|
||||
# Use the shared environment variables.
|
||||
@@ -573,7 +573,7 @@ services:
|
||||
|
||||
# Frontend web application.
|
||||
web:
|
||||
image: langgenius/dify-web:1.5.1
|
||||
image: langgenius/dify-web:1.6.0
|
||||
restart: always
|
||||
environment:
|
||||
CONSOLE_API_URL: ${CONSOLE_API_URL:-}
|
||||
|
||||
@@ -4,21 +4,18 @@ import cn from '@/utils/classnames'
|
||||
type OptionListItemProps = {
|
||||
isSelected: boolean
|
||||
onClick: () => void
|
||||
noAutoScroll?: boolean
|
||||
} & React.LiHTMLAttributes<HTMLLIElement>
|
||||
|
||||
const OptionListItem: FC<OptionListItemProps> = ({
|
||||
isSelected,
|
||||
onClick,
|
||||
noAutoScroll,
|
||||
children,
|
||||
}) => {
|
||||
const listItemRef = useRef<HTMLLIElement>(null)
|
||||
|
||||
useEffect(() => {
|
||||
if (isSelected && !noAutoScroll)
|
||||
if (isSelected)
|
||||
listItemRef.current?.scrollIntoView({ behavior: 'instant' })
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [])
|
||||
|
||||
return (
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
import React from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
|
||||
type Props = {
|
||||
title?: string
|
||||
}
|
||||
const Header = ({
|
||||
title,
|
||||
}: Props) => {
|
||||
const Header = () => {
|
||||
const { t } = useTranslation()
|
||||
|
||||
return (
|
||||
<div className='flex flex-col border-b-[0.5px] border-divider-regular'>
|
||||
<div className='system-md-semibold flex items-center px-2 py-1.5 text-text-primary'>
|
||||
{title || t('time.title.pickTime')}
|
||||
{t('time.title.pickTime')}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
@@ -20,9 +20,6 @@ const TimePicker = ({
|
||||
onChange,
|
||||
onClear,
|
||||
renderTrigger,
|
||||
title,
|
||||
minuteFilter,
|
||||
popupClassName,
|
||||
}: TimePickerProps) => {
|
||||
const { t } = useTranslation()
|
||||
const [isOpen, setIsOpen] = useState(false)
|
||||
@@ -111,15 +108,6 @@ const TimePicker = ({
|
||||
const displayValue = value?.format(timeFormat) || ''
|
||||
const placeholderDate = isOpen && selectedTime ? selectedTime.format(timeFormat) : (placeholder || t('time.defaultPlaceholder'))
|
||||
|
||||
const inputElem = (
|
||||
<input
|
||||
className='system-xs-regular flex-1 cursor-pointer appearance-none truncate bg-transparent p-1
|
||||
text-components-input-text-filled outline-none placeholder:text-components-input-text-placeholder'
|
||||
readOnly
|
||||
value={isOpen ? '' : displayValue}
|
||||
placeholder={placeholderDate}
|
||||
/>
|
||||
)
|
||||
return (
|
||||
<PortalToFollowElem
|
||||
open={isOpen}
|
||||
@@ -127,16 +115,18 @@ const TimePicker = ({
|
||||
placement='bottom-end'
|
||||
>
|
||||
<PortalToFollowElemTrigger>
|
||||
{renderTrigger ? (renderTrigger({
|
||||
inputElem,
|
||||
onClick: handleClickTrigger,
|
||||
isOpen,
|
||||
})) : (
|
||||
{renderTrigger ? (renderTrigger()) : (
|
||||
<div
|
||||
className='group flex w-[252px] cursor-pointer items-center gap-x-0.5 rounded-lg bg-components-input-bg-normal px-2 py-1 hover:bg-state-base-hover-alt'
|
||||
onClick={handleClickTrigger}
|
||||
>
|
||||
{inputElem}
|
||||
<input
|
||||
className='system-xs-regular flex-1 cursor-pointer appearance-none truncate bg-transparent p-1
|
||||
text-components-input-text-filled outline-none placeholder:text-components-input-text-placeholder'
|
||||
readOnly
|
||||
value={isOpen ? '' : displayValue}
|
||||
placeholder={placeholderDate}
|
||||
/>
|
||||
<RiTimeLine className={cn(
|
||||
'h-4 w-4 shrink-0 text-text-quaternary',
|
||||
isOpen ? 'text-text-secondary' : 'group-hover:text-text-secondary',
|
||||
@@ -152,15 +142,14 @@ const TimePicker = ({
|
||||
</div>
|
||||
)}
|
||||
</PortalToFollowElemTrigger>
|
||||
<PortalToFollowElemContent className={cn('z-50', popupClassName)}>
|
||||
<PortalToFollowElemContent className='z-50'>
|
||||
<div className='mt-1 w-[252px] rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg shadow-lg shadow-shadow-shadow-5'>
|
||||
{/* Header */}
|
||||
<Header title={title} />
|
||||
<Header />
|
||||
|
||||
{/* Time Options */}
|
||||
<Options
|
||||
selectedTime={selectedTime}
|
||||
minuteFilter={minuteFilter}
|
||||
handleSelectHour={handleSelectHour}
|
||||
handleSelectMinute={handleSelectMinute}
|
||||
handleSelectPeriod={handleSelectPeriod}
|
||||
|
||||
@@ -5,7 +5,6 @@ import OptionListItem from '../common/option-list-item'
|
||||
|
||||
const Options: FC<TimeOptionsProps> = ({
|
||||
selectedTime,
|
||||
minuteFilter,
|
||||
handleSelectHour,
|
||||
handleSelectMinute,
|
||||
handleSelectPeriod,
|
||||
@@ -34,7 +33,7 @@ const Options: FC<TimeOptionsProps> = ({
|
||||
{/* Minute */}
|
||||
<ul className='no-scrollbar flex h-[208px] flex-col gap-y-0.5 overflow-y-auto pb-[184px]'>
|
||||
{
|
||||
(minuteFilter ? minuteFilter(minuteOptions) : minuteOptions).map((minute) => {
|
||||
minuteOptions.map((minute) => {
|
||||
const isSelected = selectedTime?.format('mm') === minute
|
||||
return (
|
||||
<OptionListItem
|
||||
@@ -58,7 +57,6 @@ const Options: FC<TimeOptionsProps> = ({
|
||||
key={period}
|
||||
isSelected={isSelected}
|
||||
onClick={handleSelectPeriod.bind(null, period)}
|
||||
noAutoScroll // if choose PM which would hide(scrolled) AM that may make user confused that there's no am.
|
||||
>
|
||||
{period}
|
||||
</OptionListItem>
|
||||
|
||||
@@ -28,7 +28,6 @@ export type DatePickerProps = {
|
||||
onClear: () => void
|
||||
triggerWrapClassName?: string
|
||||
renderTrigger?: (props: TriggerProps) => React.ReactNode
|
||||
minuteFilter?: (minutes: string[]) => string[]
|
||||
popupZIndexClassname?: string
|
||||
}
|
||||
|
||||
@@ -48,21 +47,13 @@ export type DatePickerFooterProps = {
|
||||
handleConfirmDate: () => void
|
||||
}
|
||||
|
||||
export type TriggerParams = {
|
||||
isOpen: boolean
|
||||
inputElem: React.ReactNode
|
||||
onClick: (e: React.MouseEvent) => void
|
||||
}
|
||||
export type TimePickerProps = {
|
||||
value: Dayjs | undefined
|
||||
timezone?: string
|
||||
placeholder?: string
|
||||
onChange: (date: Dayjs | undefined) => void
|
||||
onClear: () => void
|
||||
renderTrigger?: (props: TriggerParams) => React.ReactNode
|
||||
title?: string
|
||||
minuteFilter?: (minutes: string[]) => string[]
|
||||
popupClassName?: string
|
||||
renderTrigger?: () => React.ReactNode
|
||||
}
|
||||
|
||||
export type TimePickerFooterProps = {
|
||||
@@ -90,7 +81,6 @@ export type CalendarItemProps = {
|
||||
|
||||
export type TimeOptionsProps = {
|
||||
selectedTime: Dayjs | undefined
|
||||
minuteFilter?: (minutes: string[]) => string[]
|
||||
handleSelectHour: (hour: string) => void
|
||||
handleSelectMinute: (minute: string) => void
|
||||
handleSelectPeriod: (period: Period) => void
|
||||
|
||||
@@ -2,7 +2,6 @@ import dayjs, { type Dayjs } from 'dayjs'
|
||||
import type { Day } from '../types'
|
||||
import utc from 'dayjs/plugin/utc'
|
||||
import timezone from 'dayjs/plugin/timezone'
|
||||
import tz from '@/utils/timezone.json'
|
||||
|
||||
dayjs.extend(utc)
|
||||
dayjs.extend(timezone)
|
||||
@@ -79,14 +78,3 @@ export const getHourIn12Hour = (date: Dayjs) => {
|
||||
export const getDateWithTimezone = (props: { date?: Dayjs, timezone?: string }) => {
|
||||
return props.date ? dayjs.tz(props.date, props.timezone) : dayjs().tz(props.timezone)
|
||||
}
|
||||
|
||||
// Asia/Shanghai -> UTC+8
|
||||
const DEFAULT_OFFSET_STR = 'UTC+0'
|
||||
export const convertTimezoneToOffsetStr = (timezone?: string) => {
|
||||
if(!timezone)
|
||||
return DEFAULT_OFFSET_STR
|
||||
const tzItem = tz.find(item => item.value === timezone)
|
||||
if(!tzItem)
|
||||
return DEFAULT_OFFSET_STR
|
||||
return `UTC${tzItem.name.charAt(0)}${tzItem.name.charAt(2)}`
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M28.0049 16C28.0049 20.4183 24.4231 24 20.0049 24C15.5866 24 12.0049 20.4183 12.0049 16C12.0049 11.5817 15.5866 8 20.0049 8C24.4231 8 28.0049 11.5817 28.0049 16Z" stroke="#676F83" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M4.00488 16H6.67155" stroke="#676F83" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M4.00488 9.33334H8.00488" stroke="#676F83" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M4.00488 22.6667H8.00488" stroke="#676F83" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M26 22L29.3333 25.3333" stroke="#676F83" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 823 B |
@@ -1,4 +0,0 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5.46257 4.43262C7.21556 2.91688 9.5007 2 12 2C17.5228 2 22 6.47715 22 12C22 14.1361 21.3302 16.1158 20.1892 17.7406L17 12H20C20 7.58172 16.4183 4 12 4C9.84982 4 7.89777 4.84827 6.46023 6.22842L5.46257 4.43262ZM18.5374 19.5674C16.7844 21.0831 14.4993 22 12 22C6.47715 22 2 17.5228 2 12C2 9.86386 2.66979 7.88416 3.8108 6.25944L7 12H4C4 16.4183 7.58172 20 12 20C14.1502 20 16.1022 19.1517 17.5398 17.7716L18.5374 19.5674Z" fill="black"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.3308 16H14.2915L13.6249 13.9476H10.3761L9.70846 16H7.66918L10.7759 7H13.2281L16.3308 16ZM10.8595 12.4622H13.1435L12.0378 9.05639H11.9673L10.8595 12.4622Z" fill="black"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 772 B |
@@ -89,4 +89,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Robot"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,4 +86,4 @@
|
||||
]
|
||||
},
|
||||
"name": "User"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,4 +26,4 @@
|
||||
]
|
||||
},
|
||||
"name": "ArCube1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,4 +35,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Asterisk"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,4 +176,4 @@
|
||||
]
|
||||
},
|
||||
"name": "AwsMarketplace"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -190,4 +190,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Azure"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,4 +36,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Buildings"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,4 +36,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Diamond"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,4 +63,4 @@
|
||||
]
|
||||
},
|
||||
"name": "GoogleCloud"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,4 +26,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Group2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,4 +25,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Keyframe"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,4 +92,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Sparkles"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,4 +33,4 @@
|
||||
]
|
||||
},
|
||||
"name": "SparklesSoft"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,4 +122,4 @@
|
||||
]
|
||||
},
|
||||
"name": "D"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,4 +25,4 @@
|
||||
]
|
||||
},
|
||||
"name": "DiagonalDividingLine"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,4 +59,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Dify"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -337,4 +337,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Gdpr"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,4 +33,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Github"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,4 +64,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Highlight"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,4 +118,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Iso"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,4 +25,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Line3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,4 +35,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Lock"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,4 +34,4 @@
|
||||
]
|
||||
},
|
||||
"name": "MessageChatSquare"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,4 +150,4 @@
|
||||
]
|
||||
},
|
||||
"name": "MultiPathRetrieval"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,4 +143,4 @@
|
||||
]
|
||||
},
|
||||
"name": "NTo1Retrieval"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,4 +80,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Notion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -935,4 +935,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Soc2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,4 +44,4 @@
|
||||
]
|
||||
},
|
||||
"name": "SparklesSoft"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,4 +24,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Triangle"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -178,4 +178,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Csv"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,4 +166,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Doc"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,4 +175,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Docx"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,4 +175,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Html"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,4 +175,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Json"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,4 +141,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Md"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,4 +166,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Pdf"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -177,4 +177,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Txt"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -196,4 +196,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Unknown"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,4 +142,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Xlsx"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -178,4 +178,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Yaml"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,4 +113,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Chunk"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,4 +59,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Collapse"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,4 +35,4 @@
|
||||
]
|
||||
},
|
||||
"name": "GeneralType"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,4 +33,4 @@
|
||||
]
|
||||
},
|
||||
"name": "LayoutRight2LineMod"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,4 +53,4 @@
|
||||
]
|
||||
},
|
||||
"name": "ParentChildType"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,4 +113,4 @@
|
||||
]
|
||||
},
|
||||
"name": "SelectionMod"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,4 +34,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Anthropic"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1043,4 +1043,4 @@
|
||||
]
|
||||
},
|
||||
"name": "AnthropicDark"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1043,4 +1043,4 @@
|
||||
]
|
||||
},
|
||||
"name": "AnthropicLight"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -536,4 +536,4 @@
|
||||
]
|
||||
},
|
||||
"name": "AnthropicText"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,4 +71,4 @@
|
||||
]
|
||||
},
|
||||
"name": "AzureOpenaiService"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -233,4 +233,4 @@
|
||||
]
|
||||
},
|
||||
"name": "AzureOpenaiServiceText"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -177,4 +177,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Azureai"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -240,4 +240,4 @@
|
||||
]
|
||||
},
|
||||
"name": "AzureaiText"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,4 +73,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Baichuan"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,4 +153,4 @@
|
||||
]
|
||||
},
|
||||
"name": "BaichuanText"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,4 +69,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Chatglm"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,4 +132,4 @@
|
||||
]
|
||||
},
|
||||
"name": "ChatglmText"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,4 +109,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Cohere"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,4 +87,4 @@
|
||||
]
|
||||
},
|
||||
"name": "CohereText"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,4 +48,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Gpt3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,4 +48,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Gpt4"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -155,4 +155,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Huggingface"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -319,4 +319,4 @@
|
||||
]
|
||||
},
|
||||
"name": "HuggingfaceText"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -347,4 +347,4 @@
|
||||
]
|
||||
},
|
||||
"name": "HuggingfaceTextHub"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,4 +41,4 @@
|
||||
]
|
||||
},
|
||||
"name": "IflytekSpark"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,4 +184,4 @@
|
||||
]
|
||||
},
|
||||
"name": "IflytekSparkText"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,4 +95,4 @@
|
||||
]
|
||||
},
|
||||
"name": "IflytekSparkTextCn"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,4 +32,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Jina"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,4 +79,4 @@
|
||||
]
|
||||
},
|
||||
"name": "JinaText"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,4 +104,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Localai"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,4 +167,4 @@
|
||||
]
|
||||
},
|
||||
"name": "LocalaiText"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,4 +73,4 @@
|
||||
]
|
||||
},
|
||||
"name": "Microsoft"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,4 +34,4 @@
|
||||
]
|
||||
},
|
||||
"name": "OpenaiBlack"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,4 +34,4 @@
|
||||
]
|
||||
},
|
||||
"name": "OpenaiBlue"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,4 +34,4 @@
|
||||
]
|
||||
},
|
||||
"name": "OpenaiGreen"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,4 +34,4 @@
|
||||
]
|
||||
},
|
||||
"name": "OpenaiTeal"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,4 +74,4 @@
|
||||
]
|
||||
},
|
||||
"name": "OpenaiText"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,4 +23,4 @@
|
||||
]
|
||||
},
|
||||
"name": "OpenaiTransparent"
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user