#!/usr/bin/env node "use strict"; const assert = require("node:assert"); const { buildDevHotEnv } = require("./dev-hot.js"); const env = buildDevHotEnv({ FRONTEND_PORT: "3200", MNOTE_WEB_CMD: "", }); assert.equal(env.MNOTE_WEB_DEV_HOT_RELOAD, "1"); assert.equal(env.MNOTE_WEB_ALLOW_DEV_FIXTURES, "1"); assert.match(env.MNOTE_WEB_CMD, /cargo watch/); assert.match(env.MNOTE_WEB_CMD, /run -p mnote-web --bin mnote-web/); assert.match(env.MNOTE_WEB_CMD, /crates\/mnote-web\/src/); assert.match(env.MNOTE_WEB_CMD, /crates\/mnote-web\/browser/); assert.equal(env.FRONTEND_PORT, "3200"); assert.equal(env.MNOTE_WEB_BIND, "0.0.0.0:3200"); assert.equal(env.MNOTE_KNOWLEDGE_PROVIDER, "lightrag_legacy"); assert.equal(env.ENABLE_OPENHUB, "1"); assert.equal(env.CHECK_OPENHUB_HEALTH, "1"); assert.equal(env.MNOTE_OPENCODE_BASE_URL, "http://127.0.0.1:4096"); assert.equal(env.OPENHUB_OPENCODE_BASE_URL, "http://127.0.0.1:4096"); assert.equal(env.OPENHUB_BACKEND_DIR, "/mnt/Data1T/Mnote_data/openhub/OpenHub/smart-query-backend"); assert.equal(env.OPENHUB_OPENCODE_XDG_ROOT, "/mnt/Data1T/Mnote_data/openhub/opencode-runtime"); assert.equal(env.OPENHUB_OPENCODE_HOME, "/mnt/Data1T/Mnote_data/openhub/opencode-home"); assert.equal(env.MNOTE_OPENHUB_BASE_URL, "http://127.0.0.1:18080"); assert.equal(env.OPENHUB_HEALTH_URL, "http://127.0.0.1:18080/api/health"); assert.equal(env.MNOTE_OPENHUB_DISABLE_GIT_SNAPSHOT_RESTORE, "1"); assert.equal(env.MNOTE_CONTROL_PLANE_BACKEND, "libsql-local"); assert.equal(env.MNOTE_TURSO_LOCAL_PATH, "/mnt/Data1T/Mnote_data/control-plane/control-plane-dev-hot-libsql.db"); assert.equal(env.MNOTE_CONTROL_PLANE_DB_PATH, undefined); const explicitKnowledgeProviderEnv = buildDevHotEnv({ MNOTE_KNOWLEDGE_PROVIDER: "weknora", }); assert.equal(explicitKnowledgeProviderEnv.MNOTE_KNOWLEDGE_PROVIDER, "weknora"); const loopbackEnv = buildDevHotEnv({ MNOTE_WEB_BIND: "127.0.0.1:3300", MNOTE_WEB_CMD: "custom", }); assert.equal(loopbackEnv.MNOTE_WEB_BIND, "0.0.0.0:3300"); assert.equal(loopbackEnv.MNOTE_WEB_CMD, "custom"); const skipEnv = buildDevHotEnv({ SKIP_OPENHUB: "1", }); assert.equal(skipEnv.ENABLE_OPENHUB, ""); const fixturesDisabledEnv = buildDevHotEnv({ MNOTE_WEB_ALLOW_DEV_FIXTURES: "0", }); assert.equal(fixturesDisabledEnv.MNOTE_WEB_ALLOW_DEV_FIXTURES, "0"); assert.throws( () => buildDevHotEnv({ MNOTE_CONTROL_PLANE_BACKEND: "sqlite", }), /δΈε†ζ”―ζŒ SQLite control-plane fallback/, ); console.log(JSON.stringify({ ok: true, command: env.MNOTE_WEB_CMD }, null, 2));