mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-08 03:01:47 +00:00
chore: uptick
This commit is contained in:
parent
9c2c9e3a3e
commit
b397c91d4a
10 changed files with 136 additions and 290 deletions
35
ui-tui/src/hooks/useQueue.ts
Normal file
35
ui-tui/src/hooks/useQueue.ts
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
import { useRef, useState } from 'react'
|
||||
|
||||
export function useQueue() {
|
||||
const queueRef = useRef<string[]>([])
|
||||
const [queuedDisplay, setQueuedDisplay] = useState<string[]>([])
|
||||
const queueEditRef = useRef<number | null>(null)
|
||||
const [queueEditIdx, setQueueEditIdx] = useState<number | null>(null)
|
||||
|
||||
const syncQueue = () => setQueuedDisplay([...queueRef.current])
|
||||
|
||||
const setQueueEdit = (idx: number | null) => {
|
||||
queueEditRef.current = idx
|
||||
setQueueEditIdx(idx)
|
||||
}
|
||||
|
||||
const enqueue = (text: string) => {
|
||||
queueRef.current.push(text)
|
||||
syncQueue()
|
||||
}
|
||||
|
||||
const dequeue = () => {
|
||||
const [head, ...rest] = queueRef.current
|
||||
queueRef.current = rest
|
||||
syncQueue()
|
||||
|
||||
return head
|
||||
}
|
||||
|
||||
const replaceQ = (i: number, text: string) => {
|
||||
queueRef.current[i] = text
|
||||
syncQueue()
|
||||
}
|
||||
|
||||
return { queueRef, queueEditRef, queuedDisplay, queueEditIdx, enqueue, dequeue, replaceQ, setQueueEdit, syncQueue }
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue