too-many-cooks 0.7.0 → 0.11.3

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.
Files changed (52) hide show
  1. package/README.md +2 -0
  2. package/build/bin/logger.d.ts +3 -0
  3. package/build/bin/logger.d.ts.map +1 -0
  4. package/build/bin/logger.js +49 -0
  5. package/build/bin/logger.js.map +1 -0
  6. package/build/bin/server.js +43 -47
  7. package/build/bin/server.js.map +1 -1
  8. package/build/src/db-sqlite.d.ts.map +1 -1
  9. package/build/src/db-sqlite.js +75 -45
  10. package/build/src/db-sqlite.js.map +1 -1
  11. package/build/src/migrate.d.ts +9 -7
  12. package/build/src/migrate.d.ts.map +1 -1
  13. package/build/src/migrate.js +31 -90
  14. package/build/src/migrate.js.map +1 -1
  15. package/build/tsconfig.tsbuildinfo +1 -1
  16. package/package.json +15 -4
  17. package/prisma/migrations/{20260315013355_init → 20260325191857_add_message_reads_table}/migration.sql +11 -0
  18. package/prisma/schema.prisma +18 -4
  19. package/coverage/lcov-report/base.css +0 -224
  20. package/coverage/lcov-report/config.ts.html +0 -163
  21. package/coverage/lcov-report/db-sqlite.ts.html +0 -2695
  22. package/coverage/lcov-report/favicon.png +0 -0
  23. package/coverage/lcov-report/index.html +0 -146
  24. package/coverage/lcov-report/migrate.ts.html +0 -367
  25. package/coverage/lcov-report/prettify.css +0 -1
  26. package/coverage/lcov-report/server.ts.html +0 -220
  27. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  28. package/coverage/lcov-report/src/db-sqlite.ts.html +0 -2701
  29. package/coverage/lcov-report/src/index.html +0 -116
  30. package/coverage/lcov.info +0 -1135
  31. package/coverage/tmp/coverage-20666-1773541946341-0.json +0 -1
  32. package/coverage/tmp/coverage-20667-1773541946743-1.json +0 -1
  33. package/coverage/tmp/coverage-20667-1773541946763-0.json +0 -1
  34. package/coverage/tmp/coverage-20671-1773541947001-1.json +0 -1
  35. package/coverage/tmp/coverage-20671-1773541947016-0.json +0 -1
  36. package/coverage/tmp/coverage-20676-1773541947999-1.json +0 -1
  37. package/coverage/tmp/coverage-20676-1773541948018-0.json +0 -1
  38. package/coverage/tmp/coverage-20693-1773541948312-1.json +0 -1
  39. package/coverage/tmp/coverage-20693-1773541948327-0.json +0 -1
  40. package/prisma.config.ts +0 -11
  41. package/src/backend.ts +0 -88
  42. package/src/cloud-config.ts +0 -84
  43. package/src/config.ts +0 -26
  44. package/src/crypto.ts +0 -149
  45. package/src/db-cloud.ts +0 -305
  46. package/src/db-sqlite.ts +0 -1174
  47. package/src/encryption-middleware.ts +0 -244
  48. package/src/index.ts +0 -20
  49. package/src/migrate.ts +0 -128
  50. package/src/server.ts +0 -51
  51. package/tsconfig.json +0 -13
  52. package/tsconfig.test.json +0 -12
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  Multi-agent coordination MCP server. Lets multiple AI agents safely edit the same codebase simultaneously using file locking, messaging, and shared plans.
4
4
 
