feat(session): add optional end-of-session summarization
This commit is contained in:
@@ -244,6 +244,52 @@ describe('configSchema — backup', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('configSchema — sessions', () => {
|
||||
const minimalConfig = {
|
||||
telegram: { bot_token: 'test', allowed_chat_ids: [1] },
|
||||
models: { default: { provider: 'anthropic', model: 'claude-3' } },
|
||||
};
|
||||
|
||||
it('defaults end_summary settings', () => {
|
||||
const result = configSchema.parse(minimalConfig);
|
||||
expect(result.sessions.ttl).toBe('30d');
|
||||
expect(result.sessions.end_summary.enabled).toBe(false);
|
||||
expect(result.sessions.end_summary.tier).toBe('fast');
|
||||
expect(result.sessions.end_summary.max_messages).toBe(50);
|
||||
expect(result.sessions.end_summary.max_input_chars).toBe(20000);
|
||||
expect(result.sessions.end_summary.max_tokens).toBe(512);
|
||||
expect(result.sessions.end_summary.write_to_memory).toBe(true);
|
||||
expect(result.sessions.end_summary.memory_namespace).toBe('session/summaries');
|
||||
});
|
||||
|
||||
it('accepts custom end_summary settings', () => {
|
||||
const result = configSchema.parse({
|
||||
...minimalConfig,
|
||||
sessions: {
|
||||
ttl: '7d',
|
||||
end_summary: {
|
||||
enabled: true,
|
||||
tier: 'complex',
|
||||
max_messages: 100,
|
||||
max_input_chars: 50000,
|
||||
max_tokens: 1024,
|
||||
write_to_memory: false,
|
||||
memory_namespace: 'notes/session',
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
expect(result.sessions.ttl).toBe('7d');
|
||||
expect(result.sessions.end_summary.enabled).toBe(true);
|
||||
expect(result.sessions.end_summary.tier).toBe('complex');
|
||||
expect(result.sessions.end_summary.max_messages).toBe(100);
|
||||
expect(result.sessions.end_summary.max_input_chars).toBe(50000);
|
||||
expect(result.sessions.end_summary.max_tokens).toBe(1024);
|
||||
expect(result.sessions.end_summary.write_to_memory).toBe(false);
|
||||
expect(result.sessions.end_summary.memory_namespace).toBe('notes/session');
|
||||
});
|
||||
});
|
||||
|
||||
describe('configSchema — agent_configs', () => {
|
||||
const minimalConfig = {
|
||||
telegram: { bot_token: 'test', allowed_chat_ids: [1] },
|
||||
|
||||
Reference in New Issue
Block a user