57 lines
2.2 KiB
TypeScript
57 lines
2.2 KiB
TypeScript
import { SessionV2 } from "@opencode-ai/core/session"
|
|
import { LocationServiceMap } from "@opencode-ai/core/location-layer"
|
|
import { PermissionSaved } from "@opencode-ai/core/permission/saved"
|
|
import { Layer } from "effect"
|
|
import { layer as v2LocationLayer } from "./groups/v2/location"
|
|
import { messageHandlers } from "./handlers/v2/message"
|
|
import { modelHandlers } from "./handlers/v2/model"
|
|
import { providerHandlers } from "./handlers/v2/provider"
|
|
import { sessionHandlers } from "./handlers/v2/session"
|
|
import { permissionHandlers, savedPermissionHandlers, sessionPermissionHandlers } from "./handlers/v2/permission"
|
|
import { fileSystemHandlers } from "./handlers/v2/fs"
|
|
import { commandHandlers } from "./handlers/v2/command"
|
|
import { skillHandlers } from "./handlers/v2/skill"
|
|
import { eventHandlers } from "./handlers/v2/event"
|
|
import { agentHandlers } from "./handlers/v2/agent"
|
|
import { healthHandlers } from "./handlers/v2/health"
|
|
import { questionHandlers, sessionQuestionHandlers } from "./handlers/v2/question"
|
|
import { Database } from "@opencode-ai/core/database/database"
|
|
import { EventV2 } from "@opencode-ai/core/event"
|
|
import { ProjectV2 } from "@opencode-ai/core/project"
|
|
import * as SessionExecutionLocal from "@opencode-ai/core/session/execution/local"
|
|
import { SessionProjector } from "@opencode-ai/core/session/projector"
|
|
import { SessionStore } from "@opencode-ai/core/session/store"
|
|
|
|
const routedSessions = SessionV2.layer.pipe(
|
|
Layer.provide(SessionProjector.layer),
|
|
Layer.provide(SessionExecutionLocal.layer),
|
|
Layer.provide(LocationServiceMap.layer),
|
|
Layer.provide(SessionStore.layer),
|
|
Layer.provide(EventV2.layer),
|
|
Layer.provide(Database.defaultLayer),
|
|
Layer.provide(ProjectV2.defaultLayer),
|
|
Layer.orDie,
|
|
)
|
|
|
|
export const v2Handlers = Layer.mergeAll(
|
|
healthHandlers,
|
|
agentHandlers,
|
|
sessionHandlers,
|
|
messageHandlers,
|
|
modelHandlers,
|
|
providerHandlers,
|
|
permissionHandlers,
|
|
sessionPermissionHandlers,
|
|
savedPermissionHandlers,
|
|
fileSystemHandlers,
|
|
commandHandlers,
|
|
skillHandlers,
|
|
eventHandlers,
|
|
questionHandlers,
|
|
sessionQuestionHandlers,
|
|
).pipe(
|
|
Layer.provide(v2LocationLayer),
|
|
Layer.provide(LocationServiceMap.layer),
|
|
Layer.provide(PermissionSaved.layer),
|
|
Layer.provide(routedSessions),
|
|
)
|