mirror of
https://github.com/anomalyco/opencode.git
synced 2026-07-19 11:43:29 +00:00
53 lines
1.8 KiB
TypeScript
53 lines
1.8 KiB
TypeScript
import { makeDefaultApi } from "@opencode-ai/protocol/api"
|
|
import { InvalidRequestError, SessionNotFoundError } from "@opencode-ai/protocol/errors"
|
|
import { HttpApiMiddleware } from "effect/unstable/httpapi"
|
|
|
|
class LocationMiddleware extends HttpApiMiddleware.Service<LocationMiddleware>()(
|
|
"@opencode-ai/client/LocationMiddleware",
|
|
) {}
|
|
|
|
class SessionLocationMiddleware extends HttpApiMiddleware.Service<SessionLocationMiddleware>()(
|
|
"@opencode-ai/client/SessionLocationMiddleware",
|
|
{ error: [InvalidRequestError, SessionNotFoundError] },
|
|
) {}
|
|
|
|
export const ClientApi = makeDefaultApi({
|
|
locationMiddleware: LocationMiddleware,
|
|
sessionLocationMiddleware: SessionLocationMiddleware,
|
|
})
|
|
|
|
export const groupNames = {
|
|
"server.health": "health",
|
|
"server.location": "location",
|
|
"server.agent": "agents",
|
|
"server.session": "sessions",
|
|
"server.message": "messages",
|
|
"server.model": "models",
|
|
"server.provider": "providers",
|
|
"server.integration": "integrations",
|
|
"server.credential": "credentials",
|
|
"server.permission": "permissions",
|
|
"server.fs": "files",
|
|
"server.command": "commands",
|
|
"server.skill": "skills",
|
|
"server.event": "events",
|
|
"server.pty": "ptys",
|
|
"server.question": "questions",
|
|
"server.reference": "references",
|
|
"server.projectCopy": "projectCopies",
|
|
} as const
|
|
|
|
export const endpointNames = {
|
|
"session.messages": "list",
|
|
"integration.connect.key": "connectKey",
|
|
"integration.connect.oauth": "connectOauth",
|
|
"integration.attempt.status": "attemptStatus",
|
|
"integration.attempt.complete": "attemptComplete",
|
|
"integration.attempt.cancel": "attemptCancel",
|
|
"permission.request.list": "listRequests",
|
|
"permission.saved.list": "listSaved",
|
|
"permission.saved.remove": "removeSaved",
|
|
"question.request.list": "listRequests",
|
|
} as const
|
|
|
|
export const omitEndpoints = new Set(["fs.read", "pty.connect", "pty.connectToken"])
|