49 lines
1.7 KiB
TypeScript
49 lines
1.7 KiB
TypeScript
import { AgentV2 } from "@opencode-ai/core/agent"
|
|
import { Catalog } from "@opencode-ai/core/catalog"
|
|
import { CommandV2 } from "@opencode-ai/core/command"
|
|
import { Credential } from "@opencode-ai/core/credential"
|
|
import { EventV2 } from "@opencode-ai/core/event"
|
|
import { FileSystem } from "@opencode-ai/core/filesystem"
|
|
import { FSUtil } from "@opencode-ai/core/fs-util"
|
|
import { Global } from "@opencode-ai/core/global"
|
|
import { Npm } from "@opencode-ai/core/npm"
|
|
import { PluginV2 } from "@opencode-ai/core/plugin"
|
|
import { Reference } from "@opencode-ai/core/reference"
|
|
import { RepositoryCache } from "@opencode-ai/core/repository-cache"
|
|
import { Ripgrep } from "@opencode-ai/core/ripgrep"
|
|
import { SkillV2 } from "@opencode-ai/core/skill"
|
|
import { SkillDiscovery } from "@opencode-ai/core/skill/discovery"
|
|
import { Effect, Layer } from "effect"
|
|
import { tempLocationLayer } from "../fixture/location"
|
|
|
|
export const PluginTestLayer = Layer.mergeAll(
|
|
AgentV2.locationLayer,
|
|
CommandV2.locationLayer,
|
|
Catalog.locationLayer,
|
|
FileSystem.locationLayer,
|
|
PluginV2.locationLayer,
|
|
Reference.locationLayer,
|
|
SkillV2.locationLayer,
|
|
).pipe(
|
|
Layer.provideMerge(
|
|
Layer.mergeAll(
|
|
Credential.defaultLayer,
|
|
EventV2.defaultLayer,
|
|
FSUtil.defaultLayer,
|
|
Global.defaultLayer,
|
|
Layer.succeed(
|
|
Npm.Service,
|
|
Npm.Service.of({
|
|
add: () => Effect.succeed({ directory: "", entrypoint: undefined }),
|
|
install: () => Effect.void,
|
|
which: () => Effect.succeed(undefined),
|
|
}),
|
|
),
|
|
RepositoryCache.defaultLayer,
|
|
SkillDiscovery.defaultLayer,
|
|
Ripgrep.defaultLayer,
|
|
tempLocationLayer,
|
|
),
|
|
),
|
|
)
|