{"version":3,"sources":["../../../src/modelgarden/legacy/index.ts"],"sourcesContent":["/**\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Genkit } from 'genkit';\nimport { genkitPlugin, type GenkitPlugin } from 'genkit/plugin';\nimport { getDerivedParams } from '../../common/index.js';\nimport { SUPPORTED_ANTHROPIC_MODELS, anthropicModel } from './anthropic.js';\nimport { SUPPORTED_MISTRAL_MODELS, mistralModel } from './mistral.js';\nimport {\n  SUPPORTED_OPENAI_FORMAT_MODELS,\n  modelGardenOpenaiCompatibleModel,\n} from './model_garden.js';\nimport type { PluginOptions } from './types.js';\n\n/**\n * Add Google Cloud Vertex AI Rerankers API to Genkit.\n * @deprecated Please use vertexModelGarden\n */\nexport function vertexAIModelGarden(options: PluginOptions): GenkitPlugin {\n  return genkitPlugin('vertexAIModelGarden', async (ai: Genkit) => {\n    const { projectId, location, authClient } = await getDerivedParams(options);\n\n    options.models.forEach((m) => {\n      const anthropicEntry = Object.entries(SUPPORTED_ANTHROPIC_MODELS).find(\n        ([_, value]) => value.name === m.name\n      );\n      if (anthropicEntry) {\n        anthropicModel(ai, anthropicEntry[0], projectId, location);\n        return;\n      }\n      const mistralEntry = Object.entries(SUPPORTED_MISTRAL_MODELS).find(\n        ([_, value]) => value.name === m.name\n      );\n      if (mistralEntry) {\n        mistralModel(ai, mistralEntry[0], projectId, location);\n        return;\n      }\n      const openaiModel = Object.entries(SUPPORTED_OPENAI_FORMAT_MODELS).find(\n        ([_, value]) => value.name === m.name\n      );\n      if (openaiModel) {\n        modelGardenOpenaiCompatibleModel(\n          ai,\n          openaiModel[0],\n          projectId,\n          location,\n          authClient,\n          options.openAiBaseUrlTemplate\n        );\n        return;\n      }\n      throw new Error(`Unsupported model garden model: ${m.name}`);\n    });\n  });\n}\n\nexport {\n  claude35Sonnet,\n  claude35SonnetV2,\n  claude3Haiku,\n  claude3Opus,\n  claude3Sonnet,\n  claudeOpus4,\n  claudeOpus41,\n  claudeSonnet4,\n} from './anthropic.js';\nexport { codestral, mistralLarge, mistralNemo } from './mistral.js';\nexport { llama3, llama31, llama32 } from './model_garden.js';\n//export type { PluginOptions };  // Same one will be exported by v2 now\n"],"mappings":"AAiBA,SAAS,oBAAuC;AAChD,SAAS,wBAAwB;AACjC,SAAS,4BAA4B,sBAAsB;AAC3D,SAAS,0BAA0B,oBAAoB;AACvD;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAOA,SAAS,oBAAoB,SAAsC;AACxE,SAAO,aAAa,uBAAuB,OAAO,OAAe;AAC/D,UAAM,EAAE,WAAW,UAAU,WAAW,IAAI,MAAM,iBAAiB,OAAO;AAE1E,YAAQ,OAAO,QAAQ,CAAC,MAAM;AAC5B,YAAM,iBAAiB,OAAO,QAAQ,0BAA0B,EAAE;AAAA,QAChE,CAAC,CAAC,GAAG,KAAK,MAAM,MAAM,SAAS,EAAE;AAAA,MACnC;AACA,UAAI,gBAAgB;AAClB,uBAAe,IAAI,eAAe,CAAC,GAAG,WAAW,QAAQ;AACzD;AAAA,MACF;AACA,YAAM,eAAe,OAAO,QAAQ,wBAAwB,EAAE;AAAA,QAC5D,CAAC,CAAC,GAAG,KAAK,MAAM,MAAM,SAAS,EAAE;AAAA,MACnC;AACA,UAAI,cAAc;AAChB,qBAAa,IAAI,aAAa,CAAC,GAAG,WAAW,QAAQ;AACrD;AAAA,MACF;AACA,YAAM,cAAc,OAAO,QAAQ,8BAA8B,EAAE;AAAA,QACjE,CAAC,CAAC,GAAG,KAAK,MAAM,MAAM,SAAS,EAAE;AAAA,MACnC;AACA,UAAI,aAAa;AACf;AAAA,UACE;AAAA,UACA,YAAY,CAAC;AAAA,UACb;AAAA,UACA;AAAA,UACA;AAAA,UACA,QAAQ;AAAA,QACV;AACA;AAAA,MACF;AACA,YAAM,IAAI,MAAM,mCAAmC,EAAE,IAAI,EAAE;AAAA,IAC7D,CAAC;AAAA,EACH,CAAC;AACH;AAEA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,WAAW,cAAc,mBAAmB;AACrD,SAAS,QAAQ,SAAS,eAAe;","names":[]}