Update CLI chat session bridge (#697)

* feat: add CLI chat sessions with Python agent bridge

Introduce a new CLI chat mode that connects Web UI directly to Hermes
Agent's AIAgent via a Python bridge subprocess and Socket.IO, bypassing
the API Server /v1/responses path. Supports streaming, slash commands
(/new, /undo, /retry, /branch, /compress, /save, /title), interrupt,
and steer.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* feat: update CLI chat session bridge

* fix: extend agent bridge startup timeouts

* docs: update bridge chat session design

* feat: align bridge compression and provider registry

* chore: bump version to 0.5.20

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
ekko
2026-05-14 09:03:57 +08:00
committed by GitHub
parent e0fcc0040b
commit eae7195ba8
31 changed files with 3906 additions and 1040 deletions
+1 -7
View File
@@ -4,10 +4,6 @@ import {
PROVIDER_PRESETS as SERVER_PROVIDER_PRESETS,
buildProviderModelMap as buildServerProviderModelMap,
} from '../../packages/server/src/shared/providers'
import {
PROVIDER_PRESETS as CLIENT_PROVIDER_PRESETS,
buildProviderModelMap as buildClientProviderModelMap,
} from '../../packages/client/src/shared/providers'
const OPENAI_CODEX_PROVIDER = 'openai-codex'
const GPT_5_5_MODEL = 'gpt-5.5'
@@ -19,13 +15,11 @@ function modelsForProvider(providerPresets: Array<{ value: string; models: strin
}
describe('provider presets', () => {
it('lists GPT-5.5 for OpenAI Codex on both client and server', () => {
expect(modelsForProvider(CLIENT_PROVIDER_PRESETS, OPENAI_CODEX_PROVIDER)).toContain(GPT_5_5_MODEL)
it('lists GPT-5.5 for OpenAI Codex', () => {
expect(modelsForProvider(SERVER_PROVIDER_PRESETS, OPENAI_CODEX_PROVIDER)).toContain(GPT_5_5_MODEL)
})
it('exposes GPT-5.5 through provider model maps', () => {
expect(buildClientProviderModelMap()[OPENAI_CODEX_PROVIDER]).toContain(GPT_5_5_MODEL)
expect(buildServerProviderModelMap()[OPENAI_CODEX_PROVIDER]).toContain(GPT_5_5_MODEL)
})
})