@data-club/ai-hub 0.0.8 → 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 (64) hide show
  1. package/dist/auth/locales/cs.d.ts +1 -1
  2. package/dist/auth/locales/cs.d.ts.map +1 -1
  3. package/dist/auth/locales/cs.js +1 -16
  4. package/dist/auth/locales/cs.js.map +1 -1
  5. package/dist/auth/locales/sk.d.ts +1 -1
  6. package/dist/auth/locales/sk.d.ts.map +1 -1
  7. package/dist/auth/locales/sk.js +1 -16
  8. package/dist/auth/locales/sk.js.map +1 -1
  9. package/dist/auth/texts.d.ts +0 -26
  10. package/dist/auth/texts.d.ts.map +1 -1
  11. package/dist/auth/texts.js +0 -15
  12. package/dist/auth/texts.js.map +1 -1
  13. package/dist/client/AIHubClient.d.ts +2 -39
  14. package/dist/client/AIHubClient.d.ts.map +1 -1
  15. package/dist/client/AIHubClient.js +2 -13
  16. package/dist/client/AIHubClient.js.map +1 -1
  17. package/dist/components/ChatShell/ShellHeader.d.ts +4 -4
  18. package/dist/components/ChatShell/UserMenu.d.ts +4 -10
  19. package/dist/components/ChatShell/UserMenu.d.ts.map +1 -1
  20. package/dist/components/ChatShell/UserMenu.js +8 -15
  21. package/dist/components/ChatShell/UserMenu.js.map +1 -1
  22. package/dist/components/DataClubAIHubAdmin/AgentsPage.d.ts +1 -1
  23. package/dist/components/DataClubAIHubAdmin/AgentsPage.d.ts.map +1 -1
  24. package/dist/components/DataClubAIHubAdmin/AgentsPage.js +2 -11
  25. package/dist/components/DataClubAIHubAdmin/AgentsPage.js.map +1 -1
  26. package/dist/components/DataClubAIHubAdmin/SettingsPage.d.ts +7 -8
  27. package/dist/components/DataClubAIHubAdmin/SettingsPage.d.ts.map +1 -1
  28. package/dist/components/DataClubAIHubAdmin/SettingsPage.js +8 -87
  29. package/dist/components/DataClubAIHubAdmin/SettingsPage.js.map +1 -1
  30. package/dist/components/DataClubAIHubAdmin/index.d.ts +1 -1
  31. package/dist/components/DataClubAIHubAdmin/index.js +1 -1
  32. package/dist/components/MessageList/index.d.ts.map +1 -1
  33. package/dist/components/MessageList/index.js +1 -2
  34. package/dist/components/MessageList/index.js.map +1 -1
  35. package/dist/context/AIHubProvider.d.ts.map +1 -1
  36. package/dist/context/AIHubProvider.js +1 -31
  37. package/dist/context/AIHubProvider.js.map +1 -1
  38. package/dist/index.d.ts +1 -3
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +0 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/state/stateReducer.d.ts.map +1 -1
  43. package/dist/state/stateReducer.js +0 -1
  44. package/dist/state/stateReducer.js.map +1 -1
  45. package/dist/types.d.ts +1 -73
  46. package/dist/types.d.ts.map +1 -1
  47. package/package.json +2 -1
  48. package/src/auth/locales/cs.ts +1 -23
  49. package/src/auth/locales/sk.ts +1 -23
  50. package/src/auth/texts.ts +0 -49
  51. package/src/client/AIHubClient.ts +2 -42
  52. package/src/components/ChatShell/ShellHeader.tsx +4 -4
  53. package/src/components/ChatShell/UserMenu.tsx +7 -27
  54. package/src/components/DataClubAIHubAdmin/AgentsPage.tsx +1 -21
  55. package/src/components/DataClubAIHubAdmin/SettingsPage.tsx +8 -197
  56. package/src/components/DataClubAIHubAdmin/index.tsx +1 -1
  57. package/src/components/MessageList/index.tsx +0 -4
  58. package/src/context/AIHubProvider.tsx +1 -32
  59. package/src/index.ts +0 -8
  60. package/src/state/stateReducer.ts +0 -1
  61. package/src/styles/CLASSES.md +1 -1
  62. package/src/styles/default.css +0 -67
  63. package/src/types.ts +0 -75
  64. package/src/components/CacheBadge/index.tsx +0 -245
