too-many-cooks 0.6.0 → 0.8.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 (53) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +47 -0
  3. package/build/bin/server.js +18 -3
  4. package/build/bin/server.js.map +1 -1
  5. package/build/src/backend.d.ts +1 -1
  6. package/build/src/backend.d.ts.map +1 -1
  7. package/build/src/backend.js +50 -0
  8. package/build/src/backend.js.map +1 -1
  9. package/build/src/cloud-config.d.ts +1 -1
  10. package/build/src/cloud-config.d.ts.map +1 -1
  11. package/build/src/cloud-config.js +48 -0
  12. package/build/src/cloud-config.js.map +1 -1
  13. package/build/src/config.d.ts +2 -2
  14. package/build/src/config.d.ts.map +1 -1
  15. package/build/src/config.js +1 -1
  16. package/build/src/config.js.map +1 -1
  17. package/build/src/crypto.d.ts +1 -1
  18. package/build/src/crypto.d.ts.map +1 -1
  19. package/build/src/crypto.js +90 -0
  20. package/build/src/crypto.js.map +1 -1
  21. package/build/src/db-cloud.d.ts +1 -1
  22. package/build/src/db-cloud.d.ts.map +1 -1
  23. package/build/src/db-cloud.js +142 -0
  24. package/build/src/db-cloud.js.map +1 -1
  25. package/build/src/db-sqlite.d.ts +1 -1
  26. package/build/src/db-sqlite.d.ts.map +1 -1
  27. package/build/src/db-sqlite.js +7 -1
  28. package/build/src/db-sqlite.js.map +1 -1
  29. package/build/src/encryption-middleware.d.ts +1 -1
  30. package/build/src/encryption-middleware.d.ts.map +1 -1
  31. package/build/src/encryption-middleware.js +144 -0
  32. package/build/src/encryption-middleware.js.map +1 -1
  33. package/build/src/index.d.ts +8 -1
  34. package/build/src/index.d.ts.map +1 -1
  35. package/build/src/index.js +9 -2
  36. package/build/src/index.js.map +1 -1
  37. package/build/src/server.d.ts +3 -3
  38. package/build/src/server.d.ts.map +1 -1
  39. package/build/src/server.js +8 -8
  40. package/build/src/server.js.map +1 -1
  41. package/build/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +4 -4
  43. package/src/backend.ts +88 -0
  44. package/src/cloud-config.ts +84 -0
  45. package/src/config.ts +2 -2
  46. package/src/crypto.ts +149 -0
  47. package/src/db-cloud.ts +305 -0
  48. package/src/db-sqlite.ts +7 -1
  49. package/src/encryption-middleware.ts +244 -0
  50. package/src/index.ts +13 -2
  51. package/src/server.ts +8 -8
  52. package/prisma/migrations/20260315013355_init/migration.sql +0 -45
  53. package/prisma/migrations/migration_lock.toml +0 -3
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 NIMBLESITE PTY LTD
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,47 @@
1
+ # Too Many Cooks
2
+
3
+ Multi-agent coordination MCP server. Lets multiple AI agents safely edit the same codebase simultaneously using file locking, messaging, and shared plans.
4
+
5
+ ## Quick Start
6
+
7
+ ```bash
8
+ # Add to Claude Code over HTTP (Streamable HTTP transport)
9
+ claude mcp add --transport http too-many-cooks http://localhost:4040/mcp
10
+ ```
11
+
12
+ Set `TMC_WORKSPACE` to target a specific workspace folder (defaults to `process.cwd()`).
13
+
14
+ ## Packages
15
+
16
+ | Package | Description |
17
+ |---------|-------------|
18
+ | [too-many-cooks](too-many-cooks/) | MCP server + data layer (TypeScript/Node.js) |
19
+ | [too_many_cooks_vscode_extension](too_many_cooks_vscode_extension/) | VSCode extension for monitoring agent coordination |
20
+
21
+ ## Features
22
+
23
+ - **File locking** - agents acquire/release locks to prevent conflicting edits
24
+ - **Messaging** - agents communicate intent and coordinate via messages
25
+ - **Plans** - agents publish plans so others can see what's happening
26
+ - **Admin dashboard** - VSCode extension with tree views for agents, locks, messages, and plans
27
+ - **Real-time push** - state changes delivered via MCP Streamable HTTP transport
28
+
29
+ ## Project Structure
30
+
31
+ ```
32
+ too-many-cooks/ # MCP server (TypeScript/Node.js)
33
+ too_many_cooks_vscode_extension/ # VSCode extension (TypeScript)
34
+ docs/ # Specification
35
+ website/ # Documentation website (Eleventy)
36
+ scripts/ # Build/test scripts
37
+ ```
38
+
39
+ ## Documentation
40
+
41
+ See the [spec](docs/spec.md) for the full protocol specification.
42
+
43
+ [tmc-mcp.dev](https://tmc-mcp.dev)
44
+
45
+ ## License
46
+
47
+ MIT
@@ -11,14 +11,29 @@ import net from "node:net";
11
11
  import express from "express";
12
12
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
13
13
  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";
15
- import { createDb } from "../src/db-sqlite.js";
14
+ import { LogLevel, createAdminEventHub, createAgentEventHub, createLoggerWithContext, createLoggingContext, createMcpServerForDb, defaultConfig, getServerPort, getWorkspaceFolder, logLevelName, logTransport, pathJoin, registerAdminRoutes, } from "too-many-cooks-core";
15
+ import { createBackend } from "../src/backend.js";
16
16
  /** JSON-RPC bad request error response. */
17
17
  const BAD_REQUEST_JSON = '{"jsonrpc":"2.0","error":{"code":-32000,"message":"Bad Request"},"id":null}';
18
18
  /** JSON-RPC session-not-found error response (404). */
19
19
  const SESSION_NOT_FOUND_JSON = '{"jsonrpc":"2.0","error":{"code":-32001,"message":"Session not found"},"id":null}';
20
+ const installProcessHandlers = (log) => {
21
+ const shutdown = (signal) => {
22
+ log.info("Server shutting down", { signal });
23
+ process.exit(0);
24
+ };
25
+ process.on("SIGTERM", () => { shutdown("SIGTERM"); });
26
+ process.on("SIGINT", () => { shutdown("SIGINT"); });
27
+ process.on("uncaughtException", (err) => {
28
+ log.fatal("Uncaught exception", { error: String(err), stack: err.stack ?? "" });
29
+ });
30
+ process.on("unhandledRejection", (reason) => {
31
+ log.fatal("Unhandled rejection", { error: String(reason) });
32
+ });
33
+ };
20
34
  const main = async () => {
21
35
  const log = createLogger();
36
+ installProcessHandlers(log);
22
37
  log.info("Server starting...");
23
38
  try {
24
39
  await startServer(log);
@@ -78,7 +93,7 @@ const killExistingProcess = async (port, log) => {
78
93
  const startServer = async (log) => {
79
94
  log.info("Creating server...");
80
95
  const cfg = defaultConfig;
81
- const dbResult = createDb(cfg);
96
+ const dbResult = createBackend(cfg, log);
82
97
  if (!dbResult.ok) {
83
98
  throw new Error(dbResult.error);
84
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../bin/server.ts"],"names":[],"mappings":";AACA,8CAA8C;AAC9C,GAAG;AACH,0DAA0D;AAC1D,wDAAwD;AACxD,kEAAkE;AAElE,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,OAAwC,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAEnG,OAAO,EAGL,QAAQ,EAIR,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,2CAA2C;AAC3C,MAAM,gBAAgB,GACpB,6EAA6E,CAAC;AAEhF,uDAAuD;AACvD,MAAM,sBAAsB,GAC1B,mFAAmF,CAAC;AAEtF,MAAM,IAAI,GAAwB,KAAK,IAAmB,EAAE;IAC1D,MAAM,GAAG,GAAW,YAAY,EAAE,CAAC;IACnC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,oBAAoB,GAAW,IAAI,CAAC;AAE1C,sDAAsD;AACtD,MAAM,qBAAqB,GAAW,GAAG,CAAC;AAE1C,qDAAqD;AACrD,MAAM,kBAAkB,GAAW,GAAG,CAAC;AAEvC,gGAAgG;AAChG,qEAAqE;AACrE,MAAM,QAAQ,GAAuC,CAAC,IAAY,EAAoB,EAAE,CACtF,IAAI,OAAO,CAAC,CAAC,OAAiC,EAAQ,EAAE;IACtD,MAAM,MAAM,GAAe,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAmB,UAAU,CAAC,GAAS,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACnH,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAS,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAS,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC;AAEL,qEAAqE;AACrE,MAAM,WAAW,GAAuC,KAAK,EAAE,IAAY,EAAoB,EAAE,CAC/F,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEvB,yFAAyF;AACzF,MAAM,mBAAmB,GAAiD,KAAK,EAAE,IAAY,EAAE,GAAW,EAAiB,EAAE;IAC3H,MAAM,KAAK,GAAY,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QAAA,OAAO;IAAA,CAAC;IACrB,GAAG,CAAC,IAAI,CAAC,uCAAuC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,MAAM,GAAW,QAAQ,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1F,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAAA,OAAO;QAAA,CAAC;QAClC,MAAM,IAAI,GAAsB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,EAAU,EAAE,GAAE,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA,CAAA,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAW,EAAW,EAAE,GAAE,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC,CAAC;QAC/J,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3C,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,KAAK,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,oBAAoB,EAAE,CAAC;YACjD,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAmC,EAAQ,EAAE,GAAG,UAAU,CAAC,GAAS,EAAE,GAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3I,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,qDAAqD,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAmC,KAAK,EAAE,GAAW,EAAiB,EAAE;IACvF,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAE/B,MAAM,GAAG,GAAyB,aAAa,CAAC;IAEhD,MAAM,QAAQ,GAAgC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAAA,CAAC;IACpD,MAAM,EAAE,GAAmB,QAAQ,CAAC,KAAK,CAAC;IAC1C,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE9B,MAAM,UAAU,GAA+C,IAAI,GAAG,EAAyC,CAAC;IAChH,MAAM,QAAQ,GAAkB,mBAAmB,EAAE,CAAC;IACtD,MAAM,QAAQ,GAAkB,mBAAmB,EAAE,CAAC;IAEtD,MAAM,GAAG,GAA+B,OAAO,EAAE,CAAC;IAElD,mBAAmB,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAEvC,+CAA+C;IAC/C,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9E,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7E,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEhF,6BAA6B;IAC7B,MAAM,MAAM,GAAsB,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACnF,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9E,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEjF,MAAM,IAAI,GAAW,aAAa,EAAE,CAAC;IACrC,MAAM,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAS,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,sBAAsB,GAAW,KAAK,CAAC;IAC7C,WAAW,CAAC,GAAS,EAAE,GAAc,CAAC,EAAE,sBAAsB,CAAC,CAAC;IAChE,MAAM,IAAI,OAAO,CAAO,GAAS,EAAE,GAAc,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,mEAAmE;AACnE,MAAM,gBAAgB,GAAyC,CAAC,GAAY,EAAsB,EAAE;IAClG,MAAM,GAAG,GAAkC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3C,CAAC,CAAC;AAEF,2CAA2C;AAC3C,MAAM,WAAW,GAA8B,CAAC,GAAY,EAAW,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AAEnF;;;;GAIG;AACH,MAAM,kBAAkB,GAA2F,CACjH,UAAmB,EAC8C,EAAE,GAA6B,CAAC,CAAC;AAEpG,gEAAgE;AAChE,MAAM,mBAAmB,GAA+B,CAAC,IAAa,EAAW,EAAE;IACjF,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAAA,OAAO,KAAK,CAAC;IAAA,CAAC;IAC9D,MAAM,MAAM,GAAY,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,OAAO,MAAM,KAAK,YAAY,CAAC;AACjC,CAAC,CAAC;AAYF,0DAA0D;AAC1D,MAAM,uBAAuB,GAGjB,CACV,SAAwC,EACxC,GAAsB,EAChB,EAAE;IACR,SAAS,CAAC,OAAO,GAAG,GAAS,EAAE;QAC7B,MAAM,GAAG,GAAuB,SAAS,CAAC,SAAS,CAAC;QACpD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACnD,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3C,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,wEAAwE;AACxE,MAAM,oBAAoB,GAIL,KAAK,EACxB,GAAY,EACZ,GAAa,EACb,GAAsB,EACP,EAAE;IACjB,MAAM,IAAI,GAAY,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,SAAS,GAAkC,IAAI,6BAA6B,CAAC;QACjF,kBAAkB,EAAE,GAAW,EAAE,GAAE,OAAO,MAAM,CAAC,UAAU,EAAE,CAAA,CAAA,CAAC;QAC9D,oBAAoB,EAAE,CAAC,GAAW,EAAQ,EAAE;YAC1C,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACjD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;KACF,CAAC,CAAC;IAEH,uBAAuB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAExC,MAAM,YAAY,GAA4C,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE;QAC3G,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS;QACjC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS;QACjC,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW;QAC1C,YAAY,EAAE,CAAC,SAAiB,EAAQ,EAAE;YACxC,MAAM,GAAG,GAAuB,SAAS,CAAC,SAAS,CAAC;YACpD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IACH,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QAAA,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAAA,CAAC;IAC5D,MAAM,MAAM,GAAc,YAAY,CAAC,KAAK,CAAC;IAC7C,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAuB,SAAS,CAAC,SAAS,CAAC;IACpD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;AACH,CAAC,CAAC;AAEF,yBAAyB;AACzB,MAAM,cAAc,GAEkC,CACpD,GAAsB,EAC4B,EAAE;IACnD,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC3D,MAAM,SAAS,GAAuB,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAY,WAAW,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAA8C,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1F,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC,CAAA;AAAA,CAAC,CAAC;AAEL,+BAA+B;AAC/B,MAAM,mBAAmB,GAG6B,CACpD,UAAsD,EACtD,QAAuB,EAC2B,EAAE;IACnD,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC3D,MAAM,SAAS,GAAuB,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAA8C,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC,CAAA;AAAA,CAAC,CAAC;AAEL,6EAA6E;AAC7E,MAAM,sBAAsB,GAKP,KAAK,EACxB,GAAY,EACZ,GAAa,EACb,GAAkB,EAClB,GAAW,EACI,EAAE;IACjB,MAAM,IAAI,GAAY,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,SAAS,GAAkC,IAAI,6BAA6B,CAAC;QACjF,kBAAkB,EAAE,GAAW,EAAE,GAAE,OAAO,MAAM,CAAC,UAAU,EAAE,CAAA,CAAA,CAAC;QAC9D,oBAAoB,EAAE,CAAC,GAAW,EAAQ,EAAE;YAC1C,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACnD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;KACF,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,GAAG,GAAS,EAAE;QAC7B,MAAM,GAAG,GAAuB,SAAS,CAAC,SAAS,CAAC;QACpD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAc,IAAI,SAAS,CACrC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,EAC5C,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAClC,CAAC;IACF,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAuB,SAAS,CAAC,SAAS,CAAC;IACpD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC,CAAC;AAEF,kCAAkC;AAClC,MAAM,gBAAgB,GAGgC,CACpD,GAAkB,EAClB,GAAW,EACuC,EAAE;IACnD,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC3D,MAAM,SAAS,GAAuB,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAY,WAAW,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAA8C,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1F,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC,CAAA;AAAA,CAAC,CAAC;AAEL,wCAAwC;AACxC,MAAM,qBAAqB,GAE2B,CACpD,GAAkB,EACgC,EAAE;IACnD,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC3D,MAAM,SAAS,GAAuB,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAA8C,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC,CAAA;AAAA,CAAC,CAAC;AAEL,yCAAyC;AACzC,MAAM,YAAY,GAG2B,CAC3C,EAAkD,EAClD,GAAW,EAC8B,EAAE;IAC1C,OAAO,CAAC,GAAY,EAAE,GAAa,EAAQ,EAAE;QAC5C,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAQ,EAAE;YACtC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAA;AAAA,CAAC,CAAC;AAEL,MAAM,kBAAkB,GAAiB,GAAW,EAAE;IACpD,MAAM,OAAO,GAAW,QAAQ,CAAC,CAAC,kBAAkB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,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,YAAY,GAAiB,GAAW,EAAE;IAC9C,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;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,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAU,EAAQ,EAAE;IAChC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../bin/server.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type Logger, type Result, type TooManyCooksDataConfig, type TooManyCooksDb } from "@too-many-cooks/core";
1
+ import { type Logger, type Result, type TooManyCooksDataConfig, type TooManyCooksDb } from "too-many-cooks-core";
2
2
  /** Check whether cloud mode env vars are present. */
3
3
  export declare const isCloudMode: (env: Record<string, string | undefined>) => boolean;
4
4
  /** Create a TooManyCooksDb for the active backend (SQLite or cloud). */
@@ -1 +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"}
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,qBAAqB,CAAC;AAmB7B,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,50 @@
1
+ /// Backend abstraction — creates a TooManyCooksDb from environment.
2
+ ///
3
+ /// If cloud env vars (TMC_API_KEY, TMC_WORKSPACE_ID, TMC_WORKSPACE_SECRET)
4
+ /// are present, creates an encrypted cloud backend. Otherwise, creates SQLite.
5
+ /// Tool handlers are identical regardless of backend.
6
+ import { error, success, } from "too-many-cooks-core";
7
+ import { parseConfig } from "./cloud-config.js";
8
+ import { createCloudDb } from "./db-cloud.js";
9
+ import { createDb } from "./db-sqlite.js";
10
+ import { withEncryption } from "./encryption-middleware.js";
11
+ /** Read process.env without type assertion. */
12
+ const processEnv = () => {
13
+ const result = {};
14
+ for (const key of Object.keys(process.env)) {
15
+ result[key] = process.env[key];
16
+ }
17
+ return result;
18
+ };
19
+ /** Environment variable that signals cloud mode. */
20
+ const CLOUD_MODE_ENV_KEY = "TMC_API_KEY";
21
+ /** Check whether cloud mode env vars are present. */
22
+ export const isCloudMode = (env) => {
23
+ const val = env[CLOUD_MODE_ENV_KEY];
24
+ return val !== undefined && val !== "";
25
+ };
26
+ /** Create a TooManyCooksDb for the active backend (SQLite or cloud). */
27
+ export const createBackend = (config, log, env) => {
28
+ const resolvedEnv = env ?? processEnv();
29
+ return isCloudMode(resolvedEnv)
30
+ ? createCloudBackend(resolvedEnv, log)
31
+ : createLocalBackend(config, log);
32
+ };
33
+ /** Create a local SQLite backend. */
34
+ const createLocalBackend = (config, log) => {
35
+ log.info("Backend: SQLite (local mode)");
36
+ return createDb(config);
37
+ };
38
+ /** Create an encrypted cloud backend. */
39
+ const createCloudBackend = (env, log) => {
40
+ const configResult = parseConfig(env);
41
+ if (!configResult.ok) {
42
+ return error(configResult.error);
43
+ }
44
+ const cfg = configResult.value;
45
+ log.info("Backend: Cloud (encrypted)", { apiUrl: cfg.apiUrl });
46
+ const rawDb = createCloudDb(cfg.apiUrl, cfg.apiKey, cfg.workspaceId);
47
+ const db = withEncryption(rawDb, cfg.currentKey, cfg.keychain);
48
+ return success(db);
49
+ };
50
+ //# sourceMappingURL=backend.js.map
@@ -1 +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"}
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,qBAAqB,CAAC;AAE7B,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"}
@@ -1,4 +1,4 @@
1
- import { type Result } from "@too-many-cooks/core";
1
+ import { type Result } from "too-many-cooks-core";
2
2
  import { type Keychain, type WorkspaceKey } from "./crypto.js";
3
3
  /** Cloud proxy configuration. */
4
4
  export type CloudProxyConfig = {
@@ -1 +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"}
1
+ {"version":3,"file":"cloud-config.d.ts","sourceRoot":"","sources":["../../src/cloud-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,qBAAqB,CAAC;AAElE,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,48 @@
1
+ /// Cloud proxy configuration from environment variables.
2
+ import { error, success } from "too-many-cooks-core";
3
+ import { deriveWorkspaceKey } from "./crypto.js";
4
+ /** Environment variable name for the API key. */
5
+ const ENV_API_KEY = "TMC_API_KEY";
6
+ /** Environment variable name for the workspace ID. */
7
+ const ENV_WORKSPACE_ID = "TMC_WORKSPACE_ID";
8
+ /** Environment variable name for the workspace secret (current). */
9
+ const ENV_WORKSPACE_SECRET = "TMC_WORKSPACE_SECRET";
10
+ /** Environment variable name for the previous workspace secret (rotation). */
11
+ const ENV_WORKSPACE_SECRET_V1 = "TMC_WORKSPACE_SECRET_V1";
12
+ /** Environment variable name for the cloud API URL. */
13
+ const ENV_API_URL = "TMC_API_URL";
14
+ /** Error prefix for missing environment variables. */
15
+ const ERR_MISSING_ENV = "Missing required env var: ";
16
+ /** Default production API URL. */
17
+ const DEFAULT_API_URL = "https://your-project.supabase.co/functions/v1/tmc-api";
18
+ /** Build a keychain from current + optional previous passphrase. */
19
+ const buildKeychain = (currentPassphrase, workspaceId, previousPassphrase) => {
20
+ const currentKey = deriveWorkspaceKey(currentPassphrase, workspaceId);
21
+ const keys = [currentKey];
22
+ if (previousPassphrase !== undefined) {
23
+ keys.push({
24
+ ...deriveWorkspaceKey(previousPassphrase, workspaceId),
25
+ version: currentKey.version - 1,
26
+ });
27
+ }
28
+ return { keychain: keys, currentKey };
29
+ };
30
+ /** Parse and validate cloud proxy config from environment. */
31
+ export const parseConfig = (env) => {
32
+ const apiKey = env[ENV_API_KEY];
33
+ if (apiKey === undefined || apiKey === "") {
34
+ return error(`${ERR_MISSING_ENV}${ENV_API_KEY}`);
35
+ }
36
+ const workspaceId = env[ENV_WORKSPACE_ID];
37
+ if (workspaceId === undefined || workspaceId === "") {
38
+ return error(`${ERR_MISSING_ENV}${ENV_WORKSPACE_ID}`);
39
+ }
40
+ const secret = env[ENV_WORKSPACE_SECRET];
41
+ if (secret === undefined || secret === "") {
42
+ return error(`${ERR_MISSING_ENV}${ENV_WORKSPACE_SECRET}`);
43
+ }
44
+ const apiUrl = env[ENV_API_URL] ?? DEFAULT_API_URL;
45
+ const { keychain, currentKey } = buildKeychain(secret, workspaceId, env[ENV_WORKSPACE_SECRET_V1]);
46
+ return success({ apiKey, workspaceId, apiUrl, keychain, currentKey });
47
+ };
48
+ //# sourceMappingURL=cloud-config.js.map
@@ -1 +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"}
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,qBAAqB,CAAC;AAElE,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"}
@@ -1,5 +1,5 @@
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";
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
3
  /** Server configuration type alias for backwards compatibility. */
4
4
  export type TooManyCooksConfig = TooManyCooksDataConfig;
5
5
  /** Server entry point relative path. */
@@ -1 +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
+ {"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,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,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,7 +1,7 @@
1
1
  /// Configuration for Too Many Cooks MCP server.
2
2
  ///
3
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";
4
+ export { createDataConfig, createDataConfigFromWorkspace, defaultConfig, DEFAULT_PORT as defaultPort, getServerPort, getWorkspaceFolder, resolveDbPath, pathJoin, } from "too-many-cooks-core";
5
5
  /** Server entry point relative path. */
6
6
  export const SERVER_BINARY = "bin/server.ts";
7
7
  /** Node args needed to run the server (tsx loader for TypeScript). */
@@ -1 +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"}
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,qBAAqB,CAAC;AAO7B,wCAAwC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAW,eAAe,CAAC;AAErD,sEAAsE;AACtE,MAAM,CAAC,MAAM,gBAAgB,GAAsB,CAAC,UAAU,EAAE,KAAK,CAAU,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type Result } from "@too-many-cooks/core";
1
+ import { type Result } from "too-many-cooks-core";
2
2
  /** Workspace encryption key with version for key rotation. */
3
3
  export type WorkspaceKey = {
4
4
  readonly version: number;
@@ -1 +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"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,qBAAqB,CAAC;AAmDlE,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,90 @@
1
+ /// E2E encryption module for TMC Cloud.
2
+ ///
3
+ /// Zero-knowledge architecture: all crypto happens LOCAL, never on server.
4
+ /// Uses HKDF-SHA256 for key derivation and AES-256-GCM for encryption.
5
+ import { createCipheriv, createDecipheriv, hkdfSync, randomBytes, } from "node:crypto";
6
+ import { error, success } from "too-many-cooks-core";
7
+ /** Current key version for new encryptions. */
8
+ const CURRENT_KEY_VERSION = 1;
9
+ /** AES-256-GCM algorithm identifier. */
10
+ // eslint-disable-next-line @typescript-eslint/typedef -- literal const; typedef + prefer-as-const conflict
11
+ const ALGORITHM = "aes-256-gcm";
12
+ /** GCM initialization vector length in bytes. */
13
+ const IV_LENGTH = 12;
14
+ /** GCM authentication tag length in bytes. */
15
+ const AUTH_TAG_LENGTH = 16;
16
+ /** Version byte length in the ciphertext envelope. */
17
+ const VERSION_BYTE_LENGTH = 1;
18
+ /** Offset where IV starts in the ciphertext envelope. */
19
+ const IV_OFFSET = VERSION_BYTE_LENGTH;
20
+ /** Offset where auth tag starts in the ciphertext envelope. */
21
+ const AUTH_TAG_OFFSET = IV_OFFSET + IV_LENGTH;
22
+ /** Offset where ciphertext starts in the ciphertext envelope. */
23
+ const CIPHERTEXT_OFFSET = AUTH_TAG_OFFSET + AUTH_TAG_LENGTH;
24
+ /** HKDF hash algorithm. */
25
+ const HKDF_HASH = "sha256";
26
+ /** HKDF info string for workspace key derivation. */
27
+ const HKDF_INFO = "tmc-cloud-workspace-key-v1";
28
+ /** Derived key length in bytes (256 bits). */
29
+ const HKDF_KEY_LENGTH = 32;
30
+ /** Encoding used for plaintext strings. */
31
+ const TEXT_ENCODING = "utf8";
32
+ /** Encoding used for the ciphertext envelope. */
33
+ const ENVELOPE_ENCODING = "base64";
34
+ /** Error message for empty ciphertext input. */
35
+ const ERR_EMPTY_ENVELOPE = "Empty ciphertext envelope";
36
+ /** Error message prefix for unknown key versions. */
37
+ const ERR_UNKNOWN_VERSION_PREFIX = "Unknown key version: ";
38
+ /** Error message for decryption failure. */
39
+ const ERR_DECRYPT_FAILED = "Decryption failed: invalid key or corrupted data";
40
+ /** Derive a workspace key from a passphrase and workspace ID via HKDF. */
41
+ export const deriveWorkspaceKey = (passphrase, workspaceId) => {
42
+ const key = hkdfSync(HKDF_HASH, Buffer.from(passphrase, TEXT_ENCODING), Buffer.from(workspaceId, TEXT_ENCODING), Buffer.from(HKDF_INFO, TEXT_ENCODING), HKDF_KEY_LENGTH);
43
+ return { version: CURRENT_KEY_VERSION, key: Buffer.from(key) };
44
+ };
45
+ /** Encrypt plaintext to a base64 ciphertext envelope.
46
+ * Format: [version:1][iv:12][authTag:16][ciphertext:N] */
47
+ export const encrypt = (plaintext, wk) => {
48
+ const iv = randomBytes(IV_LENGTH);
49
+ const cipher = createCipheriv(ALGORITHM, wk.key, iv);
50
+ const encrypted = Buffer.concat([
51
+ cipher.update(plaintext, TEXT_ENCODING),
52
+ cipher.final(),
53
+ ]);
54
+ const authTag = cipher.getAuthTag();
55
+ const envelope = Buffer.concat([
56
+ Buffer.from([wk.version]),
57
+ iv,
58
+ authTag,
59
+ encrypted,
60
+ ]);
61
+ return envelope.toString(ENVELOPE_ENCODING);
62
+ };
63
+ /** Decrypt a base64 ciphertext envelope back to plaintext. */
64
+ export const decrypt = (blob, keychain) => {
65
+ const data = Buffer.from(blob, ENVELOPE_ENCODING);
66
+ const [version] = [data[0]];
67
+ if (version === undefined) {
68
+ return error(ERR_EMPTY_ENVELOPE);
69
+ }
70
+ const iv = data.subarray(IV_OFFSET, AUTH_TAG_OFFSET);
71
+ const authTag = data.subarray(AUTH_TAG_OFFSET, CIPHERTEXT_OFFSET);
72
+ const ciphertext = data.subarray(CIPHERTEXT_OFFSET);
73
+ const wk = keychain.find((wkEntry) => { return wkEntry.version === version; });
74
+ if (wk === undefined) {
75
+ return error(`${ERR_UNKNOWN_VERSION_PREFIX}${String(version)}`);
76
+ }
77
+ const decipher = createDecipheriv(ALGORITHM, wk.key, iv);
78
+ decipher.setAuthTag(authTag);
79
+ try {
80
+ const decrypted = Buffer.concat([
81
+ decipher.update(ciphertext),
82
+ decipher.final(),
83
+ ]);
84
+ return success(decrypted.toString(TEXT_ENCODING));
85
+ }
86
+ catch {
87
+ return error(ERR_DECRYPT_FAILED);
88
+ }
89
+ };
90
+ //# sourceMappingURL=crypto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { TooManyCooksDb } from "@too-many-cooks/core";
1
+ import type { TooManyCooksDb } from "too-many-cooks-core";
2
2
  /** Create a cloud-backed TooManyCooksDb that calls the Edge Function. */
3
3
  export declare const createCloudDb: (apiUrl: string, apiKey: string, workspaceId: string) => TooManyCooksDb;
4
4
  //# sourceMappingURL=db-cloud.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"db-cloud.d.ts","sourceRoot":"","sources":["../../src/db-cloud.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,cAAc,EAOf,MAAM,qBAAqB,CAAC;AA+Q7B,yEAAyE;AACzE,eAAO,MAAM,aAAa,EAAE,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,KAChB,cAaJ,CAAC"}