backup current stable ejclaw state

This commit is contained in:
Codex
2026-05-27 10:53:05 +09:00
parent 646bc34372
commit 1509108e04
57 changed files with 7127 additions and 154 deletions

View File

@@ -368,6 +368,67 @@ describe('prepareGroupEnvironment codex auth handling', () => {
expect(segments).toEqual(['platform prompt']);
});
it('applies per-role codex model overrides when roomRole is supplied', () => {
mockReadEnvFile.mockReturnValue({});
const groupWithByRole: RegisteredGroup = {
...group,
agentType: 'codex',
agentConfig: {
codexModel: 'gpt-5-sonnet',
codexEffort: 'medium',
codexModelByRole: { arbiter: 'gpt-5-opus' },
codexEffortByRole: { arbiter: 'high' },
},
};
const arbiter = prepareGroupEnvironment(groupWithByRole, false, 'dc:test', {
roomRole: 'arbiter',
});
expect(arbiter.env.CODEX_MODEL).toBe('gpt-5-opus');
expect(arbiter.env.CODEX_EFFORT).toBe('high');
const owner = prepareGroupEnvironment(groupWithByRole, false, 'dc:test', {
roomRole: 'owner',
});
expect(owner.env.CODEX_MODEL).toBe('gpt-5-sonnet');
expect(owner.env.CODEX_EFFORT).toBe('medium');
const noRole = prepareGroupEnvironment(groupWithByRole, false, 'dc:test');
expect(noRole.env.CODEX_MODEL).toBe('gpt-5-sonnet');
expect(noRole.env.CODEX_EFFORT).toBe('medium');
});
it('applies per-role claude model overrides when roomRole is supplied', () => {
mockReadEnvFile.mockReturnValue({});
const groupWithByRole: RegisteredGroup = {
...group,
agentType: 'claude-code',
agentConfig: {
claudeModel: 'claude-sonnet-4-6',
claudeEffort: 'medium',
claudeModelByRole: { arbiter: 'claude-opus-4-7' },
claudeEffortByRole: { arbiter: 'high' },
},
};
const arbiter = prepareGroupEnvironment(groupWithByRole, false, 'dc:test', {
roomRole: 'arbiter',
});
expect(arbiter.env.CLAUDE_MODEL).toBe('claude-opus-4-7');
expect(arbiter.env.CLAUDE_EFFORT).toBe('high');
const reviewer = prepareGroupEnvironment(
groupWithByRole,
false,
'dc:test',
{ roomRole: 'reviewer' },
);
expect(reviewer.env.CLAUDE_MODEL).toBe('claude-sonnet-4-6');
expect(reviewer.env.CLAUDE_EFFORT).toBe('medium');
});
});
describe('prepareReadonlySessionEnvironment codex compatibility', () => {