package/dist/types.d.ts CHANGED
@@ -73,10 +73,6 @@ export interface AIHubUser {
73
73
  * `user.theme_preference + deployment.{theme_default, theme_switcher_enabled}`
74
74
  * per §7.6 (two lines in the React provider).
75
75
  *
76
- * `letta_ade_url` is included only when the caller's role is `power_user`
77
- * or higher; for `user`-role callers the field is absent — by design
78
- * (§6.3.4: the URL is an admin-surface concern).
79
- *
80
76
  * @see SPECIFICATIONS.md §6.3.4 — `GET /auth/me`
81
77
  * @see SPECIFICATIONS.md §7.6 — theme resolution
82
78
  */
@@ -115,11 +111,6 @@ export interface AIHubDeployment {
115
111
  * hidden. (Also hidden whenever only one agent exists, regardless of this.)
116
112
  */
117
113
  agent_switcher_enabled: boolean;
118
- /**
119
- * Browser-facing URL of the self-hosted Letta ADE — only present when the
120
- * caller's role is `power_user` or higher. Absent for `user`-role callers.
121
- */
122
- letta_ade_url?: string;
123
114
  }
124
115
  /**
125
116
  * Combined `{ user, deployment }` envelope returned by `/auth/me`,
@@ -255,16 +246,6 @@ export interface AIHubMessage {
255
246
  * @see ui-sketches/03-chat.md — tool_call_card
256
247
  */
257
248
  tool_calls?: AIHubToolCallRecord[] | null;
258
- /**
259
- * Provider-reported token usage for the turn that produced this
260
- * message. Set on the LAST assistant message of each turn (the
261
- * `usage_statistics` event is per-run, not per-message; we stamp it
262
- * on the visible final bubble). Renders as a small cache-status
263
- * badge in the chat UI; hover for the full breakdown.
264
- *
265
- * @see AIHubMessageUsage
266
- */
267
- usage?: AIHubMessageUsage | null;
268
249
  }
269
250
  /**
270
251
  * One tool call invoked during an assistant turn, as carried on
@@ -598,59 +579,6 @@ export interface AIHubSystemNoticeEvent extends AIHubEventBase {
598
579
  retry_at?: string;
599
580
  };
600
581
  }
601
- /**
602
- * System: per-turn token-usage counters propagated from Letta. Stamped
603
- * on the LAST assistant message of the turn — the React reducer uses
604
- * `letta_message_id` to attach the badge to the right bubble. Also
605
- * persisted server-side so a refresh keeps the badge.
606
- *
607
- * @see SPECIFICATIONS.md §9.4
608
- * @see docs/server/chat-sse.md
609
- */
610
- export interface AIHubSystemUsageEvent extends AIHubEventBase {
611
- event: "usage";
612
- data: {
613
- /**
614
- * Letta message id this usage attaches to (the turn's last assistant
615
- * message). The reducer joins this against the chat history to put
616
- * the cache badge on the right bubble. Optional for forward
617
- * compatibility with future per-message usage events.
618
- */
619
- letta_message_id?: string;
620
- /** Non-cached input-token count (prompt_tokens). */
621
- input?: number;
622
- /** Output-token count (completion_tokens). */
623
- output?: number;
624
- /** Cache-read-token count — Anthropic / OpenAI / Gemini all report. */
625
- cache_read?: number;
626
- /** Cache-write-token count — Anthropic only; null elsewhere. */
627
- cache_write?: number;
628
- /** Reasoning / thinking tokens for models that produce them. */
629
- reasoning?: number;
630
- /** Letta's rolling context-window-size estimate post-turn. */
631
- context?: number;
632
- /** Sum reported by provider (may differ from input+output when reasoning is counted separately). */
633
- total?: number;
634
- };
635
- }
636
- /**
637
- * Per-assistant-message cache + token usage, attached to the
638
- * historical chat record. Returned from `GET /sessions/{id}/messages`
639
- * via `AIHubMessage.usage`. Same shape as the live wire event's
640
- * `data` minus the `letta_message_id` (which is already the message
641
- * itself).
642
- *
643
- * @see AIHubSystemUsageEvent
644
- */
645
- export interface AIHubMessageUsage {
646
- input?: number | null;
647
- output?: number | null;
648
- cache_read?: number | null;
649
- cache_write?: number | null;
650
- reasoning?: number | null;
651
- context?: number | null;
652
- total?: number | null;
653
- }
654
582
  /**
655
583
  * System: non-recoverable error. Followed by `stream_end {reason: "error"}`.
656
584
  * The turn transitions to `failed`; the session remains usable.
@@ -678,7 +606,7 @@ export interface AIHubSystemErrorEvent extends AIHubEventBase {
678
606
  *
679
607
  * @see SPECIFICATIONS.md §9 — full wire protocol
680
608
  */
