mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-20 11:36:25 +08:00
feat(server): refactor copilot (#14892)
#### PR Dependency Tree * **PR #14892** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal)
This commit is contained in:
@@ -494,7 +494,7 @@ model AiPrompt {
|
||||
config Json? @db.Json
|
||||
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
|
||||
updatedAt DateTime @default(now()) @map("updated_at") @db.Timestamptz(3)
|
||||
// whether the prompt is modified by the admin panel
|
||||
// whether the prompt metadata is manually overridden in compat storage
|
||||
modified Boolean @default(false)
|
||||
|
||||
messages AiPromptMessage[]
|
||||
@@ -504,19 +504,21 @@ model AiPrompt {
|
||||
}
|
||||
|
||||
model AiSessionMessage {
|
||||
id String @id @default(uuid()) @db.VarChar
|
||||
sessionId String @map("session_id") @db.VarChar
|
||||
role AiPromptRole
|
||||
content String @db.Text
|
||||
streamObjects Json? @db.Json
|
||||
attachments Json? @db.Json
|
||||
params Json? @db.Json
|
||||
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
|
||||
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(3)
|
||||
id String @id @default(uuid()) @db.VarChar
|
||||
sessionId String @map("session_id") @db.VarChar
|
||||
compatSubmissionId String? @map("compat_submission_id") @db.VarChar
|
||||
role AiPromptRole
|
||||
content String @db.Text
|
||||
streamObjects Json? @db.Json
|
||||
attachments Json? @db.Json
|
||||
params Json? @db.Json
|
||||
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
|
||||
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(3)
|
||||
|
||||
session AiSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@index([sessionId])
|
||||
@@index([sessionId, compatSubmissionId])
|
||||
@@index([createdAt, role])
|
||||
@@map("ai_sessions_messages")
|
||||
}
|
||||
@@ -538,10 +540,11 @@ model AiSession {
|
||||
updatedAt DateTime @default(now()) @updatedAt @map("updated_at") @db.Timestamptz(3)
|
||||
deletedAt DateTime? @map("deleted_at") @db.Timestamptz(3)
|
||||
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
prompt AiPrompt @relation(fields: [promptName], references: [name], onDelete: Cascade)
|
||||
messages AiSessionMessage[]
|
||||
context AiContext[]
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
prompt AiPrompt @relation(fields: [promptName], references: [name], onDelete: Cascade)
|
||||
messages AiSessionMessage[]
|
||||
context AiContext[]
|
||||
actionRuns AiActionRun[]
|
||||
|
||||
//NOTE:
|
||||
// unrecorded index:
|
||||
@@ -554,6 +557,64 @@ model AiSession {
|
||||
@@map("ai_sessions_metadata")
|
||||
}
|
||||
|
||||
model AiActionRun {
|
||||
id String @id @default(uuid()) @db.VarChar
|
||||
userId String @map("user_id") @db.VarChar
|
||||
workspaceId String @map("workspace_id") @db.VarChar
|
||||
docId String? @map("doc_id") @db.VarChar
|
||||
sessionId String? @map("session_id") @db.VarChar
|
||||
userMessageId String? @map("user_message_id") @db.VarChar
|
||||
compatSubmissionId String? @map("compat_submission_id") @db.VarChar
|
||||
assistantMessageId String? @map("assistant_message_id") @db.VarChar
|
||||
actionId String @map("action_id") @db.VarChar
|
||||
actionVersion String @map("action_version") @db.VarChar
|
||||
status String @db.VarChar
|
||||
attempt Int @default(1)
|
||||
retryOf String? @map("retry_of") @db.VarChar
|
||||
inputSnapshot Json? @map("input_snapshot") @db.Json
|
||||
result Json? @db.Json
|
||||
artifacts Json? @db.Json
|
||||
resultSummary String? @map("result_summary") @db.Text
|
||||
errorCode String? @map("error_code") @db.VarChar
|
||||
trace Json? @db.Json
|
||||
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
|
||||
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(3)
|
||||
|
||||
session AiSession? @relation(fields: [sessionId], references: [id], onDelete: SetNull)
|
||||
|
||||
@@index([userId, workspaceId])
|
||||
@@index([sessionId])
|
||||
@@index([actionId, actionVersion])
|
||||
@@index([status])
|
||||
@@index([retryOf])
|
||||
@@map("ai_action_runs")
|
||||
}
|
||||
|
||||
model AiTranscriptTask {
|
||||
id String @id @default(uuid()) @db.VarChar
|
||||
userId String @map("user_id") @db.VarChar
|
||||
workspaceId String @map("workspace_id") @db.VarChar
|
||||
blobId String @map("blob_id") @db.VarChar
|
||||
status String @db.VarChar
|
||||
strategy String @db.VarChar
|
||||
recipeId String @map("recipe_id") @db.VarChar
|
||||
recipeVersion String @map("recipe_version") @db.VarChar
|
||||
actionRunId String? @map("action_run_id") @db.VarChar
|
||||
inputSnapshot Json? @map("input_snapshot") @db.Json
|
||||
publicMeta Json? @map("public_meta") @db.Json
|
||||
protectedResult Json? @map("protected_result") @db.Json
|
||||
errorCode String? @map("error_code") @db.VarChar
|
||||
settledAt DateTime? @map("settled_at") @db.Timestamptz(3)
|
||||
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3)
|
||||
updatedAt DateTime @updatedAt @map("updated_at") @db.Timestamptz(3)
|
||||
|
||||
@@index([userId, workspaceId])
|
||||
@@index([workspaceId, blobId])
|
||||
@@index([status])
|
||||
@@index([actionRunId])
|
||||
@@map("ai_transcript_tasks")
|
||||
}
|
||||
|
||||
model AiContext {
|
||||
id String @id @default(uuid()) @db.VarChar
|
||||
sessionId String @map("session_id") @db.VarChar
|
||||
|
||||
Reference in New Issue
Block a user