{"version":3,"sources":["../../../src/rerankers/v2/index.ts"],"sourcesContent":["/**\n * Copyright 2025 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 {\n  genkitPluginV2,\n  ResolvableAction,\n  type GenkitPluginV2,\n} from 'genkit/plugin';\nimport { ActionType } from 'genkit/registry';\n\nimport { RerankerReference, z } from 'genkit';\nimport { getDerivedOptions } from '../../common/utils.js';\nimport * as reranker from './reranker.js';\nimport { type VertexRerankerPluginOptions } from './types.js';\nexport { type VertexRerankerPluginOptions };\n\nasync function initializer(pluginOptions: VertexRerankerPluginOptions) {\n  const clientOptions = await getDerivedOptions(\n    'vertex-rerankers',\n    pluginOptions\n  );\n  return await reranker.listKnownRerankers(clientOptions);\n}\n\nasync function resolver(\n  actionType: ActionType,\n  actionName: string,\n  pluginOptions: VertexRerankerPluginOptions\n): Promise<ResolvableAction | undefined> {\n  const clientOptions = await getDerivedOptions(\n    'vertex-rerankers',\n    pluginOptions\n  );\n  if (actionType == 'reranker' && reranker.isRerankerModelName(actionName)) {\n    return reranker.defineReranker(actionName, clientOptions);\n  }\n  return undefined;\n}\n\n/**\n * Add Google Cloud Vertex AI Rerankers API to Genkit.\n */\nexport function vertexRerankersPlugin(\n  options: VertexRerankerPluginOptions\n): GenkitPluginV2 {\n  return genkitPluginV2({\n    name: 'vertex-rerankers',\n    init: async () => await initializer(options),\n    resolve: async (actionType: ActionType, actionName: string) =>\n      await resolver(actionType, actionName, options),\n  });\n}\n\nexport type VertexAIRerankers = {\n  (pluginOptions?: VertexRerankerPluginOptions): GenkitPluginV2;\n  reranker(\n    name: reranker.KnownModels | (reranker.RerankerModelName & {}),\n    config?: reranker.VertexRerankerConfig\n  ): RerankerReference<reranker.VertexRerankerConfigSchemaType>;\n};\n\nexport const vertexRerankers = vertexRerankersPlugin as VertexAIRerankers;\n(vertexRerankers as any).reranker = (\n  name: string,\n  config?: any\n): RerankerReference<z.ZodTypeAny> => {\n  return reranker.reranker(name, config);\n};\n"],"mappings":"AAgBA;AAAA,EACE;AAAA,OAGK;AAIP,SAAS,yBAAyB;AAClC,YAAY,cAAc;AAI1B,eAAe,YAAY,eAA4C;AACrE,QAAM,gBAAgB,MAAM;AAAA,IAC1B;AAAA,IACA;AAAA,EACF;AACA,SAAO,MAAM,SAAS,mBAAmB,aAAa;AACxD;AAEA,eAAe,SACb,YACA,YACA,eACuC;AACvC,QAAM,gBAAgB,MAAM;AAAA,IAC1B;AAAA,IACA;AAAA,EACF;AACA,MAAI,cAAc,cAAc,SAAS,oBAAoB,UAAU,GAAG;AACxE,WAAO,SAAS,eAAe,YAAY,aAAa;AAAA,EAC1D;AACA,SAAO;AACT;AAKO,SAAS,sBACd,SACgB;AAChB,SAAO,eAAe;AAAA,IACpB,MAAM;AAAA,IACN,MAAM,YAAY,MAAM,YAAY,OAAO;AAAA,IAC3C,SAAS,OAAO,YAAwB,eACtC,MAAM,SAAS,YAAY,YAAY,OAAO;AAAA,EAClD,CAAC;AACH;AAUO,MAAM,kBAAkB;AAC9B,gBAAwB,WAAW,CAClC,MACA,WACoC;AACpC,SAAO,SAAS,SAAS,MAAM,MAAM;AACvC;","names":[]}