|
import type { I18nText } from '@/i18n/language' |
|
|
|
export type CommonResponse = { |
|
result: 'success' | 'fail' |
|
} |
|
|
|
export type OauthResponse = { |
|
redirect_url: string |
|
} |
|
|
|
export type SetupStatusResponse = { |
|
step: 'finished' | 'not_started' |
|
setup_at?: Date |
|
} |
|
|
|
export type InitValidateStatusResponse = { |
|
status: 'finished' | 'not_started' |
|
} |
|
|
|
export type UserProfileResponse = { |
|
id: string |
|
name: string |
|
email: string |
|
avatar: string |
|
is_password_set: boolean |
|
interface_language?: string |
|
interface_theme?: string |
|
timezone?: string |
|
last_login_at?: string |
|
last_active_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' | 'last_active_at' | 'created_at'> & { |
|
avatar: string |
|
status: 'pending' | 'active' | 'banned' | 'closed' |
|
role: 'owner' | 'admin' | 'editor' | 'normal' | 'dataset_operator' |
|
} |
|
|
|
export enum ProviderName { |
|
OPENAI = 'openai', |
|
AZURE_OPENAI = 'azure_openai', |
|
ANTHROPIC = 'anthropic', |
|
Replicate = 'replicate', |
|
HuggingfaceHub = 'huggingface_hub', |
|
MiniMax = 'minimax', |
|
Spark = 'spark', |
|
Tongyi = 'tongyi', |
|
ChatGLM = 'chatglm', |
|
} |
|
export type ProviderAzureToken = { |
|
openai_api_base?: string |
|
openai_api_key?: string |
|
} |
|
export type ProviderAnthropicToken = { |
|
anthropic_api_key?: string |
|
} |
|
export type ProviderTokenType = { |
|
[ProviderName.OPENAI]: string |
|
[ProviderName.AZURE_OPENAI]: ProviderAzureToken |
|
[ProviderName.ANTHROPIC]: ProviderAnthropicToken |
|
} |
|
export type Provider = { |
|
[Name in ProviderName]: { |
|
provider_name: Name |
|
} & { |
|
provider_type: 'custom' | 'system' |
|
is_valid: boolean |
|
is_enabled: boolean |
|
last_used: string |
|
token?: string | ProviderAzureToken | ProviderAnthropicToken |
|
} |
|
}[ProviderName] |
|
|
|
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 |
|
} |
|
|
|
export type IWorkspace = { |
|
id: string |
|
name: string |
|
plan: string |
|
status: string |
|
created_at: number |
|
current: boolean |
|
} |
|
|
|
export type ICurrentWorkspace = Omit<IWorkspace, 'current'> & { |
|
role: 'owner' | 'admin' | 'editor' | 'dataset_operator' | 'normal' |
|
providers: Provider[] |
|
in_trail: boolean |
|
trial_end_reason?: string |
|
custom_config?: { |
|
remove_webapp_brand?: boolean |
|
replace_webapp_logo?: string |
|
} |
|
} |
|
|
|
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 |
|
} |
|
|
|
export type NotionPage = DataSourceNotionPage & { |
|
workspace_id: string |
|
} |
|
|
|
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 |
|
} |
|
|
|
export enum DataSourceCategory { |
|
website = 'website', |
|
} |
|
export enum DataSourceProvider { |
|
fireCrawl = 'firecrawl', |
|
jinaReader = 'jinareader', |
|
} |
|
|
|
export type FirecrawlConfig = { |
|
api_key: string |
|
base_url: string |
|
} |
|
|
|
export type DataSourceItem = { |
|
id: string |
|
category: DataSourceCategory |
|
provider: DataSourceProvider |
|
disabled: boolean |
|
created_at: number |
|
updated_at: number |
|
} |
|
|
|
export type DataSources = { |
|
sources: DataSourceItem[] |
|
} |
|
|
|
export type GithubRepo = { |
|
stargazers_count: number |
|
} |
|
|
|
export type PluginProvider = { |
|
tool_name: string |
|
is_enabled: boolean |
|
credentials: { |
|
api_key: string |
|
} | null |
|
} |
|
|
|
export type FileUploadConfigResponse = { |
|
batch_count_limit: number |
|
image_file_size_limit?: number | string |
|
file_size_limit: number |
|
audio_file_size_limit?: number |
|
video_file_size_limit?: number |
|
workflow_file_upload_limit?: number |
|
} |
|
|
|
export type InvitationResult = { |
|
status: 'success' |
|
email: string |
|
url: string |
|
} | { |
|
status: 'failed' |
|
email: string |
|
message: string |
|
} |
|
|
|
export type InvitationResponse = CommonResponse & { |
|
invitation_results: InvitationResult[] |
|
} |
|
|
|
export type ApiBasedExtension = { |
|
id?: string |
|
name?: string |
|
api_endpoint?: string |
|
api_key?: string |
|
} |
|
|
|
export type CodeBasedExtensionForm = { |
|
type: string |
|
label: I18nText |
|
variable: string |
|
required: boolean |
|
options: { label: I18nText; value: string }[] |
|
default: string |
|
placeholder: string |
|
max_length?: number |
|
} |
|
|
|
export type CodeBasedExtensionItem = { |
|
name: string |
|
label: any |
|
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> |
|
|