91 lines · 3.0 KB · TypeScript
RawDownload
import { DEFAULT_MODEL_BY_PROVIDER } from "@t3tools/contracts";import { assert, it } from "@effect/vitest";import { Deferred, Effect, Fiber, Option, Ref } from "effect"; import { AnalyticsService } from "./telemetry/Services/AnalyticsService.ts";import { ProjectionSnapshotQuery } from "./orchestration/Services/ProjectionSnapshotQuery.ts";import {  getAutoBootstrapDefaultModelSelection,  launchStartupHeartbeat,  makeCommandGate,  ServerRuntimeStartupError,} from "./serverRuntimeStartup.ts"; it("uses the canonical Codex default for auto-bootstrapped model selection", () => {  assert.deepStrictEqual(getAutoBootstrapDefaultModelSelection(), {    provider: "codex",    model: DEFAULT_MODEL_BY_PROVIDER.codex,  });}); it.effect("enqueueCommand waits for readiness and then drains queued work", () =>  Effect.scoped(    Effect.gen(function* () {      const executionCount = yield* Ref.make(0);      const commandGate = yield* makeCommandGate;       const queuedCommandFiber = yield* commandGate        .enqueueCommand(Ref.updateAndGet(executionCount, (count) => count + 1))        .pipe(Effect.forkScoped);       yield* Effect.yieldNow;      assert.equal(yield* Ref.get(executionCount), 0);       yield* commandGate.signalCommandReady;       const result = yield* Fiber.join(queuedCommandFiber);      assert.equal(result, 1);      assert.equal(yield* Ref.get(executionCount), 1);    }),  ),); it.effect("enqueueCommand fails queued work when readiness fails", () =>  Effect.scoped(    Effect.gen(function* () {      const commandGate = yield* makeCommandGate;      const failure = yield* Deferred.make<void, never>();       const queuedCommandFiber = yield* commandGate        .enqueueCommand(Deferred.await(failure).pipe(Effect.as("should-not-run")))        .pipe(Effect.forkScoped);       yield* commandGate.failCommandReady(        new ServerRuntimeStartupError({          message: "startup failed",        }),      );       const error = yield* Effect.flip(Fiber.join(queuedCommandFiber));      assert.equal(error.message, "startup failed");    }),  ),); it.effect("launchStartupHeartbeat does not block the caller while counts are loading", () =>  Effect.scoped(    Effect.gen(function* () {      const releaseCounts = yield* Deferred.make<void, never>();       yield* launchStartupHeartbeat.pipe(        Effect.provideService(ProjectionSnapshotQuery, {          getSnapshot: () => Effect.die("unused"),          getCounts: () =>            Deferred.await(releaseCounts).pipe(              Effect.as({                projectCount: 2,                threadCount: 3,              }),            ),          getActiveProjectByWorkspaceRoot: () => Effect.succeed(Option.none()),          getFirstActiveThreadIdByProjectId: () => Effect.succeed(Option.none()),          getThreadCheckpointContext: () => Effect.succeed(Option.none()),        }),        Effect.provideService(AnalyticsService, {          record: () => Effect.void,          flush: Effect.void,        }),      );    }),  ),);