5
+ ![Too Many Cooks VSCode Extension dashboard](https://raw.githubusercontent.com/Nimblesite/too-many-cooks/main/website/src/assets/images/vsix-dashboard.png)
6
+
5
7
  ## Quick Start
6
8
 
7
9
  ```bash
@@ -0,0 +1,3 @@
1
+ import { type Logger } from "too-many-cooks-core";
2
+ export declare const createLogger: () => Logger;
3
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../bin/logger.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,MAAM,EAQZ,MAAM,qBAAqB,CAAC;AAsC7B,eAAO,MAAM,YAAY,EAAE,MAAM,MAWhC,CAAC"}
@@ -0,0 +1,49 @@
1
+ /// Logger factory for the Too Many Cooks MCP server entry point.
2
+ import fs from "node:fs";
3
+ import { LogLevel, createLoggerWithContext, createLoggingContext, getWorkspaceFolder, logLevelName, logTransport, pathJoin, resolveLogsDir, } from "too-many-cooks-core";
4
+ const resolveLogFilePath = () => {
5
+ const logsDir = resolveLogsDir(getWorkspaceFolder());
6
+ if (!fs.existsSync(logsDir)) {
7
+ fs.mkdirSync(logsDir, { recursive: true });
8
+ }
9
+ const timestamp = new Date()
10
+ .toISOString()
11
+ .replaceAll(":", "-")
12
+ .replaceAll(".", "-");
13
+ return pathJoin([logsDir, `mcp-server-${timestamp}.log`]);
14
+ };
15
+ const formatLogLine = (message) => {
16
+ const level = logLevelName(message.logLevel);
17
+ const data = message.structuredData;
18
+ const dataStr = data !== undefined && Object.keys(data).length > 0
19
+ ? ` ${JSON.stringify(data)}`
20
+ : "";
21
+ return `[TMC] [${message.timestamp.toISOString()}] [${level}] ${message.message}${dataStr}\n`;
22
+ };
23
+ const createConsoleTransport = () => {
24
+ return (message, minimumLogLevel) => {
25
+ if (message.logLevel < minimumLogLevel) {
26
+ return;
27
+ }
28
+ console.error(formatLogLine(message).trimEnd());
29
+ };
30
+ };
31
+ const createFileTransport = (filePath) => {
32
+ return (message, minimumLogLevel) => {
33
+ if (message.logLevel < minimumLogLevel) {
34
+ return;
35
+ }
36
+ fs.appendFileSync(filePath, formatLogLine(message));
37
+ };
38
+ };
39
+ export const createLogger = () => {
40
+ const logFilePath = resolveLogFilePath();
41
+ return createLoggerWithContext(createLoggingContext({
42
+ transports: [
43
+ logTransport(createConsoleTransport()),
44
+ logTransport(createFileTransport(logFilePath)),
45
+ ],
46
+ minimumLogLevel: LogLevel.DEBUG,
47
+ }));
48
+ };
49
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../bin/logger.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAEjE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EACL,QAAQ,EAGR,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,MAAM,kBAAkB,GAAiB,GAAW,EAAE;IACpD,MAAM,OAAO,GAAW,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,SAAS,GAAW,IAAI,IAAI,EAAE;SACjC,WAAW,EAAE;SACb,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,OAAO,QAAQ,CAAC,CAAC,OAAO,EAAE,cAAc,SAAS,MAAM,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,aAAa,GAAoC,CAAC,OAAmB,EAAU,EAAE;IACrF,MAAM,KAAK,GAAW,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,IAAI,GAAkC,OAAO,CAAC,cAAc,CAAC;IACnE,MAAM,OAAO,GACX,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAChD,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAC5B,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,UAAU,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,KAAK,KAAK,OAAO,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC;AAChG,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAC1B,GAA+D,EAAE;IAChE,OAAO,CAAC,OAAmB,EAAE,eAAyB,EAAQ,EAAE;QAC/D,IAAI,OAAO,CAAC,QAAQ,GAAG,eAAe,EAAE,CAAC;YAAA,OAAO;QAAA,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC,CAAA;AAAA,CAAC,CAAC;AAEL,MAAM,mBAAmB,GACvB,CAAC,QAAgB,EAA8D,EAAE;IAChF,OAAO,CAAC,OAAmB,EAAE,eAAyB,EAAQ,EAAE;QAC/D,IAAI,OAAO,CAAC,QAAQ,GAAG,eAAe,EAAE,CAAC;YAAA,OAAO;QAAA,CAAC;QACjD,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC,CAAA;AAAA,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,YAAY,GAAiB,GAAW,EAAE;IACrD,MAAM,WAAW,GAAW,kBAAkB,EAAE,CAAC;IACjD,OAAO,uBAAuB,CAC5B,oBAAoB,CAAC;QACnB,UAAU,EAAE;YACV,YAAY,CAAC,sBAAsB,EAAE,CAAC;YACtC,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;SAC/C;QACD,eAAe,EAAE,QAAQ,CAAC,KAAK;KAChC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -4,21 +4,62 @@
4
4
  /// Starts a single Express HTTP server on port 4040 with:
5
5
  /// - `/mcp` — MCP Streamable HTTP for agent connections
6
6
  /// - `/admin/*` — REST + Streamable HTTP for the VSCode extension
7
+ ///
8
+ /// Implements the deploy-toolkit `--version` contract before anything else.
9
+ {
10
+ const argv = process.argv.slice(2);
11
+ const wantsVersion = argv.includes("--version") || argv.includes("-V");
12
+ if (wantsVersion) {
13
+ const name = "too-many-cooks";
14
+ // Kept in sync with packages/too-many-cooks/package.json `version` and
15
+ // packages/core/src/server.ts SERVER_VERSION by the release pipeline.
16
+ const version = "0.5.0";
17
+ if (argv.includes("--json")) {
18
+ process.stdout.write(`${JSON.stringify({
19
+ manifestVersion: 1,
20
+ name,
21
+ version,
22
+ kind: "mcp",
23
+ language: "typescript",
24
+ product: "too-many-cooks",
25
+ })}\n`);
26
+ }
27
+ else {
28
+ process.stdout.write(`${name} ${version}\n`);
29
+ }
30
+ process.exit(0);
31
+ }
32
+ }
7
33
  import crypto from "node:crypto";
8
34
  import { execSync } from "node:child_process";
9
- import fs from "node:fs";
10
35
  import net from "node:net";
11
36
  import express from "express";
12
37
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
13
38
  import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
14
- import { LogLevel, createAdminEventHub, createAgentEventHub, createLoggerWithContext, createLoggingContext, createMcpServerForDb, defaultConfig, getServerPort, getWorkspaceFolder, logLevelName, logTransport, pathJoin, registerAdminRoutes, } from "too-many-cooks-core";
39
+ import { createAdminEventHub, createAgentEventHub, createMcpServerForDb, defaultConfig, getServerPort, registerAdminRoutes, } from "too-many-cooks-core";
15
40
  import { createBackend } from "../src/backend.js";
41
+ import { createLogger } from "./logger.js";
16
42
  /** JSON-RPC bad request error response. */
17
43
  const BAD_REQUEST_JSON = '{"jsonrpc":"2.0","error":{"code":-32000,"message":"Bad Request"},"id":null}';
18
44
  /** JSON-RPC session-not-found error response (404). */
19
45
  const SESSION_NOT_FOUND_JSON = '{"jsonrpc":"2.0","error":{"code":-32001,"message":"Session not found"},"id":null}';
46
+ const installProcessHandlers = (log) => {
47
+ const shutdown = (signal) => {
48
+ log.info("Server shutting down", { signal });
49
+ process.exit(0);
50
+ };
51
+ process.on("SIGTERM", () => { shutdown("SIGTERM"); });
52
+ process.on("SIGINT", () => { shutdown("SIGINT"); });
53
+ process.on("uncaughtException", (err) => {
54
+ log.fatal("Uncaught exception", { error: String(err), stack: err.stack ?? "" });
55
+ });
56
+ process.on("unhandledRejection", (reason) => {
57
+ log.fatal("Unhandled rejection", { error: String(reason) });
58
+ });
59
+ };
20
60
  const main = async () => {
21
61
  const log = createLogger();
62
+ installProcessHandlers(log);
22
63
  log.info("Server starting...");
23
64
  try {
24
65
  await startServer(log);
@@ -290,51 +331,6 @@ const asyncHandler = (fn, log) => {
290
331
  });
291
332
  };
292
333
  };
