@blueprintlabio/prompt-injector
Version:
Experimental TypeScript library for generating AI security test conversations
37 lines • 995 B
JavaScript
/**
* Base classes and utilities for attack primitives
*/
/**
* Abstract base class for attack primitives with common utilities
*/
export class BasePrimitive {
/**
* Utility method to select random template
*/
selectRandomTemplate(templates) {
return templates[Math.floor(Math.random() * templates.length)];
}
/**
* Utility method to replace variables in template
*/
replaceVariables(template, variables) {
let result = template;
for (const [key, value] of Object.entries(variables)) {
const regex = new RegExp(`{${key}}`, 'g');
result = result.replace(regex, value);
}
return result;
}
/**
* Create a turn with consistent structure
*/
createTurn(message, context, technique) {
return {
message,
primitive: this.id,
turnNumber: context.turnNumber,
technique
};
}
}
//# sourceMappingURL=base.js.map