genkit
Version:
Genkit AI framework
143 lines • 4.28 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var plugin_exports = {};
__export(plugin_exports, {
GenkitPluginV2Instance: () => GenkitPluginV2Instance,
backgroundModel: () => import_model2.backgroundModel,
embedder: () => import_embedder.embedder,
embedderActionMetadata: () => import_embedder.embedderActionMetadata,
evaluator: () => import_evaluator.evaluator,
genkitPlugin: () => genkitPlugin,
genkitPluginV2: () => genkitPluginV2,
indexer: () => import_retriever.indexer,
isPluginV2: () => isPluginV2,
model: () => import_model2.model,
modelActionMetadata: () => import_model2.modelActionMetadata,
reranker: () => import_reranker.reranker,
retriever: () => import_retriever.retriever
});
module.exports = __toCommonJS(plugin_exports);
var import_core = require("@genkit-ai/core");
var import_embedder = require("@genkit-ai/ai/embedder");
var import_evaluator = require("@genkit-ai/ai/evaluator");
var import_model2 = require("@genkit-ai/ai/model");
var import_reranker = require("@genkit-ai/ai/reranker");
var import_retriever = require("@genkit-ai/ai/retriever");
/**
* @license
*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function genkitPlugin(pluginName, initFn, resolveFn, listActionsFn) {
return (genkit) => ({
name: pluginName,
initializer: async () => {
await initFn(genkit);
},
resolver: async (action, target) => {
if (resolveFn) {
return await resolveFn(genkit, action, target);
}
},
listActions: async () => {
if (listActionsFn) {
return await listActionsFn();
}
return [];
}
});
}
class GenkitPluginV2Instance {
version = "v2";
name;
plugin;
constructor(plugin) {
this.name = plugin.name;
this.plugin = plugin;
}
init() {
if (!this.plugin.init) {
return [];
}
return this.plugin.init();
}
list() {
if (!this.plugin.list) {
return [];
}
return this.plugin.list();
}
middleware() {
if (!this.plugin.middleware) {
return [];
}
return this.plugin.middleware();
}
resolve(actionType, name) {
if (!this.plugin.resolve) {
return void 0;
}
return this.plugin.resolve(actionType, name);
}
async model(name) {
const model2 = await this.resolve("model", name);
if (!model2) {
throw new import_core.GenkitError({
message: `Failed to resolve model ${name} for plugin ${this.name}`,
status: "NOT_FOUND"
});
}
return model2;
}
}
function genkitPluginV2(options) {
return new GenkitPluginV2Instance(options);
}
function isPluginV2(plugin) {
return plugin.version === "v2";
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
GenkitPluginV2Instance,
backgroundModel,
embedder,
embedderActionMetadata,
evaluator,
genkitPlugin,
genkitPluginV2,
indexer,
isPluginV2,
model,
modelActionMetadata,
reranker,
retriever
});
//# sourceMappingURL=plugin.js.map