feat: agent routing engine — cost/capability matrix (P2-003) (#75)

Co-authored-by: Jason Woltje <jason@diversecanvas.com>
Co-committed-by: Jason Woltje <jason@diversecanvas.com>
This commit was merged in pull request #75.
This commit is contained in:
2026-03-13 03:13:50 +00:00
committed by jason.woltje
parent 95f95f54cf
commit 7485f32e69
5 changed files with 208 additions and 4 deletions

View File

@@ -1,11 +1,16 @@
import { Controller, Get, UseGuards } from '@nestjs/common';
import { Body, Controller, Get, Post, UseGuards } from '@nestjs/common';
import type { RoutingCriteria } from '@mosaic/types';
import { AuthGuard } from '../auth/auth.guard.js';
import { ProviderService } from './provider.service.js';
import { RoutingService } from './routing.service.js';
@Controller('api/providers')
@UseGuards(AuthGuard)
export class ProvidersController {
constructor(private readonly providerService: ProviderService) {}
constructor(
private readonly providerService: ProviderService,
private readonly routingService: RoutingService,
) {}
@Get()
list() {
@@ -16,4 +21,14 @@ export class ProvidersController {
listModels() {
return this.providerService.listAvailableModels();
}
@Post('route')
route(@Body() criteria: RoutingCriteria) {
return this.routingService.route(criteria);
}
@Post('rank')
rank(@Body() criteria: RoutingCriteria) {
return this.routingService.rank(criteria);
}
}