From 067a528b1de9dff213a0b35a8a3107cc14708d72 Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Tue, 22 Sep 2026 09:47:23 -0500 Subject: [PATCH] refactor(ai): rename evaluation action to run (#50529) --- packages/ai/README.md | 2 +- packages/ai/src/experimental/evaluation.ts | 8 ++++---- packages/ai/test/evaluation.test.ts | 6 +++--- packages/ai/test/evaluation.types.ts | 6 +++--- packages/ai/test/exports.test.ts | 2 +- packages/ai/test/provider/evaluation.recorded.test.ts | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/ai/README.md b/packages/ai/README.md index b6b32643954..6940daa5bca 100644 --- a/packages/ai/README.md +++ b/packages/ai/README.md @@ -41,7 +41,7 @@ import { TypeSafeAI } from "@opencode/ai/providers" const model = TypeSafeAI.configure().experimental.evaluation("jev-latest") -const program = Evaluation.evaluate({ +const program = Evaluation.run({ model, state: "I was charged twice. Please refund the duplicate payment.", questions: { diff --git a/packages/ai/src/experimental/evaluation.ts b/packages/ai/src/experimental/evaluation.ts index b7f591fb95c..269f2f052a5 100644 --- a/packages/ai/src/experimental/evaluation.ts +++ b/packages/ai/src/experimental/evaluation.ts @@ -218,11 +218,11 @@ export function request(input: EvaluationRequest | EvaluationRequestInput) { }) } -export function evaluate( +export function run( input: EvaluationRequestInput, ): Effect.Effect, AIError, Service> -export function evaluate(input: EvaluationRequest): Effect.Effect -export function evaluate(input: EvaluationRequest | EvaluationRequestInput) { +export function run(input: EvaluationRequest): Effect.Effect +export function run(input: EvaluationRequest | EvaluationRequestInput) { return Effect.try({ try: () => (input instanceof EvaluationRequest ? input : request(input)), catch: (cause) => @@ -241,5 +241,5 @@ export function evaluate(input: EvaluationRequest | EvaluationRequestInput) { export const Evaluation = { request, - evaluate, + run, } as const diff --git a/packages/ai/test/evaluation.test.ts b/packages/ai/test/evaluation.test.ts index 65d6d5ec63e..55da51a68ba 100644 --- a/packages/ai/test/evaluation.test.ts +++ b/packages/ai/test/evaluation.test.ts @@ -9,7 +9,7 @@ import { dynamicResponse } from "./lib/http.js" describe("experimental Evaluation", () => { it.effect("evaluates typed questions through System One", () => Effect.gen(function* () { - const response = yield* Evaluation.evaluate({ + const response = yield* Evaluation.run({ model: TypeSafeAI.configure({ apiKey: "test", baseURL: "https://typesafe.test/v1/", @@ -116,7 +116,7 @@ describe("experimental Evaluation", () => { ) it.effect("configures the OpenCode Zen System One endpoint", () => - Evaluation.evaluate({ + Evaluation.run({ model: OpenCodeZen.configure({ apiKey: "zen-key", baseURL: "https://zen.test/v1" }).experimental.evaluation( "jev-1.13", ), @@ -156,7 +156,7 @@ describe("experimental Evaluation", () => { it.effect("rejects malformed questions before network I/O", () => Effect.gen(function* () { - const error = yield* Evaluation.evaluate({ + const error = yield* Evaluation.run({ model: TypeSafeAI.experimental.evaluation("jev-latest"), state: "hello", questions: { score: { type: "score", instructions: "How much?", criteria: ["only"] } }, diff --git a/packages/ai/test/evaluation.types.ts b/packages/ai/test/evaluation.types.ts index 64396f6b115..ba74de93481 100644 --- a/packages/ai/test/evaluation.types.ts +++ b/packages/ai/test/evaluation.types.ts @@ -31,7 +31,7 @@ void (true satisfies Choice) void (true satisfies ClientRequirements) Effect.gen(function* () { - const response = yield* Evaluation.evaluate({ + const response = yield* Evaluation.run({ model: OpenCodeZen.experimental.evaluation("jev-1.13"), state: ["hello"], questions: { greeting: { type: "boolean", instructions: "Greeting?" } }, @@ -45,14 +45,14 @@ Effect.gen(function* () { declare const route: EvaluationRoute<{ readonly temperature?: number }> const custom = EvaluationModel.make({ id: "custom", provider: "custom", route }) -Evaluation.evaluate({ +Evaluation.run({ model: custom, state: "hello", questions: { ok: { type: "boolean", instructions: "OK?" } }, options: { temperature: 0.5 }, }) // @ts-expect-error Selected evaluation models retain their request option types. -Evaluation.evaluate({ +Evaluation.run({ model: custom, state: "hello", questions: { ok: { type: "boolean", instructions: "OK?" } }, diff --git a/packages/ai/test/exports.test.ts b/packages/ai/test/exports.test.ts index 5b3851187f7..ce0cd4a7175 100644 --- a/packages/ai/test/exports.test.ts +++ b/packages/ai/test/exports.test.ts @@ -40,7 +40,7 @@ describe("public exports", () => { expect(TestLLM.layer).toBeFunction() expect(TestLLM.testLayer).toBeFunction() expect(TestLLM.Test.of).toBeFunction() - expect(Evaluation.evaluate).toBeFunction() + expect(Evaluation.run).toBeFunction() expect(EvaluationClient.layer).toBeDefined() expect(EvaluationClient.fetchLayer).toBeDefined() }) diff --git a/packages/ai/test/provider/evaluation.recorded.test.ts b/packages/ai/test/provider/evaluation.recorded.test.ts index 4d409852aca..43c51e3466c 100644 --- a/packages/ai/test/provider/evaluation.recorded.test.ts +++ b/packages/ai/test/provider/evaluation.recorded.test.ts @@ -63,7 +63,7 @@ const assertEvaluation = ( metadataKey: "typesafe" | "opencode", ) => Effect.gen(function* () { - const response = yield* Evaluation.evaluate({ model, state, questions }) + const response = yield* Evaluation.run({ model, state, questions }) expect(response.model).toStartWith("jev-") expect(response.answers.department.type).toBe("choice") expect(response.answers.department.choice).toBe("billing")