{"version":3,"file":"novita.cjs","names":["ChatOpenAICompletions","fields?: Partial<\n      Omit<OpenAIChatInput, \"openAIApiKey\" | NovitaUnsupportedArgs>\n    > &\n      BaseChatModelParams & {\n        novitaApiKey?: string;\n        apiKey?: string;\n      }","options: this[\"ParsedCallOptions\"]","request:\n      | OpenAIClient.Chat.ChatCompletionCreateParamsStreaming\n      | OpenAIClient.Chat.ChatCompletionCreateParamsNonStreaming","options?: OpenAICoreRequestOptions"],"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\n  extends Omit<ChatOpenAICallOptions, NovitaUnsupportedCallOptions> {\n  response_format: {\n    type: \"json_object\";\n    schema: Record<string, unknown>;\n  };\n}\n\nexport interface ChatNovitaInput\n  extends 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":";;;;;;;;;;AA+CA,IAAa,eAAb,cAAkCA,yCAA6C;CAC7E,OAAO,UAAU;AACf,SAAO;CACR;CAED,WAAW;AACT,SAAO;CACR;CAED,IAAI,aAAoD;AACtD,SAAO;GACL,cAAc;GACd,QAAQ;EACT;CACF;CAED,kBAAkB;CAElB,YACEC,QAOA;EACA,MAAM,eACJ,QAAQ,UACR,QAAQ,uEACe,iBAAiB;AAE1C,MAAI,CAAC,aACH,OAAM,IAAI,MACR,CAAC,mHAAmH,CAAC;EAIzH,MAAM;GACJ,GAAG;GACH,OAAO,QAAQ,SAAS;GACxB,QAAQ;GACR,eAAe,EACb,SAAS,mCACV;EACF,EAAC;CACH;CAED,YAAYC,SAAqD;EAC/D,MAAM,SAAS,MAAM,YAAY,QAAQ;EACzC,OAAO,cAAc;AACrB,SAAO;CACR;CAED,SAAS;EACP,MAAM,SAAS,MAAM,QAAQ;AAE7B,MACE,YAAY,UACZ,OAAO,OAAO,WAAW,YACzB,OAAO,UAAU,MACjB;GACA,OAAO,OAAO,OAAO;GACrB,OAAO,OAAO,OAAO;EACtB;AAED,SAAO;CACR;CAYD,MAAM,oBACJC,SAGAC,SAIA;EACA,OAAO,QAAQ;EACf,OAAO,QAAQ;EACf,OAAO,QAAQ;EACf,OAAO,QAAQ;AAEf,MAAI,QAAQ,WAAW,KACrB,QAAO,MAAM,oBAAoB,SAAS,QAAQ;AAGpD,SAAO,MAAM,oBAAoB,SAAS,QAAQ;CACnD;AACF"}