Fix GPT-5 API compatibility and add AIUsageLog migration

- Add AIUsageLog table migration for token tracking
- Fix GPT-5 temperature parameter (not supported, like o-series)
- Add usesNewTokenParam() and supportsTemperature() functions
- Add GPT-5+ category to model selection UI
- Update model sorting to show GPT-5+ first

GPT-5 and newer models use max_completion_tokens and don't support
custom temperature values, similar to reasoning models.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-03 15:04:16 +01:00
parent c0ce6f9f1f
commit 3986da172f
8 changed files with 423 additions and 41 deletions

View File

@@ -0,0 +1,33 @@
-- CreateTable
CREATE TABLE "AIUsageLog" (
"id" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"userId" TEXT,
"action" TEXT NOT NULL,
"entityType" TEXT,
"entityId" TEXT,
"model" TEXT NOT NULL,
"promptTokens" INTEGER NOT NULL,
"completionTokens" INTEGER NOT NULL,
"totalTokens" INTEGER NOT NULL,
"estimatedCostUsd" DECIMAL(10,6),
"batchSize" INTEGER,
"itemsProcessed" INTEGER,
"status" TEXT NOT NULL,
"errorMessage" TEXT,
"detailsJson" JSONB,
CONSTRAINT "AIUsageLog_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE INDEX "AIUsageLog_userId_idx" ON "AIUsageLog"("userId");
-- CreateIndex
CREATE INDEX "AIUsageLog_action_idx" ON "AIUsageLog"("action");
-- CreateIndex
CREATE INDEX "AIUsageLog_createdAt_idx" ON "AIUsageLog"("createdAt");
-- CreateIndex
CREATE INDEX "AIUsageLog_model_idx" ON "AIUsageLog"("model");