alwaysai
Version:
The alwaysAI command-line interface (CLI)
40 lines (36 loc) • 1.18 kB
text/typescript
import { CliTerseError } from '@alwaysai/alwayscli';
import { logger, stringifyError } from '../../util';
import { getCurrentProjectId } from '../../core/project';
import { CliRpcClient } from '../../infrastructure';
export async function fetchProjectModels() {
const projectId = await getCurrentProjectId();
return await CliRpcClient().getProjectModels({
project_id: projectId
});
}
export async function addModelToProject(modelId: string) {
const projectId = await getCurrentProjectId();
try {
await CliRpcClient().addProjectModel({
project_id: projectId,
model_id: modelId
});
} catch (error) {
logger.error(stringifyError(error));
if (error.code !== 'DUPLICATE_MODEL_ADDED_TO_PROJECT') {
throw new CliTerseError('Failed to add model to project!');
}
}
}
export async function removeModelFromProject(modelId: string) {
const projectId = await getCurrentProjectId();
try {
await CliRpcClient().deleteProjectModel({
project_id: projectId,
model_id: modelId
});
} catch (error) {
logger.error(stringifyError(error));
throw new CliTerseError('Failed to remove model from project!');
}
}