9a9416c99c
* feat: support profile-aware group chat bridge flows * feat: route cron jobs through hermes cli * Fix group chat routing and isolate bridge tests * Add Grok image-to-video media skill * Default Grok videos to media directory * Fix bridge profile fallback and cron repeat clearing * Refine bridge chat and gateway platform handling * Filter bridge tool-call text deltas * Preserve structured bridge chat history * Prepare beta release build artifacts * Fix Windows run profile resolution * Fix Windows path compatibility checks * Fix profile-scoped model page display * Hide Windows subprocess windows for jobs and updates * Hide Windows file backend subprocess windows * Avoid Windows gateway restart lock conflicts * Treat Windows gateway lock as running on startup * Force release Windows gateway lock on restart * Tighten Windows gateway lock cleanup * Update chat e2e source expectation * Bump package version to 0.5.30 --------- Co-authored-by: Codex <codex@openai.com>
41 lines
1.5 KiB
TypeScript
41 lines
1.5 KiB
TypeScript
import { describe, expect, it } from 'vitest'
|
|
|
|
import { filterBridgeToolCallMarkupDelta } from '../../packages/server/src/services/hermes/run-chat/bridge-delta'
|
|
|
|
describe('run-chat bridge delta filtering', () => {
|
|
it('keeps ordinary assistant text', () => {
|
|
const state = {}
|
|
|
|
expect(filterBridgeToolCallMarkupDelta(state, 'hello')).toBe('hello')
|
|
expect(filterBridgeToolCallMarkupDelta(state, ' world')).toBe(' world')
|
|
})
|
|
|
|
it('removes complete textual tool-call markup from bridge deltas', () => {
|
|
const state = {}
|
|
const delta = 'Before\n[Calling tool: terminal with arguments: {"cmd":"pwd"}]\nAfter'
|
|
|
|
expect(filterBridgeToolCallMarkupDelta(state, delta)).toBe('Before\nAfter')
|
|
})
|
|
|
|
it('removes tool-call markup split across multiple chunks', () => {
|
|
const state = {}
|
|
|
|
expect(filterBridgeToolCallMarkupDelta(state, '[Calling tool: terminal with arguments: {"cmd"')).toBe('')
|
|
expect(filterBridgeToolCallMarkupDelta(state, ':"pwd"}]\nDone')).toBe('Done')
|
|
})
|
|
|
|
it('keeps json arrays and brackets inside tool arguments from leaking', () => {
|
|
const state = {}
|
|
const delta = '[Calling tool: terminal with arguments: {"cmd":"printf \\"[x]\\"","items":["a","b"]}]\nDone'
|
|
|
|
expect(filterBridgeToolCallMarkupDelta(state, delta)).toBe('Done')
|
|
})
|
|
|
|
it('holds a partial marker suffix until the next chunk', () => {
|
|
const state = {}
|
|
|
|
expect(filterBridgeToolCallMarkupDelta(state, 'Text [Call')).toBe('Text ')
|
|
expect(filterBridgeToolCallMarkupDelta(state, 'ing tool: terminal with arguments: {}]\nDone')).toBe('Done')
|
|
})
|
|
})
|