Spaces:
Running
Running
fix kimi
Browse files
app/api/ask-ai/route.ts
CHANGED
|
@@ -223,7 +223,8 @@ export async function PUT(request: NextRequest) {
|
|
| 223 |
const userToken = request.cookies.get(MY_TOKEN_KEY())?.value;
|
| 224 |
|
| 225 |
const body = await request.json();
|
| 226 |
-
const { prompt, html, previousPrompt, provider, selectedElementHtml } =
|
|
|
|
| 227 |
|
| 228 |
if (!prompt || !html) {
|
| 229 |
return NextResponse.json(
|
|
@@ -232,7 +233,15 @@ export async function PUT(request: NextRequest) {
|
|
| 232 |
);
|
| 233 |
}
|
| 234 |
|
| 235 |
-
const selectedModel = MODELS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 236 |
|
| 237 |
let token = userToken;
|
| 238 |
let billTo: string | null = null;
|
|
|
|
| 223 |
const userToken = request.cookies.get(MY_TOKEN_KEY())?.value;
|
| 224 |
|
| 225 |
const body = await request.json();
|
| 226 |
+
const { prompt, html, previousPrompt, provider, selectedElementHtml, model } =
|
| 227 |
+
body;
|
| 228 |
|
| 229 |
if (!prompt || !html) {
|
| 230 |
return NextResponse.json(
|
|
|
|
| 233 |
);
|
| 234 |
}
|
| 235 |
|
| 236 |
+
const selectedModel = MODELS.find(
|
| 237 |
+
(m) => m.value === model || m.label === model
|
| 238 |
+
);
|
| 239 |
+
if (!selectedModel) {
|
| 240 |
+
return NextResponse.json(
|
| 241 |
+
{ ok: false, error: "Invalid model selected" },
|
| 242 |
+
{ status: 400 }
|
| 243 |
+
);
|
| 244 |
+
}
|
| 245 |
|
| 246 |
let token = userToken;
|
| 247 |
let billTo: string | null = null;
|
components/editor/ask-ai/index.tsx
CHANGED
|
@@ -67,6 +67,10 @@ export function AskAI({
|
|
| 67 |
const [controller, setController] = useState<AbortController | null>(null);
|
| 68 |
const [isFollowUp, setIsFollowUp] = useState(true);
|
| 69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
const callAi = async (redesignMarkdown?: string) => {
|
| 71 |
if (isAiWorking) return;
|
| 72 |
if (!redesignMarkdown && !prompt.trim()) return;
|
|
@@ -178,7 +182,9 @@ export function AskAI({
|
|
| 178 |
setPrompt("");
|
| 179 |
setisAiWorking(false);
|
| 180 |
setHasAsked(true);
|
| 181 |
-
|
|
|
|
|
|
|
| 182 |
if (audio.current) audio.current.play();
|
| 183 |
|
| 184 |
// Now we have the complete HTML including </html>, so set it to be sure
|
|
@@ -444,7 +450,7 @@ export function AskAI({
|
|
| 444 |
id="diff-patch-checkbox"
|
| 445 |
checked={isFollowUp}
|
| 446 |
onCheckedChange={(e) => {
|
| 447 |
-
if (e === true && !isSameHtml) {
|
| 448 |
setModel(MODELS[0].value);
|
| 449 |
}
|
| 450 |
setIsFollowUp(e === true);
|
|
|
|
| 67 |
const [controller, setController] = useState<AbortController | null>(null);
|
| 68 |
const [isFollowUp, setIsFollowUp] = useState(true);
|
| 69 |
|
| 70 |
+
const selectedModel = useMemo(() => {
|
| 71 |
+
return MODELS.find((m: { value: string }) => m.value === model);
|
| 72 |
+
}, [model]);
|
| 73 |
+
|
| 74 |
const callAi = async (redesignMarkdown?: string) => {
|
| 75 |
if (isAiWorking) return;
|
| 76 |
if (!redesignMarkdown && !prompt.trim()) return;
|
|
|
|
| 182 |
setPrompt("");
|
| 183 |
setisAiWorking(false);
|
| 184 |
setHasAsked(true);
|
| 185 |
+
if (selectedModel?.isThinker) {
|
| 186 |
+
setModel(MODELS[0].value);
|
| 187 |
+
}
|
| 188 |
if (audio.current) audio.current.play();
|
| 189 |
|
| 190 |
// Now we have the complete HTML including </html>, so set it to be sure
|
|
|
|
| 450 |
id="diff-patch-checkbox"
|
| 451 |
checked={isFollowUp}
|
| 452 |
onCheckedChange={(e) => {
|
| 453 |
+
if (e === true && !isSameHtml && selectedModel?.isThinker) {
|
| 454 |
setModel(MODELS[0].value);
|
| 455 |
}
|
| 456 |
setIsFollowUp(e === true);
|