import fs from 'node:fs'; import os from 'node:os'; import path from 'node:path'; import assert from 'node:assert'; import { ObsidianVault } from '../daemon/obsidian.js'; const parent = fs.mkdtempSync(path.join(os.tmpdir(), 'jarvis-obsidian-smoke-')); try { const vault = new ObsidianVault({ obsidianEnabled: true, obsidianMemoryEnabled: true, obsidianVaultPath: path.join(parent, 'vault') }); vault.initialize(); assert.equal(vault.verify().memoryVerified, true); const first = vault.write('memory/probe.md', '# Memory\nBare can recall this.'); assert.equal(vault.search('recall', { memory: true }).matches.length, 1); const updated = vault.write(first.path, '# Updated', first.revision); const removed = vault.remove(first.path, updated.revision); vault.restore(removed.trashId); assert.equal(vault.read(first.path).content, '# Updated'); console.log('Obsidian native runtime smoke passed'); } finally { fs.rmSync(parent, { recursive: true, force: true }); }