293
- const resolveLogFilePath = () => {
294
- const logsDir = pathJoin([getWorkspaceFolder(), "logs"]);
295
- if (!fs.existsSync(logsDir)) {
296
- fs.mkdirSync(logsDir, { recursive: true });
297
- }
298
- const timestamp = new Date()
299
- .toISOString()
300
- .replaceAll(":", "-")
301
- .replaceAll(".", "-");
302
- return pathJoin([logsDir, `mcp-server-${timestamp}.log`]);
303
- };
304
- const createLogger = () => {
305
- const logFilePath = resolveLogFilePath();
306
- return createLoggerWithContext(createLoggingContext({
307
- transports: [
308
- logTransport(createConsoleTransport()),
309
- logTransport(createFileTransport(logFilePath)),
310
- ],
311
- minimumLogLevel: LogLevel.DEBUG,
312
- }));
313
- };
314
- const formatLogLine = (message) => {
315
- const level = logLevelName(message.logLevel);
316
- const data = message.structuredData;
317
- const dataStr = data !== undefined && Object.keys(data).length > 0
318
- ? ` ${JSON.stringify(data)}`
319
- : "";
320
- return `[TMC] [${message.timestamp.toISOString()}] [${level}] ${message.message}${dataStr}\n`;
321
- };
322
- const createConsoleTransport = () => {
323
- return (message, minimumLogLevel) => {
324
- if (message.logLevel < minimumLogLevel) {
325
- return;
326
- }
327
- console.error(formatLogLine(message).trimEnd());
328
- };
329
- };
330
- const createFileTransport = (filePath) => {
331
- return (message, minimumLogLevel) => {
332
- if (message.logLevel < minimumLogLevel) {
333
- return;
334
- }
335
- fs.appendFileSync(filePath, formatLogLine(message));
336
- };
337
- };
338
334
  main().catch((e) => {
339
335
  console.error("Fatal:", e);
340
336
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../bin/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../bin/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"db-sqlite.d.ts","sourceRoot":"","sources":["../../src/db-sqlite.ts"],"names":[],"mappings":"AAUA,OAAO,EAYL,KAAK,MAAM,EAEX,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EAWpB,MAAM,qBAAqB,CAAC;AAuD7B,kDAAkD;AAClD,eAAO,MAAM,QAAQ,EAAE,CACrB,MAAM,EAAE,sBAAsB,EAC9B,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,WAAW,KACtB,MAAM,CAAC,cAAc,EAAE,MAAM,CAkBjC,CAAC"}
1
+ {"version":3,"file":"db-sqlite.d.ts","sourceRoot":"","sources":["../../src/db-sqlite.ts"],"names":[],"mappings":"AAUA,OAAO,EAYL,KAAK,MAAM,EAEX,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EAWpB,MAAM,qBAAqB,CAAC;AA0D7B,kDAAkD;AAClD,eAAO,MAAM,QAAQ,EAAE,CACrB,MAAM,EAAE,sBAAsB,EAC9B,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,WAAW,KACtB,MAAM,CAAC,cAAc,EAAE,MAAM,CAkBjC,CAAC"}
@@ -2,9 +2,9 @@
2
2
  /// SQLite database implementation for Too Many Cooks.
3
3
  import Database from "better-sqlite3";
4
4
  import { randomBytes } from "node:crypto";
5
- import { existsSync, mkdirSync } from "node:fs";
5
+ import { existsSync, mkdirSync, unlinkSync } from "node:fs";
6
6
  import { dirname } from "node:path";
7
- import { applyMigrations, hasMigrationsDir, pushSchemaViaPrisma } from "./migrate.js";
7
+ import { applyMigrations } from "./migrate.js";
8
8
  import { ERR_DATABASE, ERR_LOCK_HELD, ERR_NOT_FOUND, ERR_UNAUTHORIZED, ERR_VALIDATION, agentIdentityFromJson, agentPlanFromJson, createLoggerWithContext, createLoggingContext, defaultRetryPolicy, error, fileLockFromJson, messageFromJson, success, withRetry, } from "too-many-cooks-core";
9
9
  /** Key length in bytes for generating hex keys. */
10
10
  const KEY_BYTE_LENGTH = 32;
@@ -18,6 +18,8 @@ const MAX_AGENT_NAME_LENGTH = 50;
18
18
  const ACTIVE_TRUE = 1;
19
19
  /** Inactive flag value. */
20
20
  const ACTIVE_FALSE = 0;
21
+ /** Broadcast recipient marker. */
22
+ const BROADCAST_RECIPIENT = "*";
21
23
  /** SQLite-specific retryable errors. */
22
24
  const isSqliteRetryable = (err) => err.includes("disk I/O error") ||
23
25
  err.includes("database is locked") ||
@@ -42,7 +44,26 @@ export const createDb = (config, logger, retryPolicy = defaultRetryPolicy) => {
42
44
  log.warn(`Attempt ${String(attempt)} failed (retryable): ${err}. Retrying in ${String(delayMs)}ms...`);
43
45
  });
