fix(admin): tune chat params, add Training sidebar link, fix reporting API keys
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 36s
CI / test-python-backend-compliance (push) Successful in 28s
CI / test-python-document-crawler (push) Successful in 23s
CI / test-python-dsms-gateway (push) Successful in 18s

- Reduce chat history from 10 to 6 messages to fit context window
- Lower num_predict from 8192 to 2048 for faster responses
- Add Training module link to SDK sidebar navigation
- Add snake_case to camelCase key transformation for reporting API
  (Go backend returns snake_case, TypeScript expects camelCase)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Boenisch
2026-02-17 23:46:19 +01:00
parent 899e22a31b
commit 16e3c251cc
3 changed files with 39 additions and 3 deletions

View File

@@ -14,6 +14,29 @@ import type {
const BASE_URL = '/api/sdk/v1/reporting'
/**
* Rekursive snake_case -> camelCase Konvertierung fuer API-Responses.
* Das Go-Backend liefert snake_case JSON, der TypeScript-Client erwartet camelCase.
*/
function snakeToCamel(str: string): string {
return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase())
}
function transformKeys(obj: unknown): unknown {
if (Array.isArray(obj)) {
return obj.map(transformKeys)
}
if (obj !== null && typeof obj === 'object') {
return Object.fromEntries(
Object.entries(obj as Record<string, unknown>).map(([key, value]) => [
snakeToCamel(key),
transformKeys(value),
])
)
}
return obj
}
async function apiFetch<T>(path: string): Promise<T> {
const res = await fetch(`${BASE_URL}${path}`, {
headers: {
@@ -29,7 +52,8 @@ async function apiFetch<T>(path: string): Promise<T> {
throw new Error(error.error || `API Error: ${res.status}`)
}
return res.json()
const data = await res.json()
return transformKeys(data) as T
}
/**