too-many-cooks 0.4.1 → 0.6.0

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 (93) hide show
  1. package/build/bin/server.d.ts +3 -0
  2. package/build/bin/server.d.ts.map +1 -0
  3. package/build/bin/server.js +138 -103
  4. package/build/bin/server.js.map +1 -0
  5. package/build/src/backend.d.ts +6 -0
  6. package/build/src/backend.d.ts.map +1 -0
  7. package/build/src/backend.js.map +1 -0
  8. package/build/src/cloud-config.d.ts +13 -0
  9. package/build/src/cloud-config.d.ts.map +1 -0
  10. package/build/src/cloud-config.js.map +1 -0
  11. package/build/src/config.d.ts +9 -0
  12. package/build/src/config.d.ts.map +1 -0
  13. package/build/{lib/src → src}/config.js +2 -3
  14. package/build/src/config.js.map +1 -0
  15. package/build/src/crypto.d.ts +16 -0
  16. package/build/src/crypto.d.ts.map +1 -0
  17. package/build/src/crypto.js.map +1 -0
  18. package/build/src/db-cloud.d.ts +4 -0
  19. package/build/src/db-cloud.d.ts.map +1 -0
  20. package/build/src/db-cloud.js.map +1 -0
  21. package/build/src/db-sqlite.d.ts +4 -0
  22. package/build/src/db-sqlite.d.ts.map +1 -0
  23. package/build/{lib/src/data/db.js → src/db-sqlite.js} +91 -62
  24. package/build/src/db-sqlite.js.map +1 -0
  25. package/build/src/encryption-middleware.d.ts +5 -0
  26. package/build/src/encryption-middleware.d.ts.map +1 -0
  27. package/build/src/encryption-middleware.js.map +1 -0
  28. package/build/src/index.d.ts +5 -0
  29. package/build/src/index.d.ts.map +1 -0
  30. package/build/src/index.js +9 -0
  31. package/build/src/index.js.map +1 -0
  32. package/build/src/migrate.d.ts +8 -0
  33. package/build/src/migrate.d.ts.map +1 -0
  34. package/build/src/migrate.js +101 -0
  35. package/build/src/migrate.js.map +1 -0
  36. package/build/src/server.d.ts +5 -0
  37. package/build/src/server.d.ts.map +1 -0
  38. package/build/src/server.js +27 -0
  39. package/build/src/server.js.map +1 -0
  40. package/build/tsconfig.tsbuildinfo +1 -0
  41. package/coverage/lcov-report/base.css +224 -0
  42. package/coverage/lcov-report/config.ts.html +163 -0
  43. package/coverage/lcov-report/db-sqlite.ts.html +2695 -0
  44. package/coverage/lcov-report/favicon.png +0 -0
  45. package/coverage/lcov-report/index.html +146 -0
  46. package/coverage/lcov-report/migrate.ts.html +367 -0
  47. package/coverage/lcov-report/prettify.css +1 -0
  48. package/coverage/lcov-report/server.ts.html +220 -0
  49. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  50. package/coverage/lcov-report/src/db-sqlite.ts.html +2701 -0
  51. package/coverage/lcov-report/src/index.html +116 -0
  52. package/coverage/lcov.info +1135 -0
  53. package/coverage/tmp/coverage-20666-1773541946341-0.json +1 -0
  54. package/coverage/tmp/coverage-20667-1773541946743-1.json +1 -0
  55. package/coverage/tmp/coverage-20667-1773541946763-0.json +1 -0
  56. package/coverage/tmp/coverage-20671-1773541947001-1.json +1 -0
  57. package/coverage/tmp/coverage-20671-1773541947016-0.json +1 -0
  58. package/coverage/tmp/coverage-20676-1773541947999-1.json +1 -0
  59. package/coverage/tmp/coverage-20676-1773541948018-0.json +1 -0
  60. package/coverage/tmp/coverage-20693-1773541948312-1.json +1 -0
  61. package/coverage/tmp/coverage-20693-1773541948327-0.json +1 -0
  62. package/package.json +13 -40
  63. package/prisma/migrations/20260315013355_init/migration.sql +45 -0
  64. package/prisma/migrations/migration_lock.toml +3 -0
  65. package/prisma/schema.prisma +60 -0
  66. package/prisma.config.ts +11 -0
  67. package/src/config.ts +26 -0
  68. package/src/db-sqlite.ts +1168 -0
  69. package/src/index.ts +9 -0
  70. package/src/migrate.ts +128 -0
  71. package/src/server.ts +51 -0
  72. package/tsconfig.json +13 -0
  73. package/tsconfig.test.json +12 -0
  74. package/LICENSE +0 -21
  75. package/build/lib/src/admin_routes.js +0 -179
  76. package/build/lib/src/data/config.js +0 -42
  77. package/build/lib/src/data/data.js +0 -6
  78. package/build/lib/src/data/schema.js +0 -51
  79. package/build/lib/src/data/types.gen.js +0 -100
  80. package/build/lib/src/data/types.js +0 -16
  81. package/build/lib/src/logger.js +0 -57
  82. package/build/lib/src/notifications.js +0 -121
  83. package/build/lib/src/result.js +0 -33
  84. package/build/lib/src/server.js +0 -128
  85. package/build/lib/src/tools/lock_tool.js +0 -182
  86. package/build/lib/src/tools/message_tool.js +0 -139
  87. package/build/lib/src/tools/plan_tool.js +0 -130
  88. package/build/lib/src/tools/register_tool.js +0 -135
  89. package/build/lib/src/tools/status_tool.js +0 -49
  90. package/build/lib/src/tools/tool_utils.js +0 -41
  91. package/build/lib/src/types.js +0 -9
  92. package/build/lib/too_many_cooks.js +0 -12
  93. package/readme.md +0 -308
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../bin/server.ts"],"names":[],"mappings":""}
@@ -7,15 +7,12 @@
7
7
  import crypto from "node:crypto";
