This commit is contained in:
@@ -2,17 +2,20 @@ import { handleApi } from "@/lib/api";
|
||||
import { requireUser } from "@/lib/services/user";
|
||||
import {
|
||||
getAiBehaviorConfig,
|
||||
getAiProviderConfig,
|
||||
getAiProviderSettings,
|
||||
saveAiBehaviorConfig,
|
||||
saveAiProviderSettings,
|
||||
saveAiProviderConfig,
|
||||
} from "@/lib/services/ai-config";
|
||||
import type { AIProviderSettings } from "@/lib/ai/types";
|
||||
|
||||
export async function GET() {
|
||||
return handleApi(async () => {
|
||||
const { user } = await requireUser();
|
||||
const behavior = await getAiBehaviorConfig(user.id);
|
||||
const provider = await getAiProviderConfig(user.id);
|
||||
return { behavior, provider };
|
||||
const providerSettings = await getAiProviderSettings(user.id);
|
||||
const provider = providerSettings.profiles[providerSettings.machineMode];
|
||||
return { behavior, provider, providerSettings };
|
||||
});
|
||||
}
|
||||
|
||||
@@ -21,13 +24,23 @@ export async function PATCH(request: Request) {
|
||||
return handleApi(async () => {
|
||||
const { user } = await requireUser();
|
||||
let behavior = await getAiBehaviorConfig(user.id);
|
||||
let provider = await getAiProviderConfig(user.id);
|
||||
let providerSettings = await getAiProviderSettings(user.id);
|
||||
|
||||
if (body.behavior) {
|
||||
behavior = await saveAiBehaviorConfig(user.id, body.behavior);
|
||||
}
|
||||
if (body.provider) {
|
||||
provider = await saveAiProviderConfig(user.id, body.provider);
|
||||
|
||||
if (body.providerSettings) {
|
||||
providerSettings = await saveAiProviderSettings(
|
||||
user.id,
|
||||
body.providerSettings as Partial<AIProviderSettings>
|
||||
);
|
||||
} else if (body.provider) {
|
||||
await saveAiProviderConfig(user.id, body.provider);
|
||||
providerSettings = await getAiProviderSettings(user.id);
|
||||
}
|
||||
return { behavior, provider };
|
||||
|
||||
const provider = providerSettings.profiles[providerSettings.machineMode];
|
||||
return { behavior, provider, providerSettings };
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { handleApi } from "@/lib/api";
|
||||
import { requireUser } from "@/lib/services/user";
|
||||
import { listMemories, saveProfileSummary } from "@/lib/services/ai-memory";
|
||||
import { getProvider } from "@/lib/ai/provider-registry";
|
||||
import { getAiBehaviorConfig, getAiProviderConfig, buildSystemPrompt } from "@/lib/services/ai-config";
|
||||
import { getAiBehaviorConfig, getAiProviderConfig, generateTextWithFallback, buildSystemPrompt } from "@/lib/services/ai-config";
|
||||
import { getTemplateBody } from "@/lib/services/ai-templates";
|
||||
import { renderTemplate } from "@/lib/ai/prompts/render";
|
||||
|
||||
@@ -32,16 +31,19 @@ export async function POST() {
|
||||
user_name: user.displayName,
|
||||
context: bulletList,
|
||||
});
|
||||
const provider = getProvider(providerConfig.type);
|
||||
const res = await provider.generateText(providerConfig, {
|
||||
model: providerConfig.model,
|
||||
prompt,
|
||||
system,
|
||||
format: "text",
|
||||
temperature: 0.5,
|
||||
maxTokens: 400,
|
||||
timeoutMs: providerConfig.timeoutMs,
|
||||
});
|
||||
const res = await generateTextWithFallback(
|
||||
user.id,
|
||||
{
|
||||
model: providerConfig.model,
|
||||
prompt,
|
||||
system,
|
||||
format: "text",
|
||||
temperature: 0.5,
|
||||
maxTokens: 400,
|
||||
timeoutMs: providerConfig.timeoutMs,
|
||||
},
|
||||
behavior
|
||||
);
|
||||
if (res.text.trim()) summaryText = res.text.trim();
|
||||
} catch {
|
||||
/* use bullet list fallback */
|
||||
|
||||
Reference in New Issue
Block a user