@data-club/ai-hub-server 0.0.9 → 0.0.10

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 (83) hide show
  1. package/dist/auth/encryption.d.ts +5 -5
  2. package/dist/auth/encryption.js +5 -5
  3. package/dist/auth/userView.d.ts +8 -15
  4. package/dist/auth/userView.d.ts.map +1 -1
  5. package/dist/auth/userView.js +10 -23
  6. package/dist/auth/userView.js.map +1 -1
  7. package/dist/bootstrap.d.ts +2 -8
  8. package/dist/bootstrap.d.ts.map +1 -1
  9. package/dist/bootstrap.js +2 -35
  10. package/dist/bootstrap.js.map +1 -1
  11. package/dist/db/migrate.js +0 -17
  12. package/dist/db/migrate.js.map +1 -1
  13. package/dist/db/schema.d.ts +0 -263
  14. package/dist/db/schema.d.ts.map +1 -1
  15. package/dist/db/schema.js +0 -57
  16. package/dist/db/schema.js.map +1 -1
  17. package/dist/db/seed.d.ts +4 -19
  18. package/dist/db/seed.d.ts.map +1 -1
  19. package/dist/db/seed.js +6 -33
  20. package/dist/db/seed.js.map +1 -1
  21. package/dist/handlers/fetch.d.ts +6 -7
  22. package/dist/handlers/fetch.d.ts.map +1 -1
  23. package/dist/handlers/fetch.js +0 -2
  24. package/dist/handlers/fetch.js.map +1 -1
  25. package/dist/handlers/types.d.ts +5 -6
  26. package/dist/handlers/types.d.ts.map +1 -1
  27. package/dist/letta/client.d.ts +86 -263
  28. package/dist/letta/client.d.ts.map +1 -1
  29. package/dist/letta/client.js +99 -404
  30. package/dist/letta/client.js.map +1 -1
  31. package/dist/letta/index.d.ts +6 -8
  32. package/dist/letta/index.d.ts.map +1 -1
  33. package/dist/letta/index.js +5 -7
  34. package/dist/letta/index.js.map +1 -1
  35. package/dist/letta/sandbox.d.ts +45 -9
  36. package/dist/letta/sandbox.d.ts.map +1 -1
  37. package/dist/letta/sandbox.js +123 -11
  38. package/dist/letta/sandbox.js.map +1 -1
  39. package/dist/letta/types.d.ts +6 -49
  40. package/dist/letta/types.d.ts.map +1 -1
  41. package/dist/letta/types.js +5 -10
  42. package/dist/letta/types.js.map +1 -1
  43. package/dist/observability/logger.d.ts.map +1 -1
  44. package/dist/observability/logger.js +0 -2
  45. package/dist/observability/logger.js.map +1 -1
  46. package/dist/routes/admin/agents.d.ts.map +1 -1
  47. package/dist/routes/admin/agents.js +0 -40
  48. package/dist/routes/admin/agents.js.map +1 -1
  49. package/dist/routes/admin/settings.d.ts +6 -15
  50. package/dist/routes/admin/settings.d.ts.map +1 -1
  51. package/dist/routes/admin/settings.js +9 -107
  52. package/dist/routes/admin/settings.js.map +1 -1
  53. package/dist/routes/auth.d.ts +0 -4
  54. package/dist/routes/auth.d.ts.map +1 -1
  55. package/dist/routes/auth.js +1 -5
  56. package/dist/routes/auth.js.map +1 -1
  57. package/dist/routes/sessions.d.ts.map +1 -1
  58. package/dist/routes/sessions.js +9 -30
  59. package/dist/routes/sessions.js.map +1 -1
  60. package/dist/state/turnRunner.d.ts.map +1 -1
  61. package/dist/state/turnRunner.js +1 -75
  62. package/dist/state/turnRunner.js.map +1 -1
  63. package/package.json +4 -4
  64. package/src/auth/encryption.ts +5 -5
  65. package/src/auth/userView.ts +9 -22
  66. package/src/bootstrap.ts +4 -43
  67. package/src/db/migrate.ts +0 -17
  68. package/src/db/schema.ts +0 -68
  69. package/src/db/seed.ts +6 -47
  70. package/src/handlers/fetch.ts +6 -9
  71. package/src/handlers/types.ts +5 -6
  72. package/src/letta/client.ts +170 -634
  73. package/src/letta/index.ts +8 -21
  74. package/src/letta/sandbox.ts +151 -11
  75. package/src/letta/types.ts +9 -60
  76. package/src/observability/logger.ts +0 -2
  77. package/src/routes/admin/agents.ts +0 -49
  78. package/src/routes/admin/settings.ts +9 -113
  79. package/src/routes/auth.ts +1 -5
  80. package/src/routes/sessions.ts +11 -32
  81. package/src/state/turnRunner.ts +1 -77
  82. package/src/letta/lettaCliShim.mjs +0 -40
  83. package/src/letta/settingsFileSeed.ts +0 -254