8
8
  import { execSync } from "node:child_process";
9
9
  import fs from "node:fs";
10
+ import net from "node:net";
10
11
  import express from "express";
11
12
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
12
13
  import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
13
- import { LogLevel, logLevelName, logTransport, createLoggerWithContext, createLoggingContext, } from "../lib/src/logger.js";
14
- import { defaultConfig, getServerPort, getWorkspaceFolder, pathJoin } from "../lib/src/data/config.js";
15
- import { createDb } from "../lib/src/data/db.js";
16
- import { createAgentEventHub } from "../lib/src/notifications.js";
17
- import { createAdminEventHub, registerAdminRoutes } from "../lib/src/admin_routes.js";
18
- import { createMcpServerForDb } from "../lib/src/server.js";
14
+ import { LogLevel, createAdminEventHub, createAgentEventHub, createLoggerWithContext, createLoggingContext, createMcpServerForDb, defaultConfig, getServerPort, getWorkspaceFolder, logLevelName, logTransport, pathJoin, registerAdminRoutes, } from "@too-many-cooks/core";
15
+ import { createDb } from "../src/db-sqlite.js";
19
16
  /** JSON-RPC bad request error response. */
20
17
  const BAD_REQUEST_JSON = '{"jsonrpc":"2.0","error":{"code":-32000,"message":"Bad Request"},"id":null}';
21
18
  /** JSON-RPC session-not-found error response (404). */
@@ -33,40 +30,49 @@ const main = async () => {
33
30
  };
34
31
  /** Maximum time to wait for port to become free after killing a process. */
35
32
  const PORT_FREE_TIMEOUT_MS = 5000;
36
- /** Check whether a port has any process listening via lsof. */
37
- const isPortFree = (port) => {
38
- try {
39
- const out = execSync(`lsof -ti :${String(port)}`, { encoding: "utf8" }).trim();
40
- return out.length === 0;
41
- }
42
- catch {
43
- return true;
44
- }
45
- };
33
+ /** Timeout for port check connection attempt (ms). */
34
+ const PORT_CHECK_TIMEOUT_MS = 500;
35
+ /** Delay between port-free polls in milliseconds. */
36
+ const PORT_POLL_DELAY_MS = 100;
37
+ /** Perform a raw TCP probe and return a Promise<boolean> (non-async to avoid require-await). */
38
+ // eslint-disable-next-line @typescript-eslint/promise-function-async
39
+ const tcpProbe = (port) => new Promise((resolve) => {
40
+ const socket = net.createConnection({ port, host: "127.0.0.1" });
41
+ const timer = setTimeout(() => { socket.destroy(); resolve(false); }, PORT_CHECK_TIMEOUT_MS);
42
+ socket.once("connect", () => { clearTimeout(timer); socket.destroy(); resolve(true); });
43
+ socket.once("error", () => { clearTimeout(timer); resolve(false); });
44
+ });
45
+ /** Check whether a port is in use by attempting a TCP connection. */
46
+ const isPortInUse = async (port) => await tcpProbe(port);
46
47
  /** Kill any existing process listening on the given port and wait for it to be freed. */
