63 lines · 2.5 KB · TypeScript
RawDownload
// @effect-diagnostics nodeBuiltinImport:offimport * as NodeServices from "@effect/platform-node/NodeServices";import { expect, it } from "@effect/vitest";import { ProviderInstanceId } from "@t3tools/contracts";import * as Effect from "effect/Effect";import * as Layer from "effect/Layer";import { HttpClient } from "effect/unstable/http";import * as ChildProcessSpawner from "effect/unstable/process/ChildProcessSpawner"; import * as BackgroundPolicy from "../../background/BackgroundPolicy.ts";import { ServerConfig } from "../../config.ts";import { ServerSettingsService } from "../../serverSettings.ts";import { NoOpProviderEventLoggers, ProviderEventLoggers } from "../Layers/ProviderEventLoggers.ts";import { CursorDriver } from "./CursorDriver.ts";import { CursorAgentSdkRunner } from "../../orchestration-v2/Adapters/CursorAgentSdk.ts";import { layer as idAllocatorLayer } from "../../orchestration-v2/IdAllocator.ts"; const testLayer = ServerConfig.layerTest(process.cwd(), {  prefix: "t3-cursor-driver-copy-command-",}).pipe(  Layer.provideMerge(NodeServices.layer),  Layer.provideMerge(idAllocatorLayer),  Layer.provideMerge(    Layer.mock(CursorAgentSdkRunner)({      open: () => Effect.die("Maintenance resolution must not open a Cursor session"),    }),  ),  Layer.provideMerge(ServerSettingsService.layerTest()),  Layer.provideMerge(    Layer.mock(BackgroundPolicy.BackgroundPolicy)({      shouldRunScopeWork: () => Effect.succeed(false),    }),  ),  Layer.provideMerge(Layer.succeed(ProviderEventLoggers, NoOpProviderEventLoggers)),  Layer.provideMerge(    Layer.succeed(      HttpClient.HttpClient,      HttpClient.make(() => Effect.die("Disabled Cursor must not make an HTTP request")),    ),  ),); it.layer(testLayer)("CursorDriver", (it) => {  it.effect("keeps the bundled SDK manual-only without probing or updating cursor-agent", () =>    Effect.gen(function* () {      const instance = yield* CursorDriver.create({        instanceId: ProviderInstanceId.make("cursor-sdk"),        displayName: "Cursor test",        enabled: false,        environment: [],        config: CursorDriver.defaultConfig(),      });      expect((yield* instance.snapshot.resolveMaintenance()).update).toBeNull();      expect((yield* instance.snapshot.refresh).status).toBe("disabled");    }).pipe(      Effect.provideService(        ChildProcessSpawner.ChildProcessSpawner,        ChildProcessSpawner.make(() => Effect.die("SDK maintenance must not spawn a process")),      ),      Effect.scoped,    ),  );});