@@ -1,13 +1,11 @@
1
1
  /**
2
2
  * Public exports for the `letta/` module — the single entry point the rest
3
- * of the server uses to reach Letta. Per §6.4, **every Letta interaction
4
- * goes through `LettaClient`**; no raw HTTP, no other entry points.
5
- *
6
- * @see SPECIFICATIONS.md §6.4
3
+ * of the server uses to reach Letta. Every Letta interaction goes through
4
+ * `LettaClient` (implemented over `@data-club/letta-runtime`'s server-less
5
+ * local backend); no raw HTTP, no other entry points.
7
6
  */
8
- export { createDefaultLettaClient, type CreateLettaClientDeps, type LettaClient, type StreamUserMessageOpts, } from "./client.js";
7
+ export { createDefaultLettaClient, ForkSourceNotFoundError, ServerOverloadedError, type ChatTurnHandle, type CreateLettaClientDeps, type LettaClient, type LettaMessage, type StreamUserMessageOpts, } from "./client.js";
9
8
  export { finalizeAssistantMessage, finalizeTerminal, initialTranslatorState, translateSdkMessage, type TranslateStep, type TranslatorState, type UnsequencedEvent, } from "./eventTranslator.js";
10
- export { ServerOverloadedError, SubprocessThrottle, readThrottleConfigFromEnv, type ThrottleConfig, type ThrottleLease, } from "./subprocessThrottle.js";
11
- export { seedAgentToolsetNone, type SeedOutcome, type ToolsetPreference, } from "./settingsFileSeed.js";
12
- export type { LettaAssistantMessage, LettaHiddenReasoningMessage, LettaMessage, LettaReasoningMessage, LettaSdk, LettaStreamEvent, LettaToolCallMessage, LettaToolReturnMessage, LettaUserMessage, } from "./types.js";
9
+ export { SubprocessThrottle, readThrottleConfigFromEnv, type ThrottleConfig, type ThrottleLease, } from "./subprocessThrottle.js";
10
+ export type { SDKMessage } from "./types.js";
13
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/letta/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACZ,qBAAqB,EACrB,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/letta/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
@@ -1,12 +1,10 @@
1
1
  /**
2
2
  * Public exports for the `letta/` module — the single entry point the rest
3
- * of the server uses to reach Letta. Per §6.4, **every Letta interaction
4
- * goes through `LettaClient`**; no raw HTTP, no other entry points.
5
- *
6
- * @see SPECIFICATIONS.md §6.4
3
+ * of the server uses to reach Letta. Every Letta interaction goes through
4
+ * `LettaClient` (implemented over `@data-club/letta-runtime`'s server-less
5
+ * local backend); no raw HTTP, no other entry points.
7
6
  */
8
- export { createDefaultLettaClient, } from "./client.js";
7
+ export { createDefaultLettaClient, ForkSourceNotFoundError, ServerOverloadedError, } from "./client.js";
9
8
  export { finalizeAssistantMessage, finalizeTerminal, initialTranslatorState, translateSdkMessage, } from "./eventTranslator.js";
10
- export { ServerOverloadedError, SubprocessThrottle, readThrottleConfigFromEnv, } from "./subprocessThrottle.js";
11
- export { seedAgentToolsetNone, } from "./settingsFileSeed.js";
9
+ export { SubprocessThrottle, readThrottleConfigFromEnv, } from "./subprocessThrottle.js";
12
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/letta/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,wBAAwB,GAIzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,GAIpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,GAG1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,GAGrB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/letta/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GAMtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,GAIpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAG1B,MAAM,yBAAyB,CAAC"}
@@ -62,16 +62,52 @@ export declare function resolveSandboxDir(filesDir: string, sessionId: string):
62
62
  */
63
63
  export declare function resolveSeedDir(filesDir: string, seedName: string): string;
