Files
moeka-project/packages/core-agent/vieval.config.ts
T
2026-08-26 19:49:58 +08:00

79 lines
2.0 KiB
TypeScript

import { dirname } from 'node:path'
import { fileURLToPath } from 'node:url'
import { defineConfig, loadEnv } from 'vieval'
import { chatModelFrom, ChatModels, chatProviderFrom, ChatProviders } from 'vieval/plugins/chat-models'
const pluginRootDirectory = dirname(fileURLToPath(import.meta.url))
const loadedEnv = loadEnv('test', pluginRootDirectory, '')
const defaultModel = loadedEnv.OPENAI_MODEL ?? loadedEnv.OPENAI_CHAT_MODEL ?? 'openai/gpt-5.4-mini'
/**
* Vieval config for the core-agent runtime competition.
*/
const coreAgentVievalConfig = defineConfig({
env: loadedEnv,
plugins: [
ChatProviders({
providers: [
chatProviderFrom({
id: 'openrouter-provider',
inferenceExecutor: 'openrouter',
optionalEnv: {
baseURL: 'OPENROUTER_BASE_URL',
},
requiredEnv: {
apiKey: 'OPENROUTER_API_KEY',
},
}),
],
}),
ChatModels({
models: [
chatModelFrom({
aliases: ['default', 'competition'],
model: defaultModel,
provider: 'openrouter-provider',
}),
],
}),
],
projects: [
{
exclude: ['dist/**', 'node_modules/**'],
include: ['evals/round-3-primary-control/**/*.eval.ts'],
name: 'round-3-primary-control',
root: '.',
runMatrix: {
override: {
model: [defaultModel],
},
},
},
{
exclude: ['dist/**', 'node_modules/**'],
include: ['evals/round-3-takeover-control/**/*.eval.ts'],
name: 'round-3-takeover-control',
root: '.',
runMatrix: {
override: {
model: [defaultModel],
},
},
},
{
exclude: ['dist/**', 'node_modules/**'],
include: ['evals/round-3-sidecar-control/**/*.eval.ts'],
name: 'round-3-sidecar-control',
root: '.',
runMatrix: {
override: {
model: [defaultModel],
},
},
},
],
})
export default coreAgentVievalConfig