mirror of
https://github.com/stablyai/orca.git
synced 2026-11-13 17:37:40 +00:00
* test: remove low-value suites and cases * test: update wall-clock ratchet after low-value test removals
75 lines
2.4 KiB
TypeScript
75 lines
2.4 KiB
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import { parseOpenCodeLaunchModelContext } from './opencode-launch-model-context'
|
|
import { resolveOpenCodeLaunchModelConfig } from './opencode-launch-model-config'
|
|
import recordedCases from './opencode-resolved-agents.fixture.json'
|
|
|
|
const directory = '/private/project'
|
|
const snapshot = {
|
|
directory,
|
|
agents: {
|
|
location: { directory },
|
|
data: [
|
|
{ id: 'build', mode: 'primary', hidden: false },
|
|
{ id: 'reviewer', mode: 'primary' }
|
|
]
|
|
}
|
|
}
|
|
|
|
describe('OpenCode execution-host primary-agent context', () => {
|
|
it('uses recorded 2.0.19 resolved agents without inventing stale or disabled primaries', () => {
|
|
for (const capture of recordedCases) {
|
|
const original = JSON.parse(capture.configContent)
|
|
const primaryAgent = capture.name === 'stale-default' ? 'build' : 'plan'
|
|
const context = parseOpenCodeLaunchModelContext({
|
|
directory: '/qa/project',
|
|
agents: capture.settled
|
|
})
|
|
expect(context).toEqual({ primaryAgent })
|
|
expect(
|
|
JSON.parse(
|
|
resolveOpenCodeLaunchModelConfig({
|
|
configContent: capture.configContent,
|
|
primaryAgent: context?.primaryAgent,
|
|
model: capture.model
|
|
}) ?? 'null'
|
|
)
|
|
).toEqual({
|
|
...original,
|
|
model: capture.model,
|
|
agents: { ...original.agents, [primaryAgent]: { model: capture.model } }
|
|
})
|
|
|
|
const initialContext = parseOpenCodeLaunchModelContext({
|
|
directory: '/qa/project',
|
|
agents: capture.initial
|
|
})
|
|
expect(initialContext).toBeNull()
|
|
expect(
|
|
JSON.parse(
|
|
resolveOpenCodeLaunchModelConfig({
|
|
configContent: capture.configContent,
|
|
primaryAgent: initialContext?.primaryAgent,
|
|
model: capture.model
|
|
}) ?? 'null'
|
|
)
|
|
).toEqual({ ...original, model: capture.model })
|
|
expect(
|
|
resolveOpenCodeLaunchModelConfig({
|
|
configContent: undefined,
|
|
primaryAgent: initialContext?.primaryAgent,
|
|
model: capture.model
|
|
})
|
|
).toBe(JSON.stringify({ model: capture.model }))
|
|
}
|
|
})
|
|
|
|
it('never uses primary-agent data from a foreign location', () => {
|
|
expect(
|
|
parseOpenCodeLaunchModelContext({
|
|
...snapshot,
|
|
agents: { ...snapshot.agents, location: { directory: '/other' } }
|
|
})
|
|
).toBeNull()
|
|
})
|
|
})
|