import test from 'node:test'; import assert from 'node:assert/strict'; import fs from 'node:fs'; import os from 'node:os'; import path from 'node:path'; import { createExecutorStateStore } from '../src/core/executor-state-store.mjs'; test('executor state store persists processing and completion state', () => { const stateDir = fs.mkdtempSync(path.join(os.tmpdir(), 'unrip-executor-')); const store = createExecutorStateStore({ stateDir }); store.markProcessing('cmd-1', { quote_id: 'quote-1' }); assert.equal(store.get('cmd-1').status, 'processing'); store.markCompleted('cmd-1', { result_event_id: 'result-1' }); assert.equal(store.get('cmd-1').status, 'completed'); const reloaded = createExecutorStateStore({ stateDir }); assert.equal(reloaded.get('cmd-1').status, 'completed'); assert.equal(reloaded.get('cmd-1').result_event_id, 'result-1'); });