UNPKG

manifest

Version:

Self-hosted Manifest LLM router with embedded server, SQLite database, and dashboard

131 lines 6.54 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.CustomProviderController = void 0; const common_1 = require("@nestjs/common"); const current_user_decorator_1 = require("../../auth/current-user.decorator"); const custom_provider_service_1 = require("./custom-provider.service"); const provider_service_1 = require("../routing-core/provider.service"); const resolve_agent_service_1 = require("../routing-core/resolve-agent.service"); const custom_provider_dto_1 = require("../dto/custom-provider.dto"); const routing_dto_1 = require("../dto/routing.dto"); let CustomProviderController = class CustomProviderController { customProviderService; providerService; resolveAgentService; constructor(customProviderService, providerService, resolveAgentService) { this.customProviderService = customProviderService; this.providerService = providerService; this.resolveAgentService = resolveAgentService; } async list(user, params) { const agent = await this.resolveAgentService.resolve(user.id, params.agentName); const [providers, userProviders] = await Promise.all([ this.customProviderService.list(agent.id), this.providerService.getProviders(agent.id), ]); if (providers.length === 0) return []; return providers.map((cp) => { const provKey = custom_provider_service_1.CustomProviderService.providerKey(cp.id); const up = userProviders.find((u) => u.provider === provKey); return { id: cp.id, name: cp.name, base_url: cp.base_url, has_api_key: !!up?.api_key_encrypted, models: cp.models, created_at: cp.created_at, }; }); } async create(user, params, body) { const agent = await this.resolveAgentService.resolve(user.id, params.agentName); const cp = await this.customProviderService.create(agent.id, user.id, body); const provKey = custom_provider_service_1.CustomProviderService.providerKey(cp.id); const up = (await this.providerService.getProviders(agent.id)).find((u) => u.provider === provKey); return { id: cp.id, name: cp.name, base_url: cp.base_url, has_api_key: !!up?.api_key_encrypted, models: cp.models, created_at: cp.created_at, }; } async update(user, agentName, id, body) { const agent = await this.resolveAgentService.resolve(user.id, agentName); const cp = await this.customProviderService.update(agent.id, id, user.id, body); const provKey = custom_provider_service_1.CustomProviderService.providerKey(cp.id); const up = (await this.providerService.getProviders(agent.id)).find((u) => u.provider === provKey); return { id: cp.id, name: cp.name, base_url: cp.base_url, has_api_key: !!up?.api_key_encrypted, models: cp.models, created_at: cp.created_at, }; } async remove(user, agentName, id) { const agent = await this.resolveAgentService.resolve(user.id, agentName); await this.customProviderService.remove(agent.id, id); return { ok: true }; } }; exports.CustomProviderController = CustomProviderController; __decorate([ (0, common_1.Get)(':agentName/custom-providers'), __param(0, (0, current_user_decorator_1.CurrentUser)()), __param(1, (0, common_1.Param)()), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, routing_dto_1.AgentNameParamDto]), __metadata("design:returntype", Promise) ], CustomProviderController.prototype, "list", null); __decorate([ (0, common_1.Post)(':agentName/custom-providers'), __param(0, (0, current_user_decorator_1.CurrentUser)()), __param(1, (0, common_1.Param)()), __param(2, (0, common_1.Body)()), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, routing_dto_1.AgentNameParamDto, custom_provider_dto_1.CreateCustomProviderDto]), __metadata("design:returntype", Promise) ], CustomProviderController.prototype, "create", null); __decorate([ (0, common_1.Put)(':agentName/custom-providers/:id'), __param(0, (0, current_user_decorator_1.CurrentUser)()), __param(1, (0, common_1.Param)('agentName')), __param(2, (0, common_1.Param)('id')), __param(3, (0, common_1.Body)()), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, String, String, custom_provider_dto_1.UpdateCustomProviderDto]), __metadata("design:returntype", Promise) ], CustomProviderController.prototype, "update", null); __decorate([ (0, common_1.Delete)(':agentName/custom-providers/:id'), __param(0, (0, current_user_decorator_1.CurrentUser)()), __param(1, (0, common_1.Param)('agentName')), __param(2, (0, common_1.Param)('id')), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, String, String]), __metadata("design:returntype", Promise) ], CustomProviderController.prototype, "remove", null); exports.CustomProviderController = CustomProviderController = __decorate([ (0, common_1.Controller)('api/v1/routing'), __metadata("design:paramtypes", [custom_provider_service_1.CustomProviderService, provider_service_1.ProviderService, resolve_agent_service_1.ResolveAgentService]) ], CustomProviderController); //# sourceMappingURL=custom-provider.controller.js.map