'use strict'; const test = require('node:test'); const assert = require('node:assert/strict'); const { parseFrontmatter, splitChunks, createParentChildChunks } = require('../src/kb-chunker'); test('kb chunker: parse frontmatter and split Q/A', () => { const md = `---\ntitle: Test\ncategory: test\nkeywords: [ring, gold]\nsource_url: https://www.yehwang.com/x.html\n---\n## Section\n### Q: What is it?\nLong answer ${'x'.repeat(600)}\n`; const { meta, body } = parseFrontmatter(md); assert.equal(meta.title, 'Test'); assert.deepEqual(meta.keywords, ['ring', 'gold']); const chunks = splitChunks(body); assert.equal(chunks.length, 1); const { parent, children } = createParentChildChunks(chunks[0], meta, '01-test.md'); assert.equal(parent.question, 'What is it?'); assert.equal(parent.source_urls[0], 'https://www.yehwang.com/x.html'); assert.equal(children.length, 2); });