feat: support room-level reviewer and arbiter agent selection
This commit is contained in:
@@ -5,6 +5,7 @@ import {
|
||||
_setRegisteredGroupForTests,
|
||||
_setStoredRoomOwnerAgentTypeForTests,
|
||||
_initTestDatabase,
|
||||
assignRoom,
|
||||
setChannelOwnerLease,
|
||||
setExplicitRoomMode,
|
||||
} from './db.js';
|
||||
@@ -236,6 +237,29 @@ describe('service-routing global failover', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('uses room-level reviewer and arbiter agent overrides from assign_room', () => {
|
||||
assignRoom('dc:room-role-overrides', {
|
||||
name: 'Room Role Overrides',
|
||||
roomMode: 'tribunal',
|
||||
ownerAgentType: 'claude-code',
|
||||
reviewerAgentType: 'codex',
|
||||
arbiterAgentType: 'claude-code',
|
||||
folder: 'room-role-overrides',
|
||||
});
|
||||
|
||||
expect(getEffectiveChannelLease('dc:room-role-overrides')).toMatchObject({
|
||||
chat_jid: 'dc:room-role-overrides',
|
||||
owner_agent_type: 'claude-code',
|
||||
reviewer_agent_type: 'codex',
|
||||
arbiter_agent_type: 'claude-code',
|
||||
owner_service_id: 'claude',
|
||||
reviewer_service_id: 'codex-review',
|
||||
arbiter_service_id: 'claude',
|
||||
owner_failover_active: false,
|
||||
explicit: false,
|
||||
});
|
||||
});
|
||||
|
||||
it('defaults to the configured owner service for chats without canonical room settings', () => {
|
||||
expect(getEffectiveChannelLease('dc:unregistered')).toMatchObject({
|
||||
chat_jid: 'dc:unregistered',
|
||||
|
||||
Reference in New Issue
Block a user