feat(server): allow chat session dangling & pin session support (#12849)

fix AI-181
fix AI-179
fix AI-178
fix PD-2682
fix PD-2683
This commit is contained in:
DarkSky
2025-06-19 13:17:01 +08:00
committed by GitHub
parent d80bfac1d2
commit bd04930560
28 changed files with 1422 additions and 394 deletions
@@ -0,0 +1,21 @@
-- AlterTable
ALTER TABLE "ai_sessions_metadata" ALTER COLUMN "doc_id" DROP NOT NULL;
-- AlterTable
ALTER TABLE "ai_sessions_metadata" ADD COLUMN "pinned" BOOLEAN NOT NULL DEFAULT false;
-- AlterTable
CREATE UNIQUE INDEX idx_ai_session_unique_pinned
ON ai_sessions_metadata (user_id, workspace_id)
WHERE pinned = true AND deleted_at IS NULL;
-- AlterTable
CREATE UNIQUE INDEX idx_ai_session_unique_doc_root
ON ai_sessions_metadata (user_id, workspace_id, doc_id)
WHERE parent_session_id IS NULL AND doc_id IS NOT NULL AND deleted_at IS NULL;
-- DropIndex
DROP INDEX "ai_sessions_metadata_user_id_workspace_id_idx";
-- CreateIndex
CREATE INDEX "ai_sessions_metadata_user_id_workspace_id_doc_id_idx" ON "ai_sessions_metadata"("user_id", "workspace_id", "doc_id");