64
64
  /**
65
- * Recursively copies the seed folder into the (not-yet-existing) sandbox
66
- * target. The target's parent is created via `mkdir -p` if needed; the
67
- * target itself is created by `cp({ recursive: true })`. Throws on any
68
- * I/O failure the caller is responsible for rolling back the just-
69
- * created Letta conversation if this throws.
65
+ * Filename of the optional per-seed materialization manifest, looked up in
66
+ * the seed folder's root. When absent, `materializeSandbox` behaves exactly
67
+ * as before (full recursive copy). The manifest itself is never
68
+ * materialized into the sandbox.
69
+ */
70
+ export declare const SEED_MANIFEST_FILENAME = "seed.manifest.json";
71
+ /**
72
+ * Parsed shape of `seed.manifest.json`.
73
+ *
74
+ * `link` — glob patterns (relative to the seed root, `/`-separated) of
75
+ * files to **hardlink** into the sandbox instead of copying. Intended for
76
+ * large read-only assets (multi-hundred-MB SQLite databases) where a
77
+ * per-session copy would cost seconds of latency and gigabytes of disk.
78
+ *
79
+ * Operator contract for linked files (documented in
80
+ * docs/server/session-sandboxes.md):
81
+ * - make them read-only (`chmod 444`) — a hardlink shares the inode, so a
82
+ * write through any sandbox would mutate every session's view;
83
+ * - update them by replace-and-rename (new inode), never in place —
84
+ * running sessions then keep the old data, new sessions get the new;
85
+ * - SQLite seeds should be in `journal_mode=DELETE` (not WAL) so read-only
86
+ * opens need no `-shm`/`-wal` sidecar writes.
87
+ */
88
+ export interface SeedManifest {
89
+ link?: string[];
90
+ }
91
+ /**
92
+ * Reads and validates the seed manifest, if present. Returns `null` when
93
+ * the seed has no manifest (the common case — plain full-copy seeds).
94
+ * Throws with an operator-actionable message on malformed JSON or shape —
95
+ * a broken manifest should fail session-create loudly, not silently fall
96
+ * back to copying a 500 MB database per session.
97
+ *
98
+ * @param seedDir - absolute seed folder path.
99
+ */
100
+ export declare function readSeedManifest(seedDir: string): SeedManifest | null;
101
+ /**
102
+ * Materializes the seed folder into the (not-yet-existing) sandbox target.
103
+ *
104
+ * Without a `seed.manifest.json` in the seed root this is a full recursive
105
+ * copy — byte-for-byte the pre-manifest behavior. With a manifest, files
106
+ * matching its `link` globs are hardlinked instead of copied (see
107
+ * {@link SeedManifest}); the manifest file itself is skipped.
70
108
  *
71
- * Symlinks in the seed are followed (`{ verbatimSymlinks: false }` is
72
- * Node's default). Permissions are preserved. The implementation uses
73
- * `fs.promises.cp` so it's a single syscall sequence per file with no
74
- * intermediate I/O on our side.
109
+ * Throws on any I/O failure the caller is responsible for rolling back
110
+ * the just-created Letta conversation if this throws.
75
111
  *
76
112
  * @param seedDir - source folder (must exist).
77
113
  * @param targetDir - destination folder (must NOT exist).
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/letta/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,eAAe,GAAG,OAAO,CAAC;AASlE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAIjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,MAAM,CAaR;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAK7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGzE"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/letta/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,eAAe,GAAG,OAAO,CAAC;AASlE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAIjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,MAAM,CAaR;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAK7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AA4BD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CA0BrE;AA6CD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGzE"}
@@ -15,8 +15,8 @@
15
15
  * @see SPECIFICATIONS.md §6.4 — Letta integration
16
16
  * @see docs/server/session-sandboxes.md
17
17
  */
18
- import { existsSync, mkdirSync } from "node:fs";
19
- import { cp, rm } from "node:fs/promises";
18
+ import { existsSync, mkdirSync, readFileSync } from "node:fs";
19
+ import { cp, link, mkdir, readdir, rm } from "node:fs/promises";
20
20
  import { join } from "node:path";
