{"version":3,"file":"novita.cjs","names":["ChatOpenAICompletions"],"sources":["../../src/chat_models/novita.ts"],"sourcesContent":["import type {\n  BaseChatModelParams,\n  LangSmithParams,\n} from \"@langchain/core/language_models/chat_models\";\nimport {\n  type OpenAIClient,\n  type ChatOpenAICallOptions,\n  type OpenAIChatInput,\n  type OpenAICoreRequestOptions,\n  ChatOpenAICompletions,\n} from \"@langchain/openai\";\nimport { getEnvironmentVariable } from \"@langchain/core/utils/env\";\n\ntype NovitaUnsupportedArgs =\n  | \"frequencyPenalty\"\n  | \"presencePenalty\"\n  | \"logitBias\"\n  | \"functions\";\n\ntype NovitaUnsupportedCallOptions = \"functions\" | \"function_call\";\n\nexport interface ChatNovitaCallOptions extends Omit<\n  ChatOpenAICallOptions,\n  NovitaUnsupportedCallOptions\n> {\n  response_format: {\n    type: \"json_object\";\n    schema: Record<string, unknown>;\n  };\n}\n\nexport interface ChatNovitaInput\n  extends\n    Omit<OpenAIChatInput, \"openAIApiKey\" | NovitaUnsupportedArgs>,\n    BaseChatModelParams {\n  /**\n   * Novita API key\n   * @default process.env.NOVITA_API_KEY\n   */\n  novitaApiKey?: string;\n  /**\n   * API key alias\n   * @default process.env.NOVITA_API_KEY\n   */\n  apiKey?: string;\n}\n\n/**\n * Novita chat model implementation\n */\nexport class ChatNovitaAI extends ChatOpenAICompletions<ChatNovitaCallOptions> {\n  static lc_name() {\n    return \"ChatNovita\";\n  }\n\n  _llmType() {\n    return \"novita\";\n  }\n\n  get lc_secrets(): { [key: string]: string } | undefined {\n    return {\n      novitaApiKey: \"NOVITA_API_KEY\",\n      apiKey: \"NOVITA_API_KEY\",\n    };\n  }\n\n  lc_serializable = true;\n\n  constructor(\n    fields?: Partial<\n      Omit<OpenAIChatInput, \"openAIApiKey\" | NovitaUnsupportedArgs>\n    > &\n      BaseChatModelParams & {\n        novitaApiKey?: string;\n        apiKey?: string;\n      }\n  ) {\n    const novitaApiKey =\n      fields?.apiKey ||\n      fields?.novitaApiKey ||\n      getEnvironmentVariable(\"NOVITA_API_KEY\");\n\n    if (!novitaApiKey) {\n      throw new Error(\n        `Novita API key not found. Please set the NOVITA_API_KEY environment variable or provide the key into \"novitaApiKey\"`\n      );\n    }\n\n    super({\n      ...fields,\n      model: fields?.model || \"gryphe/mythomax-l2-13b\",\n      apiKey: novitaApiKey,\n      configuration: {\n        baseURL: \"https://api.novita.ai/v3/openai/\",\n      },\n    });\n  }\n\n  getLsParams(options: this[\"ParsedCallOptions\"]): LangSmithParams {\n    const params = super.getLsParams(options);\n    params.ls_provider = \"novita\";\n    return params;\n  }\n\n  toJSON() {\n    const result = super.toJSON();\n\n    if (\n      \"kwargs\" in result &&\n      typeof result.kwargs === \"object\" &&\n      result.kwargs != null\n    ) {\n      delete result.kwargs.openai_api_key;\n      delete result.kwargs.configuration;\n    }\n\n    return result;\n  }\n\n  async completionWithRetry(\n    request: OpenAIClient.Chat.ChatCompletionCreateParamsStreaming,\n    options?: OpenAICoreRequestOptions\n  ): Promise<AsyncIterable<OpenAIClient.Chat.Completions.ChatCompletionChunk>>;\n\n  async completionWithRetry(\n    request: OpenAIClient.Chat.ChatCompletionCreateParamsNonStreaming,\n    options?: OpenAICoreRequestOptions\n  ): Promise<OpenAIClient.Chat.Completions.ChatCompletion>;\n\n  async completionWithRetry(\n    request:\n      | OpenAIClient.Chat.ChatCompletionCreateParamsStreaming\n      | OpenAIClient.Chat.ChatCompletionCreateParamsNonStreaming,\n    options?: OpenAICoreRequestOptions\n  ): Promise<\n    | AsyncIterable<OpenAIClient.Chat.Completions.ChatCompletionChunk>\n    | OpenAIClient.Chat.Completions.ChatCompletion\n  > {\n    delete request.frequency_penalty;\n    delete request.presence_penalty;\n    delete request.logit_bias;\n    delete request.functions;\n\n    if (request.stream === true) {\n      return super.completionWithRetry(request, options);\n    }\n\n    return super.completionWithRetry(request, options);\n  }\n}\n"],"mappings":";;;;;;;;;AAkDA,IAAa,eAAb,cAAkCA,kBAAAA,sBAA6C;CAC7E,OAAO,UAAU;AACf,SAAO;;CAGT,WAAW;AACT,SAAO;;CAGT,IAAI,aAAoD;AACtD,SAAO;GACL,cAAc;GACd,QAAQ;GACT;;CAGH,kBAAkB;CAElB,YACE,QAOA;EACA,MAAM,eACJ,QAAQ,UACR,QAAQ,iBAAA,GAAA,0BAAA,wBACe,iBAAiB;AAE1C,MAAI,CAAC,aACH,OAAM,IAAI,MACR,sHACD;AAGH,QAAM;GACJ,GAAG;GACH,OAAO,QAAQ,SAAS;GACxB,QAAQ;GACR,eAAe,EACb,SAAS,oCACV;GACF,CAAC;;CAGJ,YAAY,SAAqD;EAC/D,MAAM,SAAS,MAAM,YAAY,QAAQ;AACzC,SAAO,cAAc;AACrB,SAAO;;CAGT,SAAS;EACP,MAAM,SAAS,MAAM,QAAQ;AAE7B,MACE,YAAY,UACZ,OAAO,OAAO,WAAW,YACzB,OAAO,UAAU,MACjB;AACA,UAAO,OAAO,OAAO;AACrB,UAAO,OAAO,OAAO;;AAGvB,SAAO;;CAaT,MAAM,oBACJ,SAGA,SAIA;AACA,SAAO,QAAQ;AACf,SAAO,QAAQ;AACf,SAAO,QAAQ;AACf,SAAO,QAAQ;AAEf,MAAI,QAAQ,WAAW,KACrB,QAAO,MAAM,oBAAoB,SAAS,QAAQ;AAGpD,SAAO,MAAM,oBAAoB,SAAS,QAAQ"}