puppeteer-browser-agent
Version:
Puppeteer browser agent for use in AI agent systems
40 lines (33 loc) • 970 B
text/typescript
import { actionDefinitions } from "./actions/definitions";
export interface IActionDefinitionsRegistry {
definitions: any[];
setDefinitions(definitions: any[]): void;
addDefinition(definition: any, overwrite?: boolean): void;
addDefinitions(definitions: any[], overwrite?: boolean): void;
}
export class ActionDefinitionsRegistry {
definitions: any[] = [];
public setDefinitions(definitions: any[]) {
this.definitions = definitions;
}
public addDefinition(definition: any, overwrite = false) {
if (!definition) {
return;
}
if (Array.isArray(definition)) {
this.addDefinitions(definition, overwrite);
return;
}
this.addDefinitions([definition], overwrite);
}
public addDefinitions(definitions: any[], overwrite = false) {
for (const definition of definitions) {
if (overwrite || !this.definitions.includes(definition)) {
this.definitions.push(definition);
}
}
}
defaultDefinitions() {
return actionDefinitions;
}
}