fixture.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { Credential } from "@opencode-ai/core/credential"
  2. import { EventV2 } from "@opencode-ai/core/event"
  3. import { FileSystem } from "@opencode-ai/core/filesystem"
  4. import { FSUtil } from "@opencode-ai/core/fs-util"
  5. import { Global } from "@opencode-ai/core/global"
  6. import { Npm } from "@opencode-ai/core/npm"
  7. import { PluginV2 } from "@opencode-ai/core/plugin"
  8. import { RepositoryCache } from "@opencode-ai/core/repository-cache"
  9. import { Ripgrep } from "@opencode-ai/core/ripgrep"
  10. import { SkillDiscovery } from "@opencode-ai/core/skill/discovery"
  11. import { Effect, Layer } from "effect"
  12. import { tempLocationLayer } from "../fixture/location"
  13. export const PluginTestLayer = Layer.mergeAll(FileSystem.locationLayer, PluginV2.locationLayer).pipe(
  14. Layer.provideMerge(
  15. Layer.mergeAll(
  16. Credential.defaultLayer,
  17. EventV2.defaultLayer,
  18. FSUtil.defaultLayer,
  19. Global.defaultLayer,
  20. Layer.succeed(
  21. Npm.Service,
  22. Npm.Service.of({
  23. add: () => Effect.succeed({ directory: "", entrypoint: undefined }),
  24. install: () => Effect.void,
  25. which: () => Effect.succeed(undefined),
  26. }),
  27. ),
  28. RepositoryCache.defaultLayer,
  29. SkillDiscovery.defaultLayer,
  30. Ripgrep.defaultLayer,
  31. tempLocationLayer,
  32. ),
  33. ),
  34. )