mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-05 06:24:37 +00:00
Release version 0.16.3
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import { isClaudeChatVisibleMessage } from './chatVisibility'
|
||||
|
||||
describe('isClaudeChatVisibleMessage', () => {
|
||||
it('hides unsupported Claude system messages from chat delivery', () => {
|
||||
expect(isClaudeChatVisibleMessage({ type: 'system', subtype: 'stop_hook_summary' })).toBe(false)
|
||||
expect(isClaudeChatVisibleMessage({ type: 'system', subtype: 'init' })).toBe(false)
|
||||
expect(isClaudeChatVisibleMessage({ type: 'system' })).toBe(false)
|
||||
})
|
||||
|
||||
it('keeps supported Claude system events visible', () => {
|
||||
expect(isClaudeChatVisibleMessage({ type: 'system', subtype: 'turn_duration' })).toBe(true)
|
||||
expect(isClaudeChatVisibleMessage({ type: 'system', subtype: 'api_error' })).toBe(true)
|
||||
expect(isClaudeChatVisibleMessage({ type: 'system', subtype: 'microcompact_boundary' })).toBe(true)
|
||||
expect(isClaudeChatVisibleMessage({ type: 'system', subtype: 'compact_boundary' })).toBe(true)
|
||||
})
|
||||
|
||||
it('keeps conversation messages visible', () => {
|
||||
expect(isClaudeChatVisibleMessage({ type: 'user' })).toBe(true)
|
||||
expect(isClaudeChatVisibleMessage({ type: 'assistant' })).toBe(true)
|
||||
expect(isClaudeChatVisibleMessage({ type: 'summary' })).toBe(true)
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,16 @@
|
||||
import type { RawJSONLines } from '@/claude/types'
|
||||
|
||||
const VISIBLE_SYSTEM_SUBTYPES = new Set([
|
||||
'api_error',
|
||||
'turn_duration',
|
||||
'microcompact_boundary',
|
||||
'compact_boundary'
|
||||
])
|
||||
|
||||
export function isClaudeChatVisibleMessage(message: Pick<RawJSONLines, 'type'> & { subtype?: string }): boolean {
|
||||
if (message.type !== 'system') {
|
||||
return true
|
||||
}
|
||||
|
||||
return typeof message.subtype === 'string' && VISIBLE_SYSTEM_SUBTYPES.has(message.subtype)
|
||||
}
|
||||
Reference in New Issue
Block a user