681
- export type AIHubEvent = AIHubLifecycleStreamStartEvent | AIHubLifecycleStreamEndEvent | AIHubLifecycleHeartbeatEvent | AIHubContentAssistantDeltaEvent | AIHubContentReasoningDeltaEvent | AIHubContentAssistantMessageCompleteEvent | AIHubToolCallStartedEvent | AIHubToolCallInputDeltaEvent | AIHubToolCallDispatchedEvent | AIHubToolCallProgressEvent | AIHubToolCallResultEvent | AIHubSystemNoticeEvent | AIHubSystemUsageEvent | AIHubSystemErrorEvent;
609
+ export type AIHubEvent = AIHubLifecycleStreamStartEvent | AIHubLifecycleStreamEndEvent | AIHubLifecycleHeartbeatEvent | AIHubContentAssistantDeltaEvent | AIHubContentReasoningDeltaEvent | AIHubContentAssistantMessageCompleteEvent | AIHubToolCallStartedEvent | AIHubToolCallInputDeltaEvent | AIHubToolCallDispatchedEvent | AIHubToolCallProgressEvent | AIHubToolCallResultEvent | AIHubSystemNoticeEvent | AIHubSystemErrorEvent;
682
610
  /**
683
611
  * The deployment-wide UI feature toggles set by `super_admin` (§8.4), served
684
612
  * by the public `GET /feature-toggles` endpoint and consumed by the React
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@data-club/ai-hub",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "React package for the data-club ai-hub: chat UI, login + change-password, admin UI, AIHub.* primitives, defineWebComponent helper, client SDK. See docs/SPECIFICATIONS.md §7.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -55,6 +55,7 @@
55
55
  "typecheck": "tsc -p tsconfig.json --noEmit",
56
56
  "test": "vitest run --passWithNoTests",
57
57
  "dev": "vite",
58
+ "demo": "vite --config vite.demo.config.ts",
58
59
  "clean": "rm -rf dist .tsbuildinfo",
59
60
  "storybook": "storybook dev -p 6006",
60
61
  "build-storybook": "storybook build",
@@ -6,7 +6,7 @@
6
6
  * Placeholders (`{count}`, `{seconds}`, `{role}`, `{username}`, `{name}`,
7
7
  * `{title}`, `{date}`, `{n}`, `{page}`, `{owner}`, `{agent}`) are preserved
8
8
  * verbatim. Brand / technical identifiers (Letta ADE, ai-hub, cron,
9
- * `agent_id`, `LETTA_API_KEY`, `AI_HUB_FILES_DIR`) are intentionally left
9
+ * `agent_id`, `AI_HUB_FILES_DIR`) are intentionally left
10
10
  * untranslated.
11
11
  *
12
12
  * @see ./en defaults in `../texts.ts`
@@ -133,7 +133,6 @@ export const csTexts: AIHubTexts = {
133
133
  themeSwitchToLightAriaLabel: "Přepnout na světlý motiv",
134
134
  /* Step 11 user menu. */
135
135
  adminMenuItem: "Správa",
136
- openLettaAdeMenuItem: "Otevřít Letta ADE",
137
136
  /* Language switcher. */
138
137
  languageSwitcherAriaLabel: "Změnit jazyk",
139
138
  /* Turn-status indicator. */
