donobu
Version:
Create browser automations with an LLM agent and replay them as Playwright scripts.
30 lines • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getOrCreateDonobuStack = getOrCreateDonobuStack;
const envVars_1 = require("../../../envVars");
const DonobuStack_1 = require("../../../managers/DonobuStack");
const ControlPanel_1 = require("../../../models/ControlPanel");
const EnvPersistenceVolatile_1 = require("../../../persistence/env/EnvPersistenceVolatile");
let donobuStack = undefined;
/**
* Creates a snapshot of process.env as a Record<string, string>
*/
function getEnvSnapshot() {
const envRecord = {};
Object.entries(process.env).forEach(([key, value]) => {
if (value !== undefined) {
envRecord[key] = value;
}
});
return envRecord;
}
async function getOrCreateDonobuStack() {
if (!donobuStack) {
donobuStack = await (0, DonobuStack_1.setupDonobuStack)('LOCAL', ControlPanel_1.NoOpControlPanelFactory, new EnvPersistenceVolatile_1.EnvPersistenceVolatile(getEnvSnapshot()), envVars_1.env.pick('ANTHROPIC_API_KEY', 'ANTHROPIC_MODEL_NAME', 'AWS_ACCESS_KEY_ID', 'AWS_BEDROCK_MODEL_NAME', 'AWS_SECRET_ACCESS_KEY', 'BASE64_GPT_CONFIG', 'BROWSERBASE_API_KEY', 'BROWSERBASE_PROJECT_ID', 'DONOBU_API_BASE_URL', 'DONOBU_API_KEY', 'DONOBU_PERSISTENCE_API_KEY', 'GOOGLE_GENERATIVE_AI_API_KEY', 'GOOGLE_GENERATIVE_AI_MODEL_NAME', 'OLLAMA_API_URL', 'OLLAMA_MODEL_NAME', 'OPENAI_API_KEY', 'OPENAI_API_MODEL_NAME', 'PERSISTENCE_PRIORITY'));
return donobuStack;
}
else {
return donobuStack;
}
}
//# sourceMappingURL=donobuTestStack.js.map