@superinterface/server 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/README.md +36 -0
  2. package/eslint.config.mjs +31 -0
  3. package/next.config.ts +7 -0
  4. package/package.json +176 -0
  5. package/prisma/Account.prisma +18 -0
  6. package/prisma/ApiKey.prisma +13 -0
  7. package/prisma/Assistant.prisma +32 -0
  8. package/prisma/AssistantHandler.prisma +12 -0
  9. package/prisma/Avatar.prisma +10 -0
  10. package/prisma/ClientToolHandler.prisma +13 -0
  11. package/prisma/CodeInterpreterTool.prisma +7 -0
  12. package/prisma/ComputerUseTool.prisma +12 -0
  13. package/prisma/CreateTaskHandler.prisma +10 -0
  14. package/prisma/DeleteTaskHandler.prisma +10 -0
  15. package/prisma/FileSearchTool.prisma +9 -0
  16. package/prisma/FirecrawlHandler.prisma +13 -0
  17. package/prisma/Function.prisma +13 -0
  18. package/prisma/Handler.prisma +19 -0
  19. package/prisma/HttpTransport.prisma +12 -0
  20. package/prisma/IconAvatar.prisma +8 -0
  21. package/prisma/ImageAvatar.prisma +8 -0
  22. package/prisma/ImageGenerationTool.prisma +11 -0
  23. package/prisma/InitialMessage.prisma +17 -0
  24. package/prisma/Invitation.prisma +15 -0
  25. package/prisma/ListTasksHandler.prisma +10 -0
  26. package/prisma/Log.prisma +21 -0
  27. package/prisma/McpServer.prisma +14 -0
  28. package/prisma/Message.prisma +30 -0
  29. package/prisma/ModelProvider.prisma +15 -0
  30. package/prisma/Organization.prisma +10 -0
  31. package/prisma/OrganizationApiKey.prisma +12 -0
  32. package/prisma/OrganizationInvitation.prisma +15 -0
  33. package/prisma/OrganizationUserRole.prisma +14 -0
  34. package/prisma/ReplicateHandler.prisma +14 -0
  35. package/prisma/RequestHandler.prisma +15 -0
  36. package/prisma/Run.prisma +36 -0
  37. package/prisma/RunStep.prisma +30 -0
  38. package/prisma/Session.prisma +7 -0
  39. package/prisma/SseTransport.prisma +12 -0
  40. package/prisma/StdioTransport.prisma +11 -0
  41. package/prisma/Task.prisma +15 -0
  42. package/prisma/Thread.prisma +20 -0
  43. package/prisma/Tool.prisma +13 -0
  44. package/prisma/UpdateTaskHandler.prisma +10 -0
  45. package/prisma/User.prisma +16 -0
  46. package/prisma/UserRole.prisma +14 -0
  47. package/prisma/VerificationToken.prisma +7 -0
  48. package/prisma/WebSearchTool.prisma +7 -0
  49. package/prisma/Workspace.prisma +14 -0
  50. package/prisma/enums/ApiKeyType.prisma +4 -0
  51. package/prisma/enums/AvatarType.prisma +5 -0
  52. package/prisma/enums/ClientToolHandlerType.prisma +3 -0
  53. package/prisma/enums/ComputerUseToolEnvironment.prisma +6 -0
  54. package/prisma/enums/FirecrawlHandlerType.prisma +6 -0
  55. package/prisma/enums/HandlerType.prisma +11 -0
  56. package/prisma/enums/IconAvatarName.prisma +14 -0
  57. package/prisma/enums/ImageGenerationToolOutputFormat.prisma +5 -0
  58. package/prisma/enums/ImageGenerationToolQuality.prisma +6 -0
  59. package/prisma/enums/ImageGenerationToolSize.prisma +6 -0
  60. package/prisma/enums/LogLevel.prisma +5 -0
  61. package/prisma/enums/LogRequestMethod.prisma +7 -0
  62. package/prisma/enums/LogRequestRoute.prisma +6 -0
  63. package/prisma/enums/MessageRole.prisma +4 -0
  64. package/prisma/enums/MessageStatus.prisma +5 -0
  65. package/prisma/enums/MethodType.prisma +7 -0
  66. package/prisma/enums/ModelProviderType.prisma +13 -0
  67. package/prisma/enums/OrganizationUserRoleType.prisma +3 -0
  68. package/prisma/enums/ReplicateHandlerType.prisma +3 -0
  69. package/prisma/enums/RunStatus.prisma +10 -0
  70. package/prisma/enums/RunStepStatus.prisma +7 -0
  71. package/prisma/enums/RunStepType.prisma +4 -0
  72. package/prisma/enums/StorageProviderType.prisma +7 -0
  73. package/prisma/enums/ToolType.prisma +7 -0
  74. package/prisma/enums/TransportType.prisma +5 -0
  75. package/prisma/enums/TruncationType.prisma +5 -0
  76. package/prisma/enums/UserRoleType.prisma +3 -0
  77. package/prisma/migrations/20251006235143_initial_setup/migration.sql +986 -0
  78. package/prisma/migrations/20251007163926_add_truncation_type/migration.sql +6 -0
  79. package/prisma/migrations/20251007190703_add_organizations/migration.sql +97 -0
  80. package/prisma/migrations/migration_lock.toml +3 -0
  81. package/prisma/schema.prisma +13 -0
  82. package/prisma.config.ts +6 -0
  83. package/scripts/cli.ts +84 -0
  84. package/scripts/commands/organizations/api-keys/create.ts +159 -0
  85. package/scripts/commands/organizations/create.ts +82 -0
  86. package/scripts/utils/env.ts +31 -0
  87. package/scripts/utils/errors.ts +6 -0
  88. package/src/app/api/api-keys/[apiKeyId]/route.ts +178 -0
  89. package/src/app/api/api-keys/route.ts +147 -0
  90. package/src/app/api/assistants/[assistantId]/functions/[functionId]/route.ts +245 -0
  91. package/src/app/api/assistants/[assistantId]/functions/route.ts +157 -0
  92. package/src/app/api/assistants/[assistantId]/initial-messages/route.ts +127 -0
  93. package/src/app/api/assistants/[assistantId]/mcp-servers/[mcpServerId]/route.ts +243 -0
  94. package/src/app/api/assistants/[assistantId]/mcp-servers/route.ts +163 -0
  95. package/src/app/api/assistants/[assistantId]/route.ts +336 -0
  96. package/src/app/api/assistants/route.ts +196 -0
  97. package/src/app/api/files/[fileId]/contents/route.ts +145 -0
  98. package/src/app/api/files/route.ts +117 -0
  99. package/src/app/api/messages/lib/getWorkspaceId.ts +12 -0
  100. package/src/app/api/messages/lib/initialMessagesResponse.ts +90 -0
  101. package/src/app/api/messages/lib/serializeThread.ts +22 -0
  102. package/src/app/api/messages/route.ts +710 -0
  103. package/src/app/api/providers/[modelProviderId]/assistants/route.ts +68 -0
  104. package/src/app/api/providers/[modelProviderId]/models/route.ts +68 -0
  105. package/src/app/api/providers/[modelProviderId]/route.ts +202 -0
  106. package/src/app/api/providers/route.ts +105 -0
  107. package/src/app/api/tasks/[taskId]/route.ts +213 -0
  108. package/src/app/api/tasks/callback/route.ts +280 -0
  109. package/src/app/api/tasks/route.ts +121 -0
  110. package/src/app/api/threads/runs/submit-client-tool-outputs/route.ts +54 -0
  111. package/src/app/api/workspaces/[workspaceId]/route.ts +137 -0
  112. package/src/app/api/workspaces/route.ts +139 -0
  113. package/src/app/layout.tsx +9 -0
  114. package/src/app/page.tsx +3 -0
  115. package/src/lib/apiKeys/formatApiKeyName.ts +13 -0
  116. package/src/lib/apiKeys/getApiKey.ts +25 -0
  117. package/src/lib/apiKeys/serializeApiKey.ts +11 -0
  118. package/src/lib/apiKeys/workspaceAccessWhere.ts +21 -0
  119. package/src/lib/assistants/assistantClientAdapter/buildGetOpenaiAssistant.ts +96 -0
  120. package/src/lib/assistants/assistantClientAdapter/index.ts +165 -0
  121. package/src/lib/assistants/formatName.ts +9 -0
  122. package/src/lib/assistants/serializeApiAssistant.ts +40 -0
  123. package/src/lib/assistants/serializeAssistant.ts +31 -0
  124. package/src/lib/assistants/storageAssistantId.ts +29 -0
  125. package/src/lib/avatars/defaultAvatar.ts +15 -0
  126. package/src/lib/avatars/serializeAvatar.ts +26 -0
  127. package/src/lib/cache/cacheHeaders.ts +5 -0
  128. package/src/lib/computerCalls/handleComputerCall/index.ts +173 -0
  129. package/src/lib/errors/index.ts +10 -0
  130. package/src/lib/errors/serializeError.ts +11 -0
  131. package/src/lib/functions/createFunction.ts +32 -0
  132. package/src/lib/functions/functionSchema.ts +201 -0
  133. package/src/lib/functions/handleFunction/getFunction.ts +43 -0
  134. package/src/lib/functions/handleFunction/handleAssistant.ts +399 -0
  135. package/src/lib/functions/handleFunction/handleClientTool.ts +127 -0
  136. package/src/lib/functions/handleFunction/handleFirecrawl.ts +212 -0
  137. package/src/lib/functions/handleFunction/handleReplicate.ts +109 -0
  138. package/src/lib/functions/handleFunction/handleRequest.ts +272 -0
  139. package/src/lib/functions/handleFunction/index.ts +474 -0
  140. package/src/lib/functions/handleFunction/tasks/handleCreateTask.ts +58 -0
  141. package/src/lib/functions/handleFunction/tasks/handleDeleteTask.ts +62 -0
  142. package/src/lib/functions/handleFunction/tasks/handleListTasks.ts +53 -0
  143. package/src/lib/functions/handleFunction/tasks/handleUpdateTask.ts +70 -0
  144. package/src/lib/functions/interpolateFunctionValue.ts +26 -0
  145. package/src/lib/functions/serializeApiFunction.ts +32 -0
  146. package/src/lib/functions/updateFunction.ts +42 -0
  147. package/src/lib/handlers/handlerPrismaInput.tsx +141 -0
  148. package/src/lib/handlers/serializeApiHandler.ts +94 -0
  149. package/src/lib/iconAvatars/serializeIconAvatar.ts +9 -0
  150. package/src/lib/imageAvatars/serializeImageAvatar.ts +9 -0
  151. package/src/lib/initialMessages/schema.ts +11 -0
  152. package/src/lib/initialMessages/serializeApiInitialMessage.ts +15 -0
  153. package/src/lib/initialMessages/updateInitialMessages.ts +33 -0
  154. package/src/lib/logs/createLog.ts +17 -0
  155. package/src/lib/mcpServers/closeMcpConnection.ts +16 -0
  156. package/src/lib/mcpServers/connectMcpServer.ts +117 -0
  157. package/src/lib/mcpServers/getToolCallMcpServer.ts +62 -0
  158. package/src/lib/mcpServers/headers.ts +113 -0
  159. package/src/lib/mcpServers/mcpServerSchema.ts +77 -0
  160. package/src/lib/mcpServers/serializeApiMcpServer.ts +51 -0
  161. package/src/lib/mcpServers/url.ts +98 -0
  162. package/src/lib/messages/content.ts +60 -0
  163. package/src/lib/messages/textContent.ts +13 -0
  164. package/src/lib/metadata/serializeMetadata.ts +34 -0
  165. package/src/lib/misc/isJSON.ts +9 -0
  166. package/src/lib/misc/merge/customizer.ts +8 -0
  167. package/src/lib/misc/merge/index.ts +6 -0
  168. package/src/lib/modelProviders/buildAzureOpenaiClientAdapter.ts +33 -0
  169. package/src/lib/modelProviders/buildOpenaiClient.ts +14 -0
  170. package/src/lib/modelProviders/buildOpenaiClientAdapter.ts +30 -0
  171. package/src/lib/modelProviders/clientAdapter.ts +121 -0
  172. package/src/lib/modelProviders/isModelProviderValid.ts +23 -0
  173. package/src/lib/modelProviders/modelProviderConfigs.ts +221 -0
  174. package/src/lib/modelProviders/serializeModelProvider.ts +19 -0
  175. package/src/lib/models/getModels.ts +27 -0
  176. package/src/lib/models/serializeApiModel.ts +5 -0
  177. package/src/lib/openai/getOpenaiAssistants.ts +30 -0
  178. package/src/lib/organizationApiKeys/getOrganizationApiKey.ts +23 -0
  179. package/src/lib/prisma/index.ts +29 -0
  180. package/src/lib/redis/index.ts +3 -0
  181. package/src/lib/runs/createRunOpts.ts +80 -0
  182. package/src/lib/storageProviders/getStorageProviderAssistants.ts +19 -0
  183. package/src/lib/storageProviders/getStorageProviderType.ts +21 -0
  184. package/src/lib/storageProviders/isOpenaiAssistantsStorageProvider.ts +8 -0
  185. package/src/lib/storageProviders/isResponsesStorageProvider.ts +8 -0
  186. package/src/lib/storageProviders/openaiAssistantsStorageProviderTypes.ts +6 -0
  187. package/src/lib/storageProviders/responsesStorageProviderTypes.ts +6 -0
  188. package/src/lib/storageProviders/serializeApiStorageProviderAssistant.ts +14 -0
  189. package/src/lib/tasks/cancelScheduledTask.ts +13 -0
  190. package/src/lib/tasks/getNextOccurrence.ts +77 -0
  191. package/src/lib/tasks/getTaskToolKey.ts +49 -0
  192. package/src/lib/tasks/parseTaskToolArgs.ts +101 -0
  193. package/src/lib/tasks/scheduleSchema.ts +34 -0
  194. package/src/lib/tasks/scheduleTask.ts +37 -0
  195. package/src/lib/tasks/schemas.ts +25 -0
  196. package/src/lib/tasks/serializeTask.ts +14 -0
  197. package/src/lib/tasks/validateSchedule.ts +23 -0
  198. package/src/lib/themes/defaultTheme.ts +7 -0
  199. package/src/lib/themes/serializeAccentColor.ts +9 -0
  200. package/src/lib/themes/serializeTheme/index.ts +25 -0
  201. package/src/lib/themes/serializeTheme/serializeScaling.ts +14 -0
  202. package/src/lib/threads/createThread/index.ts +185 -0
  203. package/src/lib/threads/createThread/initialMessages.ts +36 -0
  204. package/src/lib/threads/managedOpenaiThreadId.ts +72 -0
  205. package/src/lib/threads/storageThreadId.ts +49 -0
  206. package/src/lib/threads/validThreadId.ts +10 -0
  207. package/src/lib/toolCalls/handleToolCall.ts +121 -0
  208. package/src/lib/toolCalls/messagesToOutput.ts +8 -0
  209. package/src/lib/toolCalls/streamOutput.ts +106 -0
  210. package/src/lib/tools/tools/index.ts +316 -0
  211. package/src/lib/upstash/qstash.ts +5 -0
  212. package/src/lib/upstash/upstashWorkflowClient.ts +5 -0
  213. package/src/lib/workspaces/serializeApiWorkspace.ts +12 -0
  214. package/src/types/index.ts +133 -0
  215. package/tsconfig.build.json +13 -0
  216. package/tsconfig.json +27 -0
  217. package/types/prisma.d.ts +4 -0
