{"version":3,"sources":["../../src/adapters/nestjs.ts"],"names":[],"mappings":";AAmBO,IAAM,oBAAN,MAAwB;AAAA,EAC7B,YAA6B,MAAA,EAA0B;AAA1B,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AAAA,EAA2B;AAAA,EAExD,MAAM,WAAA,CAAY,OAAA,EAAyB,OAAA,EAAuB;AAChE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,WAAA,CAAY,OAAA,EAAS,OAAO,CAAA;AAAA,EACjD;AAAA,EAEA,aAAA,CAAc,SAAyB,OAAA,EAAuB;AAC5D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,aAAA,CAAc,OAAA,EAAS,OAAO,CAAA;AAAA,EACnD;AAAA,EAEA,MAAM,UAAA,GAAa;AACjB,IAAA,OAAO,IAAA,CAAK,OAAO,UAAA,EAAW;AAAA,EAChC;AAAA,EAEA,eAAA,GAAkB;AAChB,IAAA,OAAO,IAAA,CAAK,OAAO,eAAA,EAAgB;AAAA,EACrC;AAAA,EAEA,oBAAA,GAAuB;AACrB,IAAA,OAAO,IAAA,CAAK,OAAO,oBAAA,EAAqB;AAAA,EAC1C;AAAA,EAEA,cAAA,GAAiB;AACf,IAAA,OAAO,IAAA,CAAK,OAAO,cAAA,EAAe;AAAA,EACpC;AAAA,EAEA,gBAAA,GAAmB;AACjB,IAAA,OAAO,IAAA,CAAK,OAAO,gBAAA,EAAiB;AAAA,EACtC;AAAA,EAEA,OAAA,GAAU;AACR,IAAA,IAAA,CAAK,OAAO,OAAA,EAAQ;AAAA,EACtB;AACF;AA8BO,SAAS,oBAAoB,MAAA,EAA6C;AAC/E,EAAA,OAAO,IAAI,kBAAkB,MAAM,CAAA;AACrC","file":"nestjs.mjs","sourcesContent":["import { OpenRouterClient } from '../client/OpenRouterClient';\nimport { SendOptions } from '../types/client';\n\n/**\n * NestJS Injectable Service\n * Usage:\n *\n * @Module({\n *   providers: [\n *     {\n *       provide: OpenRouterService,\n *       useFactory: () => {\n *         const client = new OpenRouterClient({ apiKey: 'your-key' });\n *         return new OpenRouterService(client);\n *       }\n *     }\n *   ]\n * })\n */\nexport class OpenRouterService {\n  constructor(private readonly client: OpenRouterClient) {}\n\n  async sendMessage(message: string | any[], options?: SendOptions) {\n    return this.client.sendMessage(message, options);\n  }\n\n  streamMessage(message: string | any[], options?: SendOptions) {\n    return this.client.streamMessage(message, options);\n  }\n\n  async listModels() {\n    return this.client.listModels();\n  }\n\n  getModelCatalog() {\n    return this.client.getModelCatalog();\n  }\n\n  getPricingCalculator() {\n    return this.client.getPricingCalculator();\n  }\n\n  getCostTracker() {\n    return this.client.getCostTracker();\n  }\n\n  getModelSelector() {\n    return this.client.getModelSelector();\n  }\n\n  destroy() {\n    this.client.destroy();\n  }\n}\n\n/**\n * NestJS Controller example\n *\n * @Controller('openrouter')\n * export class OpenRouterController {\n *   constructor(private readonly openrouterService: OpenRouterService) {}\n *\n *   @Post('chat')\n *   async chat(@Body() body: ChatDto) {\n *     return this.openrouterService.sendMessage(body.message, body.options);\n *   }\n *\n *   @Post('chat/stream')\n *   async stream(@Body() body: ChatDto, @Res() res: Response) {\n *     res.setHeader('Content-Type', 'text/event-stream');\n *\n *     for await (const chunk of this.openrouterService.streamMessage(body.message, body.options)) {\n *       res.write(`data: ${JSON.stringify(chunk)}\\n\\n`);\n *     }\n *\n *     res.end();\n *   }\n * }\n */\n\n/**\n * Factory function for NestJS integration\n */\nexport function createNestJSService(client: OpenRouterClient): OpenRouterService {\n  return new OpenRouterService(client);\n}\n"]}