47
- const killExistingProcess = (port, log) => {
48
+ const killExistingProcess = async (port, log) => {
49
+ const inUse = await isPortInUse(port);
50
+ if (!inUse) {
51
+ return;
52
+ }
53
+ log.info("Port in use, killing existing process", { port });
48
54
  try {
49
55
  const output = execSync(`lsof -ti :${String(port)}`, { encoding: "utf8" }).trim();
50
56
  if (output.length === 0) {
51
57
  return;
52
58
  }
53
- const pids = output.split("\n").map((pid) => pid.trim()).filter((pid) => pid.length > 0);
59
+ const pids = output.split("\n").map((pid) => { return pid.trim(); }).filter((pid) => { return pid.length > 0; });
54
60
  for (const pid of pids) {
55
- log.info("Killing existing process on port", { port, pid });
61
+ log.info("Killing process", { port, pid });
56
62
  execSync(`kill -9 ${pid}`);
57
63
  }
58
64
  const start = Date.now();
59
65
  while (Date.now() - start < PORT_FREE_TIMEOUT_MS) {
60
- if (isPortFree(port)) {
66
+ if (!(await isPortInUse(port))) {
61
67
  log.info("Port is now free", { port });
62
68
  return;
63
69
  }
64
- execSync(`sleep 0.1`);
70
+ await new Promise((resolve) => { setTimeout(() => { resolve(undefined); }, PORT_POLL_DELAY_MS); });
65
71
  }
66
72
  log.warn("Port still in use after timeout — proceeding anyway", { port });
67
73
  }
68
74
  catch {
69
- // lsof exits non-zero when no process found — that's fine
75
+ // Lsof exits non-zero when no process found — that's fine
70
76
  }
71
77
  };
72
78
  const startServer = async (log) => {
@@ -93,7 +99,7 @@ const startServer = async (log) => {
93
99
  app.get("/mcp", asyncHandler(mcpGetDeleteHandler(transports, agentHub), log));
94
100
  app.delete("/mcp", asyncHandler(mcpGetDeleteHandler(transports, agentHub), log));
95
101
  const port = getServerPort();
96
- killExistingProcess(port, log);
102
+ await killExistingProcess(port, log);
97
103
  app.listen(port, () => {
98
104
  log.info("Server listening", { port });
99
105
  });
@@ -102,12 +108,25 @@ const startServer = async (log) => {
102
108
  setInterval(() => { }, KEEP_ALIVE_INTERVAL_MS);
103
109
  await new Promise(() => { });
104
110
  };
111
+ /** Extract the mcp-session-id header as a string, or undefined. */
112
+ const extractSessionId = (req) => {
113
+ const raw = req.headers["mcp-session-id"];
114
+ return Array.isArray(raw) ? raw[0] : raw;
115
+ };
116
+ /** Extract the request body as unknown. */
117
+ const extractBody = (req) => req.body;
118
+ /**
119
+ * Assert that a value satisfies both StreamableHTTPServerTransport and Transport.
120
+ * Required due to exactOptionalPropertyTypes incompatibility in @modelcontextprotocol/sdk:
121
+ * Transport.onclose is `() => void` but StreamableHTTPServerTransport.onclose is `(() => void) | undefined`.
122
+ */
123
+ const assertMcpTransport = (_transport) => { };
105
124
  /** Check if a parsed JSON body is an MCP initialize request. */
106
125
  const isInitializeRequest = (body) => {
107
126
  if (typeof body !== "object" || body === null) {
108
127
  return false;
109
128
  }
110
- const { method } = body;
129
+ const method = "method" in body ? body.method : undefined;
111
130
  return method === "initialize";
112
131
  };
113
132
  /** Wire up transport close handler for agent sessions. */
@@ -125,9 +144,9 @@ const wireAgentTransportClose = (transport, ctx) => {
125
144
  };
126
145
  /** Initialize an MCP agent session (POST /mcp with initialize body). */
127
146
  const initializeMcpSession = async (req, res, ctx) => {
128
- const { body } = req;
147
+ const body = extractBody(req);
129
148
  const transport = new StreamableHTTPServerTransport({
130
- sessionIdGenerator: () => crypto.randomUUID(),
149
+ sessionIdGenerator: () => { return crypto.randomUUID(); },
131
150
  onsessioninitialized: (sid) => {
132
151
  ctx.log.info("Session init", { sessionId: sid });
133
152
  ctx.transports.set(sid, transport);
@@ -149,6 +168,7 @@ const initializeMcpSession = async (req, res, ctx) => {
149
168
  throw new Error(serverResult.error);
150
169
  }
151
170
  const server = serverResult.value;
171
+ assertMcpTransport(transport);
152
172
  await server.connect(transport);
153
173
  await transport.handleRequest(req, res, body);
154
174
  const sid = transport.sessionId;
@@ -157,46 +177,50 @@ const initializeMcpSession = async (req, res, ctx) => {
157
177
  }
158
178
  };
159
179
  /** POST /mcp handler. */
160
- const mcpPostHandler = (ctx) => async (req, res) => {
161
- const sessionId = req.headers["mcp-session-id"];
162
- const { body } = req;
163
- if (sessionId !== undefined && ctx.transports.has(sessionId)) {
164
- const existing = ctx.transports.get(sessionId);
165
- if (existing !== undefined) {
166
- await existing.handleRequest(req, res, body);
180
+ const mcpPostHandler = (ctx) => {
181
+ return async (req, res) => {
182
+ const sessionId = extractSessionId(req);
183
+ const body = extractBody(req);
184
+ if (sessionId !== undefined && ctx.transports.has(sessionId)) {
185
+ const existing = ctx.transports.get(sessionId);
186
+ if (existing !== undefined) {
187
+ await existing.handleRequest(req, res, body);
188
+ }
189
+ return;
167
190
  }
168
- return;
169
- }
170
- if (sessionId !== undefined) {
171
- res.status(404).send(SESSION_NOT_FOUND_JSON);
172
- return;
173
- }
174
- if (isInitializeRequest(body)) {
175
- await initializeMcpSession(req, res, ctx);
176
- return;
177
- }
178
- res.status(400).send(BAD_REQUEST_JSON);
191
+ if (sessionId !== undefined) {
192
+ res.status(404).send(SESSION_NOT_FOUND_JSON);
193
+ return;
194
+ }
195
+ if (isInitializeRequest(body)) {
196
+ await initializeMcpSession(req, res, ctx);
197
+ return;
198
+ }
199
+ res.status(400).send(BAD_REQUEST_JSON);
200
+ };
179
201
  };
180
202
  /** GET/DELETE /mcp handler. */
181
- const mcpGetDeleteHandler = (transports, agentHub) => async (req, res) => {
182
- const sessionId = req.headers["mcp-session-id"];
183
- if (sessionId === undefined) {
184
- res.status(400).send("Missing session ID");
185
- return;
186
- }
187
- const transport = transports.get(sessionId);
188
- if (transport === undefined) {
189
- res.status(404).send(SESSION_NOT_FOUND_JSON);
190
- return;
191
- }
192
- agentHub.activeStreamSessions.add(sessionId);
193
- await transport.handleRequest(req, res);
203
+ const mcpGetDeleteHandler = (transports, agentHub) => {
204
+ return async (req, res) => {
205
+ const sessionId = extractSessionId(req);
206
+ if (sessionId === undefined) {
207
+ res.status(400).send("Missing session ID");
208
+ return;
209
+ }
210
+ const transport = transports.get(sessionId);
211
+ if (transport === undefined) {
212
+ res.status(404).send(SESSION_NOT_FOUND_JSON);
213
+ return;
214
+ }
215
+ agentHub.activeStreamSessions.add(sessionId);
216
+ await transport.handleRequest(req, res);
217
+ };
194
218
  };
195
219
  /** Initialize an admin session (POST /admin/events with initialize body). */
196
220
  const initializeAdminSession = async (req, res, hub, log) => {
197
- const { body } = req;
221
+ const body = extractBody(req);
198
222
  const transport = new StreamableHTTPServerTransport({
199
- sessionIdGenerator: () => crypto.randomUUID(),
223
+ sessionIdGenerator: () => { return crypto.randomUUID(); },
200
224
  onsessioninitialized: (sid) => {
201
225
  log.info("Admin session init", { sessionId: sid });
202
226
  hub.transports.set(sid, transport);
@@ -211,6 +235,7 @@ const initializeAdminSession = async (req, res, hub, log) => {
211
235
  }
212
236
  };
213
237
  const server = new McpServer({ name: "too-many-cooks", version: "0.1.0" }, { capabilities: { logging: {} } });
238
+ assertMcpTransport(transport);
214
239
  await server.connect(transport);
215
240
  await transport.handleRequest(req, res, body);
216
241
  const sid = transport.sessionId;
@@ -219,45 +244,51 @@ const initializeAdminSession = async (req, res, hub, log) => {
219
244
  }
220
245
  };
221
246
  /** POST /admin/events handler. */
222
- const adminPostHandler = (hub, log) => async (req, res) => {
223
- const sessionId = req.headers["mcp-session-id"];
224
- const { body } = req;
225
- if (sessionId !== undefined && hub.transports.has(sessionId)) {
226
- const existing = hub.transports.get(sessionId);
227
- if (existing !== undefined) {
228
- await existing.handleRequest(req, res, body);
247
+ const adminPostHandler = (hub, log) => {
248
+ return async (req, res) => {
249
+ const sessionId = extractSessionId(req);
250
+ const body = extractBody(req);
251
+ if (sessionId !== undefined && hub.transports.has(sessionId)) {
252
+ const existing = hub.transports.get(sessionId);
253
+ if (existing !== undefined) {
254
+ await existing.handleRequest(req, res, body);
255
+ }
256
+ return;
229
257
  }
230
- return;
231
- }
232
- if (sessionId !== undefined) {
233
- res.status(404).send(SESSION_NOT_FOUND_JSON);
234
- return;
235
- }
236
- if (isInitializeRequest(body)) {
237
- await initializeAdminSession(req, res, hub, log);
238
- return;
239
- }
240
- res.status(400).send(BAD_REQUEST_JSON);
258
+ if (sessionId !== undefined) {
259
+ res.status(404).send(SESSION_NOT_FOUND_JSON);
260
+ return;
261
+ }
262
+ if (isInitializeRequest(body)) {
263
+ await initializeAdminSession(req, res, hub, log);
264
+ return;
265
+ }
266
+ res.status(400).send(BAD_REQUEST_JSON);
267
+ };
241
268
  };
242
269
  /** GET/DELETE /admin/events handler. */
243
- const adminGetDeleteHandler = (hub) => async (req, res) => {
244
- const sessionId = req.headers["mcp-session-id"];
245
- if (sessionId === undefined) {
246
- res.status(400).send("Missing session ID");
247
- return;
248
- }
249
- const transport = hub.transports.get(sessionId);
250
- if (transport === undefined) {
251
- res.status(404).send(SESSION_NOT_FOUND_JSON);
252
- return;
253
- }
254
- await transport.handleRequest(req, res);
270
+ const adminGetDeleteHandler = (hub) => {
271
+ return async (req, res) => {
272
+ const sessionId = extractSessionId(req);
273
+ if (sessionId === undefined) {
274
+ res.status(400).send("Missing session ID");
275
+ return;
276
+ }
277
+ const transport = hub.transports.get(sessionId);
278
+ if (transport === undefined) {
279
+ res.status(404).send(SESSION_NOT_FOUND_JSON);
280
+ return;
281
+ }
282
+ await transport.handleRequest(req, res);
283
+ };
255
284
  };
256
285
  /** Wrap an async handler for Express. */
257
- const asyncHandler = (fn, log) => (req, res) => {
258
- fn(req, res).catch((e) => {
259
- log.error("Request error", { error: String(e) });
260
- });
286
+ const asyncHandler = (fn, log) => {
287
+ return (req, res) => {
288
+ fn(req, res).catch((e) => {
289
+ log.error("Request error", { error: String(e) });
290
+ });
291
+ };
261
292
  };
262
293
  const resolveLogFilePath = () => {
263
294
  const logsDir = pathJoin([getWorkspaceFolder(), "logs"]);
@@ -288,17 +319,21 @@ const formatLogLine = (message) => {
288
319
  : "";
289
320
  return `[TMC] [${message.timestamp.toISOString()}] [${level}] ${message.message}${dataStr}\n`;
290
321
  };
291
- const createConsoleTransport = () => (message, minimumLogLevel) => {
292
- if (message.logLevel < minimumLogLevel) {
293
- return;
294
- }
295
- console.error(formatLogLine(message).trimEnd());
322
+ const createConsoleTransport = () => {
323
+ return (message, minimumLogLevel) => {
324
+ if (message.logLevel < minimumLogLevel) {
325
+ return;
326
+ }
327
+ console.error(formatLogLine(message).trimEnd());
328
+ };
296
329
  };
297
- const createFileTransport = (filePath) => (message, minimumLogLevel) => {
298
- if (message.logLevel < minimumLogLevel) {
299
- return;
300
- }
301
- fs.appendFileSync(filePath, formatLogLine(message));
330
+ const createFileTransport = (filePath) => {
331
+ return (message, minimumLogLevel) => {
332
+ if (message.logLevel < minimumLogLevel) {
333
+ return;
334
+ }
335
+ fs.appendFileSync(filePath, formatLogLine(message));
336
+ };
302
337
  };
303
338
  main().catch((e) => {
304
339
  console.error("Fatal:", e);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../bin/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type Logger, type Result, type TooManyCooksDataConfig, type TooManyCooksDb } from "@too-many-cooks/core";
2
+ /** Check whether cloud mode env vars are present. */
3
+ export declare const isCloudMode: (env: Record<string, string | undefined>) => boolean;
4
+ /** Create a TooManyCooksDb for the active backend (SQLite or cloud). */
5
+ export declare const createBackend: (config: TooManyCooksDataConfig, log: Logger, env?: Record<string, string | undefined>) => Result<TooManyCooksDb, string>;
6
+ //# sourceMappingURL=backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/backend.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EAGpB,MAAM,sBAAsB,CAAC;AAmB9B,qDAAqD;AACrD,eAAO,MAAM,WAAW,EAAE,CACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KACpC,OAGJ,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,aAAa,EAAE,CAC1B,MAAM,EAAE,sBAAsB,EAC9B,GAAG,EAAE,MAAM,EACX,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KACrC,MAAM,CAAC,cAAc,EAAE,MAAM,CAWjC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/backend.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,GAAG;AACH,2EAA2E;AAC3E,+EAA+E;AAC/E,sDAAsD;AAEtD,OAAO,EAKL,KAAK,EACL,OAAO,GACR,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAyB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,+CAA+C;AAC/C,MAAM,UAAU,GAA6C,GAAuC,EAAE;IACpG,MAAM,MAAM,GAAuC,EAAE,CAAC;IACtD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,oDAAoD;AACpD,MAAM,kBAAkB,GAAW,aAAa,CAAC;AAEjD,qDAAqD;AACrD,MAAM,CAAC,MAAM,WAAW,GAET,CAAC,GAAuC,EAAW,EAAE;IAClE,MAAM,GAAG,GAAuB,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxD,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,CAAC;AACzC,CAAC,CAAC;AAEF,wEAAwE;AACxE,MAAM,CAAC,MAAM,aAAa,GAIY,CACpC,MAA8B,EAC9B,GAAW,EACX,GAAwC,EACR,EAAE;IAClC,MAAM,WAAW,GACf,GAAG,IAAI,UAAU,EAAE,CAAC;IAEtB,OAAO,WAAW,CAAC,WAAW,CAAC;QAC7B,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC;QACtC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,qCAAqC;AACrC,MAAM,kBAAkB,GAGc,CACpC,MAA8B,EAC9B,GAAW,EACqB,EAAE;IAClC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACzC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,yCAAyC;AACzC,MAAM,kBAAkB,GAGc,CACpC,GAAuC,EACvC,GAAW,EACqB,EAAE;IAClC,MAAM,YAAY,GAAqC,WAAW,CAAC,GAAG,CAAC,CAAC;IACxE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QAAC,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAC3D,MAAM,GAAG,GAAqB,YAAY,CAAC,KAAK,CAAC;IAEjD,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAmB,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACrF,MAAM,EAAE,GAAmB,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/E,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;AACrB,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type Result } from "@too-many-cooks/core";
2
+ import { type Keychain, type WorkspaceKey } from "./crypto.js";
3
+ /** Cloud proxy configuration. */
4
+ export type CloudProxyConfig = {
5
+ readonly apiKey: string;
6
+ readonly workspaceId: string;
7
+ readonly apiUrl: string;
8
+ readonly keychain: Keychain;
9
+ readonly currentKey: WorkspaceKey;
10
+ };
11
+ /** Parse and validate cloud proxy config from environment. */
12
+ export declare const parseConfig: (env: Record<string, string | undefined>) => Result<CloudProxyConfig, string>;
13
+ //# sourceMappingURL=cloud-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-config.d.ts","sourceRoot":"","sources":["../../src/cloud-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAsB,MAAM,aAAa,CAAC;AAwBnF,iCAAiC;AACjC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;CACnC,CAAC;AAuBF,8DAA8D;AAC9D,eAAO,MAAM,WAAW,EAAE,CACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KACpC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAsBnC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-config.js","sourceRoot":"","sources":["../../src/cloud-config.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAEzD,OAAO,EAAe,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAoC,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEnF,iDAAiD;AACjD,MAAM,WAAW,GAAW,aAAa,CAAC;AAE1C,sDAAsD;AACtD,MAAM,gBAAgB,GAAW,kBAAkB,CAAC;AAEpD,oEAAoE;AACpE,MAAM,oBAAoB,GAAW,sBAAsB,CAAC;AAE5D,8EAA8E;AAC9E,MAAM,uBAAuB,GAAW,yBAAyB,CAAC;AAElE,uDAAuD;AACvD,MAAM,WAAW,GAAW,aAAa,CAAC;AAE1C,sDAAsD;AACtD,MAAM,eAAe,GAAW,4BAA4B,CAAC;AAE7D,kCAAkC;AAClC,MAAM,eAAe,GACnB,uDAAuD,CAAC;AAW1D,oEAAoE;AACpE,MAAM,aAAa,GAIuD,CACxE,iBAAyB,EACzB,WAAmB,EACnB,kBAAsC,EAC8B,EAAE;IACtE,MAAM,UAAU,GAAiB,kBAAkB,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IACpF,MAAM,IAAI,GAAmB,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC;YACR,GAAG,kBAAkB,CAAC,kBAAkB,EAAE,WAAW,CAAC;YACtD,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACxC,CAAC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,WAAW,GAEgB,CACtC,GAAuC,EACL,EAAE;IACpC,MAAM,MAAM,GAAuB,GAAG,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC,GAAG,eAAe,GAAG,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,WAAW,GAAuB,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9D,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC,GAAG,eAAe,GAAG,gBAAgB,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,MAAM,GAAuB,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC7D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC,GAAG,eAAe,GAAG,oBAAoB,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAW,GAAG,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC;IAC3D,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAuE,aAAa,CAChH,MAAM,EACN,WAAW,EACX,GAAG,CAAC,uBAAuB,CAAC,CAC7B,CAAC;IACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { type TooManyCooksDataConfig, createDataConfig, createDataConfigFromWorkspace, defaultConfig, DEFAULT_PORT as defaultPort, getServerPort, getWorkspaceFolder, resolveDbPath, pathJoin, } from "@too-many-cooks/core";
2
+ import type { TooManyCooksDataConfig } from "@too-many-cooks/core";
3
+ /** Server configuration type alias for backwards compatibility. */
4
+ export type TooManyCooksConfig = TooManyCooksDataConfig;
5
+ /** Server entry point relative path. */
6
+ export declare const SERVER_BINARY: string;
7
+ /** Node args needed to run the server (tsx loader for TypeScript). */
8
+ export declare const SERVER_NODE_ARGS: readonly string[];
9
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,sBAAsB,EAC3B,gBAAgB,EAChB,6BAA6B,EAC7B,aAAa,EACb,YAAY,IAAI,WAAW,EAC3B,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEnE,mEAAmE;AACnE,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAExD,wCAAwC;AACxC,eAAO,MAAM,aAAa,EAAE,MAAwB,CAAC;AAErD,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAAiC,CAAC"}
@@ -1,8 +1,7 @@
1
1
  /// Configuration for Too Many Cooks MCP server.
2
2
  ///
3
- /// Database path resolution
4
- /// lives in the data package to guarantee a single source of truth.
5
- export { createDataConfig, createDataConfigFromWorkspace, defaultConfig, DEFAULT_PORT as defaultPort, getServerPort, getWorkspaceFolder, resolveDbPath, } from "./data/data.js";
3
+ /// Re-exports core config and adds local-specific constants.
4
+ export { createDataConfig, createDataConfigFromWorkspace, defaultConfig, DEFAULT_PORT as defaultPort, getServerPort, getWorkspaceFolder, resolveDbPath, pathJoin, } from "@too-many-cooks/core";
6
5
  /** Server entry point relative path. */
7
6
  export const SERVER_BINARY = "bin/server.ts";
8
7
  /** Node args needed to run the server (tsx loader for TypeScript). */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,GAAG;AACH,6DAA6D;AAE7D,OAAO,EAEL,gBAAgB,EAChB,6BAA6B,EAC7B,aAAa,EACb,YAAY,IAAI,WAAW,EAC3B,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAO9B,wCAAwC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAW,eAAe,CAAC;AAErD,sEAAsE;AACtE,MAAM,CAAC,MAAM,gBAAgB,GAAsB,CAAC,UAAU,EAAE,KAAK,CAAU,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type Result } from "@too-many-cooks/core";
2
+ /** Workspace encryption key with version for key rotation. */
3
+ export type WorkspaceKey = {
4
+ readonly version: number;
5
+ readonly key: Buffer;
6
+ };
7
+ /** Keychain containing one or more workspace keys for decryption. */
8
+ export type Keychain = readonly WorkspaceKey[];
9
+ /** Derive a workspace key from a passphrase and workspace ID via HKDF. */
10
+ export declare const deriveWorkspaceKey: (passphrase: string, workspaceId: string) => WorkspaceKey;
11
+ /** Encrypt plaintext to a base64 ciphertext envelope.
12
+ * Format: [version:1][iv:12][authTag:16][ciphertext:N] */
13
+ export declare const encrypt: (plaintext: string, wk: WorkspaceKey) => string;
14
+ /** Decrypt a base64 ciphertext envelope back to plaintext. */
15
+ export declare const decrypt: (blob: string, keychain: Keychain) => Result<string, string>;
16
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,sBAAsB,CAAC;AAmDnE,8DAA8D;AAC9D,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,QAAQ,GAAG,SAAS,YAAY,EAAE,CAAC;AAE/C,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,EAAE,CAC/B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,KAChB,YAYJ,CAAC;AAEF;2DAC2D;AAC3D,eAAO,MAAM,OAAO,EAAE,CACpB,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,YAAY,KACb,MAkBJ,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,OAAO,EAAE,CACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,KACf,MAAM,CAAC,MAAM,EAAE,MAAM,CA2BzB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { TooManyCooksDb } from "@too-many-cooks/core";
2
+ /** Create a cloud-backed TooManyCooksDb that calls the Edge Function. */
3
+ export declare const createCloudDb: (apiUrl: string, apiKey: string, workspaceId: string) => TooManyCooksDb;
4
+ //# sourceMappingURL=db-cloud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-cloud.d.ts","sourceRoot":"","sources":["../../src/db-cloud.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,cAAc,EAOf,MAAM,sBAAsB,CAAC;AA+Q9B,yEAAyE;AACzE,eAAO,MAAM,aAAa,EAAE,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,KAChB,cAaJ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-cloud.js","sourceRoot":"","sources":["../../src/db-cloud.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type Logger, type Result, type RetryPolicy, type TooManyCooksDataConfig, type TooManyCooksDb } from "@too-many-cooks/core";
2
+ /** Create database instance with retry policy. */
3
+ export declare const createDb: (config: TooManyCooksDataConfig, logger?: Logger, retryPolicy?: RetryPolicy) => Result<TooManyCooksDb, string>;
4
+ //# sourceMappingURL=db-sqlite.d.ts.map
@@ -0,0 +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,sBAAsB,CAAC;AAuD9B,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"}