21
21
  /**
22
22
  * Regex of allowed `sandbox_seed_name` characters. Restrictive on purpose:
@@ -95,16 +95,122 @@ export function resolveSeedDir(filesDir, seedName) {
95
95
  return join(filesDir, "seeds", seedName);
96
96
  }
97
97
  /**
98
- * Recursively copies the seed folder into the (not-yet-existing) sandbox
99
- * target. The target's parent is created via `mkdir -p` if needed; the
100
- * target itself is created by `cp({ recursive: true })`. Throws on any
101
- * I/O failure the caller is responsible for rolling back the just-
102
- * created Letta conversation if this throws.
98
+ * Filename of the optional per-seed materialization manifest, looked up in
99
+ * the seed folder's root. When absent, `materializeSandbox` behaves exactly
100
+ * as before (full recursive copy). The manifest itself is never
101
+ * materialized into the sandbox.
102
+ */
103
+ export const SEED_MANIFEST_FILENAME = "seed.manifest.json";
104
+ /**
105
+ * Converts a manifest glob into an anchored RegExp over the seed-relative
106
+ * posix path. Supported syntax (deliberately minimal, dependency-free):
107
+ * `**` matches any depth, `*` matches within one path segment, `?` matches
108
+ * a single non-separator char. Everything else is literal.
109
+ */
110
+ function globToRegExp(glob) {
111
+ let out = "";
112
+ for (let i = 0; i < glob.length; i++) {
113
+ const ch = glob[i];
114
+ if (ch === "*") {
115
+ if (glob[i + 1] === "*") {
116
+ out += ".*";
117
+ i++;
118
+ }
119
+ else {
120
+ out += "[^/]*";
121
+ }
122
+ }
123
+ else if (ch === "?") {
124
+ out += "[^/]";
125
+ }
126
+ else {
127
+ out += ch.replace(/[.+^${}()|[\]\\]/g, "\\$&");
128
+ }
129
+ }
130
+ return new RegExp(`^${out}$`);
131
+ }
132
+ /**
133
+ * Reads and validates the seed manifest, if present. Returns `null` when
134
+ * the seed has no manifest (the common case — plain full-copy seeds).
135
+ * Throws with an operator-actionable message on malformed JSON or shape —
136
+ * a broken manifest should fail session-create loudly, not silently fall
137
+ * back to copying a 500 MB database per session.
138
+ *
139
+ * @param seedDir - absolute seed folder path.
140
+ */
141
+ export function readSeedManifest(seedDir) {
142
+ const manifestPath = join(seedDir, SEED_MANIFEST_FILENAME);
143
+ if (!existsSync(manifestPath))
144
+ return null;
145
+ let parsed;
146
+ try {
147
+ parsed = JSON.parse(readFileSync(manifestPath, "utf8"));
148
+ }
149
+ catch (err) {
150
+ throw new Error(`Seed manifest is not valid JSON: ${manifestPath} (${String(err)})`);
151
+ }
152
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
153
+ throw new Error(`Seed manifest must be a JSON object: ${manifestPath}`);
154
+ }
155
+ const linkRaw = parsed.link;
156
+ if (linkRaw !== undefined) {
157
+ if (!Array.isArray(linkRaw) ||
158
+ linkRaw.some((p) => typeof p !== "string" || p.length === 0)) {
159
+ throw new Error(`Seed manifest "link" must be an array of non-empty glob strings: ${manifestPath}`);
160
+ }
161
+ }
162
+ return linkRaw === undefined ? {} : { link: linkRaw };
163
+ }
164
+ /**
165
+ * Recursively materializes one directory level of the seed into the
166
+ * sandbox: entries whose seed-relative path matches a `link` glob are
167
+ * hardlinked (zero-copy, instant — seeds and sandboxes live under the same
168
+ * `AI_HUB_FILES_DIR`, hence the same filesystem); everything else is
169
+ * copied. A hardlink attempt that fails with `EXDEV` (cross-device — some
170
+ * exotic bind-mount layout) degrades to a copy rather than failing the
171
+ * session.
172
+ */
173
+ async function materializeWithManifest(seedDir, targetDir, relDir, linkMatchers) {
174
+ const srcDir = relDir === "" ? seedDir : join(seedDir, relDir);
175
+ const dstDir = relDir === "" ? targetDir : join(targetDir, relDir);
176
+ await mkdir(dstDir, { recursive: true });
177
+ const entries = await readdir(srcDir, { withFileTypes: true });
178
+ for (const entry of entries) {
179
+ const rel = relDir === "" ? entry.name : `${relDir}/${entry.name}`;
180
+ if (rel === SEED_MANIFEST_FILENAME)
181
+ continue;
182
+ if (entry.isDirectory()) {
183
+ await materializeWithManifest(seedDir, targetDir, rel, linkMatchers);
184
+ continue;
185
+ }
186
+ const src = join(seedDir, rel);
187
+ const dst = join(targetDir, rel);
188
+ if (entry.isFile() && linkMatchers.some((m) => m.test(rel))) {
189
+ try {
190
+ await link(src, dst);
191
+ }
192
+ catch (err) {
193
+ if (err.code !== "EXDEV")
194
+ throw err;
195
+ await cp(src, dst);
196
+ }
197
+ continue;
198
+ }
199
+ // Non-linked files and symlinks: same per-entry semantics as the
200
+ // full-copy path below.
201
+ await cp(src, dst, { errorOnExist: false });
202
+ }
203
+ }
204
+ /**
205
+ * Materializes the seed folder into the (not-yet-existing) sandbox target.
103
206
  *
104
- * Symlinks in the seed are followed (`{ verbatimSymlinks: false }` is
105
- * Node's default). Permissions are preserved. The implementation uses
106
- * `fs.promises.cp` so it's a single syscall sequence per file with no
107
- * intermediate I/O on our side.
207
+ * Without a `seed.manifest.json` in the seed root this is a full recursive
208
+ * copy byte-for-byte the pre-manifest behavior. With a manifest, files
209
+ * matching its `link` globs are hardlinked instead of copied (see
210
+ * {@link SeedManifest}); the manifest file itself is skipped.
211
+ *
212
+ * Throws on any I/O failure — the caller is responsible for rolling back
213
+ * the just-created Letta conversation if this throws.
108
214
  *
109
215
  * @param seedDir - source folder (must exist).
110
216
  * @param targetDir - destination folder (must NOT exist).
@@ -113,6 +219,12 @@ export async function materializeSandbox(seedDir, targetDir) {
113
219
  if (!existsSync(seedDir)) {
114
220
  throw new Error(`Seed folder does not exist on disk: ${seedDir}`);
115
221
  }
222
+ const manifest = readSeedManifest(seedDir);
223
+ if (manifest !== null) {
224
+ const linkMatchers = (manifest.link ?? []).map(globToRegExp);
225
+ await materializeWithManifest(seedDir, targetDir, "", linkMatchers);
226
+ return;
227
+ }
116
228
  // `recursive: true` + `errorOnExist: false` matches `cp -R` semantics —
117
229
  // if `targetDir` somehow already exists (impossible in the happy path
118
230
  // since session ids are fresh UUIDs, but cheap to be safe), the
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/letta/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/letta/sandbox.ts"],"names":[],"mappings":"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"}
@@ -1,54 +1,11 @@
1
1
  /**
2
2
  * Project-shaped Letta types.
3
3
  *
4
- * Re-exports only the SDK surfaces ai-hub uses, so the rest of the server
5
- * code never has to traverse `@letta-ai/letta-client`'s deep namespace
6
- * structure. **No raw HTTP, ever** — these are aliases over the SDK's own
7
- * types, not parallel inventions (§6.4).
8
- *
9
- * If the SDK rev removes or renames one of these, the typechecker flags it
10
- * at upgrade time and `letta/client.ts` is the single place to adapt.
11
- *
12
- * @see SPECIFICATIONS.md §6.4 — SDK-only access pattern
13
- * @see SPECIFICATIONS.md §6.4.1 — first-class surfaces we depend on
14
- */
15
- import type Letta from "@letta-ai/letta-client";
16
- import type { AssistantMessage, HiddenReasoningMessage, Message as LettaSdkMessage, ReasoningMessage, ToolCallMessage, UserMessage } from "@letta-ai/letta-client/resources/agents/messages.js";
17
- import type { LettaStreamingResponse } from "@letta-ai/letta-client/resources/agents/messages.js";
18
- import type { ToolReturnMessage } from "@letta-ai/letta-client/resources/tools.js";
19
- /**
20
- * The underlying SDK client. We `import type` everywhere except in
21
- * `letta/client.ts` (where the constructor actually runs) so the rest of the
22
- * codebase stays SDK-version-agnostic in shape.
23
- */
24
- export type LettaSdk = Letta;
25
- /**
26
- * One streaming event from `client.conversations.messages.create({ streaming: true })`.
27
- *
28
- * The union spans every variant Letta emits in an SSE stream — assistant
29
- * text, reasoning, tool calls, tool returns, errors, pings, stop reasons,
30
- * usage stats. `letta/eventTranslator.ts` is the pure function from this
31
- * union to ai-hub's wire-protocol events (§9).
32
- *
33
- * @see SPECIFICATIONS.md §9 — wire protocol
34
- */
35
- export type LettaStreamEvent = LettaStreamingResponse;
36
- /**
37
- * Alias for `AssistantMessage` — used by the translator + tests. See
38
- * `letta/eventTranslator.ts` for the streamed-delta vs. cumulative-content
39
- * note.
4
+ * Post-migration (server-less local backend), the message shape comes from
5
+ * `@data-club/letta-runtime` — the fork's `messages list` subcommand prints
6
+ * the backend's Letta-format records verbatim, and `LettaMessageRecord`
7
+ * types the fields AI Hub's renderers actually read. The old
8
+ * `@letta-ai/letta-client` aliases are gone with the server.
40
9
  */
