@genkit-ai/dotprompt
Version:
Genkit AI framework `.prompt` file format and management library.
55 lines • 1.44 kB
JavaScript
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