diff --git a/web/app/components/app/configuration/index.tsx b/web/app/components/app/configuration/index.tsx index aa1bbe0a16..0866606771 100644 --- a/web/app/components/app/configuration/index.tsx +++ b/web/app/components/app/configuration/index.tsx @@ -392,7 +392,7 @@ const Configuration: FC = () => { } }, [textGenerationModelList, hasFetchedDetail, modelModeType, currModel, modelConfig]) - const [promptMode, doSetPromptMode] = useState(PromptMode.simple) + const [promptMode, doSetPromptMode] = useState(PromptMode.simple) const isAdvancedMode = promptMode === PromptMode.advanced const [canReturnToSimpleMode, setCanReturnToSimpleMode] = useState(true) const setPromptMode = async (mode: PromptMode) => { diff --git a/web/app/components/workflow/types.ts b/web/app/components/workflow/types.ts index b66f7d77cc..01a7e49899 100644 --- a/web/app/components/workflow/types.ts +++ b/web/app/components/workflow/types.ts @@ -239,11 +239,14 @@ export type ModelConfig = { completion_params: Record } -export enum PromptRole { - system = 'system', - user = 'user', - assistant = 'assistant', -} +export const PromptRole = { + system: 'system', + user: 'user', + assistant: 'assistant', +} as const + +// eslint-disable-next-line ts/no-redeclare -- value-type pair +export type PromptRole = typeof PromptRole[keyof typeof PromptRole] export enum EditionType { basic = 'basic', diff --git a/web/models/access-control.ts b/web/models/access-control.ts index d0e58d645b..fab6c33fe7 100644 --- a/web/models/access-control.ts +++ b/web/models/access-control.ts @@ -1,14 +1,20 @@ -export enum SubjectType { - GROUP = 'group', - ACCOUNT = 'account', -} +export const SubjectType = { + GROUP: 'group', + ACCOUNT: 'account', +} as const -export enum AccessMode { - PUBLIC = 'public', - SPECIFIC_GROUPS_MEMBERS = 'private', - ORGANIZATION = 'private_all', - EXTERNAL_MEMBERS = 'sso_verified', -} +// eslint-disable-next-line ts/no-redeclare -- value-type pair +export type SubjectType = typeof SubjectType[keyof typeof SubjectType] + +export const AccessMode = { + PUBLIC: 'public', + SPECIFIC_GROUPS_MEMBERS: 'private', + ORGANIZATION: 'private_all', + EXTERNAL_MEMBERS: 'sso_verified', +} as const + +// eslint-disable-next-line ts/no-redeclare -- value-type pair +export type AccessMode = typeof AccessMode[keyof typeof AccessMode] export type AccessControlGroup = { id: 'string' diff --git a/web/models/debug.ts b/web/models/debug.ts index fb75ae7946..86de2b0217 100644 --- a/web/models/debug.ts +++ b/web/models/debug.ts @@ -13,10 +13,13 @@ import type { AgentStrategy, ModelModeType, RETRIEVE_TYPE, ToolItem, TtsAutoPlay export type Inputs = Record -export enum PromptMode { - simple = 'simple', - advanced = 'advanced', -} +export const PromptMode = { + simple: 'simple', + advanced: 'advanced', +} as const + +// eslint-disable-next-line ts/no-redeclare -- value-type pair +export type PromptMode = typeof PromptMode[keyof typeof PromptMode] export type PromptItem = { role?: PromptRole @@ -42,11 +45,14 @@ export type BlockStatus = { query: boolean } -export enum PromptRole { - system = 'system', - user = 'user', - assistant = 'assistant', -} +export const PromptRole = { + system: 'system', + user: 'user', + assistant: 'assistant', +} as const + +// eslint-disable-next-line ts/no-redeclare -- value-type pair +export type PromptRole = typeof PromptRole[keyof typeof PromptRole] export type PromptVariable = { key: string diff --git a/web/service/share.ts b/web/service/share.ts index 4726ded7d1..d2e2d0a3b6 100644 --- a/web/service/share.ts +++ b/web/service/share.ts @@ -29,11 +29,14 @@ import { } from './base' import { getWebAppAccessToken } from './webapp-auth' -export enum AppSourceType { - webApp = 'webApp', - installedApp = 'installedApp', - tryApp = 'tryApp', -} +export const AppSourceType = { + webApp: 'webApp', + installedApp: 'installedApp', + tryApp: 'tryApp', +} as const + +// eslint-disable-next-line ts/no-redeclare -- value-type pair +export type AppSourceType = typeof AppSourceType[keyof typeof AppSourceType] const apiPrefix = { [AppSourceType.webApp]: '',