import assert from 'node:assert/strict' import { readFile } from 'node:fs/promises' import test from 'node:test' const main = await readFile(new URL('../src/main.tsx', import.meta.url), 'utf8') const channel = await readFile(new URL('../src/modules/persona-channel-body/index.tsx', import.meta.url), 'utf8') const runtime = await readFile(new URL('../src-tauri/src/persona_language_channel.rs', import.meta.url), 'utf8') test('light lake exposes a first-class human conversation entrance', () => { assert.match(main, /type ViewId = [^\n]*'persona'/) assert.match(main, /title="对话与共同工作" meta="人类 · 人格体 · 知识库"/) assert.match(main, /view === 'persona'[\s\S]*? { assert.match(main, /hololake-knowledge-chat-open'\) !== '0'/) assert.match(main, /knowledge-persona-collaboration/) assert.match(main, /knowledgeFocus=\{activeDocument \? \{ source: activeDocument\.source, path: activeDocument\.path, title: activeDocument\.title, contentSha256: activeDocument\.contentSha256 \}/) assert.match(channel, /activeKnowledgeSource: knowledgeFocus\?\.source/) assert.match(channel, /activeKnowledgePath: knowledgeFocus\?\.path/) assert.match(channel, /引用知识 · \{receipt\.path\} · \{shortHash\(receipt\.contentSha256\)\}/) assert.match(runtime, /collect_knowledge_context\([\s\S]*?input\.active_knowledge_source\.as_deref\(\)[\s\S]*?input\.active_knowledge_path\.as_deref\(\)/) assert.match(runtime, /append_knowledge_document\(&mut context, &mut seen, document\)/) assert.match(runtime, /let secret = read_secret_bounded\(app, provider_id\)\.await\.ok\(\)/) assert.doesNotMatch(runtime, /fn read_secret\(/) }) test('model configuration remains secondary to the conversation surface', () => { assert.match(channel, /const \[settingsOpen, setSettingsOpen\] = useState\(false\)/) assert.match(channel, /说话是主入口。知识、模型和执行证据在需要时进入/) assert.match(channel, /\{settingsOpen &&