@@ -0,0 +1,986 @@
1
+ -- CreateEnum
2
+ CREATE TYPE "ApiKeyType" AS ENUM ('PUBLIC', 'PRIVATE');
3
+
4
+ -- CreateEnum
5
+ CREATE TYPE "AvatarType" AS ENUM ('ICON', 'IMAGE', 'EMOJI');
6
+
7
+ -- CreateEnum
8
+ CREATE TYPE "ClientToolHandlerType" AS ENUM ('FUNCTION');
9
+
10
+ -- CreateEnum
11
+ CREATE TYPE "ComputerUseToolEnvironment" AS ENUM ('LINUX', 'WINDOWS', 'MACOS', 'BROWSER');
12
+
13
+ -- CreateEnum
14
+ CREATE TYPE "FirecrawlHandlerType" AS ENUM ('SCRAPE', 'CRAWL', 'EXTRACT', 'SEARCH');
15
+
16
+ -- CreateEnum
17
+ CREATE TYPE "HandlerType" AS ENUM ('REQUEST', 'FIRECRAWL', 'ASSISTANT', 'REPLICATE', 'CLIENT_TOOL', 'CREATE_TASK', 'LIST_TASKS', 'UPDATE_TASK', 'DELETE_TASK');
18
+
19
+ -- CreateEnum
20
+ CREATE TYPE "IconAvatarName" AS ENUM ('BACKPACK', 'ROCKET', 'MAGIC_WAND', 'CUBE', 'TARGET', 'DISC', 'GLOBE', 'STAR', 'LIGHTNING_BOLT', 'FACE', 'PERSON', 'HEART');
21
+
22
+ -- CreateEnum
23
+ CREATE TYPE "ImageGenerationToolOutputFormat" AS ENUM ('PNG', 'WEBP', 'JPEG');
24
+
25
+ -- CreateEnum
26
+ CREATE TYPE "ImageGenerationToolQuality" AS ENUM ('AUTO', 'LOW', 'MEDIUM', 'HIGH');
27
+
28
+ -- CreateEnum
29
+ CREATE TYPE "ImageGenerationToolSize" AS ENUM ('AUTO', 'SIZE_1024_1024', 'SIZE_1024_1536', 'SIZE_1536_1024');
30
+
31
+ -- CreateEnum
32
+ CREATE TYPE "LogLevel" AS ENUM ('INFO', 'WARNING', 'ERROR');
33
+
34
+ -- CreateEnum
35
+ CREATE TYPE "LogRequestMethod" AS ENUM ('GET', 'POST', 'PUT', 'PATCH', 'DELETE');
36
+
37
+ -- CreateEnum
38
+ CREATE TYPE "LogRequestRoute" AS ENUM ('ASSISTANTS', 'MESSAGES', 'FILES', 'TTS');
39
+
40
+ -- CreateEnum
41
+ CREATE TYPE "MessageRole" AS ENUM ('USER', 'ASSISTANT');
42
+
43
+ -- CreateEnum
44
+ CREATE TYPE "MessageStatus" AS ENUM ('IN_PROGRESS', 'INCOMPLETE', 'COMPLETED');
45
+
46
+ -- CreateEnum
47
+ CREATE TYPE "MethodType" AS ENUM ('GET', 'POST', 'PUT', 'PATCH', 'DELETE');
48
+
49
+ -- CreateEnum
50
+ CREATE TYPE "ModelProviderType" AS ENUM ('OPENAI', 'ANTHROPIC', 'PERPLEXITY', 'GROQ', 'MISTRAL', 'TOGETHER', 'OPEN_ROUTER', 'AZURE_OPENAI', 'OLLAMA', 'HUMIRIS', 'GOOGLE');
51
+
52
+ -- CreateEnum
53
+ CREATE TYPE "ReplicateHandlerType" AS ENUM ('RUN');
54
+
55
+ -- CreateEnum
56
+ CREATE TYPE "RunStatus" AS ENUM ('QUEUED', 'IN_PROGRESS', 'REQUIRES_ACTION', 'CANCELLING', 'CANCELLED', 'FAILED', 'COMPLETED', 'EXPIRED');
57
+
58
+ -- CreateEnum
59
+ CREATE TYPE "RunStepStatus" AS ENUM ('IN_PROGRESS', 'CANCELLED', 'FAILED', 'COMPLETED', 'EXPIRED');
60
+
61
+ -- CreateEnum
62
+ CREATE TYPE "RunStepType" AS ENUM ('MESSAGE_CREATION', 'TOOL_CALLS');
63
+
64
+ -- CreateEnum
65
+ CREATE TYPE "StorageProviderType" AS ENUM ('OPENAI', 'AZURE_OPENAI', 'SUPERINTERFACE_CLOUD', 'OPENAI_RESPONSES', 'AZURE_OPENAI_RESPONSES');
66
+
67
+ -- CreateEnum
68
+ CREATE TYPE "ToolType" AS ENUM ('FILE_SEARCH', 'WEB_SEARCH', 'CODE_INTERPRETER', 'IMAGE_GENERATION', 'COMPUTER_USE');
69
+
70
+ -- CreateEnum
71
+ CREATE TYPE "TransportType" AS ENUM ('STDIO', 'SSE', 'HTTP');
72
+
73
+ -- CreateEnum
74
+ CREATE TYPE "UserRoleType" AS ENUM ('ADMIN');
75
+
76
+ -- CreateTable
77
+ CREATE TABLE "Account" (
78
+ "id" TEXT NOT NULL,
79
+ "userId" TEXT NOT NULL,
80
+ "type" TEXT NOT NULL,
81
+ "provider" TEXT NOT NULL,
82
+ "providerAccountId" TEXT NOT NULL,
83
+ "refresh_token" TEXT,
84
+ "access_token" TEXT,
85
+ "expires_at" INTEGER,
86
+ "token_type" TEXT,
87
+ "scope" TEXT,
88
+ "id_token" TEXT,
89
+ "session_state" TEXT,
90
+
91
+ CONSTRAINT "Account_pkey" PRIMARY KEY ("id")
92
+ );
93
+
94
+ -- CreateTable
95
+ CREATE TABLE "ApiKey" (
96
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
97
+ "type" "ApiKeyType" NOT NULL DEFAULT 'PUBLIC',
98
+ "name" TEXT NOT NULL DEFAULT '',
99
+ "value" UUID NOT NULL DEFAULT gen_random_uuid(),
100
+ "workspaceId" UUID NOT NULL,
101
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
102
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
103
+
104
+ CONSTRAINT "ApiKey_pkey" PRIMARY KEY ("id")
105
+ );
106
+
107
+ -- CreateTable
108
+ CREATE TABLE "Assistant" (
109
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
110
+ "name" TEXT NOT NULL DEFAULT '',
111
+ "instructions" TEXT NOT NULL DEFAULT '',
112
+ "description" TEXT NOT NULL DEFAULT '',
113
+ "workspaceId" UUID NOT NULL,
114
+ "modelSlug" TEXT NOT NULL,
115
+ "modelProviderId" UUID NOT NULL,
116
+ "storageProviderType" "StorageProviderType" NOT NULL DEFAULT 'OPENAI',
117
+ "openaiAssistantId" TEXT,
118
+ "openaiAssistantFileSearchEnabled" BOOLEAN NOT NULL DEFAULT false,
119
+ "openaiAssistantCodeInterpreterEnabled" BOOLEAN NOT NULL DEFAULT false,
120
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
121
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
122
+
123
+ CONSTRAINT "Assistant_pkey" PRIMARY KEY ("id")
124
+ );
125
+
126
+ -- CreateTable
127
+ CREATE TABLE "AssistantHandler" (
128
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
129
+ "assistantId" UUID NOT NULL,
130
+ "handlerId" UUID NOT NULL,
131
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
132
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
133
+
134
+ CONSTRAINT "AssistantHandler_pkey" PRIMARY KEY ("id")
135
+ );
136
+
137
+ -- CreateTable
138
+ CREATE TABLE "Avatar" (
139
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
140
+ "type" "AvatarType" NOT NULL,
141
+ "assistantId" UUID NOT NULL,
142
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
143
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
144
+
145
+ CONSTRAINT "Avatar_pkey" PRIMARY KEY ("id")
146
+ );
147
+
148
+ -- CreateTable
149
+ CREATE TABLE "ClientToolHandler" (
150
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
151
+ "type" "ClientToolHandlerType" NOT NULL DEFAULT 'FUNCTION',
152
+ "name" TEXT NOT NULL,
153
+ "arguments" JSONB NOT NULL,
154
+ "handlerId" UUID NOT NULL,
155
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
156
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
157
+
158
+ CONSTRAINT "ClientToolHandler_pkey" PRIMARY KEY ("id")
159
+ );
160
+
161
+ -- CreateTable
162
+ CREATE TABLE "CodeInterpreterTool" (
163
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
164
+ "toolId" UUID NOT NULL,
165
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
166
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
167
+
168
+ CONSTRAINT "CodeInterpreterTool_pkey" PRIMARY KEY ("id")
169
+ );
170
+
171
+ -- CreateTable
172
+ CREATE TABLE "ComputerUseTool" (
173
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
174
+ "displayHeight" INTEGER NOT NULL DEFAULT 720,
175
+ "displayWidth" INTEGER NOT NULL DEFAULT 1280,
176
+ "environment" "ComputerUseToolEnvironment" NOT NULL DEFAULT 'LINUX',
177
+ "mcpServerId" UUID,
178
+ "toolId" UUID NOT NULL,
179
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
180
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
181
+
182
+ CONSTRAINT "ComputerUseTool_pkey" PRIMARY KEY ("id")
183
+ );
184
+
185
+ -- CreateTable
186
+ CREATE TABLE "CreateTaskHandler" (
187
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
188
+ "keyTemplate" TEXT NOT NULL DEFAULT '',
189
+ "handlerId" UUID NOT NULL,
190
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
191
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
192
+
193
+ CONSTRAINT "CreateTaskHandler_pkey" PRIMARY KEY ("id")
194
+ );
195
+
196
+ -- CreateTable
197
+ CREATE TABLE "DeleteTaskHandler" (
198
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
199
+ "keyTemplate" TEXT NOT NULL DEFAULT '',
200
+ "handlerId" UUID NOT NULL,
201
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
202
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
203
+
204
+ CONSTRAINT "DeleteTaskHandler_pkey" PRIMARY KEY ("id")
205
+ );
206
+
207
+ -- CreateTable
208
+ CREATE TABLE "FileSearchTool" (
209
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
210
+ "vectorStoreIds" TEXT[] DEFAULT ARRAY[]::TEXT[],
211
+ "maxNumResults" INTEGER NOT NULL DEFAULT 20,
212
+ "toolId" UUID NOT NULL,
213
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
214
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
215
+
216
+ CONSTRAINT "FileSearchTool_pkey" PRIMARY KEY ("id")
217
+ );
218
+
219
+ -- CreateTable
220
+ CREATE TABLE "FirecrawlHandler" (
221
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
222
+ "type" "FirecrawlHandlerType" NOT NULL,
223
+ "apiKey" TEXT NOT NULL,
224
+ "body" JSONB NOT NULL,
225
+ "handlerId" UUID NOT NULL,
226
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
227
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
228
+
229
+ CONSTRAINT "FirecrawlHandler_pkey" PRIMARY KEY ("id")
230
+ );
231
+
232
+ -- CreateTable
233
+ CREATE TABLE "Function" (
234
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
235
+ "openapiSpec" JSONB NOT NULL,
236
+ "assistantId" UUID NOT NULL,
237
+ "importOpenApiSchema" TEXT,
238
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
239
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
240
+
241
+ CONSTRAINT "Function_pkey" PRIMARY KEY ("id")
242
+ );
243
+
244
+ -- CreateTable
245
+ CREATE TABLE "Handler" (
246
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
247
+ "type" "HandlerType" NOT NULL,
248
+ "functionId" UUID NOT NULL,
249
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
250
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
251
+
252
+ CONSTRAINT "Handler_pkey" PRIMARY KEY ("id")
253
+ );
254
+
255
+ -- CreateTable
256
+ CREATE TABLE "HttpTransport" (
257
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
258
+ "mcpServerId" UUID NOT NULL,
259
+ "url" TEXT NOT NULL,
260
+ "headers" JSONB NOT NULL DEFAULT '{}',
261
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
262
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
263
+
264
+ CONSTRAINT "HttpTransport_pkey" PRIMARY KEY ("id")
265
+ );
266
+
267
+ -- CreateTable
268
+ CREATE TABLE "IconAvatar" (
269
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
270
+ "name" "IconAvatarName" NOT NULL,
271
+ "avatarId" UUID NOT NULL,
272
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
273
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
274
+
275
+ CONSTRAINT "IconAvatar_pkey" PRIMARY KEY ("id")
276
+ );
277
+
278
+ -- CreateTable
279
+ CREATE TABLE "ImageAvatar" (
280
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
281
+ "url" TEXT NOT NULL,
282
+ "avatarId" UUID NOT NULL,
283
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
284
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
285
+
286
+ CONSTRAINT "ImageAvatar_pkey" PRIMARY KEY ("id")
287
+ );
288
+
289
+ -- CreateTable
290
+ CREATE TABLE "ImageGenerationTool" (
291
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
292
+ "outputFormat" "ImageGenerationToolOutputFormat" NOT NULL DEFAULT 'PNG',
293
+ "partialImages" INTEGER NOT NULL DEFAULT 0,
294
+ "quality" "ImageGenerationToolQuality" NOT NULL DEFAULT 'AUTO',
295
+ "size" "ImageGenerationToolSize" NOT NULL DEFAULT 'AUTO',
296
+ "toolId" UUID NOT NULL,
297
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
298
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
299
+
300
+ CONSTRAINT "ImageGenerationTool_pkey" PRIMARY KEY ("id")
301
+ );
302
+
303
+ -- CreateTable
304
+ CREATE TABLE "InitialMessage" (
305
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
306
+ "assistantId" UUID,
307
+ "role" "MessageRole" NOT NULL,
308
+ "orderNumber" INTEGER NOT NULL,
309
+ "content" TEXT NOT NULL,
310
+ "attachments" JSONB[] DEFAULT ARRAY[]::JSONB[],
311
+ "metadata" JSONB,
312
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
313
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
314
+
315
+ CONSTRAINT "InitialMessage_pkey" PRIMARY KEY ("id")
316
+ );
317
+
318
+ -- CreateTable
319
+ CREATE TABLE "Invitation" (
320
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
321
+ "email" TEXT NOT NULL,
322
+ "roleType" "UserRoleType" NOT NULL DEFAULT 'ADMIN',
323
+ "createdByUserId" TEXT NOT NULL,
324
+ "workspaceId" UUID NOT NULL,
325
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
326
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
327
+
328
+ CONSTRAINT "Invitation_pkey" PRIMARY KEY ("id")
329
+ );
330
+
331
+ -- CreateTable
332
+ CREATE TABLE "ListTasksHandler" (
333
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
334
+ "keyTemplate" TEXT NOT NULL DEFAULT '',
335
+ "handlerId" UUID NOT NULL,
336
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
337
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
338
+
339
+ CONSTRAINT "ListTasksHandler_pkey" PRIMARY KEY ("id")
340
+ );
341
+
342
+ -- CreateTable
343
+ CREATE TABLE "Log" (
344
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
345
+ "level" "LogLevel" NOT NULL,
346
+ "requestMethod" "LogRequestMethod" NOT NULL,
347
+ "requestRoute" "LogRequestRoute" NOT NULL,
348
+ "status" INTEGER NOT NULL,
349
+ "message" TEXT NOT NULL,
350
+ "workspaceId" UUID,
351
+ "assistantId" UUID,
352
+ "threadId" UUID,
353
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
354
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
355
+
356
+ CONSTRAINT "Log_pkey" PRIMARY KEY ("id")
357
+ );
358
+
359
+ -- CreateTable
360
+ CREATE TABLE "McpServer" (
361
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
362
+ "transportType" "TransportType" NOT NULL DEFAULT 'STDIO',
363
+ "assistantId" UUID NOT NULL,
364
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
365
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
366
+
367
+ CONSTRAINT "McpServer_pkey" PRIMARY KEY ("id")
368
+ );
369
+
370
+ -- CreateTable
371
+ CREATE TABLE "Message" (
372
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
373
+ "threadId" UUID NOT NULL,
374
+ "role" "MessageRole" NOT NULL,
375
+ "content" JSONB NOT NULL,
376
+ "status" "MessageStatus" NOT NULL DEFAULT 'COMPLETED',
377
+ "assistantId" UUID,
378
+ "runId" UUID,
379
+ "completedAt" TIMESTAMPTZ(6),
380
+ "incompleteAt" TIMESTAMPTZ(6),
381
+ "incompleteDetails" JSONB,
382
+ "attachments" JSONB[] DEFAULT ARRAY[]::JSONB[],
383
+ "metadata" JSONB,
384
+ "toolCalls" JSONB,
385
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
386
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
387
+
388
+ CONSTRAINT "Message_pkey" PRIMARY KEY ("id")
389
+ );
390
+
391
+ -- CreateTable
392
+ CREATE TABLE "ModelProvider" (
393
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
394
+ "type" "ModelProviderType" NOT NULL,
395
+ "name" TEXT NOT NULL DEFAULT '',
396
+ "apiKey" TEXT NOT NULL,
397
+ "endpoint" TEXT,
398
+ "apiVersion" TEXT,
399
+ "workspaceId" UUID NOT NULL,
400
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
401
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
402
+
403
+ CONSTRAINT "ModelProvider_pkey" PRIMARY KEY ("id")
404
+ );
405
+
406
+ -- CreateTable
407
+ CREATE TABLE "ReplicateHandler" (
408
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
409
+ "type" "ReplicateHandlerType" NOT NULL DEFAULT 'RUN',
410
+ "identifier" TEXT NOT NULL,
411
+ "apiKey" TEXT NOT NULL,
412
+ "body" JSONB NOT NULL,
413
+ "handlerId" UUID NOT NULL,
414
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
415
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
416
+
417
+ CONSTRAINT "ReplicateHandler_pkey" PRIMARY KEY ("id")
418
+ );
419
+
420
+ -- CreateTable
421
+ CREATE TABLE "RequestHandler" (
422
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
423
+ "url" TEXT NOT NULL,
424
+ "method" "MethodType" NOT NULL,
425
+ "headers" JSONB NOT NULL,
426
+ "body" JSONB NOT NULL,
427
+ "handlerId" UUID NOT NULL,
428
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
429
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
430
+
431
+ CONSTRAINT "RequestHandler_pkey" PRIMARY KEY ("id")
432
+ );
433
+
434
+ -- CreateTable
435
+ CREATE TABLE "Run" (
436
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
437
+ "threadId" UUID NOT NULL,
438
+ "assistantId" UUID NOT NULL,
439
+ "status" "RunStatus" NOT NULL,
440
+ "requiredAction" JSONB,
441
+ "lastError" JSONB,
442
+ "expiresAt" INTEGER NOT NULL,
443
+ "startedAt" INTEGER,
444
+ "cancelledAt" INTEGER,
445
+ "failedAt" INTEGER,
446
+ "completedAt" INTEGER,
447
+ "model" TEXT NOT NULL,
448
+ "instructions" TEXT NOT NULL,
449
+ "tools" JSONB[] DEFAULT ARRAY[]::JSONB[],
450
+ "metadata" JSONB,
451
+ "usage" JSONB,
452
+ "truncationStrategy" JSONB NOT NULL DEFAULT '{ "type": "auto" }',
453
+ "responseFormat" JSONB NOT NULL DEFAULT '{ "type": "text" }',
454
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
455
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
456
+
457
+ CONSTRAINT "Run_pkey" PRIMARY KEY ("id")
458
+ );
459
+
460
+ -- CreateTable
461
+ CREATE TABLE "RunStep" (
462
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
463
+ "threadId" UUID NOT NULL,
464
+ "assistantId" UUID NOT NULL,
465
+ "runId" UUID NOT NULL,
466
+ "type" "RunStepType" NOT NULL,
467
+ "status" "RunStepStatus" NOT NULL,
468
+ "stepDetails" JSONB NOT NULL,
469
+ "lastError" JSONB,
470
+ "expiredAt" INTEGER,
471
+ "cancelledAt" INTEGER,
472
+ "failedAt" INTEGER,
473
+ "completedAt" INTEGER,
474
+ "metadata" JSONB,
475
+ "usage" JSONB,
476
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
477
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
478
+
479
+ CONSTRAINT "RunStep_pkey" PRIMARY KEY ("id")
480
+ );
481
+
482
+ -- CreateTable
483
+ CREATE TABLE "Session" (
484
+ "id" TEXT NOT NULL,
485
+ "sessionToken" TEXT NOT NULL,
486
+ "userId" TEXT NOT NULL,
487
+ "expires" TIMESTAMP(3) NOT NULL,
488
+
489
+ CONSTRAINT "Session_pkey" PRIMARY KEY ("id")
490
+ );
491
+
492
+ -- CreateTable
493
+ CREATE TABLE "SseTransport" (
494
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
495
+ "mcpServerId" UUID NOT NULL,
496
+ "url" TEXT NOT NULL,
497
+ "headers" JSONB NOT NULL DEFAULT '{}',
498
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
499
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
500
+
501
+ CONSTRAINT "SseTransport_pkey" PRIMARY KEY ("id")
502
+ );
503
+
504
+ -- CreateTable
505
+ CREATE TABLE "StdioTransport" (
506
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
507
+ "mcpServerId" UUID NOT NULL,
508
+ "command" TEXT NOT NULL,
509
+ "args" TEXT NOT NULL,
510
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
511
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
512
+
513
+ CONSTRAINT "StdioTransport_pkey" PRIMARY KEY ("id")
514
+ );
515
+
516
+ -- CreateTable
517
+ CREATE TABLE "Task" (
518
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
519
+ "title" TEXT NOT NULL,
520
+ "message" TEXT NOT NULL,
521
+ "schedule" JSONB NOT NULL,
522
+ "key" TEXT NOT NULL,
523
+ "qstashMessageId" TEXT,
524
+ "threadId" UUID NOT NULL,
525
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
526
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
527
+
528
+ CONSTRAINT "Task_pkey" PRIMARY KEY ("id")
529
+ );
530
+
531
+ -- CreateTable
532
+ CREATE TABLE "Thread" (
533
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
534
+ "openaiThreadId" TEXT,
535
+ "openaiConversationId" TEXT,
536
+ "azureOpenaiConversationId" TEXT,
537
+ "assistantId" UUID NOT NULL,
538
+ "metadata" JSONB,
539
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
540
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
541
+
542
+ CONSTRAINT "Thread_pkey" PRIMARY KEY ("id")
543
+ );
544
+
545
+ -- CreateTable
546
+ CREATE TABLE "Tool" (
547
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
548
+ "type" "ToolType" NOT NULL,
549
+ "assistantId" UUID NOT NULL,
550
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
551
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
552
+
553
+ CONSTRAINT "Tool_pkey" PRIMARY KEY ("id")
554
+ );
555
+
556
+ -- CreateTable
557
+ CREATE TABLE "UpdateTaskHandler" (
558
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
559
+ "keyTemplate" TEXT NOT NULL DEFAULT '',
560
+ "handlerId" UUID NOT NULL,
561
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
562
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
563
+
564
+ CONSTRAINT "UpdateTaskHandler_pkey" PRIMARY KEY ("id")
565
+ );
566
+
567
+ -- CreateTable
568
+ CREATE TABLE "User" (
569
+ "id" TEXT NOT NULL,
570
+ "name" TEXT,
571
+ "email" TEXT,
572
+ "emailVerified" TIMESTAMP(3),
573
+ "image" TEXT,
574
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
575
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
576
+
577
+ CONSTRAINT "User_pkey" PRIMARY KEY ("id")
578
+ );
579
+
580
+ -- CreateTable
581
+ CREATE TABLE "UserRole" (
582
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
583
+ "type" "UserRoleType" NOT NULL DEFAULT 'ADMIN',
584
+ "userId" TEXT NOT NULL,
585
+ "workspaceId" UUID NOT NULL,
586
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
587
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
588
+
589
+ CONSTRAINT "UserRole_pkey" PRIMARY KEY ("id")
590
+ );
591
+
592
+ -- CreateTable
593
+ CREATE TABLE "VerificationToken" (
594
+ "identifier" TEXT NOT NULL,
595
+ "token" TEXT NOT NULL,
596
+ "expires" TIMESTAMP(3) NOT NULL
597
+ );
598
+
599
+ -- CreateTable
600
+ CREATE TABLE "WebSearchTool" (
601
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
602
+ "toolId" UUID NOT NULL,
603
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
604
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
605
+
606
+ CONSTRAINT "WebSearchTool_pkey" PRIMARY KEY ("id")
607
+ );
608
+
609
+ -- CreateTable
610
+ CREATE TABLE "Workspace" (
611
+ "id" UUID NOT NULL DEFAULT gen_random_uuid(),
612
+ "name" TEXT NOT NULL DEFAULT '',
613
+ "createdAt" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
614
+ "updatedAt" TIMESTAMPTZ(6) NOT NULL,
615
+
616
+ CONSTRAINT "Workspace_pkey" PRIMARY KEY ("id")
617
+ );
618
+
619
+ -- CreateIndex
620
+ CREATE UNIQUE INDEX "Account_provider_providerAccountId_key" ON "Account"("provider", "providerAccountId");
621
+
622
+ -- CreateIndex
623
+ CREATE UNIQUE INDEX "ApiKey_value_key" ON "ApiKey"("value");
624
+
625
+ -- CreateIndex
626
+ CREATE INDEX "ApiKey_value_idx" ON "ApiKey"("value");
627
+
628
+ -- CreateIndex
629
+ CREATE INDEX "ApiKey_workspaceId_idx" ON "ApiKey"("workspaceId");
630
+
631
+ -- CreateIndex
632
+ CREATE INDEX "Assistant_workspaceId_idx" ON "Assistant"("workspaceId");
633
+
634
+ -- CreateIndex
635
+ CREATE UNIQUE INDEX "AssistantHandler_handlerId_key" ON "AssistantHandler"("handlerId");
636
+
637
+ -- CreateIndex
638
+ CREATE INDEX "AssistantHandler_handlerId_idx" ON "AssistantHandler"("handlerId");
639
+
640
+ -- CreateIndex
641
+ CREATE INDEX "AssistantHandler_assistantId_idx" ON "AssistantHandler"("assistantId");
642
+
643
+ -- CreateIndex
644
+ CREATE UNIQUE INDEX "Avatar_assistantId_key" ON "Avatar"("assistantId");
645
+
646
+ -- CreateIndex
647
+ CREATE UNIQUE INDEX "ClientToolHandler_handlerId_key" ON "ClientToolHandler"("handlerId");
648
+
649
+ -- CreateIndex
650
+ CREATE INDEX "ClientToolHandler_handlerId_idx" ON "ClientToolHandler"("handlerId");
651
+
652
+ -- CreateIndex
653
+ CREATE UNIQUE INDEX "CodeInterpreterTool_toolId_key" ON "CodeInterpreterTool"("toolId");
654
+
655
+ -- CreateIndex
656
+ CREATE UNIQUE INDEX "ComputerUseTool_mcpServerId_key" ON "ComputerUseTool"("mcpServerId");
657
+
658
+ -- CreateIndex
659
+ CREATE UNIQUE INDEX "ComputerUseTool_toolId_key" ON "ComputerUseTool"("toolId");
660
+
661
+ -- CreateIndex
662
+ CREATE UNIQUE INDEX "CreateTaskHandler_handlerId_key" ON "CreateTaskHandler"("handlerId");
663
+
664
+ -- CreateIndex
665
+ CREATE INDEX "CreateTaskHandler_handlerId_idx" ON "CreateTaskHandler"("handlerId");
666
+
667
+ -- CreateIndex
668
+ CREATE UNIQUE INDEX "DeleteTaskHandler_handlerId_key" ON "DeleteTaskHandler"("handlerId");
669
+
670
+ -- CreateIndex
671
+ CREATE INDEX "DeleteTaskHandler_handlerId_idx" ON "DeleteTaskHandler"("handlerId");
672
+
673
+ -- CreateIndex
674
+ CREATE UNIQUE INDEX "FileSearchTool_toolId_key" ON "FileSearchTool"("toolId");
675
+
676
+ -- CreateIndex
677
+ CREATE UNIQUE INDEX "FirecrawlHandler_handlerId_key" ON "FirecrawlHandler"("handlerId");
678
+
679
+ -- CreateIndex
680
+ CREATE INDEX "FirecrawlHandler_handlerId_idx" ON "FirecrawlHandler"("handlerId");
681
+
682
+ -- CreateIndex
683
+ CREATE INDEX "Function_assistantId_idx" ON "Function"("assistantId");
684
+
685
+ -- CreateIndex
686
+ CREATE UNIQUE INDEX "Handler_functionId_key" ON "Handler"("functionId");
687
+
688
+ -- CreateIndex
689
+ CREATE INDEX "Handler_functionId_idx" ON "Handler"("functionId");
690
+
691
+ -- CreateIndex
692
+ CREATE UNIQUE INDEX "HttpTransport_mcpServerId_key" ON "HttpTransport"("mcpServerId");
693
+
694
+ -- CreateIndex
695
+ CREATE INDEX "HttpTransport_mcpServerId_idx" ON "HttpTransport"("mcpServerId");
696
+
697
+ -- CreateIndex
698
+ CREATE UNIQUE INDEX "IconAvatar_avatarId_key" ON "IconAvatar"("avatarId");
699
+
700
+ -- CreateIndex
701
+ CREATE UNIQUE INDEX "ImageAvatar_avatarId_key" ON "ImageAvatar"("avatarId");
702
+
703
+ -- CreateIndex
704
+ CREATE UNIQUE INDEX "ImageGenerationTool_toolId_key" ON "ImageGenerationTool"("toolId");
705
+
706
+ -- CreateIndex
707
+ CREATE INDEX "InitialMessage_assistantId_idx" ON "InitialMessage"("assistantId");
708
+
709
+ -- CreateIndex
710
+ CREATE INDEX "InitialMessage_orderNumber_idx" ON "InitialMessage"("orderNumber");
711
+
712
+ -- CreateIndex
713
+ CREATE INDEX "Invitation_createdByUserId_idx" ON "Invitation"("createdByUserId");
714
+
715
+ -- CreateIndex
716
+ CREATE INDEX "Invitation_workspaceId_idx" ON "Invitation"("workspaceId");
717
+
718
+ -- CreateIndex
719
+ CREATE UNIQUE INDEX "Invitation_workspaceId_email_key" ON "Invitation"("workspaceId", "email");
720
+
721
+ -- CreateIndex
722
+ CREATE UNIQUE INDEX "ListTasksHandler_handlerId_key" ON "ListTasksHandler"("handlerId");
723
+
724
+ -- CreateIndex
725
+ CREATE INDEX "ListTasksHandler_handlerId_idx" ON "ListTasksHandler"("handlerId");
726
+
727
+ -- CreateIndex
728
+ CREATE INDEX "Log_workspaceId_idx" ON "Log"("workspaceId");
729
+
730
+ -- CreateIndex
731
+ CREATE INDEX "Log_assistantId_idx" ON "Log"("assistantId");
732
+
733
+ -- CreateIndex
734
+ CREATE INDEX "Log_threadId_idx" ON "Log"("threadId");
735
+
736
+ -- CreateIndex
737
+ CREATE INDEX "Log_createdAt_idx" ON "Log"("createdAt" DESC);
738
+
739
+ -- CreateIndex
740
+ CREATE INDEX "McpServer_assistantId_idx" ON "McpServer"("assistantId");
741
+
742
+ -- CreateIndex
743
+ CREATE INDEX "Message_threadId_idx" ON "Message"("threadId");
744
+
745
+ -- CreateIndex
746
+ CREATE INDEX "Message_assistantId_idx" ON "Message"("assistantId");
747
+
748
+ -- CreateIndex
749
+ CREATE INDEX "Message_createdAt_idx" ON "Message"("createdAt" DESC);
750
+
751
+ -- CreateIndex
752
+ CREATE INDEX "Message_runId_idx" ON "Message"("runId");
753
+
754
+ -- CreateIndex
755
+ CREATE INDEX "ModelProvider_workspaceId_idx" ON "ModelProvider"("workspaceId");
756
+
757
+ -- CreateIndex
758
+ CREATE UNIQUE INDEX "ReplicateHandler_handlerId_key" ON "ReplicateHandler"("handlerId");
759
+
760
+ -- CreateIndex
761
+ CREATE INDEX "ReplicateHandler_handlerId_idx" ON "ReplicateHandler"("handlerId");
762
+
763
+ -- CreateIndex
764
+ CREATE UNIQUE INDEX "RequestHandler_handlerId_key" ON "RequestHandler"("handlerId");
765
+
766
+ -- CreateIndex
767
+ CREATE INDEX "RequestHandler_handlerId_idx" ON "RequestHandler"("handlerId");
768
+
769
+ -- CreateIndex
770
+ CREATE INDEX "Run_assistantId_idx" ON "Run"("assistantId");
771
+
772
+ -- CreateIndex
773
+ CREATE INDEX "Run_threadId_idx" ON "Run"("threadId");
774
+
775
+ -- CreateIndex
776
+ CREATE INDEX "RunStep_threadId_runId_type_status_idx" ON "RunStep"("threadId", "runId", "type", "status");
777
+
778
+ -- CreateIndex
779
+ CREATE INDEX "RunStep_createdAt_idx" ON "RunStep"("createdAt" ASC);
780
+
781
+ -- CreateIndex
782
+ CREATE INDEX "RunStep_assistantId_idx" ON "RunStep"("assistantId");
783
+
784
+ -- CreateIndex
785
+ CREATE INDEX "RunStep_runId_idx" ON "RunStep"("runId");
786
+
787
+ -- CreateIndex
788
+ CREATE UNIQUE INDEX "Session_sessionToken_key" ON "Session"("sessionToken");
789
+
790
+ -- CreateIndex
791
+ CREATE UNIQUE INDEX "SseTransport_mcpServerId_key" ON "SseTransport"("mcpServerId");
792
+
793
+ -- CreateIndex
794
+ CREATE INDEX "SseTransport_mcpServerId_idx" ON "SseTransport"("mcpServerId");
795
+
796
+ -- CreateIndex
797
+ CREATE UNIQUE INDEX "StdioTransport_mcpServerId_key" ON "StdioTransport"("mcpServerId");
798
+
799
+ -- CreateIndex
800
+ CREATE INDEX "StdioTransport_mcpServerId_idx" ON "StdioTransport"("mcpServerId");
801
+
802
+ -- CreateIndex
803
+ CREATE INDEX "Task_threadId_idx" ON "Task"("threadId");
804
+
805
+ -- CreateIndex
806
+ CREATE INDEX "Thread_assistantId_idx" ON "Thread"("assistantId");
807
+
808
+ -- CreateIndex
809
+ CREATE INDEX "Thread_createdAt_idx" ON "Thread"("createdAt" DESC);
810
+
811
+ -- CreateIndex
812
+ CREATE UNIQUE INDEX "UpdateTaskHandler_handlerId_key" ON "UpdateTaskHandler"("handlerId");
813
+
814
+ -- CreateIndex
815
+ CREATE INDEX "UpdateTaskHandler_handlerId_idx" ON "UpdateTaskHandler"("handlerId");
816
+
817
+ -- CreateIndex
818
+ CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
819
+
820
+ -- CreateIndex
821
+ CREATE INDEX "UserRole_userId_idx" ON "UserRole"("userId");
822
+
823
+ -- CreateIndex
824
+ CREATE INDEX "UserRole_workspaceId_idx" ON "UserRole"("workspaceId");
825
+
826
+ -- CreateIndex
827
+ CREATE UNIQUE INDEX "UserRole_workspaceId_userId_key" ON "UserRole"("workspaceId", "userId");
828
+
829
+ -- CreateIndex
830
+ CREATE UNIQUE INDEX "VerificationToken_token_key" ON "VerificationToken"("token");
831
+
832
+ -- CreateIndex
833
+ CREATE UNIQUE INDEX "VerificationToken_identifier_token_key" ON "VerificationToken"("identifier", "token");
834
+
835
+ -- CreateIndex
836
+ CREATE UNIQUE INDEX "WebSearchTool_toolId_key" ON "WebSearchTool"("toolId");
837
+
838
+ -- AddForeignKey
839
+ ALTER TABLE "Account" ADD CONSTRAINT "Account_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
840
+
841
+ -- AddForeignKey
842
+ ALTER TABLE "ApiKey" ADD CONSTRAINT "ApiKey_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "Workspace"("id") ON DELETE CASCADE ON UPDATE CASCADE;
843
+
844
+ -- AddForeignKey
845
+ ALTER TABLE "Assistant" ADD CONSTRAINT "Assistant_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "Workspace"("id") ON DELETE CASCADE ON UPDATE CASCADE;
846
+
847
+ -- AddForeignKey
848
+ ALTER TABLE "Assistant" ADD CONSTRAINT "Assistant_modelProviderId_fkey" FOREIGN KEY ("modelProviderId") REFERENCES "ModelProvider"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
849
+
850
+ -- AddForeignKey
851
+ ALTER TABLE "AssistantHandler" ADD CONSTRAINT "AssistantHandler_assistantId_fkey" FOREIGN KEY ("assistantId") REFERENCES "Assistant"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
852
+
853
+ -- AddForeignKey
854
+ ALTER TABLE "AssistantHandler" ADD CONSTRAINT "AssistantHandler_handlerId_fkey" FOREIGN KEY ("handlerId") REFERENCES "Handler"("id") ON DELETE CASCADE ON UPDATE CASCADE;
855
+
856
+ -- AddForeignKey
857
+ ALTER TABLE "Avatar" ADD CONSTRAINT "Avatar_assistantId_fkey" FOREIGN KEY ("assistantId") REFERENCES "Assistant"("id") ON DELETE CASCADE ON UPDATE CASCADE;
858
+
859
+ -- AddForeignKey
860
+ ALTER TABLE "ClientToolHandler" ADD CONSTRAINT "ClientToolHandler_handlerId_fkey" FOREIGN KEY ("handlerId") REFERENCES "Handler"("id") ON DELETE CASCADE ON UPDATE CASCADE;
861
+
862
+ -- AddForeignKey
863
+ ALTER TABLE "CodeInterpreterTool" ADD CONSTRAINT "CodeInterpreterTool_toolId_fkey" FOREIGN KEY ("toolId") REFERENCES "Tool"("id") ON DELETE CASCADE ON UPDATE CASCADE;
864
+
865
+ -- AddForeignKey
866
+ ALTER TABLE "ComputerUseTool" ADD CONSTRAINT "ComputerUseTool_mcpServerId_fkey" FOREIGN KEY ("mcpServerId") REFERENCES "McpServer"("id") ON DELETE CASCADE ON UPDATE CASCADE;
867
+
868
+ -- AddForeignKey
869
+ ALTER TABLE "ComputerUseTool" ADD CONSTRAINT "ComputerUseTool_toolId_fkey" FOREIGN KEY ("toolId") REFERENCES "Tool"("id") ON DELETE CASCADE ON UPDATE CASCADE;
870
+
871
+ -- AddForeignKey
872
+ ALTER TABLE "CreateTaskHandler" ADD CONSTRAINT "CreateTaskHandler_handlerId_fkey" FOREIGN KEY ("handlerId") REFERENCES "Handler"("id") ON DELETE CASCADE ON UPDATE CASCADE;
873
+
874
+ -- AddForeignKey
875
+ ALTER TABLE "DeleteTaskHandler" ADD CONSTRAINT "DeleteTaskHandler_handlerId_fkey" FOREIGN KEY ("handlerId") REFERENCES "Handler"("id") ON DELETE CASCADE ON UPDATE CASCADE;
876
+
877
+ -- AddForeignKey
878
+ ALTER TABLE "FileSearchTool" ADD CONSTRAINT "FileSearchTool_toolId_fkey" FOREIGN KEY ("toolId") REFERENCES "Tool"("id") ON DELETE CASCADE ON UPDATE CASCADE;
879
+
880
+ -- AddForeignKey
881
+ ALTER TABLE "FirecrawlHandler" ADD CONSTRAINT "FirecrawlHandler_handlerId_fkey" FOREIGN KEY ("handlerId") REFERENCES "Handler"("id") ON DELETE CASCADE ON UPDATE CASCADE;
882
+
883
+ -- AddForeignKey
884
+ ALTER TABLE "Function" ADD CONSTRAINT "Function_assistantId_fkey" FOREIGN KEY ("assistantId") REFERENCES "Assistant"("id") ON DELETE CASCADE ON UPDATE CASCADE;
885
+
886
+ -- AddForeignKey
887
+ ALTER TABLE "Handler" ADD CONSTRAINT "Handler_functionId_fkey" FOREIGN KEY ("functionId") REFERENCES "Function"("id") ON DELETE CASCADE ON UPDATE CASCADE;
888
+
889
+ -- AddForeignKey
890
+ ALTER TABLE "HttpTransport" ADD CONSTRAINT "HttpTransport_mcpServerId_fkey" FOREIGN KEY ("mcpServerId") REFERENCES "McpServer"("id") ON DELETE CASCADE ON UPDATE CASCADE;
891
+
892
+ -- AddForeignKey
893
+ ALTER TABLE "IconAvatar" ADD CONSTRAINT "IconAvatar_avatarId_fkey" FOREIGN KEY ("avatarId") REFERENCES "Avatar"("id") ON DELETE CASCADE ON UPDATE CASCADE;
894
+
895
+ -- AddForeignKey
896
+ ALTER TABLE "ImageAvatar" ADD CONSTRAINT "ImageAvatar_avatarId_fkey" FOREIGN KEY ("avatarId") REFERENCES "Avatar"("id") ON DELETE CASCADE ON UPDATE CASCADE;
897
+
898
+ -- AddForeignKey
899
+ ALTER TABLE "ImageGenerationTool" ADD CONSTRAINT "ImageGenerationTool_toolId_fkey" FOREIGN KEY ("toolId") REFERENCES "Tool"("id") ON DELETE CASCADE ON UPDATE CASCADE;
900
+
901
+ -- AddForeignKey
902
+ ALTER TABLE "InitialMessage" ADD CONSTRAINT "InitialMessage_assistantId_fkey" FOREIGN KEY ("assistantId") REFERENCES "Assistant"("id") ON DELETE CASCADE ON UPDATE CASCADE;
903
+
904
+ -- AddForeignKey
905
+ ALTER TABLE "Invitation" ADD CONSTRAINT "Invitation_createdByUserId_fkey" FOREIGN KEY ("createdByUserId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
906
+
907
+ -- AddForeignKey
908
+ ALTER TABLE "Invitation" ADD CONSTRAINT "Invitation_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "Workspace"("id") ON DELETE CASCADE ON UPDATE CASCADE;
909
+
910
+ -- AddForeignKey
911
+ ALTER TABLE "ListTasksHandler" ADD CONSTRAINT "ListTasksHandler_handlerId_fkey" FOREIGN KEY ("handlerId") REFERENCES "Handler"("id") ON DELETE CASCADE ON UPDATE CASCADE;
912
+
913
+ -- AddForeignKey
914
+ ALTER TABLE "Log" ADD CONSTRAINT "Log_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "Workspace"("id") ON DELETE CASCADE ON UPDATE CASCADE;
915
+
916
+ -- AddForeignKey
917
+ ALTER TABLE "Log" ADD CONSTRAINT "Log_assistantId_fkey" FOREIGN KEY ("assistantId") REFERENCES "Assistant"("id") ON DELETE CASCADE ON UPDATE CASCADE;
918
+
919
+ -- AddForeignKey
920
+ ALTER TABLE "Log" ADD CONSTRAINT "Log_threadId_fkey" FOREIGN KEY ("threadId") REFERENCES "Thread"("id") ON DELETE CASCADE ON UPDATE CASCADE;
921
+
922
+ -- AddForeignKey
923
+ ALTER TABLE "McpServer" ADD CONSTRAINT "McpServer_assistantId_fkey" FOREIGN KEY ("assistantId") REFERENCES "Assistant"("id") ON DELETE CASCADE ON UPDATE CASCADE;
924
+
925
+ -- AddForeignKey
926
+ ALTER TABLE "Message" ADD CONSTRAINT "Message_threadId_fkey" FOREIGN KEY ("threadId") REFERENCES "Thread"("id") ON DELETE CASCADE ON UPDATE CASCADE;
927
+
928
+ -- AddForeignKey
929
+ ALTER TABLE "Message" ADD CONSTRAINT "Message_assistantId_fkey" FOREIGN KEY ("assistantId") REFERENCES "Assistant"("id") ON DELETE CASCADE ON UPDATE CASCADE;
930
+
931
+ -- AddForeignKey
932
+ ALTER TABLE "Message" ADD CONSTRAINT "Message_runId_fkey" FOREIGN KEY ("runId") REFERENCES "Run"("id") ON DELETE CASCADE ON UPDATE CASCADE;
933
+
934
+ -- AddForeignKey
935
+ ALTER TABLE "ModelProvider" ADD CONSTRAINT "ModelProvider_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "Workspace"("id") ON DELETE CASCADE ON UPDATE CASCADE;
936
+
937
+ -- AddForeignKey
938
+ ALTER TABLE "ReplicateHandler" ADD CONSTRAINT "ReplicateHandler_handlerId_fkey" FOREIGN KEY ("handlerId") REFERENCES "Handler"("id") ON DELETE CASCADE ON UPDATE CASCADE;
939
+
940
+ -- AddForeignKey
941
+ ALTER TABLE "RequestHandler" ADD CONSTRAINT "RequestHandler_handlerId_fkey" FOREIGN KEY ("handlerId") REFERENCES "Handler"("id") ON DELETE CASCADE ON UPDATE CASCADE;
942
+
943
+ -- AddForeignKey
944
+ ALTER TABLE "Run" ADD CONSTRAINT "Run_threadId_fkey" FOREIGN KEY ("threadId") REFERENCES "Thread"("id") ON DELETE CASCADE ON UPDATE CASCADE;
945
+
946
+ -- AddForeignKey
947
+ ALTER TABLE "Run" ADD CONSTRAINT "Run_assistantId_fkey" FOREIGN KEY ("assistantId") REFERENCES "Assistant"("id") ON DELETE CASCADE ON UPDATE CASCADE;
948
+
949
+ -- AddForeignKey
950
+ ALTER TABLE "RunStep" ADD CONSTRAINT "RunStep_threadId_fkey" FOREIGN KEY ("threadId") REFERENCES "Thread"("id") ON DELETE CASCADE ON UPDATE CASCADE;
951
+
952
+ -- AddForeignKey
953
+ ALTER TABLE "RunStep" ADD CONSTRAINT "RunStep_assistantId_fkey" FOREIGN KEY ("assistantId") REFERENCES "Assistant"("id") ON DELETE CASCADE ON UPDATE CASCADE;
954
+
955
+ -- AddForeignKey
956
+ ALTER TABLE "RunStep" ADD CONSTRAINT "RunStep_runId_fkey" FOREIGN KEY ("runId") REFERENCES "Run"("id") ON DELETE CASCADE ON UPDATE CASCADE;
957
+
958
+ -- AddForeignKey
959
+ ALTER TABLE "Session" ADD CONSTRAINT "Session_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
960
+
961
+ -- AddForeignKey
962
+ ALTER TABLE "SseTransport" ADD CONSTRAINT "SseTransport_mcpServerId_fkey" FOREIGN KEY ("mcpServerId") REFERENCES "McpServer"("id") ON DELETE CASCADE ON UPDATE CASCADE;
963
+
964
+ -- AddForeignKey
965
+ ALTER TABLE "StdioTransport" ADD CONSTRAINT "StdioTransport_mcpServerId_fkey" FOREIGN KEY ("mcpServerId") REFERENCES "McpServer"("id") ON DELETE CASCADE ON UPDATE CASCADE;
966
+
967
+ -- AddForeignKey
968
+ ALTER TABLE "Task" ADD CONSTRAINT "Task_threadId_fkey" FOREIGN KEY ("threadId") REFERENCES "Thread"("id") ON DELETE CASCADE ON UPDATE CASCADE;
969
+
970
+ -- AddForeignKey
971
+ ALTER TABLE "Thread" ADD CONSTRAINT "Thread_assistantId_fkey" FOREIGN KEY ("assistantId") REFERENCES "Assistant"("id") ON DELETE CASCADE ON UPDATE CASCADE;
972
+
973
+ -- AddForeignKey
974
+ ALTER TABLE "Tool" ADD CONSTRAINT "Tool_assistantId_fkey" FOREIGN KEY ("assistantId") REFERENCES "Assistant"("id") ON DELETE CASCADE ON UPDATE CASCADE;
975
+
976
+ -- AddForeignKey
977
+ ALTER TABLE "UpdateTaskHandler" ADD CONSTRAINT "UpdateTaskHandler_handlerId_fkey" FOREIGN KEY ("handlerId") REFERENCES "Handler"("id") ON DELETE CASCADE ON UPDATE CASCADE;
978
+
979
+ -- AddForeignKey
980
+ ALTER TABLE "UserRole" ADD CONSTRAINT "UserRole_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
981
+
982
+ -- AddForeignKey
983
+ ALTER TABLE "UserRole" ADD CONSTRAINT "UserRole_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "Workspace"("id") ON DELETE CASCADE ON UPDATE CASCADE;
984
+
985
+ -- AddForeignKey
986
+ ALTER TABLE "WebSearchTool" ADD CONSTRAINT "WebSearchTool_toolId_fkey" FOREIGN KEY ("toolId") REFERENCES "Tool"("id") ON DELETE CASCADE ON UPDATE CASCADE;