41
- export type LettaAssistantMessage = AssistantMessage;
42
- /** Alias for `ReasoningMessage` — see `eventTranslator.ts`. */
43
- export type LettaReasoningMessage = ReasoningMessage;
44
- /** Alias for `HiddenReasoningMessage` — see `eventTranslator.ts`. */
45
- export type LettaHiddenReasoningMessage = HiddenReasoningMessage;
46
- /** Alias for `ToolCallMessage` — see `eventTranslator.ts`. */
47
- export type LettaToolCallMessage = ToolCallMessage;
48
- /** Alias for `ToolReturnMessage` — see `eventTranslator.ts`. */
49
- export type LettaToolReturnMessage = ToolReturnMessage;
50
- /** Alias for `UserMessage` — only appears in history reads, not in streams. */
51
- export type LettaUserMessage = UserMessage;
52
- /** Full assembled Letta message (used by `messages.list`). */
53
- export type LettaMessage = LettaSdkMessage;
10
+ export type { LettaMessageRecord as LettaMessage, SDKMessage, } from "@data-club/letta-runtime";
54
11
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/letta/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,KAAK,MAAM,wBAAwB,CAAC;AAChD,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,OAAO,IAAI,eAAe,EAC1B,gBAAgB,EAChB,eAAe,EACf,WAAW,EACZ,MAAM,qDAAqD,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAClG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAEnF;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC;AAE7B;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AACrD,+DAA+D;AAC/D,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AACrD,qEAAqE;AACrE,MAAM,MAAM,2BAA2B,GAAG,sBAAsB,CAAC;AACjE,8DAA8D;AAC9D,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAC;AACnD,gEAAgE;AAChE,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AACvD,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE3C,8DAA8D;AAC9D,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/letta/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY,EACV,kBAAkB,IAAI,YAAY,EAClC,UAAU,GACX,MAAM,0BAA0B,CAAC"}
@@ -1,16 +1,11 @@
1
1
  /**
2
2
  * Project-shaped Letta types.
3
3
  *
4
- * Re-exports only the SDK surfaces ai-hub uses, so the rest of the server
5
- * code never has to traverse `@letta-ai/letta-client`'s deep namespace
6
- * structure. **No raw HTTP, ever** — these are aliases over the SDK's own
7
- * types, not parallel inventions (§6.4).
8
- *
9
- * If the SDK rev removes or renames one of these, the typechecker flags it
10
- * at upgrade time and `letta/client.ts` is the single place to adapt.
11
- *
12
- * @see SPECIFICATIONS.md §6.4 — SDK-only access pattern
13
- * @see SPECIFICATIONS.md §6.4.1 — first-class surfaces we depend on
4
+ * Post-migration (server-less local backend), the message shape comes from
5
+ * `@data-club/letta-runtime` — the fork's `messages list` subcommand prints
6
+ * the backend's Letta-format records verbatim, and `LettaMessageRecord`
7
+ * types the fields AI Hub's renderers actually read. The old
8
+ * `@letta-ai/letta-client` aliases are gone with the server.
14
9
  */
