mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-30 01:41:43 +00:00
Hoist turn state from a 286-line hook into $turnState atom + turnController
singleton. createGatewayEventHandler becomes a typed dispatch over the
controller; its ctx shrinks from 30 fields to 5. Event-handler refs and 16
threaded actions are gone.
Fold three createSlash*Handler factories into a data-driven SlashCommand[]
registry under slash/commands/{core,session,ops}.ts. Aliases are data;
findSlashCommand does name+alias lookup. Shared guarded/guardedErr combinator
in slash/guarded.ts.
Split constants.ts + app/helpers.ts into config/ (timing/limits/env),
content/ (faces/placeholders/hotkeys/verbs/charms/fortunes), domain/ (roles/
details/messages/paths/slash/viewport/usage), protocol/ (interpolation/paste).
Type every RPC response in gatewayTypes.ts (26 new interfaces); drop all
`(r: any)` across slash + main app.
Shrink useMainApp from 1216 -> 646 lines by extracting useSessionLifecycle,
useSubmission, useConfigSync. Add <Fg> themed primitive and strip ~50
`as any` color casts.
Tests: 50 passing. Build + type-check clean.
17 lines
304 B
TypeScript
17 lines
304 B
TypeScript
export const FACES = [
|
||
'(。•́︿•̀。)',
|
||
'(◔_◔)',
|
||
'(¬‿¬)',
|
||
'( •_•)>⌐■-■',
|
||
'(⌐■_■)',
|
||
'(´・_・`)',
|
||
'◉_◉',
|
||
'(°ロ°)',
|
||
'( ˘⌣˘)♡',
|
||
'ヽ(>∀<☆)☆',
|
||
'٩(๑❛ᴗ❛๑)۶',
|
||
'(⊙_⊙)',
|
||
'(¬_¬)',
|
||
'( ͡° ͜ʖ ͡°)',
|
||
'ಠ_ಠ'
|
||
]
|