UNPKG

@n8n/n8n-nodes-langchain

Version:

![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

66 lines 2.27 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var keywords_exports = {}; __export(keywords_exports, { createKeywordsCheckFn: () => createKeywordsCheckFn }); module.exports = __toCommonJS(keywords_exports); const keywordsCheck = (text, config) => { const { keywords } = config; const sanitizedKeywords = keywords.map((k) => k.replace(/[.,!?;:]+$/, "")); const validKeywords = sanitizedKeywords.filter((k) => k.length > 0); if (validKeywords.length === 0) { return { guardrailName: "keywords", tripwireTriggered: false, info: { matchedKeywords: [] } }; } const escapedKeywords = validKeywords.map( (k) => k.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") ); const patternText = `\\b(?:${escapedKeywords.join("|")})\\b`; const pattern = new RegExp(patternText, "gi"); const matches = []; let match; const seen = /* @__PURE__ */ new Set(); while ((match = pattern.exec(text)) !== null) { const matchedText = match[0]; if (!seen.has(matchedText.toLowerCase())) { matches.push(matchedText); seen.add(matchedText.toLowerCase()); } } const tripwireTriggered = matches.length > 0; return { guardrailName: "keywords", tripwireTriggered, info: { matchedKeywords: matches } }; }; const createKeywordsCheckFn = (config) => (input) => keywordsCheck(input, config); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { createKeywordsCheckFn }); //# sourceMappingURL=keywords.js.map