15
10
  export {};
16
11
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/letta/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/letta/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/observability/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAQ,KAAK,MAAM,IAAI,UAAU,EAAsB,MAAM,MAAM,CAAC;AAE3E,gFAAgF;AAChF,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC;AAyChC;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,mBAAwB,GAAG,MAAM,CAUnE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/observability/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAQ,KAAK,MAAM,IAAI,UAAU,EAAsB,MAAM,MAAM,CAAC;AAE3E,gFAAgF;AAChF,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC;AAuChC;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,mBAAwB,GAAG,MAAM,CAUnE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC"}
@@ -41,8 +41,6 @@ const REDACT_PATHS = [
41
41
  "*.Authorization",
42
42
  "service_token_signing_key",
43
43
  "serviceTokenSigningKey",
44
- "letta_api_key",
45
- "lettaApiKey",
46
44
  "metrics_scrape_token",
47
45
  "metricsScrapeToken",
48
46
  "encryption_key",
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/observability/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAiD,MAAM,MAAM,CAAC;AAK3E;;;;;;;;GAQG;AACH,MAAM,YAAY,GAA0B;IAC1C,UAAU;IACV,kBAAkB;IAClB,cAAc;IACd,cAAc;IACd,eAAe;IACf,eAAe;IACf,eAAe;IACf,uBAAuB;IACvB,uBAAuB;IACvB,2BAA2B;IAC3B,2BAA2B;IAC3B,+BAA+B;IAC/B,+BAA+B;IAC/B,iBAAiB;IACjB,iBAAiB;IACjB,2BAA2B;IAC3B,wBAAwB;IACxB,eAAe;IACf,aAAa;IACb,sBAAsB;IACtB,oBAAoB;IACpB,gBAAgB;IAChB,eAAe;IACf,OAAO;IACP,SAAS;IACT,oBAAoB;IACpB,sBAAsB;CACvB,CAAC;AAkBF;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,OAA4B,EAAE;IACzD,MAAM,MAAM,GAAkB;QAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;QACpD,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC;YACxB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,KAAK;SACd;KACF,CAAC;IACF,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/observability/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAiD,MAAM,MAAM,CAAC;AAK3E;;;;;;;;GAQG;AACH,MAAM,YAAY,GAA0B;IAC1C,UAAU;IACV,kBAAkB;IAClB,cAAc;IACd,cAAc;IACd,eAAe;IACf,eAAe;IACf,eAAe;IACf,uBAAuB;IACvB,uBAAuB;IACvB,2BAA2B;IAC3B,2BAA2B;IAC3B,+BAA+B;IAC/B,+BAA+B;IAC/B,iBAAiB;IACjB,iBAAiB;IACjB,2BAA2B;IAC3B,wBAAwB;IACxB,sBAAsB;IACtB,oBAAoB;IACpB,gBAAgB;IAChB,eAAe;IACf,OAAO;IACP,SAAS;IACT,oBAAoB;IACpB,sBAAsB;CACvB,CAAC;AAkBF;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,OAA4B,EAAE;IACzD,MAAM,MAAM,GAAkB;QAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;QACpD,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC;YACxB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,KAAK;SACd;KACF,CAAC;IACF,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;AAC3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/routes/admin/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAgBH,OAAO,KAAK,EAAsB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AA0PhF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAM9B,CAAC;AA+BF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAqF/B,CAAC;AAuBF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAyG9B,CAAC"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/routes/admin/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAgBH,OAAO,KAAK,EAAsB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAqNhF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAM9B,CAAC;AA+BF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,EAAE,YA+E/B,CAAC;AAuBF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAmG9B,CAAC"}
@@ -29,7 +29,6 @@ import { protectedRoute } from "../../auth/middleware.js";
29
29
  import { agent, rotatingMessage } from "../../db/schema.js";
