mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-29 06:31:32 +00:00
fix(ui-tui): surface RPC errors and guard invalid gateway responses
This commit is contained in:
parent
0642b6cc53
commit
cac1b1b724
4 changed files with 328 additions and 55 deletions
27
ui-tui/src/__tests__/rpc.test.ts
Normal file
27
ui-tui/src/__tests__/rpc.test.ts
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
import { describe, expect, it } from 'vitest'
|
||||
|
||||
import { asRpcResult, rpcErrorMessage } from '../lib/rpc.js'
|
||||
|
||||
describe('asRpcResult', () => {
|
||||
it('keeps plain object payloads', () => {
|
||||
expect(asRpcResult({ ok: true, value: 'x' })).toEqual({ ok: true, value: 'x' })
|
||||
})
|
||||
|
||||
it('rejects missing or non-object payloads', () => {
|
||||
expect(asRpcResult(undefined)).toBeNull()
|
||||
expect(asRpcResult(null)).toBeNull()
|
||||
expect(asRpcResult('oops')).toBeNull()
|
||||
expect(asRpcResult(['bad'])).toBeNull()
|
||||
})
|
||||
})
|
||||
|
||||
describe('rpcErrorMessage', () => {
|
||||
it('prefers Error messages', () => {
|
||||
expect(rpcErrorMessage(new Error('boom'))).toBe('boom')
|
||||
})
|
||||
|
||||
it('falls back for unknown errors', () => {
|
||||
expect(rpcErrorMessage('broken')).toBe('broken')
|
||||
expect(rpcErrorMessage({ code: 500 })).toBe('request failed')
|
||||
})
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue