@mdguggenbichler/slugbase-core 0.0.16 → 0.0.17

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.
@@ -1 +1 @@
1
- {"version":3,"file":"bookmarks.d.ts","sourceRoot":"","sources":["../../src/routes/bookmarks.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA83DxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"bookmarks.d.ts","sourceRoot":"","sources":["../../src/routes/bookmarks.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA+3DxB,eAAe,MAAM,CAAC"}
@@ -850,11 +850,12 @@ router.post('/ai-suggest', async (req, res) => {
850
850
  if (!urlValidation.valid) {
851
851
  return res.status(400).json({ error: urlValidation.error });
852
852
  }
853
- const enabled = await isAISuggestionsEnabled(userId);
853
+ const tenantId = getTenantId(req);
854
+ const enabled = await isAISuggestionsEnabled(userId, tenantId);
854
855
  if (!enabled) {
855
856
  return res.status(403).json({ error: 'AI suggestions are not available' });
856
857
  }
857
- const apiKey = await getAIApiKey();
858
+ const apiKey = await getAIApiKey(tenantId);
858
859
  if (!apiKey) {
859
860
  return res.status(503).json({ error: 'AI is not configured' });
860
861
  }
@@ -889,7 +890,7 @@ router.post('/ai-suggest', async (req, res) => {
889
890
  const pageTitleToUse = typeof pageTitle === 'string' && pageTitle.trim()
890
891
  ? pageTitle.trim()
891
892
  : fetchedTitle;
892
- const model = await getAIModel();
893
+ const model = await getAIModel(tenantId);
893
894
  const result = await callAIProvider(sanitizedUrl, pageTitleToUse, fetchedDescription, apiKey, model, 10000, userLanguage, siteName);
894
895
  if (!result) {
895
896
  return res.status(503).json({ error: 'AI suggestion failed' });
@@ -1 +1 @@
1
- {"version":3,"file":"bookmarks.js","sourceRoot":"","sources":["../../src/routes/bookmarks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bookmarks.js","sourceRoot":"","sources":["../../src/routes/bookmarks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,QAAA,MAAM,MAAM,4CAAW,CAAC;AA4CxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,QAAA,MAAM,MAAM,4CAAW,CAAC;AA6CxB,eAAe,MAAM,CAAC"}
@@ -5,6 +5,7 @@
5
5
  import { Router } from 'express';
6
6
  import { requireAuth } from '../middleware/auth.js';
7
7
  import { isAISuggestionsEnabled, isAIFeatureAvailable } from '../utils/ai-feature.js';
8
+ import { getTenantId } from '../utils/tenant.js';
8
9
  const router = Router();
9
10
  /**
10
11
  * @swagger
@@ -37,9 +38,10 @@ router.get('/ai-suggestions', requireAuth(), async (req, res) => {
37
38
  const authReq = req;
38
39
  try {
39
40
  const userId = authReq.user.id;
41
+ const tenantId = getTenantId(req);
40
42
  const [enabled, available] = await Promise.all([
41
- isAISuggestionsEnabled(userId),
42
- isAIFeatureAvailable(userId),
43
+ isAISuggestionsEnabled(userId, tenantId),
44
+ isAIFeatureAvailable(userId, tenantId),
43
45
  ]);
44
46
  res.json({ enabled, available });
45
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAe,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEtF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAC9D,MAAM,OAAO,GAAG,GAAkB,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAK,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,sBAAsB,CAAC,MAAM,CAAC;YAC9B,oBAAoB,CAAC,MAAM,CAAC;SAC7B,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACrD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAe,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAC9D,MAAM,OAAO,GAAG,GAAkB,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAK,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC;YACxC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC;SACvC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACrD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
@@ -1,23 +1,25 @@
1
1
  /**
2
- * AI suggestions feature flag logic for self-hosted runtime.
2
+ * AI suggestions feature flag logic.
3
+ * When OPENAI_API_KEY env is set, API key and model come from env (global); ai_enabled remains per-tenant in system_config.
3
4
  */
4
5
  /**
5
6
  * Check if AI feature is available (org/plan/config allows it).
6
7
  * Does not consider user-level ai_suggestions_enabled.
8
+ * When OPENAI_API_KEY is set, returns tenant's ai_enabled from system_config; else checks ai_enabled + ai_api_key from system_config (tenant-scoped).
7
9
  */
8
- export declare function isAIFeatureAvailable(userId: string): Promise<boolean>;
10
+ export declare function isAIFeatureAvailable(userId: string, tenantId: string): Promise<boolean>;
9
11
  /**
10
12
  * Check if AI suggestions are enabled for the user.
11
13
  * Returns false if not configured or user opted out.
12
14
  */
13
- export declare function isAISuggestionsEnabled(userId: string): Promise<boolean>;
15
+ export declare function isAISuggestionsEnabled(userId: string, tenantId: string): Promise<boolean>;
14
16
  /**
15
17
  * Get AI API key for making requests.
16
- * Reads from system_config and decrypts when needed.
18
+ * When OPENAI_API_KEY env is set, returns it; else reads from system_config (tenant-scoped) and decrypts when needed.
17
19
  */
18
- export declare function getAIApiKey(): Promise<string | null>;
20
+ export declare function getAIApiKey(tenantId: string): Promise<string | null>;
19
21
  /**
20
- * Get AI model from config. Default gpt-4o-mini.
22
+ * Get AI model from config. When AI_SUGGESTIONS_MODEL env is set, returns it; else reads from system_config (tenant-scoped). Default gpt-4o-mini.
21
23
  */
22
- export declare function getAIModel(): Promise<string>;
24
+ export declare function getAIModel(tenantId: string): Promise<string>;
23
25
  //# sourceMappingURL=ai-feature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-feature.d.ts","sourceRoot":"","sources":["../../src/utils/ai-feature.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAW3E;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAwB7E;AAED;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgB1D;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAMlD"}
1
+ {"version":3,"file":"ai-feature.d.ts","sourceRoot":"","sources":["../../src/utils/ai-feature.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkB7F;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgC/F;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiB1E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOlE"}
@@ -1,43 +1,57 @@
1
1
  /**
2
- * AI suggestions feature flag logic for self-hosted runtime.
2
+ * AI suggestions feature flag logic.
3
+ * When OPENAI_API_KEY env is set, API key and model come from env (global); ai_enabled remains per-tenant in system_config.
3
4
  */
4
5
  import { queryOne } from '../db/index.js';
6
+ const ENV_API_KEY = (process.env.OPENAI_API_KEY ?? '').trim();
7
+ const ENV_MODEL = (process.env.AI_SUGGESTIONS_MODEL ?? '').trim();
5
8
  /**
6
9
  * Check if AI feature is available (org/plan/config allows it).
7
10
  * Does not consider user-level ai_suggestions_enabled.
11
+ * When OPENAI_API_KEY is set, returns tenant's ai_enabled from system_config; else checks ai_enabled + ai_api_key from system_config (tenant-scoped).
8
12
  */
9
- export async function isAIFeatureAvailable(userId) {
10
- const aiEnabled = await queryOne('SELECT value FROM system_config WHERE key = ?', ['ai_enabled']);
13
+ export async function isAIFeatureAvailable(userId, tenantId) {
14
+ if (ENV_API_KEY) {
15
+ const aiEnabled = await queryOne('SELECT value FROM system_config WHERE key = ? AND tenant_id = ?', ['ai_enabled', tenantId]);
16
+ return !!(aiEnabled && aiEnabled.value === 'true');
17
+ }
18
+ const aiEnabled = await queryOne('SELECT value FROM system_config WHERE key = ? AND tenant_id = ?', ['ai_enabled', tenantId]);
11
19
  if (!aiEnabled || aiEnabled.value !== 'true')
12
20
  return false;
13
- const aiApiKey = await queryOne('SELECT value FROM system_config WHERE key = ?', ['ai_api_key']);
21
+ const aiApiKey = await queryOne('SELECT value FROM system_config WHERE key = ? AND tenant_id = ?', ['ai_api_key', tenantId]);
14
22
  return !!(aiApiKey && aiApiKey.value);
15
23
  }
16
24
  /**
17
25
  * Check if AI suggestions are enabled for the user.
18
26
  * Returns false if not configured or user opted out.
19
27
  */
20
- export async function isAISuggestionsEnabled(userId) {
28
+ export async function isAISuggestionsEnabled(userId, tenantId) {
21
29
  const userRow = await queryOne('SELECT ai_suggestions_enabled FROM users WHERE id = ?', [userId]);
22
30
  const userEnabled = userRow
23
31
  ? userRow.ai_suggestions_enabled !== 0 && userRow.ai_suggestions_enabled !== false
24
32
  : true;
25
33
  if (!userEnabled)
26
34
  return false;
27
- const aiEnabled = await queryOne('SELECT value FROM system_config WHERE key = ?', ['ai_enabled']);
35
+ if (ENV_API_KEY) {
36
+ const aiEnabled = await queryOne('SELECT value FROM system_config WHERE key = ? AND tenant_id = ?', ['ai_enabled', tenantId]);
37
+ return !!(aiEnabled && aiEnabled.value === 'true');
38
+ }
39
+ const aiEnabled = await queryOne('SELECT value FROM system_config WHERE key = ? AND tenant_id = ?', ['ai_enabled', tenantId]);
28
40
  if (!aiEnabled || aiEnabled.value !== 'true')
29
41
  return false;
30
- const aiApiKey = await queryOne('SELECT value FROM system_config WHERE key = ?', ['ai_api_key']);
42
+ const aiApiKey = await queryOne('SELECT value FROM system_config WHERE key = ? AND tenant_id = ?', ['ai_api_key', tenantId]);
31
43
  if (!aiApiKey || !aiApiKey.value)
32
44
  return false;
33
45
  return true;
34
46
  }
35
47
  /**
36
48
  * Get AI API key for making requests.
37
- * Reads from system_config and decrypts when needed.
49
+ * When OPENAI_API_KEY env is set, returns it; else reads from system_config (tenant-scoped) and decrypts when needed.
38
50
  */
39
- export async function getAIApiKey() {
40
- const row = await queryOne('SELECT value FROM system_config WHERE key = ?', ['ai_api_key']);
51
+ export async function getAIApiKey(tenantId) {
52
+ if (ENV_API_KEY)
53
+ return ENV_API_KEY;
54
+ const row = await queryOne('SELECT value FROM system_config WHERE key = ? AND tenant_id = ?', ['ai_api_key', tenantId]);
41
55
  if (!row || !row.value)
42
56
  return null;
43
57
  const raw = row.value;
@@ -53,10 +67,12 @@ export async function getAIApiKey() {
53
67
  }
54
68
  }
55
69
  /**
56
- * Get AI model from config. Default gpt-4o-mini.
70
+ * Get AI model from config. When AI_SUGGESTIONS_MODEL env is set, returns it; else reads from system_config (tenant-scoped). Default gpt-4o-mini.
57
71
  */
58
- export async function getAIModel() {
59
- const row = await queryOne('SELECT value FROM system_config WHERE key = ?', ['ai_model']);
72
+ export async function getAIModel(tenantId) {
73
+ if (ENV_MODEL)
74
+ return ENV_MODEL;
75
+ const row = await queryOne('SELECT value FROM system_config WHERE key = ? AND tenant_id = ?', ['ai_model', tenantId]);
60
76
  return (row && row.value) ? String(row.value) : 'gpt-4o-mini';
61
77
  }
62
78
  //# sourceMappingURL=ai-feature.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-feature.js","sourceRoot":"","sources":["../../src/utils/ai-feature.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAc;IACvD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAC9B,+CAA+C,EAC/C,CAAC,YAAY,CAAC,CACf,CAAC;IACF,IAAI,CAAC,SAAS,IAAK,SAAiB,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,+CAA+C,EAC/C,CAAC,YAAY,CAAC,CACf,CAAC;IACF,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAK,QAAgB,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAAc;IACzD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAC5B,uDAAuD,EACvD,CAAC,MAAM,CAAC,CACT,CAAC;IACF,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAE,OAAe,CAAC,sBAAsB,KAAK,CAAC,IAAK,OAAe,CAAC,sBAAsB,KAAK,KAAK;QACpG,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAE/B,MAAM,SAAS,GAAG,MAAM,QAAQ,CAC9B,+CAA+C,EAC/C,CAAC,YAAY,CAAC,CACf,CAAC;IACF,IAAI,CAAC,SAAS,IAAK,SAAiB,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAEpE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,+CAA+C,EAC/C,CAAC,YAAY,CAAC,CACf,CAAC;IACF,IAAI,CAAC,QAAQ,IAAI,CAAE,QAAgB,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAExD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,GAAG,GAAG,MAAM,QAAQ,CACxB,+CAA+C,EAC/C,CAAC,YAAY,CAAC,CACf,CAAC;IACF,IAAI,CAAC,GAAG,IAAI,CAAE,GAAW,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,GAAG,GAAI,GAAW,CAAC,KAAe,CAAC;IACzC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,GAAG,GAAG,MAAM,QAAQ,CACxB,+CAA+C,EAC/C,CAAC,UAAU,CAAC,CACb,CAAC;IACF,OAAO,CAAC,GAAG,IAAK,GAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAE,GAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AAClF,CAAC"}
1
+ {"version":3,"file":"ai-feature.js","sourceRoot":"","sources":["../../src/utils/ai-feature.ts"],"names":[],"mappings":"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"}
@@ -238,9 +238,11 @@ export interface AppProps {
238
238
  skipSetupFlow?: boolean;
239
239
  /** When true, hide Admin OIDC and SMTP/Settings (e.g. cloud uses Postmark and global OIDC). */
240
240
  hideAdminOidcAndSmtp?: boolean;
241
+ /** When true, Admin AI page shows only the enable/disable toggle (e.g. cloud uses env for provider/model/key). */
242
+ adminAiOnlyToggle?: boolean;
241
243
  }
242
244
 
243
- function App({ basePath, apiBaseUrl, routerBasename, skipSetupFlow, hideAdminOidcAndSmtp }: AppProps = {}) {
245
+ function App({ basePath, apiBaseUrl, routerBasename, skipSetupFlow, hideAdminOidcAndSmtp, adminAiOnlyToggle }: AppProps = {}) {
244
246
  const appRootPath = basePath === '/' || !basePath ? '/' : basePath;
245
247
  const pathPrefixForLinks = routerBasename !== undefined ? '' : (basePath ?? '');
246
248
  const content = (
@@ -254,7 +256,7 @@ function App({ basePath, apiBaseUrl, routerBasename, skipSetupFlow, hideAdminOid
254
256
  );
255
257
  return (
256
258
  <AppErrorBoundary>
257
- <AppConfigProvider appBasePath={basePath} apiBaseUrl={apiBaseUrl} appRootPath={appRootPath} skipSetupFlow={skipSetupFlow} pathPrefixForLinks={pathPrefixForLinks} hideAdminOidcAndSmtp={hideAdminOidcAndSmtp}>
259
+ <AppConfigProvider appBasePath={basePath} apiBaseUrl={apiBaseUrl} appRootPath={appRootPath} skipSetupFlow={skipSetupFlow} pathPrefixForLinks={pathPrefixForLinks} hideAdminOidcAndSmtp={hideAdminOidcAndSmtp} adminAiOnlyToggle={adminAiOnlyToggle}>
258
260
  {routerBasename !== undefined ? (
259
261
  content
260
262
  ) : (
@@ -2,6 +2,7 @@ import React, { useState, useEffect, useCallback } from 'react';
2
2
  import { useTranslation } from 'react-i18next';
3
3
  import api from '../../api/client';
4
4
  import { useToast } from '../ui/Toast';
5
+ import { useAppConfig } from '../../contexts/AppConfigContext';
5
6
  import { Save, Sparkles } from 'lucide-react';
6
7
  import Button from '../ui/Button';
7
8
  import { PageLoadingSkeleton } from '../ui/PageLoadingSkeleton';
@@ -17,6 +18,7 @@ const PROVIDER_OPTIONS = [
17
18
  export default function AdminAI() {
18
19
  const { t } = useTranslation();
19
20
  const { showToast } = useToast();
21
+ const { adminAiOnlyToggle } = useAppConfig();
20
22
  const [loading, setLoading] = useState(true);
21
23
  const [saving, setSaving] = useState(false);
22
24
  const [settings, setSettings] = useState({
@@ -34,10 +36,10 @@ export default function AdminAI() {
34
36
  const res = await api.get('/admin/settings/ai');
35
37
  setSettings({
36
38
  ai_enabled: res.data.ai_enabled ?? false,
37
- ai_provider: res.data.ai_provider || 'openai',
38
- ai_model: res.data.ai_model || 'gpt-4o-mini',
39
+ ai_provider: adminAiOnlyToggle ? 'openai' : (res.data.ai_provider || 'openai'),
40
+ ai_model: adminAiOnlyToggle ? 'gpt-4o-mini' : (res.data.ai_model || 'gpt-4o-mini'),
39
41
  ai_api_key: '',
40
- ai_api_key_set: res.data.ai_api_key_set ?? false,
42
+ ai_api_key_set: adminAiOnlyToggle ? false : (res.data.ai_api_key_set ?? false),
41
43
  });
42
44
  } catch (err: unknown) {
43
45
  const e = err as { response?: { status?: number; data?: { error?: string } } };
@@ -61,7 +63,7 @@ export default function AdminAI() {
61
63
  } finally {
62
64
  setLoading(false);
63
65
  }
64
- }, [showToast, t]);
66
+ }, [showToast, t, adminAiOnlyToggle]);
65
67
 
66
68
  useEffect(() => {
67
69
  loadSettings();
@@ -82,12 +84,13 @@ export default function AdminAI() {
82
84
  }, [showToast, t]);
83
85
 
84
86
  useEffect(() => {
87
+ if (adminAiOnlyToggle) return;
85
88
  if (settings.ai_api_key_set && !loading) {
86
89
  loadModels();
87
90
  } else {
88
91
  setModels([]);
89
92
  }
90
- }, [settings.ai_api_key_set, loading, loadModels]);
93
+ }, [adminAiOnlyToggle, settings.ai_api_key_set, loading, loadModels]);
91
94
 
92
95
  const providerOptions = PROVIDER_OPTIONS.map((p) => ({
93
96
  value: p.value,
@@ -105,12 +108,15 @@ export default function AdminAI() {
105
108
  e.preventDefault();
106
109
  setSaving(true);
107
110
  try {
108
- await api.post('/admin/settings/ai', {
109
- ai_enabled: settings.ai_enabled,
110
- ai_provider: settings.ai_provider,
111
- ai_model: settings.ai_model,
112
- ai_api_key: settings.ai_api_key || undefined,
113
- });
111
+ const payload = adminAiOnlyToggle
112
+ ? { ai_enabled: settings.ai_enabled }
113
+ : {
114
+ ai_enabled: settings.ai_enabled,
115
+ ai_provider: settings.ai_provider,
116
+ ai_model: settings.ai_model,
117
+ ai_api_key: settings.ai_api_key || undefined,
118
+ };
119
+ await api.post('/admin/settings/ai', payload);
114
120
  showToast(t('common.success'), 'success');
115
121
  await loadSettings();
116
122
  } catch (err: unknown) {
@@ -154,53 +160,57 @@ export default function AdminAI() {
154
160
  </Label>
155
161
  </div>
156
162
 
157
- <div>
158
- <Label className="block text-sm font-semibold text-gray-900 dark:text-white mb-2">
159
- {t('admin.ai.provider')}
160
- </Label>
161
- <Select
162
- value={settings.ai_provider}
163
- onChange={(value) => setSettings({ ...settings, ai_provider: value })}
164
- options={providerOptions}
165
- className="max-w-xs"
166
- />
167
- </div>
168
-
169
- <div>
170
- <Label className="block text-sm font-semibold text-gray-900 dark:text-white mb-2">
171
- {t('admin.ai.apiKey')}
172
- </Label>
173
- <Input
174
- type="password"
175
- value={settings.ai_api_key}
176
- onChange={(e) => setSettings({ ...settings, ai_api_key: e.target.value })}
177
- placeholder={settings.ai_api_key_set ? t('admin.ai.apiKeyPlaceholder') : 'sk-...'}
178
- className="max-w-md font-mono text-sm"
179
- />
180
- <p className="mt-1 text-xs text-gray-500 dark:text-gray-400">
181
- {settings.ai_api_key_set ? t('admin.ai.apiKeyChangeHint') : t('admin.ai.apiKeyHint')}
182
- </p>
183
- </div>
184
-
185
- <div>
186
- <Label className="block text-sm font-semibold text-gray-900 dark:text-white mb-2">
187
- {t('admin.ai.model')}
188
- </Label>
189
- <Select
190
- value={settings.ai_model}
191
- onChange={(value) => setSettings({ ...settings, ai_model: value })}
192
- options={modelOptionsWithCurrent}
193
- placeholder={
194
- !settings.ai_api_key_set
195
- ? t('admin.ai.modelPlaceholderNoKey')
196
- : modelsLoading
197
- ? t('admin.ai.modelPlaceholderLoading')
198
- : undefined
199
- }
200
- disabled={!settings.ai_api_key_set || modelsLoading}
201
- className="max-w-xs"
202
- />
203
- </div>
163
+ {!adminAiOnlyToggle && (
164
+ <>
165
+ <div>
166
+ <Label className="block text-sm font-semibold text-gray-900 dark:text-white mb-2">
167
+ {t('admin.ai.provider')}
168
+ </Label>
169
+ <Select
170
+ value={settings.ai_provider}
171
+ onChange={(value) => setSettings({ ...settings, ai_provider: value })}
172
+ options={providerOptions}
173
+ className="max-w-xs"
174
+ />
175
+ </div>
176
+
177
+ <div>
178
+ <Label className="block text-sm font-semibold text-gray-900 dark:text-white mb-2">
179
+ {t('admin.ai.apiKey')}
180
+ </Label>
181
+ <Input
182
+ type="password"
183
+ value={settings.ai_api_key}
184
+ onChange={(e) => setSettings({ ...settings, ai_api_key: e.target.value })}
185
+ placeholder={settings.ai_api_key_set ? t('admin.ai.apiKeyPlaceholder') : 'sk-...'}
186
+ className="max-w-md font-mono text-sm"
187
+ />
188
+ <p className="mt-1 text-xs text-gray-500 dark:text-gray-400">
189
+ {settings.ai_api_key_set ? t('admin.ai.apiKeyChangeHint') : t('admin.ai.apiKeyHint')}
190
+ </p>
191
+ </div>
192
+
193
+ <div>
194
+ <Label className="block text-sm font-semibold text-gray-900 dark:text-white mb-2">
195
+ {t('admin.ai.model')}
196
+ </Label>
197
+ <Select
198
+ value={settings.ai_model}
199
+ onChange={(value) => setSettings({ ...settings, ai_model: value })}
200
+ options={modelOptionsWithCurrent}
201
+ placeholder={
202
+ !settings.ai_api_key_set
203
+ ? t('admin.ai.modelPlaceholderNoKey')
204
+ : modelsLoading
205
+ ? t('admin.ai.modelPlaceholderLoading')
206
+ : undefined
207
+ }
208
+ disabled={!settings.ai_api_key_set || modelsLoading}
209
+ className="max-w-xs"
210
+ />
211
+ </div>
212
+ </>
213
+ )}
204
214
 
205
215
  <div className="pt-2">
206
216
  <Button type="submit" variant="primary" disabled={saving}>
@@ -11,6 +11,8 @@ export interface AppConfig {
11
11
  pathPrefixForLinks: string;
12
12
  /** When true, hide Admin OIDC and SMTP/Settings (e.g. cloud uses Postmark and global OIDC). */
13
13
  hideAdminOidcAndSmtp?: boolean;
14
+ /** When true, Admin AI page shows only the enable/disable toggle (e.g. cloud uses env for provider/model/key). */
15
+ adminAiOnlyToggle?: boolean;
14
16
  }
15
17
 
16
18
  const defaultConfig: AppConfig = {
@@ -19,6 +21,7 @@ const defaultConfig: AppConfig = {
19
21
  appRootPath: defaultAppRootPath,
20
22
  pathPrefixForLinks: defaultAppBasePath,
21
23
  hideAdminOidcAndSmtp: false,
24
+ adminAiOnlyToggle: false,
22
25
  };
23
26
 
24
27
  const AppConfigContext = createContext<AppConfig>(defaultConfig);
@@ -31,6 +34,7 @@ export function AppConfigProvider({
31
34
  skipSetupFlow,
32
35
  pathPrefixForLinks,
33
36
  hideAdminOidcAndSmtp,
37
+ adminAiOnlyToggle,
34
38
  }: {
35
39
  children: React.ReactNode;
36
40
  appBasePath?: string;
@@ -41,6 +45,8 @@ export function AppConfigProvider({
41
45
  pathPrefixForLinks?: string;
42
46
  /** When true, hide Admin OIDC and SMTP/Settings (e.g. cloud). */
43
47
  hideAdminOidcAndSmtp?: boolean;
48
+ /** When true, Admin AI page shows only the enable/disable toggle (e.g. cloud). */
49
+ adminAiOnlyToggle?: boolean;
44
50
  }) {
45
51
  const base = appBasePath ?? defaultConfig.appBasePath;
46
52
  const value: AppConfig = {
@@ -50,6 +56,7 @@ export function AppConfigProvider({
50
56
  skipSetupFlow,
51
57
  pathPrefixForLinks: pathPrefixForLinks !== undefined ? pathPrefixForLinks : base,
52
58
  hideAdminOidcAndSmtp: hideAdminOidcAndSmtp ?? defaultConfig.hideAdminOidcAndSmtp,
59
+ adminAiOnlyToggle: adminAiOnlyToggle ?? defaultConfig.adminAiOnlyToggle,
53
60
  };
54
61
  return <AppConfigContext.Provider value={value}>{children}</AppConfigContext.Provider>;
55
62
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mdguggenbichler/slugbase-core",
3
- "version": "0.0.16",
3
+ "version": "0.0.17",
4
4
  "description": "SlugBase core: backend and frontend entrypoints for self-hosted and cloud apps",
5
5
  "type": "module",
6
6
  "exports": {