@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.
- package/dist/db/connection.d.ts +9 -11
- package/dist/db/connection.d.ts.map +1 -1
- package/dist/db/connection.js +10 -10
- package/dist/db/connection.js.map +1 -1
- package/dist/db/migrations.d.ts +2 -2
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +45 -45
- package/dist/db/migrations.js.map +1 -1
- package/dist/lib/uuidv7.d.ts.map +1 -1
- package/dist/lib/uuidv7.js +3 -1
- package/dist/lib/uuidv7.js.map +1 -1
- package/dist/routes/chat.d.ts.map +1 -1
- package/dist/routes/chat.js +4 -3
- package/dist/routes/chat.js.map +1 -1
- package/dist/server.d.ts +2 -2
- package/dist/server.d.ts.map +1 -1
- package/package.json +7 -7
package/dist/db/connection.d.ts
CHANGED
|
@@ -1,26 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SQLite connection via
|
|
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
|
|
8
|
-
import { type
|
|
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 =
|
|
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
|
|
17
|
+
* @returns { db, sqlite } — drizzle instance + raw better-sqlite3 handle
|
|
18
18
|
*/
|
|
19
19
|
export declare function openDatabase(dbPath?: string): {
|
|
20
|
-
db:
|
|
21
|
-
|
|
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,
|
|
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"}
|
package/dist/db/connection.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SQLite connection via
|
|
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
|
|
8
|
-
import { drizzle } from "drizzle-orm/
|
|
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
|
|
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.
|
|
36
|
-
sqlite.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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":"AAAA;;;;;GAKG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"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"}
|
package/dist/db/migrations.d.ts
CHANGED
|
@@ -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
|
|
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,
|
|
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"}
|
package/dist/db/migrations.js
CHANGED
|
@@ -4,7 +4,7 @@ export const migrations = [
|
|
|
4
4
|
id: 1,
|
|
5
5
|
name: "baseline_schema",
|
|
6
6
|
run(db) {
|
|
7
|
-
db.
|
|
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.
|
|
20
|
-
db.
|
|
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.
|
|
30
|
-
db.
|
|
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.
|
|
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.
|
|
59
|
-
db.
|
|
60
|
-
db.
|
|
61
|
-
db.
|
|
62
|
-
db.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
102
|
-
db.
|
|
103
|
-
db.
|
|
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.
|
|
114
|
-
db.
|
|
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.
|
|
131
|
-
db.
|
|
132
|
-
db.
|
|
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.
|
|
142
|
+
db.exec(`ALTER TABLE sessions ADD COLUMN user_id TEXT`);
|
|
143
143
|
}
|
|
144
144
|
catch { /* exists */ }
|
|
145
145
|
try {
|
|
146
|
-
db.
|
|
146
|
+
db.exec(`ALTER TABLE scheduled_jobs ADD COLUMN user_id TEXT`);
|
|
147
147
|
}
|
|
148
148
|
catch { /* exists */ }
|
|
149
149
|
try {
|
|
150
|
-
db.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
230
|
-
db.
|
|
231
|
-
db.
|
|
232
|
-
db.
|
|
233
|
-
db.
|
|
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.
|
|
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.
|
|
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.
|
|
263
|
+
db.exec(`ALTER TABLE agent_threads ADD COLUMN pr_url TEXT`);
|
|
264
264
|
}
|
|
265
265
|
catch { /* exists */ }
|
|
266
266
|
try {
|
|
267
|
-
db.
|
|
267
|
+
db.exec(`ALTER TABLE agent_threads ADD COLUMN pr_number INTEGER`);
|
|
268
268
|
}
|
|
269
269
|
catch { /* exists */ }
|
|
270
270
|
try {
|
|
271
|
-
db.
|
|
271
|
+
db.exec(`ALTER TABLE agent_threads ADD COLUMN pr_title TEXT`);
|
|
272
272
|
}
|
|
273
273
|
catch { /* exists */ }
|
|
274
274
|
try {
|
|
275
|
-
db.
|
|
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.
|
|
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.
|
|
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.
|
|
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,
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/uuidv7.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uuidv7.d.ts","sourceRoot":"","sources":["../../src/lib/uuidv7.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/lib/uuidv7.js
CHANGED
|
@@ -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
|
-
|
|
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;
|
package/dist/lib/uuidv7.js.map
CHANGED
|
@@ -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,
|
|
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":"
|
|
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"}
|
package/dist/routes/chat.js
CHANGED
|
@@ -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:
|
|
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:
|
|
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
|
-
:
|
|
387
|
+
: randomUUID();
|
|
387
388
|
const chatMode = isValidChatMode(body["mode"]) ? body["mode"] : "agent";
|
|
388
389
|
const requestProvider = typeof body["provider"] === "string"
|
|
389
390
|
? body["provider"]
|
package/dist/routes/chat.js.map
CHANGED
|
@@ -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
|
|
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;
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAO9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAuB7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,
|
|
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.
|
|
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": "
|
|
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.
|
|
42
|
-
"@jait/shared": "^0.1.
|
|
43
|
-
"@jait/web": "^0.1.
|
|
44
|
-
"
|
|
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/
|
|
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"
|