import assert from 'node:assert/strict'; import test from 'node:test'; import { buildMindSpacePageSaveInstructions, extractMindSpacePagePatch, mergeMindSpacePagePatch, } from './mindspace-page-patch.mjs'; test('extractMindSpacePagePatch parses assistant update block', () => { const text = `好的,标题已更新。 \`\`\`mindspace-page-update {"title":"新标题","summary":"新摘要"} \`\`\``; assert.deepEqual(extractMindSpacePagePatch(text), { title: '新标题', summary: '新摘要', }); }); test('mergeMindSpacePagePatch keeps unchanged fields', () => { assert.deepEqual( mergeMindSpacePagePatch( { title: '旧标题', summary: '旧摘要', content: '正文' }, { title: '新标题' }, ), { title: '新标题', summary: '旧摘要', content: '正文' }, ); }); test('buildMindSpacePageSaveInstructions mentions page id and block format', () => { const lines = buildMindSpacePageSaveInstructions({ id: 'page-1', contentFormat: 'markdown', }); assert.match(lines.join('\n'), /page-1/); assert.match(lines.join('\n'), /mindspace-page-update/); });