feat: add Gemini run mode

This commit is contained in:
Aamer Akhter
2026-06-19 13:10:17 -04:00
parent 1255e28f6f
commit 19139837e4
17 changed files with 520 additions and 40 deletions
+45
View File
@@ -0,0 +1,45 @@
import { describe, expect, it } from 'vitest';
import { CreateSessionSchema, QuickStartSchema } from '../src/web/schemas.js';
describe('Gemini mode schemas', () => {
it('accepts Gemini session creation config', () => {
const parsed = CreateSessionSchema.parse({
workingDir: '/tmp',
mode: 'gemini',
geminiConfig: {
model: 'gemini-2.5-pro',
approvalMode: 'yolo',
},
});
expect(parsed.mode).toBe('gemini');
expect(parsed.geminiConfig).toEqual({
model: 'gemini-2.5-pro',
approvalMode: 'yolo',
});
});
it('accepts Gemini quick-start config', () => {
const parsed = QuickStartSchema.parse({
caseName: 'gemini-case',
mode: 'gemini',
geminiConfig: {
model: 'gemini-2.5-flash',
approvalMode: 'auto_edit',
},
});
expect(parsed.mode).toBe('gemini');
expect(parsed.geminiConfig?.model).toBe('gemini-2.5-flash');
});
it('rejects unsafe Gemini model strings', () => {
expect(() =>
CreateSessionSchema.parse({
workingDir: '/tmp',
mode: 'gemini',
geminiConfig: { model: 'gemini; rm -rf /' },
})
).toThrow();
});
});