Files
new-api/web/default/src/features/playground/constants.ts
T
t0ng7u d146e45e2f ⚖️ chore(web/default): add reusable copyright header tooling
Add a Bun script to apply and normalize AGPL copyright headers across the default frontend source files.

The script keeps headers idempotent, upgrades existing headers to the 2023-2026 QuantumNous range, and is exposed through `bun run copyright` for future maintenance.
2026-05-09 11:35:07 +08:00

101 lines
2.7 KiB
TypeScript
Vendored

/*
Copyright (C) 2023-2026 QuantumNous
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
For commercial licensing, please contact support@quantumnous.com
*/
import type { PlaygroundConfig, ParameterEnabled } from './types'
// Message constants
export const MESSAGE_ROLES = {
USER: 'user',
ASSISTANT: 'assistant',
SYSTEM: 'system',
} as const
export const MESSAGE_STATUS = {
LOADING: 'loading',
STREAMING: 'streaming',
COMPLETE: 'complete',
ERROR: 'error',
} as const
// API endpoints
export const API_ENDPOINTS = {
CHAT_COMPLETIONS: '/pg/chat/completions',
USER_MODELS: '/api/user/models',
USER_GROUPS: '/api/user/self/groups',
} as const
// Default group
export const DEFAULT_GROUP = 'auto' as const
// Default configuration
export const DEFAULT_CONFIG: PlaygroundConfig = {
model: 'gpt-4o',
group: DEFAULT_GROUP,
temperature: 0.7,
top_p: 1,
max_tokens: 4096,
frequency_penalty: 0,
presence_penalty: 0,
seed: null,
stream: true,
}
export const DEFAULT_PARAMETER_ENABLED: ParameterEnabled = {
temperature: true,
top_p: true,
max_tokens: false,
frequency_penalty: true,
presence_penalty: true,
seed: false,
}
// Storage keys
export const STORAGE_KEYS = {
CONFIG: 'playground_config',
MESSAGES: 'playground_messages',
PARAMETER_ENABLED: 'playground_parameter_enabled',
} as const
// Error messages
export const ERROR_MESSAGES = {
API_REQUEST_ERROR: 'Request error occurred',
NETWORK_ERROR: 'Network connection failed or server not responding',
PARSE_ERROR: 'Error parsing response data',
STREAM_START_ERROR: 'Error establishing connection',
CONNECTION_CLOSED: 'Connection closed',
INTERRUPTED: 'Generation was interrupted',
} as const
// Message action button styles
export const MESSAGE_ACTION_BUTTON_STYLES = {
BASE: 'size-7 text-muted-foreground hover:text-foreground',
DELETE: 'size-7 text-muted-foreground hover:text-destructive',
ICON: 'size-4',
} as const
// Message action labels
export const MESSAGE_ACTION_LABELS = {
COPY: 'Copy',
COPIED: 'Copied!',
REGENERATE: 'Regenerate',
EDIT: 'Edit',
DELETE: 'Delete',
NO_CONTENT: 'No content to copy',
WAIT_GENERATION: 'Please wait for the current generation to complete',
} as const