dist / lensManager.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LensManager = void 0;
const index_1 = require("./lenses/index");
class LensManager {
lenses = new Map();
constructor(llmClient) {
(0, index_1.getAllLenses)(llmClient).forEach((lens) => this.lenses.set(lens.id, lens));
}
async runLenses(prompt, enabledLensIds, temperature) {
const results = [];
for (const id of enabledLensIds) {
const lens = this.lenses.get(id);
if (lens) {
try {
const result = await lens.generate(prompt, temperature);
results.push(`=== ${lens.label} ===\n${result}`);
}
catch (e) {
results.push(`=== ${lens.label} ===\nError: ${e}`);
}
}
}
return results.join("\n\n---\n\n");
}
}
exports.LensManager = LensManager;