30
30
  import { errorResponse, jsonResponse, notFound, validationError, } from "../../handlers/responses.js";
31
31
  import { seedDirExists, validateSeedName } from "../../letta/sandbox.js";
32
- import { seedAgentToolsetNone } from "../../letta/settingsFileSeed.js";
33
32
  /* ────────────────────────────────────────────────────────────────────────── */
34
33
  /* Helpers */
35
34
  /* ────────────────────────────────────────────────────────────────────────── */
@@ -176,36 +175,6 @@ function respondSpecializedFailure(failure) {
176
175
  `can only back agents that share its Letta agent (Letta forks must be same-agent).`);
177
176
  }
178
177
  }
179
- /**
180
- * Best-effort seed of `~/.letta/settings.json` with `{toolset: "none"}` for
181
- * the given Letta agent id. Idempotent. Logs the outcome but **does not
182
- * throw**: if seeding fails (read-only home dir, permission denied, …) the
183
- * agent creation should still succeed — the toolset suppression is then
184
- * a runtime concern the operator notices when chats start producing weird
185
- * file-edit tool calls. The intent here is hands-off automation, not a
186
- * required precondition.
187
- *
188
- * @param ctx - server context (for logging).
189
- * @param lettaAgentId - id to seed the toolset preference for.
190
- *
191
- * @see ../../letta/settingsFileSeed.ts
192
- */
193
- function seedToolsetNoneBestEffort(ctx, lettaAgentId) {
194
- try {
195
- seedAgentToolsetNone({
196
- agentId: lettaAgentId,
197
- lettaBaseUrl: process.env.LETTA_BASE_URL,
198
- logger: ctx.logger,
199
- });
200
- }
201
- catch (err) {
202
- ctx.logger.warn({
203
- agent_id: lettaAgentId,
204
- err: err instanceof Error ? err.message : String(err),
205
- event: "letta_code_settings_seed_failed",
206
- }, "Failed to seed Letta Code toolset preference; continuing anyway.");
207
- }
208
- }
209
178
  /* ────────────────────────────────────────────────────────────────────────── */
210
179
  /* GET /admin/agents */
211
180
  /* ────────────────────────────────────────────────────────────────────────── */
