UNPKG

secuprompt

Version:

Protect your AI from Prompt Injection

24 lines (23 loc) 837 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.score_unicode = void 0; const data_1 = require("../data"); const embedding_1 = require("../core/embedding"); const unicode_flags = (txt) => { let flags = 0; for (const ch of txt) { const code = ch.codePointAt(0); if (data_1.unicode_ranges.hidden_ranges.some(([s, e]) => code >= s && code <= e)) flags++; else if (data_1.unicode_ranges.homoglyph_blocks.some(([s, e]) => code >= s && code <= e)) flags++; if (flags >= 4) break; } return flags; }; const score_unicode = (txt) => { const flags = unicode_flags(txt); return { score: (0, embedding_1.normalize)(flags / 4), detail: flags ? [`unicode_flags_${flags}`] : [] }; }; exports.score_unicode = score_unicode;