UNPKG

@genkit-ai/dotprompt

Version:

Genkit AI framework `.prompt` file format and management library.

55 lines 1.44 kB
import { __async } from "./chunk-DFMI36TU.mjs"; import { genkitPlugin } from "@genkit-ai/core"; import { readFileSync } from "fs"; import { basename } from "path"; import { defineDotprompt, Dotprompt, DotpromptRef } from "./prompt.js"; import { loadPromptFolder, lookupPrompt } from "./registry.js"; import { defineHelper, definePartial } from "./template.js"; function dotprompt(params = { dir: "./prompts" }) { const plugin = genkitPlugin( "dotprompt", (options) => __async(this, null, function* () { yield loadPromptFolder(options.dir); return {}; }) ); return plugin(params); } function prompt(name, options) { return __async(this, null, function* () { return yield lookupPrompt(name, options == null ? void 0 : options.variant); }); } function promptRef(name, options) { return new DotpromptRef(name, options); } function loadPromptFile(path) { return Dotprompt.parse( basename(path).split(".")[0], readFileSync(path, "utf-8") ); } function loadPromptUrl(name, url) { return __async(this, null, function* () { const fetch = (yield import("node-fetch")).default; const response = yield fetch(url); const text = yield response.text(); return Dotprompt.parse(name, text); }); } export { Dotprompt, defineDotprompt, defineHelper, definePartial, dotprompt, loadPromptFile, loadPromptUrl, prompt, promptRef }; //# sourceMappingURL=index.mjs.map