mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-01 01:51:44 +00:00
feat: split apart main.tsx
This commit is contained in:
parent
2818dd8611
commit
bbba9ed4f2
16 changed files with 1710 additions and 1653 deletions
115
ui-tui/src/constants.ts
Normal file
115
ui-tui/src/constants.ts
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
import type { Theme } from './theme.js'
|
||||
import type { Role, Usage } from './types.js'
|
||||
|
||||
export const COMMANDS: [string, string][] = [
|
||||
['/help', 'commands & hotkeys'],
|
||||
['/model', 'switch model'],
|
||||
['/skin', 'change theme'],
|
||||
['/clear', 'reset chat'],
|
||||
['/new', 'new session'],
|
||||
['/undo', 'drop last exchange'],
|
||||
['/retry', 'resend last message'],
|
||||
['/compact', 'toggle compact [focus]'],
|
||||
['/cost', 'token usage stats'],
|
||||
['/copy', 'copy last response'],
|
||||
['/context', 'context window info'],
|
||||
['/compress', 'compress context'],
|
||||
['/skills', 'list skills'],
|
||||
['/config', 'show config'],
|
||||
['/status', 'session info'],
|
||||
['/quit', 'exit hermes']
|
||||
]
|
||||
|
||||
export const FACES = [
|
||||
'(。•́︿•̀。)',
|
||||
'(◔_◔)',
|
||||
'(¬‿¬)',
|
||||
'( •_•)>⌐■-■',
|
||||
'(⌐■_■)',
|
||||
'(´・_・`)',
|
||||
'◉_◉',
|
||||
'(°ロ°)',
|
||||
'( ˘⌣˘)♡',
|
||||
'ヽ(>∀<☆)☆',
|
||||
'٩(๑❛ᴗ❛๑)۶',
|
||||
'(⊙_⊙)',
|
||||
'(¬_¬)',
|
||||
'( ͡° ͜ʖ ͡°)',
|
||||
'ಠ_ಠ'
|
||||
]
|
||||
|
||||
export const HOTKEYS: [string, string][] = [
|
||||
['Ctrl+C', 'interrupt / clear / exit'],
|
||||
['Ctrl+D', 'exit'],
|
||||
['Ctrl+L', 'clear screen'],
|
||||
['↑/↓', 'queue edit (if queued) / input history'],
|
||||
['PgUp/PgDn', 'scroll messages'],
|
||||
['Esc', 'clear input'],
|
||||
['\\+Enter', 'multi-line continuation'],
|
||||
['!cmd', 'run shell command'],
|
||||
['{!cmd}', 'interpolate shell output inline']
|
||||
]
|
||||
|
||||
export const INTERPOLATION_RE = /\{!(.+?)\}/g
|
||||
|
||||
export const LONG_MSG = 300
|
||||
export const MAX_CTX = 128_000
|
||||
|
||||
export const PLACEHOLDERS = [
|
||||
'Ask me anything…',
|
||||
'Try "explain this codebase"',
|
||||
'Try "write a test for…"',
|
||||
'Try "refactor the auth module"',
|
||||
'Try "/help" for commands',
|
||||
'Try "fix the lint errors"',
|
||||
'Try "how does the config loader work?"'
|
||||
]
|
||||
|
||||
export const ROLE: Record<Role, (t: Theme) => { body: string; glyph: string; prefix: string }> = {
|
||||
assistant: t => ({ body: t.color.cornsilk, glyph: t.brand.tool, prefix: t.color.bronze }),
|
||||
system: t => ({ body: t.color.error, glyph: '!', prefix: t.color.error }),
|
||||
tool: t => ({ body: t.color.dim, glyph: '⚡', prefix: t.color.dim }),
|
||||
user: t => ({ body: t.color.label, glyph: t.brand.prompt, prefix: t.color.label })
|
||||
}
|
||||
|
||||
export const SPINNER = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏']
|
||||
|
||||
export const TOOL_VERBS: Record<string, string> = {
|
||||
browser: '🌐 browsing',
|
||||
clarify: '❓ asking',
|
||||
create_file: '📝 creating',
|
||||
delegate_task: '🤖 delegating',
|
||||
delete_file: '🗑️ deleting',
|
||||
execute_code: '⚡ executing',
|
||||
image_generate: '🎨 generating',
|
||||
list_files: '📂 listing',
|
||||
memory: '🧠 remembering',
|
||||
patch: '🩹 patching',
|
||||
read_file: '📖 reading',
|
||||
run_command: '⚙️ running',
|
||||
search_code: '🔍 searching',
|
||||
search_files: '🔍 searching',
|
||||
terminal: '💻 terminal',
|
||||
web_search: '🌐 searching',
|
||||
write_file: '✏️ writing'
|
||||
}
|
||||
|
||||
export const VERBS = [
|
||||
'pondering',
|
||||
'contemplating',
|
||||
'musing',
|
||||
'cogitating',
|
||||
'ruminating',
|
||||
'deliberating',
|
||||
'mulling',
|
||||
'reflecting',
|
||||
'processing',
|
||||
'reasoning',
|
||||
'analyzing',
|
||||
'computing',
|
||||
'synthesizing',
|
||||
'formulating',
|
||||
'brainstorming'
|
||||
]
|
||||
|
||||
export const ZERO: Usage = { calls: 0, input: 0, output: 0, total: 0 }
|
||||
Loading…
Add table
Add a link
Reference in a new issue