fixture.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { AgentV2 } from "@opencode-ai/core/agent"
  2. import { AISDK } from "@opencode-ai/core/aisdk"
  3. import { Catalog } from "@opencode-ai/core/catalog"
  4. import { CommandV2 } from "@opencode-ai/core/command"
  5. import { Credential } from "@opencode-ai/core/credential"
  6. import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder"
  7. import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform"
  8. import { LayerNode } from "@opencode-ai/core/effect/layer-node"
  9. import { EventV2 } from "@opencode-ai/core/event"
  10. import { FileSystem } from "@opencode-ai/core/filesystem"
  11. import { FSUtil } from "@opencode-ai/core/fs-util"
  12. import { Integration } from "@opencode-ai/core/integration"
  13. import { Location } from "@opencode-ai/core/location"
  14. import { Npm } from "@opencode-ai/core/npm"
  15. import { PluginV2 } from "@opencode-ai/core/plugin"
  16. import { Reference } from "@opencode-ai/core/reference"
  17. import { SkillV2 } from "@opencode-ai/core/skill"
  18. import { Effect, Layer } from "effect"
  19. import { tempLocationLayer } from "../fixture/location"
  20. const npmLayer = 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. export const PluginTestLayer = AppNodeBuilder.build(
  29. LayerNode.group([
  30. FileSystem.node,
  31. FSUtil.node,
  32. Location.node,
  33. Npm.node,
  34. Credential.node,
  35. EventV2.node,
  36. LayerNodePlatform.httpClient,
  37. PluginV2.node,
  38. AgentV2.node,
  39. AISDK.node,
  40. Catalog.node,
  41. CommandV2.node,
  42. Integration.node,
  43. Reference.node,
  44. SkillV2.node,
  45. ]),
  46. [
  47. [Location.node, tempLocationLayer],
  48. [Npm.node, npmLayer],
  49. ],
  50. )