44
46
  };
45
- /** Try to create and initialize the database. */
47
+ /** Apply Prisma migrations and open the DB. Closes the handle on failure so the file can be unlinked. */
48
+ const openAndInit = (config, log) => {
49
+ try {
50
+ applyMigrations(config.dbPath);
51
+ }
52
+ catch (e) {
53
+ return error(`Prisma migrate deploy failed: ${String(e)}`);
54
+ }
55
+ let db;
56
+ try {
57
+ db = new Database(config.dbPath);
58
+ db.pragma("foreign_keys = ON");
59
+ }
60
+ catch (e) {
61
+ return error(`Failed to open database: ${String(e)}`);
62
+ }
63
+ log.debug("Schema applied via prisma migrate deploy");
64
+ return success(createDbOps(db, config, log));
65
+ };
66
+ /** Try to create and initialize the database. If migration fails on an existing DB, blow it away and retry once. */
46
67
  const tryCreateDb = (config, log) => {
47
68
  const dbDir = dirname(config.dbPath);
48
69
  if (!existsSync(dbDir)) {
@@ -54,36 +75,20 @@ const tryCreateDb = (config, log) => {
54
75
  return error(`Failed to create database directory: ${String(e)}`);
55
76
  }
56
77
  }
57
- if (!hasMigrationsDir()) {
58
- try {
59
- pushSchemaViaPrisma(config.dbPath);
60
- }
61
- catch (e) {
62
- return error(`Failed to push schema via prisma: ${String(e)}`);
63
- }
64
- }
65
- try {
66
- const db = new Database(config.dbPath);
67
- db.pragma("foreign_keys = ON");
68
- return initSchema(db, log, config);
69
- }
70
- catch (e) {
71
- return error(`Failed to open database: ${String(e)}`);
78
+ const first = openAndInit(config, log);
79
+ if (first.ok) {
80
+ return first;
72
81
  }
73
- };
74
- /** Initialize database schema. */
75
- const initSchema = (db, log, config) => {
76
- log.debug("Initializing database schema");
82
+ log.warn(`Schema init failed: ${first.error}. Deleting DB file and starting fresh.`);
77
83
  try {
78
- applyMigrations(db);
79
- log.debug("Schema initialized successfully");
80
- return success(createDbOps(db, config, log));
84
+ if (existsSync(config.dbPath)) {
85
+ unlinkSync(config.dbPath);
86
+ }
81
87
  }
82
88
  catch (e) {
83
- const msg = String(e);
84
- log.error(`Schema initialization failed: ${msg}`);
85
- return error(msg);
89
+ return error(`Failed to delete corrupt DB at ${config.dbPath}: ${String(e)}`);
86
90
  }
91
+ return openAndInit(config, log);
87
92
  };
88
93
  /** Authenticate agent and update last_active timestamp. */
89
94
  const authAndUpdate = (db, agentName, agentKey) => {
@@ -347,26 +352,30 @@ const sendMessage = (db, log, fromAgent, fromKey, toAgent, content, maxLen) => {
347
352
  return error({ code: ERR_DATABASE, message: String(e) });
348
353
  }
349
354
  };
350
- /** Auto-mark fetched messages as read. */
355
+ /** Auto-mark fetched messages as read. Direct messages update read_at; broadcasts insert into message_reads. */
351
356
  const autoMarkRead = (db, log, agentName, messages) => {
352
- const unreadIds = messages
353
- .filter((msg) => msg.readAt === undefined)
354
- .map((msg) => msg.id);
355
- if (unreadIds.length === 0) {
357
+ const unread = messages.filter((msg) => msg.readAt === undefined);
358
+ if (unread.length === 0) {
356
359
  return;
357
360
  }
358
361
  const timestamp = now();
359
362
  try {
360
- const stmt = db.prepare("UPDATE messages SET read_at = ? WHERE id = ? AND to_agent = ? AND read_at IS NULL");
361
- for (const msgId of unreadIds) {
363
+ const directStmt = db.prepare("UPDATE messages SET read_at = ? WHERE id = ? AND to_agent = ? AND read_at IS NULL");
364
+ const broadcastStmt = db.prepare("INSERT OR IGNORE INTO message_reads (message_id, agent_name, read_at) VALUES (?, ?, ?)");
365
+ for (const msg of unread) {
362
366
  try {
363
- stmt.run(timestamp, msgId, agentName);
367
+ if (msg.toAgent === BROADCAST_RECIPIENT) {
368
+ broadcastStmt.run(msg.id, agentName, timestamp);
369
+ }
370
+ else {
371
+ directStmt.run(timestamp, msg.id, agentName);
372
+ }
364
373
  }
365
374
  catch (innerErr) {
366
- log.warn(`Failed to mark message ${msgId} as read: ${String(innerErr)}`);
375
+ log.warn(`Failed to mark message ${msg.id} as read: ${String(innerErr)}`);
367
376
  }
368
377
  }
369
- log.debug(`Auto-marked ${String(unreadIds.length)} messages as read for ${agentName}`);
378
+ log.debug(`Auto-marked ${String(unread.length)} messages as read for ${agentName}`);
370
379
  }
371
380
  catch (e) {
372
381
  log.warn(`Failed to auto-mark messages read: ${String(e)}`);
@@ -380,11 +389,18 @@ const getMessages = (db, log, agentName, agentKey, unreadOnly) => {
380
389
  return authResult;
381
390
  }
382
391
  const sql = unreadOnly
383
- ? "SELECT * FROM messages WHERE (to_agent = ? OR to_agent = '*') AND read_at IS NULL ORDER BY created_at DESC"
392
+ ? `SELECT m.* FROM messages m
393
+ WHERE (m.to_agent = ? AND m.read_at IS NULL)
394
+ OR (m.to_agent = '*'
395
+ AND NOT EXISTS (SELECT 1 FROM message_reads mr WHERE mr.message_id = m.id AND mr.agent_name = ?))
396
+ ORDER BY m.created_at DESC`
384
397
  : "SELECT * FROM messages WHERE (to_agent = ? OR to_agent = '*') ORDER BY created_at DESC";
385
398
  try {
386
399
  const stmt = db.prepare(sql);
387
- const rows = toRows(stmt.all(agentName));
400
+ const params = unreadOnly
401
+ ? [agentName, agentName]
402
+ : [agentName];
403
+ const rows = toRows(stmt.all(...params));
388
404
  const messageList = rows.map(messageFromJson);
389
405
  autoMarkRead(db, log, agentName, messageList);
390
406
  return success(messageList);
@@ -401,11 +417,25 @@ const markRead = (db, log, messageId, agentName, agentKey) => {
401
417
  return authResult;
402
418
  }
403
419
  try {
404
- const stmt = db.prepare("UPDATE messages SET read_at = ? WHERE id = ? AND to_agent = ?");
405
- const result = stmt.run(now(), messageId, agentName);
406
- return result.changes === 0
407
- ? error({ code: ERR_NOT_FOUND, message: "Message not found" })
408
- : success(undefined);
420
+ const msg = toRow(db.prepare("SELECT to_agent FROM messages WHERE id = ?").get(messageId));
421
+ if (msg === undefined) {
422
+ return error({ code: ERR_NOT_FOUND, message: "Message not found" });
423
+ }
424
+ const toAgent = msg.to_agent;
425
+ if (typeof toAgent !== "string") {
426
+ return error({ code: ERR_DATABASE, message: "Invalid to_agent in message" });
427
+ }
428
+ const timestamp = now();
429
+ if (toAgent === BROADCAST_RECIPIENT) {
430
+ db.prepare("INSERT OR IGNORE INTO message_reads (message_id, agent_name, read_at) VALUES (?, ?, ?)").run(messageId, agentName, timestamp);
431
+ }
432
+ else {
433
+ const result = db.prepare("UPDATE messages SET read_at = ? WHERE id = ? AND to_agent = ?").run(timestamp, messageId, agentName);
434
+ if (result.changes === 0) {
435
+ return error({ code: ERR_NOT_FOUND, message: "Message not found" });
436
+ }
437
+ }
438
+ return success(undefined);
409
439
  }
410
440
  catch (e) {
411
441
  return error({ code: ERR_DATABASE, message: String(e) });
@@ -1 +1 @@
1
- {"version":3,"file":"db-sqlite.js","sourceRoot":"","sources":["../../src/db-sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-sqlite.js","sourceRoot":"","sources":["../../src/db-sqlite.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import type Database from "better-sqlite3";
2
- /** True when migration files are present (production/committed migrations). */
3
- export declare const hasMigrationsDir: () => boolean;
4
- /** Push the Prisma schema directly to the database — for dev/CI where migration files are not committed. */
5
- export declare const pushSchemaViaPrisma: (dbPath: string) => void;
6
- /** Apply all pending Prisma migrations to the database. No-op when no migrations dir exists (schema already pushed via prisma db push). */
7
- export declare const applyMigrations: (db: Database.Database) => void;
1
+ /** Sync the SQLite database at `dbPath` to match `prisma/schema.prisma`.
2
+ * Delegates to `prisma db push --accept-data-loss`, which patches schema
3
+ * drift (missing tables, missing columns, etc.) without needing migration
4
+ * history. `--accept-data-loss` is required because dropping/retyping a
5
+ * column is a destructive op; this codebase treats stale schemas as
6
+ * disposable (CLAUDE.md: no legacy DB support).
7
+ * Throws on any failure. Callers (db-sqlite.tryCreateDb) recover by
8
+ * deleting the DB file and retrying. */
9
+ export declare const applyMigrations: (dbPath: string) => void;
8
10
  //# sourceMappingURL=migrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAwC3C,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,EAAE,MAAM,OAAsD,CAAC;AAE5F,4GAA4G;AAC5G,eAAO,MAAM,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAOrD,CAAC;AAsDF,2IAA2I;AAC3I,eAAO,MAAM,eAAe,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,KAAK,IAaxD,CAAC"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":"AA6BA;;;;;;;yCAOyC;AACzC,eAAO,MAAM,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAYjD,CAAC"}