diff --git a/packages/cli/src/commands/init.ts b/packages/cli/src/commands/init.ts index 0603d45..94f223e 100644 --- a/packages/cli/src/commands/init.ts +++ b/packages/cli/src/commands/init.ts @@ -48,9 +48,9 @@ export const cpuUsage = sqliteTable("cpu_usage", { }); `; -const CPU_INDEX_TS = `import { cpus } from "node:os"; +const CPU_INDEX_JS = `import { cpus } from "node:os"; -export async function compute(): Promise { +export async function compute() { const cpuList = cpus(); let totalIdle = 0; @@ -135,13 +135,14 @@ export const initCommand = defineCommand({ } mkdirSync(join(nerveRoot, "data"), { recursive: true }); + mkdirSync(join(nerveRoot, "data", "senses"), { recursive: true }); mkdirSync(join(nerveRoot, "senses", "cpu-usage", "migrations"), { recursive: true }); writeFile(join(nerveRoot, "nerve.yaml"), NERVE_YAML); writeFile(join(nerveRoot, "package.json"), PACKAGE_JSON); writeFile(join(nerveRoot, ".gitignore"), GITIGNORE); writeFile(join(nerveRoot, "senses", "cpu-usage", "schema.ts"), CPU_SCHEMA_TS); - writeFile(join(nerveRoot, "senses", "cpu-usage", "index.ts"), CPU_INDEX_TS); + writeFile(join(nerveRoot, "senses", "cpu-usage", "index.js"), CPU_INDEX_JS); writeFile( join(nerveRoot, "senses", "cpu-usage", "migrations", "0001_init.sql"), CPU_MIGRATION_SQL, diff --git a/packages/daemon/src/sense-runtime.ts b/packages/daemon/src/sense-runtime.ts index 7946f5d..5af7a51 100644 --- a/packages/daemon/src/sense-runtime.ts +++ b/packages/daemon/src/sense-runtime.ts @@ -1,5 +1,5 @@ -import { readFileSync, readdirSync } from "node:fs"; -import { join } from "node:path"; +import { mkdirSync, readFileSync, readdirSync } from "node:fs"; +import { dirname, join } from "node:path"; import Database from "better-sqlite3"; import { drizzle } from "drizzle-orm/better-sqlite3"; @@ -128,6 +128,7 @@ export function openSenseDb( let sqlite: Database.Database; try { + mkdirSync(dirname(dbPath), { recursive: true }); sqlite = new Database(dbPath); // WAL mode for better concurrent read performance sqlite.pragma("journal_mode = WAL");