mirror of https://github.com/ghostfolio/ghostfolio
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
3.8 KiB
108 lines
3.8 KiB
-- CreateTable
|
|
CREATE TABLE "AgentConversation" (
|
|
"id" TEXT NOT NULL,
|
|
"userId" TEXT NOT NULL,
|
|
"title" TEXT,
|
|
"sdkSessionId" TEXT,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "AgentConversation_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "AgentFeedback" (
|
|
"id" TEXT NOT NULL,
|
|
"interactionId" TEXT NOT NULL,
|
|
"userId" TEXT NOT NULL,
|
|
"rating" TEXT NOT NULL,
|
|
"comment" TEXT,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "AgentFeedback_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "AgentInteraction" (
|
|
"id" TEXT NOT NULL,
|
|
"userId" TEXT NOT NULL,
|
|
"sessionId" TEXT,
|
|
"conversationId" TEXT,
|
|
"model" TEXT NOT NULL,
|
|
"inputTokens" INTEGER NOT NULL DEFAULT 0,
|
|
"outputTokens" INTEGER NOT NULL DEFAULT 0,
|
|
"costUsd" DECIMAL(10,6) NOT NULL DEFAULT 0,
|
|
"durationMs" INTEGER NOT NULL DEFAULT 0,
|
|
"toolCount" INTEGER NOT NULL DEFAULT 0,
|
|
"otelTraceId" TEXT,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "AgentInteraction_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "AgentMessage" (
|
|
"id" TEXT NOT NULL,
|
|
"conversationId" TEXT NOT NULL,
|
|
"role" TEXT NOT NULL,
|
|
"content" TEXT NOT NULL,
|
|
"toolsUsed" JSONB,
|
|
"confidence" JSONB,
|
|
"disclaimers" TEXT[],
|
|
"interactionId" TEXT,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "AgentMessage_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "AgentConversation_userId_idx" ON "AgentConversation"("userId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "AgentConversation_userId_updatedAt_idx" ON "AgentConversation"("userId", "updatedAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "AgentFeedback_interactionId_idx" ON "AgentFeedback"("interactionId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "AgentFeedback_userId_idx" ON "AgentFeedback"("userId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "AgentFeedback_createdAt_idx" ON "AgentFeedback"("createdAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "AgentInteraction_userId_idx" ON "AgentInteraction"("userId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "AgentInteraction_createdAt_idx" ON "AgentInteraction"("createdAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "AgentInteraction_userId_createdAt_idx" ON "AgentInteraction"("userId", "createdAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "AgentInteraction_conversationId_idx" ON "AgentInteraction"("conversationId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "AgentMessage_conversationId_idx" ON "AgentMessage"("conversationId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "AgentMessage_conversationId_createdAt_idx" ON "AgentMessage"("conversationId", "createdAt");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "AgentConversation" ADD CONSTRAINT "AgentConversation_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "AgentFeedback" ADD CONSTRAINT "AgentFeedback_interactionId_fkey" FOREIGN KEY ("interactionId") REFERENCES "AgentInteraction"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "AgentFeedback" ADD CONSTRAINT "AgentFeedback_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "AgentInteraction" ADD CONSTRAINT "AgentInteraction_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "AgentInteraction" ADD CONSTRAINT "AgentInteraction_conversationId_fkey" FOREIGN KEY ("conversationId") REFERENCES "AgentConversation"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "AgentMessage" ADD CONSTRAINT "AgentMessage_conversationId_fkey" FOREIGN KEY ("conversationId") REFERENCES "AgentConversation"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|