mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-05 06:24:37 +00:00
27 lines
1.1 KiB
TypeScript
27 lines
1.1 KiB
TypeScript
import { logger } from '@/ui/logger';
|
|
import { RPC_METHODS } from '@hapi/protocol/rpcMethods';
|
|
import type { RpcHandlerManager } from '@/api/rpc/RpcHandlerManager';
|
|
import {
|
|
listOpencodeModelsForCwd,
|
|
type ListOpencodeModelsForCwdRequest,
|
|
type ListOpencodeModelsForCwdResponse
|
|
} from '../opencodeModels';
|
|
import { getErrorMessage, rpcError } from '../rpcResponses';
|
|
|
|
export function registerOpencodeModelHandlers(rpcHandlerManager: RpcHandlerManager): void {
|
|
rpcHandlerManager.registerHandler<ListOpencodeModelsForCwdRequest, ListOpencodeModelsForCwdResponse>(
|
|
RPC_METHODS.ListOpencodeModelsForCwd,
|
|
async (data) => {
|
|
logger.debug('List OpenCode models for cwd request', { cwd: data?.cwd });
|
|
|
|
try {
|
|
const cwd = typeof data?.cwd === 'string' ? data.cwd : '';
|
|
return await listOpencodeModelsForCwd(cwd);
|
|
} catch (error) {
|
|
logger.debug('Failed to list OpenCode models:', error);
|
|
return rpcError(getErrorMessage(error, 'Failed to list OpenCode models'));
|
|
}
|
|
}
|
|
);
|
|
}
|