UNPKG

openlit

Version:

OpenTelemetry-native Auto instrumentation library for monitoring LLM Applications, facilitating the integration of observability into your GenAI-driven projects

28 lines 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.All = void 0; const prompt_injection_1 = require("./prompt-injection"); const sensitive_topic_1 = require("./sensitive-topic"); const topic_restriction_1 = require("./topic-restriction"); class All { constructor(config = {}) { // Split customRules by guard type const allRules = config.customRules || []; const piRules = allRules.filter(r => r.guard === 'prompt_injection'); const stRules = allRules.filter(r => r.guard === 'sensitive_topic'); const trRules = allRules.filter(r => r.guard === 'topic_restriction'); this.promptInjection = new prompt_injection_1.PromptInjection({ ...config, customRules: piRules }); this.sensitiveTopic = new sensitive_topic_1.SensitiveTopic({ ...config, customRules: stRules }); this.topicRestriction = new topic_restriction_1.TopicRestriction({ ...config, customRules: trRules }); } async detect(text) { const [pi, st, tr] = await Promise.all([ this.promptInjection.detect(text), this.sensitiveTopic.detect(text), this.topicRestriction.detect(text) ]); return [pi, st, tr]; } } exports.All = All; //# sourceMappingURL=all.js.map