@jait/gateway 0.1.1 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,26 +1,24 @@
1
1
  /**
2
- * SQLite connection via bun:sqlite + Drizzle ORM.
2
+ * SQLite connection via better-sqlite3 + Drizzle ORM.
3
3
  *
4
4
  * Database lives at ~/.jait/data/jait.db (created automatically).
5
5
  * For tests, pass ":memory:" as dbPath.
6
6
  */
7
- import { Database } from "bun:sqlite";
8
- import { type BunSQLiteDatabase } from "drizzle-orm/bun-sqlite";
7
+ import Database from "better-sqlite3";
8
+ import { type BetterSQLite3Database } from "drizzle-orm/better-sqlite3";
9
9
  import * as schema from "./schema.js";
10
- export type JaitDB = BunSQLiteDatabase<typeof schema>;
10
+ export type JaitDB = BetterSQLite3Database<typeof schema>;
11
11
  /** Resolve the default DB path: ~/.jait/data/jait.db */
12
12
  export declare function defaultDbPath(): string;
13
13
  /**
14
14
  * Open (or create) the SQLite database and run table creation.
15
15
  *
16
16
  * @param dbPath File path for the SQLite DB, or ":memory:" for tests.
17
- * @returns { db, sqlite } — drizzle instance + raw bun:sqlite handle
17
+ * @returns { db, sqlite } — drizzle instance + raw better-sqlite3 handle
18
18
  */
19
19
  export declare function openDatabase(dbPath?: string): {
20
- db: BunSQLiteDatabase<typeof schema> & {
21
- $client: Database;
22
- };
23
- sqlite: Database;
20
+ db: JaitDB;
21
+ sqlite: Database.Database;
24
22
  };
25
23
  /**
26
24
  * Run DDL to create all tables if they don't already exist.
@@ -29,9 +27,9 @@ export declare function openDatabase(dbPath?: string): {
29
27
  * Migrations are numbered and tracked in a `_migrations` table.
30
28
  * Only new (un-applied) migrations run on each startup — safe for updates.
31
29
  */
32
- export declare function migrateDatabase(sqlite: Database): void;
30
+ export declare function migrateDatabase(sqlite: Database.Database): void;
33
31
  /**
34
32
  * Get the current schema version (highest applied migration ID).
35
33
  */
36
- export declare function getSchemaVersion(sqlite: Database): number;
34
+ export declare function getSchemaVersion(sqlite: Database.Database): number;
37
35
  //# sourceMappingURL=connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAMtC,MAAM,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,MAAM,CAAC,CAAC;AAEtD,wDAAwD;AACxD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM;;;;;EAoB3C;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,QAkC/C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAOzD"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAW,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAMtC,MAAM,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC;AAE1D,wDAAwD;AACxD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAA;CAAE,CAoBvF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,QAiCxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAOlE"}
@@ -1,11 +1,11 @@
1
1
  /**
2
- * SQLite connection via bun:sqlite + Drizzle ORM.
2
+ * SQLite connection via better-sqlite3 + Drizzle ORM.
3
3
  *
4
4
  * Database lives at ~/.jait/data/jait.db (created automatically).
5
5
  * For tests, pass ":memory:" as dbPath.
6
6
  */
7
- import { Database } from "bun:sqlite";
8
- import { drizzle } from "drizzle-orm/bun-sqlite";
7
+ import Database from "better-sqlite3";
8
+ import { drizzle } from "drizzle-orm/better-sqlite3";
9
9
  import * as schema from "./schema.js";
10
10
  import { migrations } from "./migrations.js";
11
11
  import { mkdirSync, existsSync } from "node:fs";
