2024-02-23 14:31:06 +08:00
|
|
|
import type { I18nText } from '@/i18n/language'
|
2024-01-23 21:14:53 +08:00
|
|
|
|
2023-05-15 08:51:32 +08:00
|
|
|
export type CommonResponse = {
|
|
|
|
result: 'success' | 'fail'
|
|
|
|
}
|
|
|
|
|
|
|
|
export type OauthResponse = {
|
|
|
|
redirect_url: string
|
|
|
|
}
|
|
|
|
|
2023-08-07 13:19:47 +08:00
|
|
|
export type SetupStatusResponse = {
|
|
|
|
step: 'finished' | 'not_started'
|
|
|
|
setup_at?: Date
|
|
|
|
}
|
|
|
|
|
2024-02-01 15:03:56 +08:00
|
|
|
export type InitValidateStatusResponse = {
|
|
|
|
status: 'finished' | 'not_started'
|
|
|
|
}
|
|
|
|
|
2023-05-15 08:51:32 +08:00
|
|
|
export type UserProfileResponse = {
|
|
|
|
id: string
|
|
|
|
name: string
|
|
|
|
email: string
|
2023-07-14 11:19:26 +08:00
|
|
|
avatar: string
|
|
|
|
is_password_set: boolean
|
2023-05-15 08:51:32 +08:00
|
|
|
interface_language?: string
|
|
|
|
interface_theme?: string
|
|
|
|
timezone?: string
|
|
|
|
last_login_at?: string
|
|
|
|
last_login_ip?: string
|
|
|
|
created_at?: string
|
|
|
|
}
|
|
|
|
|
|
|
|
export type UserProfileOriginResponse = {
|
|
|
|
json: () => Promise<UserProfileResponse>
|
|
|
|
bodyUsed: boolean
|
|
|
|
headers: any
|
|
|
|
}
|
|
|
|
|
|
|
|
export type LangGeniusVersionResponse = {
|
|
|
|
current_version: string
|
|
|
|
latest_version: string
|
|
|
|
version: string
|
|
|
|
release_date: string
|
|
|
|
release_notes: string
|
|
|
|
can_auto_update: boolean
|
|
|
|
current_env: string
|
|
|
|
}
|
|
|
|
|
|
|
|
export type TenantInfoResponse = {
|
|
|
|
name: string
|
|
|
|
created_at: string
|
|
|
|
providers: Array<{
|
|
|
|
provider: string
|
|
|
|
provider_name: string
|
|
|
|
token_is_set: boolean
|
|
|
|
is_valid: boolean
|
|
|
|
token_is_valid: boolean
|
|
|
|
}>
|
|
|
|
in_trail: boolean
|
|
|
|
trial_end_reason: null | 'trial_exceeded' | 'using_custom'
|
|
|
|
}
|
|
|
|
|
|
|
|
export type Member = Pick<UserProfileResponse, 'id' | 'name' | 'email' | 'last_login_at' | 'created_at'> & {
|
|
|
|
avatar: string
|
|
|
|
status: 'pending' | 'active' | 'banned' | 'closed'
|
2024-06-14 20:34:25 +08:00
|
|
|
role: 'owner' | 'admin' | 'editor' | 'normal'
|
2023-05-15 08:51:32 +08:00
|
|
|
}
|
|
|
|
|
2023-05-23 14:15:33 +08:00
|
|
|
export enum ProviderName {
|
|
|
|
OPENAI = 'openai',
|
2023-06-01 23:19:36 +08:00
|
|
|
AZURE_OPENAI = 'azure_openai',
|
2023-07-17 00:14:32 +08:00
|
|
|
ANTHROPIC = 'anthropic',
|
2023-08-12 00:57:13 +08:00
|
|
|
Replicate = 'replicate',
|
|
|
|
HuggingfaceHub = 'huggingface_hub',
|
|
|
|
MiniMax = 'minimax',
|
|
|
|
Spark = 'spark',
|
|
|
|
Tongyi = 'tongyi',
|
|
|
|
ChatGLM = 'chatglm',
|
2023-05-23 14:15:33 +08:00
|
|
|
}
|
2023-05-15 08:51:32 +08:00
|
|
|
export type ProviderAzureToken = {
|
2023-05-23 14:15:33 +08:00
|
|
|
openai_api_base?: string
|
|
|
|
openai_api_key?: string
|
2023-05-15 08:51:32 +08:00
|
|
|
}
|
2023-07-17 00:14:32 +08:00
|
|
|
export type ProviderAnthropicToken = {
|
|
|
|
anthropic_api_key?: string
|
|
|
|
}
|
2023-05-23 14:15:33 +08:00
|
|
|
export type ProviderTokenType = {
|
|
|
|
[ProviderName.OPENAI]: string
|
|
|
|
[ProviderName.AZURE_OPENAI]: ProviderAzureToken
|
2023-07-17 00:14:32 +08:00
|
|
|
[ProviderName.ANTHROPIC]: ProviderAnthropicToken
|
2023-05-15 08:51:32 +08:00
|
|
|
}
|
2023-05-23 14:15:33 +08:00
|
|
|
export type Provider = {
|
|
|
|
[Name in ProviderName]: {
|
|
|
|
provider_name: Name
|
|
|
|
} & {
|
|
|
|
provider_type: 'custom' | 'system'
|
|
|
|
is_valid: boolean
|
|
|
|
is_enabled: boolean
|
|
|
|
last_used: string
|
2023-11-06 19:36:32 +08:00
|
|
|
token?: string | ProviderAzureToken | ProviderAnthropicToken
|
2023-05-23 14:15:33 +08:00
|
|
|
}
|
|
|
|
}[ProviderName]
|
2023-05-15 08:51:32 +08:00
|
|
|
|
|
|
|
export type ProviderHosted = Provider & {
|
|
|
|
quota_type: string
|
|
|
|
quota_limit: number
|
|
|
|
quota_used: number
|
|
|
|
}
|
|
|
|
|
|
|
|
export type AccountIntegrate = {
|
|
|
|
provider: 'google' | 'github'
|
|
|
|
created_at: number
|
|
|
|
is_bound: boolean
|
|
|
|
link: string
|
|
|
|
}
|
|
|
|
|
2023-06-01 23:19:36 +08:00
|
|
|
export type IWorkspace = {
|
2023-05-15 08:51:32 +08:00
|
|
|
id: string
|
|
|
|
name: string
|
|
|
|
plan: string
|
|
|
|
status: string
|
|
|
|
created_at: number
|
|
|
|
current: boolean
|
|
|
|
}
|
2023-06-06 11:22:00 +08:00
|
|
|
|
2023-08-15 13:35:47 +08:00
|
|
|
export type ICurrentWorkspace = Omit<IWorkspace, 'current'> & {
|
2024-06-14 20:34:25 +08:00
|
|
|
role: 'owner' | 'admin' | 'editor' | 'normal'
|
2023-08-15 13:35:47 +08:00
|
|
|
providers: Provider[]
|
|
|
|
in_trail: boolean
|
|
|
|
trial_end_reason?: string
|
2023-12-18 16:25:37 +08:00
|
|
|
custom_config?: {
|
|
|
|
remove_webapp_brand?: boolean
|
|
|
|
replace_webapp_logo?: string
|
|
|
|
}
|
2023-08-15 13:35:47 +08:00
|
|
|
}
|
|
|
|
|
2023-06-16 21:47:51 +08:00
|
|
|
export type DataSourceNotionPage = {
|
|
|
|
page_icon: null | {
|
|
|
|
type: string | null
|
|
|
|
url: string | null
|
|
|
|
emoji: string | null
|
|
|
|
}
|
|
|
|
page_id: string
|
|
|
|
page_name: string
|
|
|
|
parent_id: string
|
|
|
|
type: string
|
|
|
|
is_bound: boolean
|
|
|
|
}
|
|
|
|
|
2023-08-28 19:48:53 +08:00
|
|
|
export type NotionPage = DataSourceNotionPage & {
|
|
|
|
workspace_id: string
|
|
|
|
}
|
|
|
|
|
2023-06-16 21:47:51 +08:00
|
|
|
export type DataSourceNotionPageMap = Record<string, DataSourceNotionPage & { workspace_id: string }>
|
|
|
|
|
|
|
|
export type DataSourceNotionWorkspace = {
|
|
|
|
workspace_name: string
|
|
|
|
workspace_id: string
|
|
|
|
workspace_icon: string | null
|
|
|
|
total?: number
|
|
|
|
pages: DataSourceNotionPage[]
|
|
|
|
}
|
|
|
|
|
|
|
|
export type DataSourceNotionWorkspaceMap = Record<string, DataSourceNotionWorkspace>
|
|
|
|
|
|
|
|
export type DataSourceNotion = {
|
|
|
|
id: string
|
|
|
|
provider: string
|
|
|
|
is_bound: boolean
|
|
|
|
source_info: DataSourceNotionWorkspace
|
|
|
|
}
|
|
|
|
|
2023-06-06 11:22:00 +08:00
|
|
|
export type GithubRepo = {
|
|
|
|
stargazers_count: number
|
|
|
|
}
|
2023-07-27 13:27:34 +08:00
|
|
|
|
|
|
|
export type PluginProvider = {
|
|
|
|
tool_name: string
|
|
|
|
is_enabled: boolean
|
|
|
|
credentials: {
|
|
|
|
api_key: string
|
|
|
|
} | null
|
|
|
|
}
|
2023-08-16 23:14:27 +08:00
|
|
|
|
|
|
|
export type FileUploadConfigResponse = {
|
|
|
|
file_size_limit: number
|
|
|
|
batch_count_limit: number
|
2023-11-13 22:32:39 +08:00
|
|
|
image_file_size_limit?: number | string
|
2023-08-16 23:14:27 +08:00
|
|
|
}
|
2023-08-28 10:53:45 +08:00
|
|
|
|
2023-08-31 01:18:31 +08:00
|
|
|
export type InvitationResult = {
|
|
|
|
status: 'success'
|
|
|
|
email: string
|
|
|
|
url: string
|
|
|
|
} | {
|
|
|
|
status: 'failed'
|
|
|
|
email: string
|
|
|
|
message: string
|
|
|
|
}
|
|
|
|
|
|
|
|
export type InvitationResponse = CommonResponse & {
|
|
|
|
invitation_results: InvitationResult[]
|
|
|
|
}
|
2023-11-06 19:36:32 +08:00
|
|
|
|
|
|
|
export type ApiBasedExtension = {
|
|
|
|
id?: string
|
|
|
|
name?: string
|
|
|
|
api_endpoint?: string
|
|
|
|
api_key?: string
|
|
|
|
}
|
|
|
|
|
|
|
|
export type CodeBasedExtensionForm = {
|
|
|
|
type: string
|
|
|
|
label: I18nText
|
|
|
|
variable: string
|
|
|
|
required: boolean
|
2023-11-07 17:56:07 +08:00
|
|
|
options: { label: I18nText; value: string }[]
|
2023-11-06 19:36:32 +08:00
|
|
|
default: string
|
|
|
|
placeholder: string
|
2023-11-07 17:56:07 +08:00
|
|
|
max_length?: number
|
2023-11-06 19:36:32 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
export type CodeBasedExtensionItem = {
|
|
|
|
name: string
|
2024-01-24 11:08:11 +08:00
|
|
|
label: any
|
2023-11-06 19:36:32 +08:00
|
|
|
form_schema: CodeBasedExtensionForm[]
|
|
|
|
}
|
|
|
|
export type CodeBasedExtension = {
|
|
|
|
module: string
|
|
|
|
data: CodeBasedExtensionItem[]
|
|
|
|
}
|
|
|
|
|
|
|
|
export type ExternalDataTool = {
|
|
|
|
type?: string
|
|
|
|
label?: string
|
|
|
|
icon?: string
|
|
|
|
icon_background?: string
|
|
|
|
variable?: string
|
|
|
|
enabled?: boolean
|
|
|
|
config?: {
|
|
|
|
api_based_extension_id?: string
|
|
|
|
} & Partial<Record<string, any>>
|
|
|
|
}
|
|
|
|
|
|
|
|
export type ModerateResponse = {
|
|
|
|
flagged: boolean
|
|
|
|
text: string
|
|
|
|
}
|
|
|
|
|
|
|
|
export type ModerationService = (
|
|
|
|
url: string,
|
|
|
|
body: {
|
|
|
|
app_id: string
|
|
|
|
text: string
|
|
|
|
}
|
|
|
|
) => Promise<ModerateResponse>
|