@yeaft/webchat-agent 0.1.609 → 0.1.611

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yeaft/webchat-agent",
3
- "version": "0.1.609",
3
+ "version": "0.1.611",
4
4
  "description": "Remote agent for Yeaft WebChat — connects worker machines to the central server",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -13,7 +13,7 @@
13
13
  "dev": "nodemon index.js"
14
14
  },
15
15
  "engines": {
16
- "node": ">=18.0.0"
16
+ "node": ">=22.5.0"
17
17
  },
18
18
  "keywords": [
19
19
  "claude",
@@ -54,7 +54,6 @@
54
54
  "ext": "js"
55
55
  },
56
56
  "dependencies": {
57
- "better-sqlite3": "^11.0.0",
58
57
  "dotenv": "^16.3.1",
59
58
  "tweetnacl": "^1.0.3",
60
59
  "tweetnacl-util": "^0.15.1",
@@ -7,7 +7,7 @@
7
7
  * Reference: server/db/connection.js — Database(path), pragma WAL
8
8
  */
9
9
 
10
- import Database from 'better-sqlite3';
10
+ import { DatabaseSync } from 'node:sqlite';
11
11
  import { randomUUID } from 'crypto';
12
12
  import { statSync } from 'fs';
13
13
 
@@ -80,7 +80,7 @@ function truncate(str, max) {
80
80
  * DebugTrace — SQLite-backed debug trace.
81
81
  */
82
82
  export class DebugTrace {
83
- /** @type {Database.Database} */
83
+ /** @type {import('node:sqlite').DatabaseSync} */
84
84
  #db;
85
85
 
86
86
  /** @type {string} */
@@ -94,9 +94,9 @@ export class DebugTrace {
94
94
  */
95
95
  constructor(dbPath) {
96
96
  this.#dbPath = dbPath;
97
- this.#db = new Database(dbPath);
98
- this.#db.pragma('journal_mode = WAL');
99
- this.#db.pragma('foreign_keys = ON');
97
+ this.#db = new DatabaseSync(dbPath);
98
+ this.#db.exec('PRAGMA journal_mode = WAL');
99
+ this.#db.exec('PRAGMA foreign_keys = ON');
100
100
  this.#db.exec(SCHEMA);
101
101
  }
102
102
 
@@ -282,9 +282,9 @@ export class DebugTrace {
282
282
  * @returns {{ turnCount: number, toolCount: number, eventCount: number, dbSizeBytes: number }}
283
283
  */
284
284
  stats() {
285
- const turnCount = this.#db.prepare('SELECT COUNT(*) as c FROM trace_turns').get().c;
286
- const toolCount = this.#db.prepare('SELECT COUNT(*) as c FROM trace_tools').get().c;
287
- const eventCount = this.#db.prepare('SELECT COUNT(*) as c FROM trace_events').get().c;
285
+ const turnCount = Number(this.#db.prepare('SELECT COUNT(*) as c FROM trace_turns').get().c);
286
+ const toolCount = Number(this.#db.prepare('SELECT COUNT(*) as c FROM trace_tools').get().c);
287
+ const eventCount = Number(this.#db.prepare('SELECT COUNT(*) as c FROM trace_events').get().c);
288
288
  let dbSizeBytes = 0;
289
289
  try {
290
290
  dbSizeBytes = statSync(this.#dbPath).size;
@@ -301,17 +301,17 @@ export class DebugTrace {
301
301
  */
302
302
  cleanup(retentionDays = 30) {
303
303
  const cutoff = Date.now() - retentionDays * 24 * 60 * 60 * 1000;
304
- const deletedTools = this.#db.prepare(`
304
+ const deletedTools = Number(this.#db.prepare(`
305
305
  DELETE FROM trace_tools WHERE turn_id IN (
306
306
  SELECT id FROM trace_turns WHERE started_at < ?
307
307
  )
308
- `).run(cutoff).changes;
309
- const deletedTurns = this.#db.prepare(`
308
+ `).run(cutoff).changes);
309
+ const deletedTurns = Number(this.#db.prepare(`
310
310
  DELETE FROM trace_turns WHERE started_at < ?
311
- `).run(cutoff).changes;
312
- const deletedEvents = this.#db.prepare(`
311
+ `).run(cutoff).changes);
312
+ const deletedEvents = Number(this.#db.prepare(`
313
313
  DELETE FROM trace_events WHERE created_at < ?
314
- `).run(cutoff).changes;
314
+ `).run(cutoff).changes);
315
315
  return { deletedTurns, deletedTools, deletedEvents };
316
316
  }
317
317
 
@@ -333,7 +333,7 @@ export class DebugTrace {
333
333
  * Get or create a prepared statement.
334
334
  * @param {string} key
335
335
  * @param {string} sql
336
- * @returns {Database.Statement}
336
+ * @returns {import('node:sqlite').StatementSync}
337
337
  */
338
338
  #prepare(key, sql) {
339
339
  if (!this.#stmts[key]) {