@@ -218,7 +217,6 @@ export const csTexts: AIHubTexts = {
218
217
  /* Agents sub-page. */
219
218
  agentsHeading: "Agenti",
220
219
  createAgentButton: "+ Vytvořit agenta",
221
- openLettaAdeButton: "↗ Otevřít Letta ADE",
222
220
  agentColumnName: "Zobrazované jméno",
223
221
  agentColumnLettaId: "Letta agent_id",
224
222
  agentColumnStatus: "Stav",
@@ -392,26 +390,6 @@ export const csTexts: AIHubTexts = {
392
390
  settingsHeading: "Nastavení",
393
391
  settingsLoading: "Načítání nastavení…",
394
392
  settingsGenericError: "Nastavení se nepodařilo načíst. Zkuste to znovu.",
395
- settingsLettaSectionHeading: "Připojení k Lettě",
396
- settingsLettaBaseUrlLabel: "Základní URL Letty",
397
- settingsLettaAdeUrlLabel:
398
- "URL Letta ADE (pro prohlížeč — použito pro odkaz „Otevřít Letta ADE“)",
399
- settingsLettaAdeUrlHelper:
400
- "Nepovinné; pokud je prázdné, odvodí se ze základní URL bez /v1.",
401
- settingsLettaApiKeyLabel: "API klíč Letty",
402
- settingsLettaApiKeyDbHelper:
403
- "Aktuálně nastaveno přes administraci (přepíše proměnnou prostředí LETTA_API_KEY). Novou hodnotu nastavíte přepsáním, nebo override zrušte pro návrat k env.",
404
- settingsLettaApiKeyEnvHelper:
405
- "Aktuálně se používá LETTA_API_KEY z prostředí serveru. Zde zadanou hodnotou env přepíšete hodnotou z administrace.",
406
- settingsLettaApiKeyNoneHelper:
407
- "Žádný klíč není nastaven (ani v administraci, ani v env LETTA_API_KEY). Vložte sem heslo Letta serveru, nebo nastavte LETTA_API_KEY v .env.",
408
- settingsLettaApiKeyMaskedHelper:
409
- "Aktuálně nastaveno. Novou hodnotu nastavíte přepsáním.",
410
- settingsLettaApiKeyUnsetHelper:
411
- "Žádný klíč není nastaven. Vložte sem API klíč Letta serveru.",
412
- settingsLettaApiKeyPlaceholder: "••••••••••••••••",
413
- settingsLettaApiKeyClearOverrideButton: "Zrušit override z administrace (použít env)",
414
- settingsSaveLettaButton: "Uložit připojení",
415
393
  settingsSaveSavingButton: "Ukládání…",
416
394
  settingsSaveSuccessFlash: "Uloženo.",
417
395
  settingsSaveGenericError: "Nepodařilo se uložit. Zkuste to znovu.",
@@ -6,7 +6,7 @@
6
6
  * Placeholders (`{count}`, `{seconds}`, `{role}`, `{username}`, `{name}`,
7
7
  * `{title}`, `{date}`, `{n}`, `{page}`, `{owner}`, `{agent}`) are preserved
8
8
  * verbatim. Brand / technical identifiers (Letta ADE, ai-hub, cron,
9
- * `agent_id`, `LETTA_API_KEY`, `AI_HUB_FILES_DIR`) are intentionally left
9
+ * `agent_id`, `AI_HUB_FILES_DIR`) are intentionally left
10
10
  * untranslated.
11
11
  *
12
12
  * @see ./en defaults in `../texts.ts`
@@ -133,7 +133,6 @@ export const skTexts: AIHubTexts = {
133
133
  themeSwitchToLightAriaLabel: "Prepnúť na svetlú tému",
134
134
  /* Step 11 user menu. */
135
135
  adminMenuItem: "Správa",
136
- openLettaAdeMenuItem: "Otvoriť Letta ADE",
137
136
  /* Language switcher. */
138
137
  languageSwitcherAriaLabel: "Zmeniť jazyk",
139
138
  /* Turn-status indicator. */
@@ -218,7 +217,6 @@ export const skTexts: AIHubTexts = {
218
217
  /* Agents sub-page. */
219
218
  agentsHeading: "Agenti",
220
219
  createAgentButton: "+ Vytvoriť agenta",
221
- openLettaAdeButton: "↗ Otvoriť Letta ADE",
222
220
  agentColumnName: "Zobrazované meno",
223
221
  agentColumnLettaId: "Letta agent_id",
224
222
  agentColumnStatus: "Stav",
@@ -392,26 +390,6 @@ export const skTexts: AIHubTexts = {
392
390
  settingsHeading: "Nastavenia",
393
391
  settingsLoading: "Načítavanie nastavení…",
394
392
  settingsGenericError: "Nastavenia sa nepodarilo načítať. Skúste to znova.",
395
- settingsLettaSectionHeading: "Pripojenie k Lette",
396
- settingsLettaBaseUrlLabel: "Základná URL Letty",
397
- settingsLettaAdeUrlLabel:
398
- "URL Letta ADE (pre prehliadač — použité pre odkaz „Otvoriť Letta ADE“)",
399
- settingsLettaAdeUrlHelper:
400
- "Nepovinné; ak je prázdne, odvodí sa zo základnej URL bez /v1.",
401
- settingsLettaApiKeyLabel: "API kľúč Letty",
402
- settingsLettaApiKeyDbHelper:
403
- "Aktuálne nastavené cez administráciu (prepíše premennú prostredia LETTA_API_KEY). Novú hodnotu nastavíte prepísaním, alebo override zrušte pre návrat k env.",
404
- settingsLettaApiKeyEnvHelper:
405
- "Aktuálne sa používa LETTA_API_KEY z prostredia servera. Tu zadanou hodnotou env prepíšete hodnotou z administrácie.",
406
- settingsLettaApiKeyNoneHelper:
407
- "Žiadny kľúč nie je nastavený (ani v administrácii, ani v env LETTA_API_KEY). Vložte sem heslo Letta servera, alebo nastavte LETTA_API_KEY v .env.",
408
- settingsLettaApiKeyMaskedHelper:
409
- "Aktuálne nastavené. Novú hodnotu nastavíte prepísaním.",
410
- settingsLettaApiKeyUnsetHelper:
411
- "Žiadny kľúč nie je nastavený. Vložte sem API kľúč Letta servera.",
412
- settingsLettaApiKeyPlaceholder: "••••••••••••••••",
413
- settingsLettaApiKeyClearOverrideButton: "Zrušiť override z administrácie (použiť env)",
414
- settingsSaveLettaButton: "Uložiť pripojenie",
415
393
  settingsSaveSavingButton: "Ukladanie…",
416
394
  settingsSaveSuccessFlash: "Uložené.",
417
395
  settingsSaveGenericError: "Nepodarilo sa uložiť. Skúste to znova.",
package/src/auth/texts.ts CHANGED
@@ -295,11 +295,6 @@ export interface AIHubChatTexts {
295
295
  /* ── Step 11 — user-menu admin entries ─────────────────────────── */
296
296
  /** User-menu "Admin" item label (only rendered for `role >= power_user`). */
297
297
  adminMenuItem: string;
298
- /**
299
- * User-menu "Open Letta ADE ↗" item label — opens the deployment's Letta
300
- * ADE in a new browser tab. Only rendered for `role >= power_user`.
301
- */
302
- openLettaAdeMenuItem: string;
303
298
 
304
299
  /* ── Language switcher (header, beside the user avatar) ─────────── */
305
300
  /** `aria-label` / tooltip on the language-switcher button. */
@@ -477,8 +472,6 @@ export interface AIHubAdminTexts {
477
472
  agentsHeading: string;
478
473
  /** Top-right `+ Create agent` button label. */
479
474
  createAgentButton: string;
480
- /** Top-right `[↗ Open Letta ADE]` button label. Same gate as the user-menu item. */
481
- openLettaAdeButton: string;
482
475
  /** `agents_table` column header — display name. */
483
476
  agentColumnName: string;
484
477
  /** `agents_table` column header — Letta `agent_id`. */
@@ -783,26 +776,6 @@ export interface AIHubAdminTexts {
783
776
  /** Generic banner shown when `/admin/settings` fails. */
784
777
  settingsGenericError: string;
785
778
 
786
- /* Letta connection section. */
787
- settingsLettaSectionHeading: string;
788
- settingsLettaBaseUrlLabel: string;
789
- settingsLettaAdeUrlLabel: string;
790
- settingsLettaAdeUrlHelper: string;
791
- settingsLettaApiKeyLabel: string;
792
- /** Shown when DB column has a value (super-admin set it via admin panel). */
793
- settingsLettaApiKeyDbHelper: string;
794
- /** Shown when DB column is empty but `LETTA_API_KEY` env var is set. */
795
- settingsLettaApiKeyEnvHelper: string;
796
- /** Shown when nothing is configured anywhere (chat will fail). */
797
- settingsLettaApiKeyNoneHelper: string;
798
- /** @deprecated Use `settingsLettaApiKeyDbHelper` (DB) or `settingsLettaApiKeyEnvHelper` (env). Kept for wrapper backward-compat. */
799
- settingsLettaApiKeyMaskedHelper: string;
800
- /** @deprecated Use `settingsLettaApiKeyNoneHelper`. Kept for wrapper backward-compat. */
801
- settingsLettaApiKeyUnsetHelper: string;
802
- settingsLettaApiKeyPlaceholder: string;
803
- /** "Clear admin override (use env)" button label — only rendered when source is "db". */
804
- settingsLettaApiKeyClearOverrideButton: string;
805
- settingsSaveLettaButton: string;
806
779
  settingsSaveSavingButton: string;
807
780
  settingsSaveSuccessFlash: string;
808
781
  settingsSaveGenericError: string;
@@ -1012,7 +985,6 @@ export const defaultAIHubTexts: AIHubTexts = Object.freeze({
1012
985
  themeSwitchToLightAriaLabel: "Switch to light theme",
1013
986
  /* Step 11 user-menu defaults. */
1014
987
  adminMenuItem: "Admin",
1015
- openLettaAdeMenuItem: "Open Letta ADE",
1016
988
  /* Language switcher. */
1017
989
  languageSwitcherAriaLabel: "Change language",
1018
990
  /* Turn-status indicator. */
@@ -1099,7 +1071,6 @@ export const defaultAIHubTexts: AIHubTexts = Object.freeze({
1099
1071
  /* Step 12 — Agents sub-page. */
1100
1072
  agentsHeading: "Agents",
1101
1073
  createAgentButton: "+ Create agent",
1102
- openLettaAdeButton: "↗ Open Letta ADE",
1103
1074
  agentColumnName: "Display name",
1104
1075
  agentColumnLettaId: "Letta agent_id",
1105
1076
  agentColumnStatus: "Status",
@@ -1269,26 +1240,6 @@ export const defaultAIHubTexts: AIHubTexts = Object.freeze({
1269
1240
  settingsHeading: "Settings",
1270
1241
  settingsLoading: "Loading settings…",
1271
1242
  settingsGenericError: "Could not load settings. Try again.",
1272
- settingsLettaSectionHeading: "Letta connection",
1273
- settingsLettaBaseUrlLabel: "Letta base URL",
1274
- settingsLettaAdeUrlLabel:
1275
- "Letta ADE URL (browser-facing — used for “Open Letta ADE” link)",
1276
- settingsLettaAdeUrlHelper:
1277
- "Optional; if blank, derived from the base URL with /v1 stripped.",
1278
- settingsLettaApiKeyLabel: "Letta API key",
1279
- settingsLettaApiKeyDbHelper:
1280
- "Currently configured via the admin panel (overrides LETTA_API_KEY env). Type a new value to replace it, or clear the override to fall back to env.",
1281
- settingsLettaApiKeyEnvHelper:
1282
- "Currently using LETTA_API_KEY from the server's env. Type a value here to override env with an admin-panel value.",
1283
- settingsLettaApiKeyNoneHelper:
1284
- "No key configured (neither admin panel nor LETTA_API_KEY env). Paste the Letta server's password here, or set LETTA_API_KEY in .env.",
1285
- settingsLettaApiKeyMaskedHelper:
1286
- "Currently configured. Type a new value to replace it.",
1287
- settingsLettaApiKeyUnsetHelper:
1288
- "No key configured. Paste the Letta server's API key here.",
1289
- settingsLettaApiKeyPlaceholder: "••••••••••••••••",
1290
- settingsLettaApiKeyClearOverrideButton: "Clear admin override (use env value)",
1291
- settingsSaveLettaButton: "Save connection",
1292
1243
  settingsSaveSavingButton: "Saving…",
1293
1244
  settingsSaveSuccessFlash: "Saved.",
1294
1245
  settingsSaveGenericError: "Could not save. Try again.",
@@ -557,36 +557,10 @@ export interface ListAdminSessionsResponse {
557
557
  * Response shape from `GET /admin/settings` — deployment-wide configuration
558
558
  * the super-admin sees on the settings page.
559
559
  *
560
- * Encrypted Letta API key is **never** returned in plaintext through this
561
- * endpoint. `letta_api_key_set` + `letta_api_key_masked` let the UI display
562
- * "configured / not configured" without exposing the value.
563
- *
564
560
  * @see SPECIFICATIONS.md §6.3.4 — settings endpoints
565
561
  * @see ui-sketches/08-admin-settings.md
566
562
  */
567
563
  export interface AdminSettingsView {
568
- /** Letta API base URL (e.g. `http://letta:8283`). `null` until set. */
569
- letta_base_url: string | null;
570
- /** Optional override for the "Open Letta ADE" link target. `null` when unset. */
571
- letta_ade_url: string | null;
572
- /** Masked placeholder (`••••••••`) when a key is stored in the DB; `null` otherwise. */
573
- letta_api_key_masked: string | null;
574
- /**
575
- * True when the runtime has a usable API key from EITHER source — DB or
576
- * env. The admin UI uses this to decide whether to render "configured"
577
- * vs. "missing." Pair with `letta_api_key_source` for source-aware copy.
578
- */
579
- letta_api_key_set: boolean;
580
- /**
581
- * Which source the runtime is *currently* using for the Letta API key —
582
- * `"db"` when a super-admin set it via the admin panel (DB wins over
583
- * env per spec), `"env"` when the DB column is empty and the server's
584
- * `LETTA_API_KEY` env var is set, `"none"` when no usable value exists
585
- * anywhere (chat path will throw). Lets the UI label the field
586
- * "(from env)" / "(from admin panel)" so operators aren't confused
587
- * about why their `.env` change didn't appear to take effect (or did).
588
- */
589
- letta_api_key_source: "db" | "env" | "none";
590
564
  /** Theme settings, stored as separate columns server-side. */
591
565
  theme: {
592
566
  default: "light" | "dark";
@@ -616,12 +590,6 @@ export interface AdminSettingsView {
616
590
 
617
591
  /** Body for `patchAdminSettings`. Each field independently optional. */
618
592
  export interface PatchAdminSettingsBody {
619
- /** Letta base URL. Pass `null` to clear (the schema accepts null + URL). */
620
- lettaBaseUrl?: string | null;
621
- /** Letta ADE URL. Pass `null` to clear. */
622
- lettaAdeUrl?: string | null;
623
- /** New Letta API key (plaintext over HTTPS; encrypted server-side at rest). */
624
- lettaApiKey?: string;
625
593
  /** Theme partial — either or both fields. */
626
594
  theme?: {
627
595
  default?: "light" | "dark";
@@ -1492,10 +1460,6 @@ export class AIHubClient {
1492
1460
 
1493
1461
  /**
1494
1462
  * `GET /admin/settings` — deployment-wide configuration (super_admin only).
1495
- *
1496
- * The Letta API key is never returned in plaintext; the response carries
1497
- * `letta_api_key_set` + `letta_api_key_masked` so the UI can render
1498
- * "configured / not configured" affordances.
1499
1463
  */
1500
1464
  async getAdminSettings(): Promise<AdminSettingsView> {
1501
1465
  return this.requestJson<AdminSettingsView>("GET", "/admin/settings");
@@ -1504,9 +1468,8 @@ export class AIHubClient {
1504
1468
  /**
1505
1469
  * `PATCH /admin/settings` — update one or more deployment settings.
1506
1470
  *
1507
- * The API key, when supplied, is encrypted under `AI_HUB_ENCRYPTION_KEY`
1508
- * server-side. Theme fields live as separate columns and follow the same
1509
- * precedence as the React props (server > prop > built-in default).
1471
+ * Theme fields live as separate columns and follow the same precedence
1472
+ * as the React props (server > prop > built-in default).
1510
1473
  *
1511
1474
  * @param body - the patch. Each field independent.
1512
1475
  * @returns the refreshed settings view.
@@ -1515,9 +1478,6 @@ export class AIHubClient {
1515
1478
  body: PatchAdminSettingsBody,
1516
1479
  ): Promise<AdminSettingsView> {
1517
1480
  const wire: Record<string, unknown> = {};
1518
- if (body.lettaBaseUrl !== undefined) wire.letta_base_url = body.lettaBaseUrl;
1519
- if (body.lettaAdeUrl !== undefined) wire.letta_ade_url = body.lettaAdeUrl;
1520
- if (body.lettaApiKey !== undefined) wire.letta_api_key = body.lettaApiKey;
1521
1481
  if (body.theme !== undefined) {
1522
1482
  const themeWire: Record<string, unknown> = {};
1523
1483
  if (body.theme.default !== undefined) themeWire.default = body.theme.default;
@@ -4,14 +4,14 @@
4
4
  *
5
5
  * Lives in both the chat shell AND the admin shell — Step 11 split it
6
6
  * out of `<ChatShell />` so the admin view doesn't lose the user-menu /
7
- * log-out / theme toggle / Open Letta ADE affordances when the user
8
- * navigates from chat to admin.
7
+ * log-out / theme toggle affordances when the user navigates from chat
8
+ * to admin.
9
9
  *
10
10
  * Left side: wrapper-supplied slot (`customShellHeaderLeft`) or default
11
11
  * gradient text logo derived from `productName`. **Right side:
12
12
  * library-owned** — the `<UserMenu />` is non-customizable per
13
- * [00-shell.md] because it carries session, role, and `Open Letta ADE`
14
- * affordances ai-hub controls.
13
+ * [00-shell.md] because it carries session and role affordances ai-hub
14
+ * controls.
15
15
  *
16
16
  * @see ui-sketches/00-shell.md
17
17
  */
@@ -4,22 +4,16 @@
4
4
  *
5
5
  * Step 9 ships the minimal version: avatar circle + username, click
6
6
  * opens a dropdown with the role label and a `Sign out` item. Step 10
7
- * adds the `Theme: Light ↔ Dark` item. **Step 11 adds the `Admin` and
8
- * `Open Letta ADE ↗` items**, both gated to `role >= power_user` per
9
- * §8.3 / [00-shell.md]. Step 12 wires the voluntary `Change Password`
10
- * item via the shell's shell-aware framing.
11
- *
12
- * `Open Letta ADE` opens the deployment's ADE in a new tab
13
- * (`target="_blank" rel="noopener noreferrer"`); the URL comes from the
14
- * `deployment.letta_ade_url` field on `/auth/me` (only present for
15
- * `power_user` and above by design — see `AIHubDeployment` JSDoc).
7
+ * adds the `Theme: Light ↔ Dark` item. **Step 11 adds the `Admin`
8
+ * item**, gated to `role >= power_user` per §8.3 / [00-shell.md].
9
+ * Step 12 wires the voluntary `Change Password` item via the shell's
10
+ * shell-aware framing.
16
11
  *
17
12
  * The right side of the shell header is **library-owned** and not
18
13
  * customizable — per-customer wrappers can theme via CSS but cannot
19
14
  * replace this component.
20
15
  *
21
16
  * @see ui-sketches/00-shell.md — user_menu_button + user_menu_dropdown
22
- * @see SPECIFICATIONS.md §8.3 — Open Letta ADE link
23
17
  */
24
18
 
25
19
  import {
@@ -37,11 +31,11 @@ import type { AIHubRole } from "../../types.js";
37
31
  import { ThemeSwitcher } from "../ThemeSwitcher/index.js";
38
32
 
39
33
  /**
40
- * Returns true when the given role can see the admin-only menu items
41
- * (`Admin` + `Open Letta ADE`). Mirrors the §8.2 matrix.
34
+ * Returns true when the given role can see the admin-only `Admin` menu
35
+ * item. Mirrors the §8.2 matrix.
42
36
  *
43
37
  * @param role - the caller's role, or `null` when not authenticated.
44
- * @returns whether the items should render.
38
+ * @returns whether the item should render.
45
39
  */
46
40
  function canSeeAdminItems(role: AIHubRole | null): boolean {
47
41
  return role === "power_user" || role === "admin" || role === "super_admin";
@@ -76,7 +70,6 @@ export function UserMenu(props: UserMenuProps): ReactNode {
76
70
  const [open, setOpen] = useState(false);
77
71
  const wrapRef = useRef<HTMLDivElement | null>(null);
78
72
  const showAdminItems = canSeeAdminItems(auth.role);
79
- const lettaAdeUrl = auth.deployment?.letta_ade_url ?? null;
80
73
 
81
74
  // Close on outside-click + Escape so the menu can't be left open
82
75
  // accidentally over the chat below.
@@ -168,19 +161,6 @@ export function UserMenu(props: UserMenuProps): ReactNode {
168
161
  ⚙ {texts.adminMenuItem}
169
162
  </button>
170
163
  ) : null}
171
- {showAdminItems && lettaAdeUrl !== null && lettaAdeUrl.length > 0 ? (
172
- <a
173
- role="menuitem"
174
- className="data-club-ai-hub__user-menu__item data-club-ai-hub__user-menu__item--link"
175
- data-testid="user-menu-open-letta-ade"
176
- href={lettaAdeUrl}
177
- target="_blank"
178
- rel="noopener noreferrer"
179
- onClick={() => setOpen(false)}
180
- >
181
- ↗ {texts.openLettaAdeMenuItem}
182
- </a>
183
- ) : null}
184
164
  {themeSwitcherEnabled ? (
185
165
  <div
186
166
  className="data-club-ai-hub__user-menu__item"
@@ -3,7 +3,7 @@
3
3
  * `<DataClubAIHubAdmin />` ([06-admin-agents.md]).
4
4
  *
5
5
  * Lists the ai-hub agents catalog with per-row `[Edit]` + `[Archive]` /
6
- * `[Unarchive]` actions, top-right `[+ Create agent]` + `[↗ Open Letta ADE]`,
6
+ * `[Unarchive]` actions, a top-right `[+ Create agent]` button,
7
7
  * and a `[☐ Show archived]` toggle. **No TPM⚙ button** — TPM-recovery was
8
8
  * removed in Step 11.5 (§6.5); the column is retained on the DB schema but
9
9
  * the UI doesn't surface it. **No 🗑 button** — agents cannot be hard-deleted
@@ -21,7 +21,6 @@ import { useEffect, useMemo, useState, type ReactNode } from "react";
21
21
  import type { AIHubAdminTexts } from "../../auth/texts.js";
22
22
  import type { AdminAgentView } from "../../client/AIHubClient.js";
23
23
  import { useAIHub } from "../../context/useAIHub.js";
24
- import { useAIHubAuth } from "../../context/useAIHubAuth.js";
25
24
 
26
25
  import {
27
26
  AgentEditorModal,
@@ -35,12 +34,6 @@ type EditorState =
35
34
  | { kind: "create" }
36
35
  | { kind: "edit"; agent: AdminAgentView };
37
36
 
38
- /** Resolves the deployment's ADE URL or derives one from the base URL. */
39
- function deriveAdeUrl(adeUrl: string | undefined): string | null {
40
- if (!adeUrl) return null;
41
- return adeUrl.replace(/\/$/, "");
42
- }
43
-
44
37
  /** Sort comparator — alphabetical by display_name, stable. */
45
38
  function byDisplayName(a: AdminAgentView, b: AdminAgentView): number {
46
39
  return a.display_name.localeCompare(b.display_name);
@@ -60,8 +53,6 @@ export interface AdminAgentsPageProps {
60
53
  */
61
54
  export function AdminAgentsPage(props: AdminAgentsPageProps): ReactNode {
62
55
  const { client } = useAIHub();
63
- const auth = useAIHubAuth();
64
- const adeUrl = deriveAdeUrl(auth.deployment?.letta_ade_url);
65
56
 
66
57
  const [agents, setAgents] = useState<AdminAgentView[] | null>(null);
67
58
  const [loadError, setLoadError] = useState<string | null>(null);
@@ -171,17 +162,6 @@ export function AdminAgentsPage(props: AdminAgentsPageProps): ReactNode {
171
162
  {props.texts.agentsHeading}
172
163
  </h1>
173
164
  <div className="data-club-ai-hub-admin__page-header-actions">
174
- {adeUrl !== null ? (
175
- <a
176
- className="data-club-ai-hub-admin__button"
177
- data-testid="admin-agents-open-ade"
178
- href={adeUrl}
179
- target="_blank"
180
- rel="noopener noreferrer"
181
- >
182
- {props.texts.openLettaAdeButton}
183
- </a>
184
- ) : null}
185
165
  <button
186
166
  type="button"
187
167
  className="data-club-ai-hub-admin__button data-club-ai-hub-admin__button--primary"