MCPcopy Index your code
hub / github.com/anomalyco/opencode / runScenario

Function runScenario

packages/opencode/test/server/httpapi-exercise/runner.ts:17–30  ·  view source on GitHub ↗
(options: Options)

Source from the content-addressed store, hash-verified

15import { ModelV2 } from "@opencode-ai/core/model"
16
17export function runScenario(options: Options) {
18 return (scenario: Scenario) => {
19 if (scenario.kind === "todo") return Effect.succeed({ status: "skip", scenario } as Result)
20 return runActive(options, scenario).pipe(
21 Effect.timeoutOrElse({
22 duration: options.scenarioTimeout,
23 orElse: () => Effect.die(new Error(`scenario timed out after ${Duration.format(options.scenarioTimeout)}`)),
24 }),
25 Effect.as({ status: "pass", scenario } as Result),
26 Effect.catchCause((cause) => Effect.succeed({ status: "fail" as const, scenario, message: Cause.pretty(cause) })),
27 Effect.scoped,
28 )
29 }
30}
31
32function runActive(options: Options, scenario: ActiveScenario) {
33 if (options.mode === "auth") return runAuth(scenario)

Callers 1

index.tsFile · 0.90

Calls 2

runActiveFunction · 0.85
asMethod · 0.80

Tested by

no test coverage detected