@@ -321,11 +290,6 @@ export const handleCreateAgent = protectedRoute({ requiredRole: "power_user" },
321
290
  const row = ctx.db.select().from(agent).where(eq(agent.id, id)).get();
322
291
  if (!row)
323
292
  throw new Error("Just-inserted agent vanished.");
324
- // Seed `~/.letta/settings.json` so Letta Code's bundled CLI suppresses
325
- // its auto-toolset (Read/Write/Bash/etc.) when chat sessions spawn
326
- // against this agent. ai-hub wants only the tools the ADE admin
327
- // explicitly attached. Best-effort: a write failure logs + continues.
328
- seedToolsetNoneBestEffort(ctx, row.lettaAgentId);
329
293
  ctx.logger.info({
330
294
  actor_id: auth.user.id,
331
295
  agent_id: row.id,
@@ -446,10 +410,6 @@ export const handlePatchAgent = protectedRoute({ requiredRole: "power_user" }, a
446
410
  // remove the old agent's seeded record — it may still be backing live
447
411
  // sessions per the §11 schema note: existing sessions keep their
448
412
  // original `letta_conversation_id` against the original Letta agent.)
449
- if (body.letta_agent_id !== undefined &&
450
- body.letta_agent_id !== existing.lettaAgentId) {
451
- seedToolsetNoneBestEffort(ctx, body.letta_agent_id);
452
- }
453
413
  ctx.logger.info({
454
414
  actor_id: auth.user.id,
455
415
  agent_id: id,
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/routes/admin/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/routes/admin/agents.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,10 @@
3
3
  *
4
4
  * Five endpoints:
5
5
  *
6
- * - `GET /admin/settings` — Letta connection (api key **masked**), theme,
7
- * metrics + signing-key rotation timestamps. Encrypted Letta API key
8
- * surfaces only as `letta_api_key_masked` (`••••••••<last4>`); plaintext
9
- * never leaves the server outside the `Reveal once` flow (Step 12).
10
- * - `PATCH /admin/settings` — body `{ letta_base_url?, letta_ade_url?, letta_api_key?, theme?: { default?, switcher_enabled? } }`.
11
- * API key, when supplied, is encrypted under `AI_HUB_ENCRYPTION_KEY`. Theme
12
- * fields live as **separate columns**, not in `feature_toggles`.
6
+ * - `GET /admin/settings` — theme / language / agents settings plus
7
+ * metrics + signing-key rotation timestamps.
8
+ * - `PATCH /admin/settings` body `{ theme?: { default?, switcher_enabled? }, language?, agents? }`.
9
+ * Theme fields live as **separate columns**, not in `feature_toggles`.
13
10
  * - `GET /admin/settings/feature-toggles` — flat JSON blob from §8.4.
14
11
  * - `PATCH /admin/settings/feature-toggles` — merge-patch the same blob.
15
12
  * Unknown keys are accepted (forward-compat for future toggles).
@@ -34,11 +31,6 @@ import type { RouteHandler } from "../../handlers/types.js";
34
31
  /**
35
32
  * `GET /admin/settings` — super_admin-only deployment configuration.
36
33
  *
37
- * Encrypted Letta API key surfaces only as the masked placeholder
38
- * (`letta_api_key_masked: "••••••••"`) + the boolean `letta_api_key_set`;
39
- * plaintext never leaves the server through this endpoint. Step 12 wires the
40
- * `Reveal once` flow as a separate UI affordance.
41
- *
42
34
  * @see SPECIFICATIONS.md §6.3.4
43
35
  * @see ui-sketches/08-admin-settings.md
44
36
  */
@@ -46,9 +38,8 @@ export declare const handleGetSettings: RouteHandler;
46
38
  /**
47
39
  * `PATCH /admin/settings` — partial update of deployment configuration.
48
40
  *
49
- * The Letta API key, when supplied, is encrypted under
50
- * `AI_HUB_ENCRYPTION_KEY` (env-only) before write. Theme fields live as
51
- * separate columns (`theme_default`, `theme_switcher_enabled`) per §8.4.
41
+ * Theme fields live as separate columns (`theme_default`,
42
+ * `theme_switcher_enabled`) per §8.4.
52
43
  *
53
44
  * @see SPECIFICATIONS.md §6.3.4
54
45
  * @see SPECIFICATIONS.md §8.4 — theme settings are explicit columns
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/routes/admin/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAgBH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAmI5D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAO/B,CAAC;AA4CF;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,EAAE,YA2DjC,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,YAOrC,CAAC;AA8BF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,YAuCvC,CAAC;AAMF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,EAAE,YAsBpC,CAAC;AAMF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,EAAE,YAsBtC,CAAC"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/routes/admin/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAeH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AA0D5D;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAO/B,CAAC;AAkCF;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,YAgDjC,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,YAOrC,CAAC;AA8BF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,YAuCvC,CAAC;AAMF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,EAAE,YAsBpC,CAAC;AAMF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,EAAE,YAsBtC,CAAC"}