@@ -19,7 +19,7 @@ export function defaultDbPath() {
19
19
  * Open (or create) the SQLite database and run table creation.
20
20
  *
21
21
  * @param dbPath File path for the SQLite DB, or ":memory:" for tests.
22
- * @returns { db, sqlite } — drizzle instance + raw bun:sqlite handle
22
+ * @returns { db, sqlite } — drizzle instance + raw better-sqlite3 handle
23
23
  */
24
24
  export function openDatabase(dbPath) {
25
25
  const resolvedPath = dbPath ?? defaultDbPath();
@@ -32,8 +32,8 @@ export function openDatabase(dbPath) {
32
32
  }
33
33
  const sqlite = new Database(resolvedPath);
34
34
  // Enable WAL mode for better concurrent read performance
35
- sqlite.run("PRAGMA journal_mode = WAL");
36
- sqlite.run("PRAGMA foreign_keys = ON");
35
+ sqlite.pragma("journal_mode = WAL");
36
+ sqlite.pragma("foreign_keys = ON");
37
37
  const db = drizzle(sqlite, { schema });
38
38
  return { db, sqlite };
39
39
  }
@@ -46,7 +46,7 @@ export function openDatabase(dbPath) {
46
46
  */
47
47
  export function migrateDatabase(sqlite) {
48
48
  // Ensure the migrations tracking table exists
49
- sqlite.run(`
49
+ sqlite.exec(`
50
50
  CREATE TABLE IF NOT EXISTS _migrations (
51
51
  id INTEGER PRIMARY KEY,
52
52
  name TEXT NOT NULL,
@@ -54,7 +54,7 @@ export function migrateDatabase(sqlite) {
54
54
  )
55
55
  `);
56
56
  // Load which migrations have already been applied
57
- const applied = new Set(sqlite.query("SELECT id FROM _migrations").all()
57
+ const applied = new Set(sqlite.prepare("SELECT id FROM _migrations").all()
58
58
  .map((r) => r.id));
59
59
  let ran = 0;
60
60
  for (const migration of migrations) {
@@ -63,7 +63,7 @@ export function migrateDatabase(sqlite) {
63
63
  console.log(` Running migration ${migration.id}: ${migration.name}`);
64
64
  migration.run(sqlite);
65
65
  // Record that this migration has been applied
66
- sqlite.run("INSERT INTO _migrations (id, name, applied_at) VALUES (?, ?, ?)", [migration.id, migration.name, new Date().toISOString()]);
66
+ sqlite.prepare("INSERT INTO _migrations (id, name, applied_at) VALUES (?, ?, ?)").run(migration.id, migration.name, new Date().toISOString());
67
67
  ran++;
68
68
  }
69
69
  if (ran > 0) {
@@ -75,7 +75,7 @@ export function migrateDatabase(sqlite) {
75
75
  */
76
76
  export function getSchemaVersion(sqlite) {
77
77
  try {
78
- const row = sqlite.query("SELECT MAX(id) as v FROM _migrations").get();
78
+ const row = sqlite.prepare("SELECT MAX(id) as v FROM _migrations").get();
79
79
  return row?.v ?? 0;
80
80
  }
81
81
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,OAAO,EAA8B,MAAM,4BAA4B,CAAC;AACjF,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,wDAAwD;AACxD,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAe;IAC1C,MAAM,YAAY,GAAG,MAAM,IAAI,aAAa,EAAE,CAAC;IAE/C,mDAAmD;IACnD,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE1C,yDAAyD;IACzD,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAEnC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,MAAyB;IACvD,8CAA8C;IAC9C,MAAM,CAAC,IAAI,CAAC;;;;;;GAMX,CAAC,CAAC;IAEH,kDAAkD;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,CACpB,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,GAAG,EAAuB;SACrE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpB,CAAC;IAEF,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAAE,SAAS;QAExC,OAAO,CAAC,GAAG,CAAC,uBAAuB,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEtB,8CAA8C;QAC9C,MAAM,CAAC,OAAO,CACZ,iEAAiE,CAClE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9D,GAAG,EAAE,CAAC;IACR,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,yCAAyC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;IACtF,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAyB;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAiC,CAAC;QACxG,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
@@ -14,11 +14,11 @@
14
14
  * - Use `CREATE TABLE IF NOT EXISTS` and try/catch `ALTER TABLE` for safety.
15
15
  * - Give each migration a short human-readable `name`.
16
16
  */
17
- import type { Database } from "bun:sqlite";
17
+ import type Database from "better-sqlite3";
18
18
  export interface Migration {
19
19
  id: number;
20
20
  name: string;
21
- run: (db: Database) => void;
21
+ run: (db: Database.Database) => void;
22
22
  }
23
23
  export declare const migrations: Migration[];
24
24
  //# sourceMappingURL=migrations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,EA0SjC,CAAC"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC;CACtC;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,EA0SjC,CAAC"}
@@ -4,7 +4,7 @@ export const migrations = [
4
4
  id: 1,
5
5
  name: "baseline_schema",
6
6
  run(db) {
7
- db.run(`
7
+ db.exec(`
8
8
  CREATE TABLE IF NOT EXISTS sessions (
9
9
  id TEXT PRIMARY KEY,
10
10
  user_id TEXT,
@@ -16,8 +16,8 @@ export const migrations = [
16
16
  metadata TEXT
17
17
  )
18
18
  `);
19
- db.run(`CREATE INDEX IF NOT EXISTS idx_sessions_user_status ON sessions(user_id, status, last_active_at DESC)`);
20
- db.run(`
19
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_sessions_user_status ON sessions(user_id, status, last_active_at DESC)`);
20
+ db.exec(`
21
21
  CREATE TABLE IF NOT EXISTS users (
22
22
  id TEXT PRIMARY KEY,
23
23
  username TEXT NOT NULL UNIQUE,
@@ -26,8 +26,8 @@ export const migrations = [
26
26
  updated_at TEXT NOT NULL
27
27
  )
28
28
  `);
29
- db.run(`CREATE INDEX IF NOT EXISTS idx_users_username ON users(username)`);
30
- db.run(`
29
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_users_username ON users(username)`);
30
+ db.exec(`
31
31
  CREATE TABLE IF NOT EXISTS user_settings (
32
32
  user_id TEXT PRIMARY KEY,
33
33
  theme TEXT NOT NULL DEFAULT 'system',
@@ -36,7 +36,7 @@ export const migrations = [
36
36
  updated_at TEXT NOT NULL
37
37
  )
38
38
  `);
39
- db.run(`
39
+ db.exec(`
40
40
  CREATE TABLE IF NOT EXISTS audit_log (
41
41
  id TEXT PRIMARY KEY,
42
42
  timestamp TEXT NOT NULL,
@@ -55,11 +55,11 @@ export const migrations = [
55
55
  consent_method TEXT
56
56
  )
57
57
  `);
58
- db.run(`CREATE INDEX IF NOT EXISTS idx_audit_action_id ON audit_log(action_id)`);
59
- db.run(`CREATE INDEX IF NOT EXISTS idx_audit_session ON audit_log(session_id, timestamp DESC)`);
60
- db.run(`CREATE INDEX IF NOT EXISTS idx_audit_surface ON audit_log(surface_type, timestamp DESC)`);
61
- db.run(`CREATE INDEX IF NOT EXISTS idx_audit_device ON audit_log(device_id, timestamp DESC)`);
62
- db.run(`
58
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_audit_action_id ON audit_log(action_id)`);
59
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_audit_session ON audit_log(session_id, timestamp DESC)`);
60
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_audit_surface ON audit_log(surface_type, timestamp DESC)`);
61
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_audit_device ON audit_log(device_id, timestamp DESC)`);
62
+ db.exec(`
63
63
  CREATE TABLE IF NOT EXISTS trust_levels (
64
64
  action_type TEXT PRIMARY KEY,
65
65
  approved_count INTEGER DEFAULT 0,
@@ -67,7 +67,7 @@ export const migrations = [
67
67
  current_level INTEGER DEFAULT 0
68
68
  )
69
69
  `);
70
- db.run(`
70
+ db.exec(`
71
71
  CREATE TABLE IF NOT EXISTS consent_log (
72
72
  id TEXT PRIMARY KEY,
73
73
  action_id TEXT NOT NULL,
@@ -77,14 +77,14 @@ export const migrations = [
77
77
  decided_via TEXT
78
78
  )
79
79
  `);
80
- db.run(`
80
+ db.exec(`
81
81
  CREATE TABLE IF NOT EXISTS consent_session_approvals (
82
82
  session_id TEXT PRIMARY KEY,
83
83
  approve_all INTEGER NOT NULL DEFAULT 1,
84
84
  updated_at TEXT NOT NULL
85
85
  )
86
86
  `);
87
- db.run(`
87
+ db.exec(`
88
88
  CREATE TABLE IF NOT EXISTS memories (
89
89
  id TEXT PRIMARY KEY,
90
90
  scope TEXT NOT NULL,
@@ -98,9 +98,9 @@ export const migrations = [
98
98
  expires_at TEXT
99
99
  )
100
100
  `);
101
- db.run(`CREATE INDEX IF NOT EXISTS idx_memories_scope ON memories(scope, created_at)`);
102
- db.run(`CREATE INDEX IF NOT EXISTS idx_memories_expires ON memories(expires_at)`);
103
- db.run(`
101
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_memories_scope ON memories(scope, created_at)`);
102
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_memories_expires ON memories(expires_at)`);
103
+ db.exec(`
104
104
  CREATE TABLE IF NOT EXISTS messages (
105
105
  id TEXT PRIMARY KEY,
106
106
  session_id TEXT NOT NULL,
@@ -110,8 +110,8 @@ export const migrations = [
110
110
  created_at TEXT NOT NULL
111
111
  )
112
112
  `);
113
- db.run(`CREATE INDEX IF NOT EXISTS idx_messages_session ON messages(session_id, created_at)`);
114
- db.run(`
113
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_messages_session ON messages(session_id, created_at)`);
114
+ db.exec(`
115
115
  CREATE TABLE IF NOT EXISTS scheduled_jobs (
116
116
  id TEXT PRIMARY KEY,
117
117
  user_id TEXT,
@@ -127,9 +127,9 @@ export const migrations = [
127
127
  updated_at TEXT NOT NULL
128
128
  )
129
129
  `);
130
- db.run(`CREATE INDEX IF NOT EXISTS idx_scheduled_jobs_enabled ON scheduled_jobs(enabled)`);
131
- db.run(`CREATE INDEX IF NOT EXISTS idx_scheduled_jobs_updated ON scheduled_jobs(updated_at DESC)`);
132
- db.run(`CREATE INDEX IF NOT EXISTS idx_scheduled_jobs_user_updated ON scheduled_jobs(user_id, updated_at DESC)`);
130
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_scheduled_jobs_enabled ON scheduled_jobs(enabled)`);
131
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_scheduled_jobs_updated ON scheduled_jobs(updated_at DESC)`);
132
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_scheduled_jobs_user_updated ON scheduled_jobs(user_id, updated_at DESC)`);
133
133
  },
134
134
  },
135
135
  // ─── 002: Legacy column migrations (safe re-runs) ─────────────────
@@ -139,15 +139,15 @@ export const migrations = [
139
139
  run(db) {
140
140
  // These were the old try/catch ALTER TABLEs — now tracked properly
141
141
  try {
142
- db.run(`ALTER TABLE sessions ADD COLUMN user_id TEXT`);
142
+ db.exec(`ALTER TABLE sessions ADD COLUMN user_id TEXT`);
143
143
  }
144
144
  catch { /* exists */ }
145
145
  try {
146
- db.run(`ALTER TABLE scheduled_jobs ADD COLUMN user_id TEXT`);
146
+ db.exec(`ALTER TABLE scheduled_jobs ADD COLUMN user_id TEXT`);
147
147
  }
148
148
  catch { /* exists */ }
149
149
  try {
150
- db.run(`ALTER TABLE messages ADD COLUMN tool_calls TEXT`);
150
+ db.exec(`ALTER TABLE messages ADD COLUMN tool_calls TEXT`);
151
151
  }
152
152
  catch { /* exists */ }
153
153
  },
@@ -158,7 +158,7 @@ export const migrations = [
158
158
  name: "user_settings_disabled_tools",
159
159
  run(db) {
160
160
  try {
161
- db.run(`ALTER TABLE user_settings ADD COLUMN disabled_tools TEXT`);
161
+ db.exec(`ALTER TABLE user_settings ADD COLUMN disabled_tools TEXT`);
162
162
  }
163
163
  catch { /* exists */ }
164
164
  },
@@ -168,7 +168,7 @@ export const migrations = [
168
168
  id: 4,
169
169
  name: "session_state_table",
170
170
  run(db) {
171
- db.run(`
171
+ db.exec(`
172
172
  CREATE TABLE IF NOT EXISTS session_state (
173
173
  session_id TEXT NOT NULL,
174
174
  key TEXT NOT NULL,
@@ -177,7 +177,7 @@ export const migrations = [
177
177
  PRIMARY KEY (session_id, key)
178
178
  )
179
179
  `);
180
- db.run(`CREATE INDEX IF NOT EXISTS idx_session_state_session ON session_state(session_id)`);
180
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_session_state_session ON session_state(session_id)`);
181
181
  },
182
182
  },
183
183
  // ─── 005: stt_provider in user_settings ────────────────────────────
@@ -186,7 +186,7 @@ export const migrations = [
186
186
  name: "user_settings_stt_provider",
187
187
  run(db) {
188
188
  try {
189
- db.run(`ALTER TABLE user_settings ADD COLUMN stt_provider TEXT NOT NULL DEFAULT 'simulated'`);
189
+ db.exec(`ALTER TABLE user_settings ADD COLUMN stt_provider TEXT NOT NULL DEFAULT 'simulated'`);
190
190
  }
191
191
  catch { /* exists */ }
192
192
  },
@@ -197,7 +197,7 @@ export const migrations = [
197
197
  name: "messages_segments_column",
198
198
  run(db) {
199
199
  try {
200
- db.run(`ALTER TABLE messages ADD COLUMN segments TEXT`);
200
+ db.exec(`ALTER TABLE messages ADD COLUMN segments TEXT`);
201
201
  }
202
202
  catch { /* exists */ }
203
203
  },
@@ -207,7 +207,7 @@ export const migrations = [
207
207
  id: 7,
208
208
  name: "agent_threads_tables",
209
209
  run(db) {
210
- db.run(`
210
+ db.exec(`
211
211
  CREATE TABLE IF NOT EXISTS agent_threads (
212
212
  id TEXT PRIMARY KEY,
213
213
  user_id TEXT,
@@ -226,11 +226,11 @@ export const migrations = [
226
226
  completed_at TEXT
227
227
  )
228
228
  `);
229
- db.run(`CREATE INDEX IF NOT EXISTS idx_agent_threads_user ON agent_threads(user_id)`);
230
- db.run(`CREATE INDEX IF NOT EXISTS idx_agent_threads_session ON agent_threads(session_id)`);
231
- db.run(`CREATE INDEX IF NOT EXISTS idx_agent_threads_status ON agent_threads(status)`);
232
- db.run(`CREATE INDEX IF NOT EXISTS idx_agent_threads_updated ON agent_threads(updated_at)`);
233
- db.run(`
229
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_agent_threads_user ON agent_threads(user_id)`);
230
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_agent_threads_session ON agent_threads(session_id)`);
231
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_agent_threads_status ON agent_threads(status)`);
232
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_agent_threads_updated ON agent_threads(updated_at)`);
233
+ db.exec(`
234
234
  CREATE TABLE IF NOT EXISTS agent_thread_activities (
235
235
  id TEXT PRIMARY KEY,
236
236
  thread_id TEXT NOT NULL,
@@ -240,7 +240,7 @@ export const migrations = [
240
240
  created_at TEXT NOT NULL
241
241
  )
242
242
  `);
243
- db.run(`CREATE INDEX IF NOT EXISTS idx_agent_thread_activities_thread ON agent_thread_activities(thread_id, created_at)`);
243
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_agent_thread_activities_thread ON agent_thread_activities(thread_id, created_at)`);
244
244
  },
245
245
  },
246
246
  // ─── 008: Add chat_provider to user_settings ──────────────────────
@@ -249,7 +249,7 @@ export const migrations = [
249
249
  name: "user_settings_chat_provider",
250
250
  run(db) {
251
251
  try {
252
- db.run(`ALTER TABLE user_settings ADD COLUMN chat_provider TEXT NOT NULL DEFAULT 'jait'`);
252
+ db.exec(`ALTER TABLE user_settings ADD COLUMN chat_provider TEXT NOT NULL DEFAULT 'jait'`);
253
253
  }
254
254
  catch { /* column already exists */ }
255
255
  },
@@ -260,19 +260,19 @@ export const migrations = [
260
260
  name: "agent_threads_pr_metadata",
261
261
  run(db) {
262
262
  try {
263
- db.run(`ALTER TABLE agent_threads ADD COLUMN pr_url TEXT`);
263
+ db.exec(`ALTER TABLE agent_threads ADD COLUMN pr_url TEXT`);
264
264
  }
265
265
  catch { /* exists */ }
266
266
  try {
267
- db.run(`ALTER TABLE agent_threads ADD COLUMN pr_number INTEGER`);
267
+ db.exec(`ALTER TABLE agent_threads ADD COLUMN pr_number INTEGER`);
268
268
  }
269
269
  catch { /* exists */ }
270
270
  try {
271
- db.run(`ALTER TABLE agent_threads ADD COLUMN pr_title TEXT`);
271
+ db.exec(`ALTER TABLE agent_threads ADD COLUMN pr_title TEXT`);
272
272
  }
273
273
  catch { /* exists */ }
274
274
  try {
275
- db.run(`ALTER TABLE agent_threads ADD COLUMN pr_state TEXT`);
275
+ db.exec(`ALTER TABLE agent_threads ADD COLUMN pr_state TEXT`);
276
276
  }
277
277
  catch { /* exists */ }
278
278
  },
@@ -282,7 +282,7 @@ export const migrations = [
282
282
  id: 10,
283
283
  name: "automation_repositories_table",
284
284
  run(db) {
285
- db.run(`
285
+ db.exec(`
286
286
  CREATE TABLE IF NOT EXISTS automation_repositories (
287
287
  id TEXT PRIMARY KEY,
288
288
  user_id TEXT,
@@ -294,7 +294,7 @@ export const migrations = [
294
294
  updated_at TEXT NOT NULL
295
295
  )
296
296
  `);
297
- db.run(`CREATE INDEX IF NOT EXISTS idx_automation_repos_user ON automation_repositories(user_id)`);
297
+ db.exec(`CREATE INDEX IF NOT EXISTS idx_automation_repos_user ON automation_repositories(user_id)`);
298
298
  },
299
299
  },
300
300
  // ─── 011: Add device_id to automation repositories ──────────────
@@ -303,7 +303,7 @@ export const migrations = [
303
303
  name: "automation_repositories_device_id",
304
304
  run(db) {
305
305
  try {
306
- db.run(`ALTER TABLE automation_repositories ADD COLUMN device_id TEXT`);
306
+ db.exec(`ALTER TABLE automation_repositories ADD COLUMN device_id TEXT`);
307
307
  }
308
308
  catch { /* column already exists */ }
309
309
  },
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,sEAAsE;IACtE;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,iBAAiB;QACvB,GAAG,CAAC,EAAE;YACJ,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;OAWN,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,uGAAuG,CAAC,CAAC;YAEhH,EAAE,CAAC,GAAG,CAAC;;;;;;;;OAQN,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;YAE3E,EAAE,CAAC,GAAG,CAAC;;;;;;;;OAQN,CAAC,CAAC;YAEH,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;OAkBN,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;YACjF,EAAE,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC;YAChG,EAAE,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;YAClG,EAAE,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;YAE9F,EAAE,CAAC,GAAG,CAAC;;;;;;;OAON,CAAC,CAAC;YAEH,EAAE,CAAC,GAAG,CAAC;;;;;;;;;OASN,CAAC,CAAC;YAEH,EAAE,CAAC,GAAG,CAAC;;;;;;OAMN,CAAC,CAAC;YAEH,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;;;OAaN,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;YACvF,EAAE,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;YAElF,EAAE,CAAC,GAAG,CAAC;;;;;;;;;OASN,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;YAE9F,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;OAeN,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;YAC3F,EAAE,CAAC,GAAG,CAAC,0FAA0F,CAAC,CAAC;YACnG,EAAE,CAAC,GAAG,CAAC,wGAAwG,CAAC,CAAC;QACnH,CAAC;KACF;IAED,qEAAqE;IACrE;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,yBAAyB;QAC/B,GAAG,CAAC,EAAE;YACJ,mEAAmE;YACnE,IAAI,CAAC;gBAAC,EAAE,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACtF,IAAI,CAAC;gBAAC,EAAE,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC5F,IAAI,CAAC;gBAAC,EAAE,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC3F,CAAC;KACF;IAED,sEAAsE;IACtE;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,8BAA8B;QACpC,GAAG,CAAC,EAAE;YACJ,IAAI,CAAC;gBAAC,EAAE,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACpG,CAAC;KACF;IAED,sEAAsE;IACtE;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,qBAAqB;QAC3B,GAAG,CAAC,EAAE;YACJ,EAAE,CAAC,GAAG,CAAC;;;;;;;;OAQN,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;QAC9F,CAAC;KACF;IACD,sEAAsE;IACtE;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,4BAA4B;QAClC,GAAG,CAAC,EAAE;YACJ,IAAI,CAAC;gBAAC,EAAE,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC/H,CAAC;KACF;IAED,sEAAsE;IACtE;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,0BAA0B;QAChC,GAAG,CAAC,EAAE;YACJ,IAAI,CAAC;gBAAC,EAAE,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACzF,CAAC;KACF;IAED,sEAAsE;IACtE;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,sBAAsB;QAC5B,GAAG,CAAC,EAAE;YACJ,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;OAkBN,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;YACtF,EAAE,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;YAC5F,EAAE,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;YACvF,EAAE,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;YAE5F,EAAE,CAAC,GAAG,CAAC;;;;;;;;;OASN,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,iHAAiH,CAAC,CAAC;QAC5H,CAAC;KACF;IAED,qEAAqE;IACrE;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,6BAA6B;QACnC,GAAG,CAAC,EAAE;YACJ,IAAI,CAAC;gBACH,EAAE,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;YAC5F,CAAC;YAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACzC,CAAC;KACF;IAED,qEAAqE;IACrE;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,2BAA2B;QACjC,GAAG,CAAC,EAAE;YACJ,IAAI,CAAC;gBAAC,EAAE,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC1F,IAAI,CAAC;gBAAC,EAAE,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAChG,IAAI,CAAC;gBAAC,EAAE,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC5F,IAAI,CAAC;gBAAC,EAAE,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC9F,CAAC;KACF;IAED,sEAAsE;IACtE;QACE,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,+BAA+B;QACrC,GAAG,CAAC,EAAE;YACJ,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;OAWN,CAAC,CAAC;YACH,EAAE,CAAC,GAAG,CAAC,0FAA0F,CAAC,CAAC;QACrG,CAAC;KACF;IAED,mEAAmE;IACnE;QACE,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,mCAAmC;QACzC,GAAG,CAAC,EAAE;YACJ,IAAI,CAAC;gBACH,EAAE,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;YAC1E,CAAC;YAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACzC,CAAC;KACF;CAEF,CAAC"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"uuidv7.d.ts","sourceRoot":"","sources":["../../src/lib/uuidv7.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,MAAM,IAAI,MAAM,CA2B/B;AAED,yCAAyC;AACzC,wBAAgB,WAAW,IAAI,MAAM,CAEpC"}
1
+ {"version":3,"file":"uuidv7.d.ts","sourceRoot":"","sources":["../../src/lib/uuidv7.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,MAAM,IAAI,MAAM,CA2B/B;AAED,yCAAyC;AACzC,wBAAgB,WAAW,IAAI,MAAM,CAEpC"}
@@ -1,3 +1,5 @@
1
+ import { webcrypto } from "node:crypto";
2
+ const _crypto = globalThis.crypto ?? webcrypto;
1
3
  /**
2
4
  * UUIDv7 — time-sortable unique identifiers.
3
5
  *
@@ -8,7 +10,7 @@ export function uuidv7() {
8
10
  const now = Date.now();
9
11
  const bytes = new Uint8Array(16);
10
12
  // Fill with random bytes first
11
- crypto.getRandomValues(bytes);
13
+ _crypto.getRandomValues(bytes);
12
14
  // Timestamp: first 48 bits (6 bytes)
13
15
  bytes[0] = (now / 2 ** 40) & 0xff;
14
16
  bytes[1] = (now / 2 ** 32) & 0xff;
@@ -1 +1 @@
1
- {"version":3,"file":"uuidv7.js","sourceRoot":"","sources":["../../src/lib/uuidv7.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,MAAM;IACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAEjC,+BAA+B;IAC/B,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAE9B,qCAAqC;IACrC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IAEtB,oCAAoC;IACpC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAErC,gCAAgC;IAChC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAErC,wBAAwB;IACxB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,EAAE,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"uuidv7.js","sourceRoot":"","sources":["../../src/lib/uuidv7.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,GAAI,UAAU,CAAC,MAAiB,IAAK,SAA+B,CAAC;AAElF;;;;;GAKG;AACH,MAAM,UAAU,MAAM;IACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAEjC,+BAA+B;IAC/B,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAE/B,qCAAqC;IACrC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IAEtB,oCAAoC;IACpC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAErC,gCAAgC;IAChC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAErC,wBAAwB;IACxB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,EAAE,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAoTjE,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,EAAE,CAAC,EAAE,cAAc,CAAC;IACpB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,CACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,KACtD,OAAO,CAAC,UAAU,CAAC,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,SAAS,EACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,EACjC,iBAAiB,CAAC,EAAE,cAAc,QAiyCnC"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAoTjE,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,EAAE,CAAC,EAAE,cAAc,CAAC;IACpB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,CACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,KACtD,OAAO,CAAC,UAAU,CAAC,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,SAAS,EACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,EACjC,iBAAiB,CAAC,EAAE,cAAc,QAiyCnC"}
@@ -1,3 +1,4 @@
1
+ import { randomUUID } from "node:crypto";
1
2
  import { inferContextWindow } from "../config.js";
2
3
  import { FileSystemSurface } from "../surfaces/filesystem.js";
3
4
  import { resolveWorkspaceRoot } from "../tools/core/get-fs.js";
@@ -202,7 +203,7 @@ function persistMessageGlobal(sessionId, role, content, toolCalls, segments) {
202
203
  try {
203
204
  _dbRef.insert(messagesTable)
204
205
  .values({
205
- id: crypto.randomUUID(),
206
+ id: randomUUID(),
206
207
  sessionId,
207
208
  role,
208
209
  content,
@@ -311,7 +312,7 @@ export function registerChatRoutes(app, config, depsOrDb, sessionServiceArg) {
311
312
  try {
312
313
  db.insert(messagesTable)
313
314
  .values({
314
- id: crypto.randomUUID(),
315
+ id: randomUUID(),
315
316
  sessionId,
316
317
  role,
317
318
  content,
@@ -383,7 +384,7 @@ export function registerChatRoutes(app, config, depsOrDb, sessionServiceArg) {
383
384
  ? body["sessionId"]
384
385
  : typeof body["session_id"] === "string"
385
386
  ? body["session_id"]
386
- : crypto.randomUUID();
387
+ : randomUUID();
387
388
  const chatMode = isValidChatMode(body["mode"]) ? body["mode"] : "agent";
388
389
  const requestProvider = typeof body["provider"] === "string"
389
390
  ? body["provider"]
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -20,10 +20,10 @@ import type { SessionStateService } from "./services/session-state.js";
20
20
  import type { ThreadService } from "./services/threads.js";
21
21
  import type { RepositoryService } from "./services/repositories.js";
22
22
  import type { ProviderRegistry } from "./providers/registry.js";
23
- import type { Database } from "bun:sqlite";
23
+ import type Database from "better-sqlite3";
24
24
  export interface ServerDeps {
25
25
  db?: JaitDB;
26
- sqlite?: Database;
26
+ sqlite?: Database.Database;
27
27
  sessionService?: SessionService;
28
28
  userService?: UserService;
29
29
  audit?: AuditWriter;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jait/gateway",
3
- "version": "0.1.1",
3
+ "version": "0.1.4",
4
4
  "description": "Jait AI gateway — local-first AI coding agent with terminal, filesystem, and browser control",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,7 +15,7 @@
15
15
  "scripts": {
16
16
  "build": "tsc",
17
17
  "dev": "bun --watch src/index.ts",
18
- "start": "bun dist/index.js",
18
+ "start": "node dist/index.js",
19
19
  "typecheck": "tsc --noEmit"
20
20
  },
21
21
  "keywords": [
@@ -38,10 +38,10 @@
38
38
  "@fastify/cors": "^11.0.0",
39
39
  "@fastify/static": "^9.0.0",
40
40
  "@fastify/websocket": "^11.0.0",
41
- "@jait/screen-share": "^0.1.1",
42
- "@jait/shared": "^0.1.1",
43
- "@jait/web": "^0.1.1",
44
- "bun-pty": "^0.4.8",
41
+ "@jait/screen-share": "^0.1.4",
42
+ "@jait/shared": "^0.1.4",
43
+ "@jait/web": "^0.1.4",
44
+ "better-sqlite3": "^11.0.0",
45
45
  "dotenv": "^16.4.0",
46
46
  "drizzle-orm": "^0.45.1",
47
47
  "fastify": "^5.2.0",
@@ -53,7 +53,7 @@
53
53
  "ws": "^8.18.0"
54
54
  },
55
55
  "devDependencies": {
56
- "@types/bun": "^1.3.9",
56
+ "@types/better-sqlite3": "^7.6.0",
57
57
  "@types/ws": "^8.5.0",
58
58
  "drizzle-kit": "^0.31.9",
59
59
  "typescript": "^5.7.3"