lexguard-backend / src /services /clauseSplitter.js
github-actions[bot]
Deploy to Hugging Face
b921752
Raw
History Blame Contribute Delete
798 Bytes
const semanticChunker = require('../utils/semanticChunker');
/**
* Heuristic-based contract clause splitter. Uses only code — no AI.
* Now backed by SemanticChunker to protect against malformed documents and Context Collapse.
*
* @param {string} cleanedText - Output from textCleaner.
* @returns {{ segmentIndex: number, rawText: string }[]}
*/
const splitClauses = (cleanedText) => {
const parsedChunks = semanticChunker.chunkDocument(cleanedText);
console.log(`[AST Compiler] Successfully parsed ${parsedChunks.length} distinct semantic chunks.`);
// Map the new { text, type } objects into the legacy { segmentIndex, rawText } schema
return parsedChunks.map((chunk, index) => ({
segmentIndex: index,
rawText: chunk.text
}));
};
module.exports = { splitClauses };