UNPKG

llmverify

Version:

AI Output Verification Toolkit — Local-first LLM safety, hallucination detection, PII redaction, prompt injection defense, and runtime monitoring. Zero telemetry. OWASP LLM Top 10 aligned.

48 lines 6.21 kB
"use strict"; /** * Classification Engine * * Comprehensive LLM output classification including intent detection, * JSON repair, instruction-following evaluation, hallucination risk, * and reasoning compression analysis. * * WHAT THIS DOES: * ✅ Detects output intent (summary, code, list, etc.) * ✅ Detects and repairs malformed JSON * ✅ Evaluates instruction-following compliance * ✅ Calculates hallucination risk indicators * ✅ Detects reasoning compression * ✅ Generates classification tags * * WHAT THIS DOES NOT DO: * ❌ Guarantee hallucination detection (heuristic-based) * ❌ Verify factual accuracy (no ground truth) * ❌ Replace human review * * @module engines/classification * @author Haiec * @license MIT */ Object.defineProperty(exports, "__esModule", { value: true }); exports.classify = exports.ClassificationEngine = exports.getReasoningLabel = exports.calculateCompressionScore = exports.calculateCompressionMetrics = exports.getHallucinationLabel = exports.calculateHallucinationRisk = exports.calculateHallucinationSignals = exports.evaluateInstructionRules = exports.detectAndRepairJson = exports.getPrimaryIntent = exports.detectIntent = void 0; // Sub-modules var intent_1 = require("./intent"); Object.defineProperty(exports, "detectIntent", { enumerable: true, get: function () { return intent_1.detectIntent; } }); Object.defineProperty(exports, "getPrimaryIntent", { enumerable: true, get: function () { return intent_1.getPrimaryIntent; } }); var json_repair_1 = require("./json-repair"); Object.defineProperty(exports, "detectAndRepairJson", { enumerable: true, get: function () { return json_repair_1.detectAndRepairJson; } }); var instruction_eval_1 = require("./instruction-eval"); Object.defineProperty(exports, "evaluateInstructionRules", { enumerable: true, get: function () { return instruction_eval_1.evaluateInstructionRules; } }); var hallucination_1 = require("./hallucination"); Object.defineProperty(exports, "calculateHallucinationSignals", { enumerable: true, get: function () { return hallucination_1.calculateHallucinationSignals; } }); Object.defineProperty(exports, "calculateHallucinationRisk", { enumerable: true, get: function () { return hallucination_1.calculateHallucinationRisk; } }); Object.defineProperty(exports, "getHallucinationLabel", { enumerable: true, get: function () { return hallucination_1.getHallucinationLabel; } }); var compression_1 = require("./compression"); Object.defineProperty(exports, "calculateCompressionMetrics", { enumerable: true, get: function () { return compression_1.calculateCompressionMetrics; } }); Object.defineProperty(exports, "calculateCompressionScore", { enumerable: true, get: function () { return compression_1.calculateCompressionScore; } }); Object.defineProperty(exports, "getReasoningLabel", { enumerable: true, get: function () { return compression_1.getReasoningLabel; } }); // Main engine var engine_1 = require("./engine"); Object.defineProperty(exports, "ClassificationEngine", { enumerable: true, get: function () { return engine_1.ClassificationEngine; } }); Object.defineProperty(exports, "classify", { enumerable: true, get: function () { return engine_1.classify; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW5naW5lcy9jbGFzc2lmaWNhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHOzs7QUFvQkgsY0FBYztBQUNkLG1DQUEwRDtBQUFqRCxzR0FBQSxZQUFZLE9BQUE7QUFBRSwwR0FBQSxnQkFBZ0IsT0FBQTtBQUN2Qyw2Q0FBb0Q7QUFBM0Msa0hBQUEsbUJBQW1CLE9BQUE7QUFDNUIsdURBQThEO0FBQXJELDRIQUFBLHdCQUF3QixPQUFBO0FBQ2pDLGlEQUl5QjtBQUh2Qiw4SEFBQSw2QkFBNkIsT0FBQTtBQUM3QiwySEFBQSwwQkFBMEIsT0FBQTtBQUMxQixzSEFBQSxxQkFBcUIsT0FBQTtBQUV2Qiw2Q0FJdUI7QUFIckIsMEhBQUEsMkJBQTJCLE9BQUE7QUFDM0Isd0hBQUEseUJBQXlCLE9BQUE7QUFDekIsZ0hBQUEsaUJBQWlCLE9BQUE7QUFHbkIsY0FBYztBQUNkLG1DQUEwRDtBQUFqRCw4R0FBQSxvQkFBb0IsT0FBQTtBQUFFLGtHQUFBLFFBQVEsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2xhc3NpZmljYXRpb24gRW5naW5lXG4gKiBcbiAqIENvbXByZWhlbnNpdmUgTExNIG91dHB1dCBjbGFzc2lmaWNhdGlvbiBpbmNsdWRpbmcgaW50ZW50IGRldGVjdGlvbixcbiAqIEpTT04gcmVwYWlyLCBpbnN0cnVjdGlvbi1mb2xsb3dpbmcgZXZhbHVhdGlvbiwgaGFsbHVjaW5hdGlvbiByaXNrLFxuICogYW5kIHJlYXNvbmluZyBjb21wcmVzc2lvbiBhbmFseXNpcy5cbiAqIFxuICogV0hBVCBUSElTIERPRVM6XG4gKiDinIUgRGV0ZWN0cyBvdXRwdXQgaW50ZW50IChzdW1tYXJ5LCBjb2RlLCBsaXN0LCBldGMuKVxuICog4pyFIERldGVjdHMgYW5kIHJlcGFpcnMgbWFsZm9ybWVkIEpTT05cbiAqIOKchSBFdmFsdWF0ZXMgaW5zdHJ1Y3Rpb24tZm9sbG93aW5nIGNvbXBsaWFuY2VcbiAqIOKchSBDYWxjdWxhdGVzIGhhbGx1Y2luYXRpb24gcmlzayBpbmRpY2F0b3JzXG4gKiDinIUgRGV0ZWN0cyByZWFzb25pbmcgY29tcHJlc3Npb25cbiAqIOKchSBHZW5lcmF0ZXMgY2xhc3NpZmljYXRpb24gdGFnc1xuICogXG4gKiBXSEFUIFRISVMgRE9FUyBOT1QgRE86XG4gKiDinYwgR3VhcmFudGVlIGhhbGx1Y2luYXRpb24gZGV0ZWN0aW9uIChoZXVyaXN0aWMtYmFzZWQpXG4gKiDinYwgVmVyaWZ5IGZhY3R1YWwgYWNjdXJhY3kgKG5vIGdyb3VuZCB0cnV0aClcbiAqIOKdjCBSZXBsYWNlIGh1bWFuIHJldmlld1xuICogXG4gKiBAbW9kdWxlIGVuZ2luZXMvY2xhc3NpZmljYXRpb25cbiAqIEBhdXRob3IgSGFpZWNcbiAqIEBsaWNlbnNlIE1JVFxuICovXG5cbi8vIFR5cGVzXG5leHBvcnQgdHlwZSB7XG4gIEludGVudFRhZyxcbiAgSW50ZW50Q2FuZGlkYXRlLFxuICBJbnN0cnVjdGlvblJ1bGVUeXBlLFxuICBGb3JtYXRFeHBlY3RhdGlvbixcbiAgSW5zdHJ1Y3Rpb25SdWxlLFxuICBSdWxlUmVzdWx0LFxuICBIYWxsdWNpbmF0aW9uU2lnbmFscyxcbiAgSGFsbHVjaW5hdGlvbkxhYmVsLFxuICBDb21wcmVzc2lvbk1ldHJpY3MsXG4gIFJlYXNvbmluZ0xhYmVsLFxuICBKc29uUmVwYWlyU3RlcCxcbiAgQmFzZU1ldHJpY3MsXG4gIENsYXNzaWZpY2F0aW9uUG9saWN5LFxuICBDbGFzc2lmaWNhdGlvblJlc3VsdFxufSBmcm9tICcuL3R5cGVzJztcblxuLy8gU3ViLW1vZHVsZXNcbmV4cG9ydCB7IGRldGVjdEludGVudCwgZ2V0UHJpbWFyeUludGVudCB9IGZyb20gJy4vaW50ZW50JztcbmV4cG9ydCB7IGRldGVjdEFuZFJlcGFpckpzb24gfSBmcm9tICcuL2pzb24tcmVwYWlyJztcbmV4cG9ydCB7IGV2YWx1YXRlSW5zdHJ1Y3Rpb25SdWxlcyB9IGZyb20gJy4vaW5zdHJ1Y3Rpb24tZXZhbCc7XG5leHBvcnQgeyBcbiAgY2FsY3VsYXRlSGFsbHVjaW5hdGlvblNpZ25hbHMsIFxuICBjYWxjdWxhdGVIYWxsdWNpbmF0aW9uUmlzaywgXG4gIGdldEhhbGx1Y2luYXRpb25MYWJlbCBcbn0gZnJvbSAnLi9oYWxsdWNpbmF0aW9uJztcbmV4cG9ydCB7IFxuICBjYWxjdWxhdGVDb21wcmVzc2lvbk1ldHJpY3MsIFxuICBjYWxjdWxhdGVDb21wcmVzc2lvblNjb3JlLCBcbiAgZ2V0UmVhc29uaW5nTGFiZWwgXG59IGZyb20gJy4vY29tcHJlc3Npb24nO1xuXG4vLyBNYWluIGVuZ2luZVxuZXhwb3J0IHsgQ2xhc3NpZmljYXRpb25FbmdpbmUsIGNsYXNzaWZ5IH0gZnJvbSAnLi9lbmdpbmUnO1xuIl19