74 lines
2.4 KiB
TypeScript
74 lines
2.4 KiB
TypeScript
import { ErrorCodes, errorShape } from "./protocol/index.js";
|
|
import { agentHandlers } from "./server-methods/agent.js";
|
|
import { agentsHandlers } from "./server-methods/agents.js";
|
|
import { chatHandlers } from "./server-methods/chat.js";
|
|
import { configHandlers } from "./server-methods/config.js";
|
|
import { connectHandlers } from "./server-methods/connect.js";
|
|
import { cronHandlers } from "./server-methods/cron.js";
|
|
import { healthHandlers } from "./server-methods/health.js";
|
|
import { logsHandlers } from "./server-methods/logs.js";
|
|
import { modelsHandlers } from "./server-methods/models.js";
|
|
import { nodeHandlers } from "./server-methods/nodes.js";
|
|
import { providersHandlers } from "./server-methods/providers.js";
|
|
import { sendHandlers } from "./server-methods/send.js";
|
|
import { sessionsHandlers } from "./server-methods/sessions.js";
|
|
import { skillsHandlers } from "./server-methods/skills.js";
|
|
import { systemHandlers } from "./server-methods/system.js";
|
|
import { talkHandlers } from "./server-methods/talk.js";
|
|
import type {
|
|
GatewayRequestHandlers,
|
|
GatewayRequestOptions,
|
|
} from "./server-methods/types.js";
|
|
import { updateHandlers } from "./server-methods/update.js";
|
|
import { usageHandlers } from "./server-methods/usage.js";
|
|
import { voicewakeHandlers } from "./server-methods/voicewake.js";
|
|
import { webHandlers } from "./server-methods/web.js";
|
|
import { wizardHandlers } from "./server-methods/wizard.js";
|
|
|
|
const handlers: GatewayRequestHandlers = {
|
|
...connectHandlers,
|
|
...logsHandlers,
|
|
...voicewakeHandlers,
|
|
...healthHandlers,
|
|
...providersHandlers,
|
|
...chatHandlers,
|
|
...cronHandlers,
|
|
...webHandlers,
|
|
...modelsHandlers,
|
|
...configHandlers,
|
|
...wizardHandlers,
|
|
...talkHandlers,
|
|
...skillsHandlers,
|
|
...sessionsHandlers,
|
|
...systemHandlers,
|
|
...updateHandlers,
|
|
...nodeHandlers,
|
|
...sendHandlers,
|
|
...usageHandlers,
|
|
...agentHandlers,
|
|
...agentsHandlers,
|
|
};
|
|
|
|
export async function handleGatewayRequest(
|
|
opts: GatewayRequestOptions,
|
|
): Promise<void> {
|
|
const { req, respond, client, isWebchatConnect, context } = opts;
|
|
const handler = handlers[req.method];
|
|
if (!handler) {
|
|
respond(
|
|
false,
|
|
undefined,
|
|
errorShape(ErrorCodes.INVALID_REQUEST, `unknown method: ${req.method}`),
|
|
);
|
|
return;
|
|
}
|
|
await handler({
|
|
req,
|
|
params: (req.params ?? {}) as Record<string, unknown>,
|
|
client,
|
|
isWebchatConnect,
|
|
respond,
|
|
context,
|
|
});
|
|
}
|