Unified · Split
| @@ -100,3 +100,6 @@ LEARNINGS.md · 99 unmodified lines | |||
| 100 | 100 | ||
| 101 | # Pi coding agent | 101 | # Pi coding agent |
| 102 | .pi/ | 102 | .pi/ |
| 103 | |||
| 104 | # Throwaway UX prototype (not part of the app) | ||
| 105 | ux-demo/ | ||
| @@ -2,6 +2,5 @@ · 1 unmodified line | |||
| 2 | "typescript.tsdk": "./node_modules/typescript/lib", | 2 | "typescript.tsdk": "./node_modules/typescript/lib", |
| 3 | "typescript.enablePromptUseWorkspaceTsdk": true, | 3 | "typescript.enablePromptUseWorkspaceTsdk": true, |
| 4 | "typescript.native-preview.tsdk": "node_modules/@typescript/native-preview", | 4 | "typescript.native-preview.tsdk": "node_modules/@typescript/native-preview", |
| 5 | "typescript.experimental.useTsgo": true, | 5 | "typescript.experimental.useTsgo": false |
| 6 | "js/ts.experimental.useTsgo": true | ||
| 7 | } | 6 | } |
| @@ -2,7 +2,7 @@ import { afterEach, describe, expect, it } from "@effect/vitest"; · 1 unmodified line | |||
| 2 | import { BunServices } from "@effect/platform-bun"; | 2 | import { BunServices } from "@effect/platform-bun"; |
| 3 | import { mkdtempSync, rmSync } from "node:fs"; | 3 | import { mkdtempSync, rmSync } from "node:fs"; |
| 4 | import { tmpdir } from "node:os"; | 4 | import { tmpdir } from "node:os"; |
| 5 | import { join } from "node:path"; | 5 | import { join, resolve } from "node:path"; |
| 6 | import * as Effect from "effect/Effect"; | 6 | import * as Effect from "effect/Effect"; |
| 7 | 7 | ||
| 8 | import { | 8 | import { |
| @@ -44,7 +44,7 @@ describe("daemon host and scope identity", () => { · 35 unmodified lines | |||
| 44 | process.chdir(workspace); | 44 | process.chdir(workspace); |
| 45 | process.env.EXECUTOR_SCOPE_DIR = "executor.jsonc"; | 45 | process.env.EXECUTOR_SCOPE_DIR = "executor.jsonc"; |
| 46 | 46 | ||
| 47 | expect(currentDaemonScopeId()).toBe(`scope:${join(workspace, "executor.jsonc")}`); | 47 | expect(currentDaemonScopeId()).toBe(`scope:${resolve("executor.jsonc")}`); |
| 48 | } finally { | 48 | } finally { |
| 49 | rmSync(workspace, { recursive: true, force: true }); | 49 | rmSync(workspace, { recursive: true, force: true }); |
| 50 | } | 50 | } |
| @@ -1,6 +1,9 @@ | |||
| 1 | import { describe, expect, it } from "@effect/vitest"; | 1 | import { describe, expect, it } from "@effect/vitest"; |
| 2 | import { createServer, type Server } from "node:http"; | ||
| 3 | import type { AddressInfo } from "node:net"; | ||
| 4 | import * as Effect from "effect/Effect"; | ||
| 2 | 5 | ||
| 3 | import { canAutoStartLocalDaemonForHost } from "./daemon"; | 6 | import { canAutoStartLocalDaemonForHost, isExecutorServerReachable } from "./daemon"; |
| 4 | 7 | ||
| 5 | describe("canAutoStartLocalDaemonForHost", () => { | 8 | describe("canAutoStartLocalDaemonForHost", () => { |
| 6 | it("allows loopback hosts", () => { | 9 | it("allows loopback hosts", () => { |
| @@ -14,3 +17,53 @@ describe("canAutoStartLocalDaemonForHost", () => { · 7 unmodified lines | |||
| 14 | expect(canAutoStartLocalDaemonForHost("::")).toBe(false); | 17 | expect(canAutoStartLocalDaemonForHost("::")).toBe(false); |
| 15 | }); | 18 | }); |
| 16 | }); | 19 | }); |
| 20 | |||
| 21 | describe("isExecutorServerReachable", () => { | ||
| 22 | it.effect("checks the v1.5 API surface instead of the removed scope endpoint", () => | ||
| 23 | Effect.gen(function* () { | ||
| 24 | const server = yield* Effect.acquireRelease( | ||
| 25 | Effect.tryPromise( | ||
| 26 | () => | ||
| 27 | new Promise<{ server: Server; port: number }>((resolve, reject) => { | ||
| 28 | const server = createServer((request, response) => { | ||
| 29 | const url = new URL(request.url ?? "/", "http://127.0.0.1"); | ||
| 30 | if (url.pathname === "/api/integrations") { | ||
| 31 | response.writeHead(200, { "content-type": "application/json" }); | ||
| 32 | response.end("[]"); | ||
| 33 | return; | ||
| 34 | } | ||
| 35 | response.writeHead(404); | ||
| 36 | response.end(); | ||
| 37 | }); | ||
| 38 | const onError = (error: Error) => reject(error); | ||
| 39 | server.once("error", onError); | ||
| 40 | server.listen(0, "127.0.0.1", () => { | ||
| 41 | server.off("error", onError); | ||
| 42 | const address = server.address() as AddressInfo; | ||
| 43 | resolve({ server, port: address.port }); | ||
| 44 | }); | ||
| 45 | }), | ||
| 46 | ), | ||
| 47 | ({ server }) => | ||
| 48 | Effect.tryPromise( | ||
| 49 | () => | ||
| 50 | new Promise<void>((resolve) => { | ||
| 51 | server.close(() => resolve()); | ||
| 52 | }), | ||
| 53 | ), | ||
| 54 | ); | ||
| 55 | |||
| 56 | const legacyScopeStatus = yield* Effect.tryPromise(() => | ||
| 57 | fetch(`http://127.0.0.1:${server.port}/api/scope`), | ||
| 58 | ).pipe(Effect.map((response) => response.status)); | ||
| 59 | |||
| 60 | expect(legacyScopeStatus).toBe(404); | ||
| 61 | |||
| 62 | const reachable = yield* isExecutorServerReachable({ | ||
| 63 | baseUrl: `http://127.0.0.1:${server.port}`, | ||
| 64 | }); | ||
| 65 | |||
| 66 | expect(reachable).toBe(true); | ||
| 67 | }), | ||
| 68 | ); | ||
| 69 | }); | ||
| @@ -17,6 +17,11 @@ export interface DaemonSpawnSpec { · 16 unmodified lines | |||
| 17 | readonly args: ReadonlyArray<string>; | 17 | readonly args: ReadonlyArray<string>; |
| 18 | } | 18 | } |
| 19 | 19 | ||
| 20 | export interface ExecutorServerReachabilityInput { | ||
| 21 | readonly baseUrl: string; | ||
| 22 | readonly authorization?: string; | ||
| 23 | } | ||
| 24 | |||
| 20 | type ProbeServer = ReturnType<typeof createServer> & { | 25 | type ProbeServer = ReturnType<typeof createServer> & { |
| 21 | removeAllListeners: () => void; | 26 | removeAllListeners: () => void; |
| 22 | once: (event: "error" | "listening", listener: (...args: unknown[]) => void) => void; | 27 | once: (event: "error" | "listening", listener: (...args: unknown[]) => void) => void; |
| @@ -60,6 +65,19 @@ export const isDevCliEntrypoint = (scriptPath: string | undefined): boolean => { · 37 unmodified lines | |||
| 60 | return scriptPath.endsWith(".ts") || scriptPath.endsWith(".js"); | 65 | return scriptPath.endsWith(".ts") || scriptPath.endsWith(".js"); |
| 61 | }; | 66 | }; |
| 62 | 67 | ||
| 68 | export const isExecutorServerReachable = ( | ||
| 69 | input: ExecutorServerReachabilityInput, | ||
| 70 | ): Effect.Effect<boolean> => | ||
| 71 | Effect.tryPromise(async () => { | ||
| 72 | const url = new URL("/api/integrations", input.baseUrl); | ||
| 73 | const response = await fetch(url, { | ||
| 74 | ...(input.authorization ? { headers: { authorization: input.authorization } } : {}), | ||
| 75 | signal: AbortSignal.timeout(2000), | ||
| 76 | }); | ||
| 77 | await response.body?.cancel(); | ||
| 78 | return response.ok; | ||
| 79 | }).pipe(Effect.catchCause(() => Effect.succeed(false))); | ||
| 80 | |||
| 63 | // --------------------------------------------------------------------------- | 81 | // --------------------------------------------------------------------------- |
| 64 | // Process spec | 82 | // Process spec |
| 65 | // --------------------------------------------------------------------------- | 83 | // --------------------------------------------------------------------------- |
| @@ -62,6 +62,7 @@ import { · 61 unmodified lines | |||
| 62 | buildDaemonSpawnSpec, | 62 | buildDaemonSpawnSpec, |
| 63 | chooseDaemonPort, | 63 | chooseDaemonPort, |
| 64 | canAutoStartLocalDaemonForHost, | 64 | canAutoStartLocalDaemonForHost, |
| 65 | isExecutorServerReachable, | ||
| 65 | isDevCliEntrypoint, | 66 | isDevCliEntrypoint, |
| 66 | parseDaemonBaseUrl, | 67 | parseDaemonBaseUrl, |
| 67 | spawnDetached, | 68 | spawnDetached, |
| @@ -157,51 +158,8 @@ const waitForShutdownSignal = () => · 89 unmodified lines | |||
| 157 | // Background server management | 158 | // Background server management |
| 158 | // --------------------------------------------------------------------------- | 159 | // --------------------------------------------------------------------------- |
| 159 | 160 | ||
| 160 | const isRecord = (value: unknown): value is Record<string, unknown> => | ||
| 161 | typeof value === "object" && value !== null && !Array.isArray(value); | ||
| 162 | |||
| 163 | interface DaemonScopeInfo { | ||
| 164 | readonly id: string; | ||
| 165 | readonly name: string; | ||
| 166 | readonly dir: string; | ||
| 167 | } | ||
| 168 | |||
| 169 | const readDaemonScopeInfo = ( | ||
| 170 | baseUrl: string, | ||
| 171 | authorization?: string, | ||
| 172 | ): Effect.Effect<DaemonScopeInfo | null> => | ||
| 173 | Effect.tryPromise(() => | ||
| 174 | fetch(`${baseUrl}/api/scope`, { | ||
| 175 | ...(authorization ? { headers: { authorization } } : {}), | ||
| 176 | signal: AbortSignal.timeout(2000), | ||
| 177 | }), | ||
| 178 | ).pipe( | ||
| 179 | Effect.flatMap((res) => { | ||
| 180 | if (!res.ok) return Effect.succeed(null); | ||
| 181 | return Effect.tryPromise(() => res.json()).pipe( | ||
| 182 | Effect.map((payload) => { | ||
| 183 | if (!isRecord(payload)) return null; | ||
| 184 | if ( | ||
| 185 | typeof payload.id === "string" && | ||
| 186 | typeof payload.name === "string" && | ||
| 187 | typeof payload.dir === "string" | ||
| 188 | ) { | ||
| 189 | return { | ||
| 190 | id: payload.id, | ||
| 191 | name: payload.name, | ||
| 192 | dir: payload.dir, | ||
| 193 | }; | ||
| 194 | } | ||
| 195 | return null; | ||
| 196 | }), | ||
| 197 | Effect.catchCause(() => Effect.succeed(null)), | ||
| 198 | ); | ||
| 199 | }), | ||
| 200 | Effect.catchCause(() => Effect.succeed(null)), | ||
| 201 | ); | ||
| 202 | |||
| 203 | const isServerReachable = (baseUrl: string, authorization?: string): Effect.Effect<boolean> => | 161 | const isServerReachable = (baseUrl: string, authorization?: string): Effect.Effect<boolean> => |
| 204 | readDaemonScopeInfo(baseUrl, authorization).pipe(Effect.map((scopeInfo) => scopeInfo !== null)); | 162 | isExecutorServerReachable({ baseUrl, authorization }); |
| 205 | 163 | ||
| 206 | const readActiveLocalServerManifest = (): Effect.Effect< | 164 | const readActiveLocalServerManifest = (): Effect.Effect< |
| 207 | ExecutorLocalServerManifest | null, | 165 | ExecutorLocalServerManifest | null, |
| @@ -238,9 +196,6 @@ const normalizeDaemonScopeDir = (dir: string): string => { · 30 unmodified lines | |||
| 238 | return existsSync(resolved) ? realpathSync.native(resolved) : resolved; | 196 | return existsSync(resolved) ? realpathSync.native(resolved) : resolved; |
| 239 | }; | 197 | }; |
| 240 | 198 | ||
| 241 | const currentDaemonScopeDir = (): string => | ||
| 242 | normalizeDaemonScopeDir(process.env.EXECUTOR_SCOPE_DIR ?? process.cwd()); | ||
| 243 | |||
| 244 | const currentScopeDirForManifest = (): string | null => | 199 | const currentScopeDirForManifest = (): string | null => |
| 245 | process.env.EXECUTOR_SCOPE_DIR ? normalizeDaemonScopeDir(process.env.EXECUTOR_SCOPE_DIR) : null; | 200 | process.env.EXECUTOR_SCOPE_DIR ? normalizeDaemonScopeDir(process.env.EXECUTOR_SCOPE_DIR) : null; |
| 246 | 201 | ||
| @@ -382,6 +337,7 @@ const resolveDaemonTarget = (baseUrl: string) => · 135 unmodified lines | |||
| 382 | hostname: pointer.hostname, | 337 | hostname: pointer.hostname, |
| 383 | port: pointer.port, | 338 | port: pointer.port, |
| 384 | scopeId, | 339 | scopeId, |
| 340 | fromPointer: true, | ||
| 385 | }; | 341 | }; |
| 386 | } | 342 | } |
| 387 | 343 | ||
| @@ -393,6 +349,7 @@ const resolveDaemonTarget = (baseUrl: string) => · 5 unmodified lines | |||
| 393 | hostname: host, | 349 | hostname: host, |
| 394 | port: parsed.port, | 350 | port: parsed.port, |
| 395 | scopeId, | 351 | scopeId, |
| 352 | fromPointer: false, | ||
| 396 | }; | 353 | }; |
| 397 | }); | 354 | }); |
| 398 | 355 | ||
| @@ -484,17 +441,22 @@ const ensureDaemon = ( · 85 unmodified lines | |||
| 484 | ): Effect.Effect<string, Error, FileSystem.FileSystem | PlatformPath.Path> => | 441 | ): Effect.Effect<string, Error, FileSystem.FileSystem | PlatformPath.Path> => |
| 485 | Effect.gen(function* () { | 442 | Effect.gen(function* () { |
| 486 | const resolvedTarget = yield* resolveDaemonTarget(baseUrl); | 443 | const resolvedTarget = yield* resolveDaemonTarget(baseUrl); |
| 487 | const reachableScope = yield* readDaemonScopeInfo(resolvedTarget.baseUrl); | 444 | if (resolvedTarget.fromPointer && (yield* isServerReachable(resolvedTarget.baseUrl))) { |
| 488 | if (reachableScope && normalizeDaemonScopeDir(reachableScope.dir) === currentDaemonScopeDir()) { | ||
| 489 | return resolvedTarget.baseUrl; | 445 | return resolvedTarget.baseUrl; |
| 490 | } | 446 | } |
| 491 | 447 | ||
| 492 | const active = yield* readActiveLocalServerManifest(); | 448 | const active = yield* readActiveLocalServerManifest(); |
| 493 | if ( | 449 | const activeOrigin = active |
| 494 | active && | 450 | ? normalizeExecutorServerConnection({ origin: active.connection.origin }).origin |
| 495 | normalizeExecutorServerConnection({ origin: active.connection.origin }).origin !== | 451 | : null; |
| 496 | normalizeExecutorServerConnection({ origin: resolvedTarget.baseUrl }).origin | 452 | const targetOrigin = normalizeExecutorServerConnection({ |
| 497 | ) { | 453 | origin: resolvedTarget.baseUrl, |
| 454 | }).origin; | ||
| 455 | if (activeOrigin === targetOrigin) { | ||
| 456 | return resolvedTarget.baseUrl; | ||
| 457 | } | ||
| 458 | |||
| 459 | if (active && activeOrigin !== targetOrigin) { | ||
| 498 | return yield* Effect.fail( | 460 | return yield* Effect.fail( |
| 499 | new Error( | 461 | new Error( |
| 500 | [ | 462 | [ |
| @@ -1507,9 +1469,8 @@ const runCallHelp = ( · 1006 unmodified lines | |||
| 1507 | serverName: args.serverName, | 1469 | serverName: args.serverName, |
| 1508 | }); | 1470 | }); |
| 1509 | const client = yield* makeApiClient(connection); | 1471 | const client = yield* makeApiClient(connection); |
| 1510 | const scopeInfo = yield* client.scope.info(); | 1472 | const tools = yield* client.tools.list({ query: {} }); |
| 1511 | const tools = yield* client.tools.list({ params: { scopeId: scopeInfo.id } }); | 1473 | const toolPaths = tools.map((tool) => tool.address); |
| 1512 | const toolPaths = tools.map((tool) => tool.id); | ||
| 1513 | 1474 | ||
| 1514 | const inspection = yield* Effect.try({ | 1475 | const inspection = yield* Effect.try({ |
| 1515 | try: () => | 1476 | try: () => |
| @@ -1575,15 +1536,14 @@ const runCallHelp = ( · 59 unmodified lines | |||
| 1575 | } | 1536 | } |
| 1576 | 1537 | ||
| 1577 | const exactTool = inspection.exactPath | 1538 | const exactTool = inspection.exactPath |
| 1578 | ? tools.find((tool) => tool.id === inspection.exactPath) | 1539 | ? tools.find((tool) => tool.address === inspection.exactPath) |
| 1579 | : undefined; | 1540 | : undefined; |
| 1580 | 1541 | ||
| 1581 | if (exactTool && inspection.children.length === 0) { | 1542 | if (exactTool && inspection.children.length === 0) { |
| 1582 | const schema = yield* client.tools | 1543 | const schema = yield* client.tools |
| 1583 | .schema({ | 1544 | .schema({ |
| 1584 | params: { | 1545 | query: { |
| 1585 | scopeId: scopeInfo.id, | 1546 | address: exactTool.address, |
| 1586 | toolId: exactTool.id, | ||
| 1587 | }, | 1547 | }, |
| 1588 | }) | 1548 | }) |
| 1589 | .pipe( | 1549 | .pipe( |
| @@ -1596,7 +1556,7 @@ const runCallHelp = ( · 6 unmodified lines | |||
| 1596 | 1556 | ||
| 1597 | yield* printCallLeafHelp({ | 1557 | yield* printCallLeafHelp({ |
| 1598 | tool: { | 1558 | tool: { |
| 1599 | id: exactTool.id, | 1559 | id: exactTool.address, |
| 1600 | description: exactTool.description, | 1560 | description: exactTool.description, |
| 1601 | }, | 1561 | }, |
| 1602 | schema, | 1562 | schema, |
| @@ -1618,7 +1578,7 @@ const runCallHelp = ( · 15 unmodified lines | |||
| 1618 | limit: args.limit, | 1578 | limit: args.limit, |
| 1619 | exactTool: exactTool | 1579 | exactTool: exactTool |
| 1620 | ? { | 1580 | ? { |
| 1621 | id: exactTool.id, | 1581 | id: exactTool.address, |
| 1622 | description: exactTool.description, | 1582 | description: exactTool.description, |
| 1623 | } | 1583 | } |
| 1624 | : undefined, | 1584 | : undefined, |
| @@ -15,7 +15,7 @@ const withSslMode = (url: string): string => { · 14 unmodified lines | |||
| 15 | }; | 15 | }; |
| 16 | 16 | ||
| 17 | export default defineConfig({ | 17 | export default defineConfig({ |
| 18 | schema: ["./src/services/schema.ts", "./src/services/executor-schema.ts"], | 18 | schema: ["./src/db/schema.ts", "./src/db/executor-schema.ts"], |
| 19 | out: "./drizzle", | 19 | out: "./drizzle", |
| 20 | dialect: "postgresql", | 20 | dialect: "postgresql", |
| 21 | dbCredentials: { | 21 | dbCredentials: { |
| @@ -1,179 +0,0 @@ | |||
| 1 | CREATE TABLE "accounts" ( | ||
| 2 | "id" text PRIMARY KEY NOT NULL, | ||
| 3 | "created_at" timestamp with time zone DEFAULT now() NOT NULL | ||
| 4 | ); | ||
| 5 | --> statement-breakpoint | ||
| 6 | CREATE TABLE "memberships" ( | ||
| 7 | "account_id" text NOT NULL, | ||
| 8 | "organization_id" text NOT NULL, | ||
| 9 | "created_at" timestamp with time zone DEFAULT now() NOT NULL, | ||
| 10 | CONSTRAINT "memberships_account_id_organization_id_pk" PRIMARY KEY("account_id","organization_id") | ||
| 11 | ); | ||
| 12 | --> statement-breakpoint | ||
| 13 | CREATE TABLE "organizations" ( | ||
| 14 | "id" text PRIMARY KEY NOT NULL, | ||
| 15 | "name" text NOT NULL, | ||
| 16 | "created_at" timestamp with time zone DEFAULT now() NOT NULL | ||
| 17 | ); | ||
| 18 | --> statement-breakpoint | ||
| 19 | CREATE TABLE "blob" ( | ||
| 20 | "namespace" text NOT NULL, | ||
| 21 | "key" text NOT NULL, | ||
| 22 | "value" text NOT NULL, | ||
| 23 | CONSTRAINT "blob_namespace_key_pk" PRIMARY KEY("namespace","key") | ||
| 24 | ); | ||
| 25 | --> statement-breakpoint | ||
| 26 | CREATE TABLE "definition" ( | ||
| 27 | "id" text NOT NULL, | ||
| 28 | "scope_id" text NOT NULL, | ||
| 29 | "source_id" text NOT NULL, | ||
| 30 | "plugin_id" text NOT NULL, | ||
| 31 | "name" text NOT NULL, | ||
| 32 | "schema" jsonb NOT NULL, | ||
| 33 | "created_at" timestamp NOT NULL, | ||
| 34 | CONSTRAINT "definition_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 35 | ); | ||
| 36 | --> statement-breakpoint | ||
| 37 | CREATE TABLE "graphql_operation" ( | ||
| 38 | "id" text NOT NULL, | ||
| 39 | "scope_id" text NOT NULL, | ||
| 40 | "source_id" text NOT NULL, | ||
| 41 | "binding" jsonb NOT NULL, | ||
| 42 | CONSTRAINT "graphql_operation_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 43 | ); | ||
| 44 | --> statement-breakpoint | ||
| 45 | CREATE TABLE "graphql_source" ( | ||
| 46 | "id" text NOT NULL, | ||
| 47 | "scope_id" text NOT NULL, | ||
| 48 | "name" text NOT NULL, | ||
| 49 | "endpoint" text NOT NULL, | ||
| 50 | "headers" jsonb, | ||
| 51 | CONSTRAINT "graphql_source_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 52 | ); | ||
| 53 | --> statement-breakpoint | ||
| 54 | CREATE TABLE "mcp_binding" ( | ||
| 55 | "id" text NOT NULL, | ||
| 56 | "scope_id" text NOT NULL, | ||
| 57 | "source_id" text NOT NULL, | ||
| 58 | "binding" jsonb NOT NULL, | ||
| 59 | "created_at" timestamp NOT NULL, | ||
| 60 | CONSTRAINT "mcp_binding_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 61 | ); | ||
| 62 | --> statement-breakpoint | ||
| 63 | CREATE TABLE "mcp_oauth_session" ( | ||
| 64 | "id" text NOT NULL, | ||
| 65 | "scope_id" text NOT NULL, | ||
| 66 | "session" jsonb NOT NULL, | ||
| 67 | "expires_at" integer NOT NULL, | ||
| 68 | "created_at" timestamp NOT NULL, | ||
| 69 | CONSTRAINT "mcp_oauth_session_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 70 | ); | ||
| 71 | --> statement-breakpoint | ||
| 72 | CREATE TABLE "mcp_source" ( | ||
| 73 | "id" text NOT NULL, | ||
| 74 | "scope_id" text NOT NULL, | ||
| 75 | "name" text NOT NULL, | ||
| 76 | "config" jsonb NOT NULL, | ||
| 77 | "created_at" timestamp NOT NULL, | ||
| 78 | CONSTRAINT "mcp_source_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 79 | ); | ||
| 80 | --> statement-breakpoint | ||
| 81 | CREATE TABLE "openapi_oauth_session" ( | ||
| 82 | "id" text NOT NULL, | ||
| 83 | "scope_id" text NOT NULL, | ||
| 84 | "session" jsonb NOT NULL, | ||
| 85 | "created_at" timestamp NOT NULL, | ||
| 86 | CONSTRAINT "openapi_oauth_session_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 87 | ); | ||
| 88 | --> statement-breakpoint | ||
| 89 | CREATE TABLE "openapi_operation" ( | ||
| 90 | "id" text NOT NULL, | ||
| 91 | "scope_id" text NOT NULL, | ||
| 92 | "source_id" text NOT NULL, | ||
| 93 | "binding" jsonb NOT NULL, | ||
| 94 | CONSTRAINT "openapi_operation_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 95 | ); | ||
| 96 | --> statement-breakpoint | ||
| 97 | CREATE TABLE "openapi_source" ( | ||
| 98 | "id" text NOT NULL, | ||
| 99 | "scope_id" text NOT NULL, | ||
| 100 | "name" text NOT NULL, | ||
| 101 | "spec" text NOT NULL, | ||
| 102 | "base_url" text, | ||
| 103 | "headers" jsonb, | ||
| 104 | "oauth2" jsonb, | ||
| 105 | "invocation_config" jsonb NOT NULL, | ||
| 106 | CONSTRAINT "openapi_source_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 107 | ); | ||
| 108 | --> statement-breakpoint | ||
| 109 | CREATE TABLE "secret" ( | ||
| 110 | "id" text NOT NULL, | ||
| 111 | "scope_id" text NOT NULL, | ||
| 112 | "name" text NOT NULL, | ||
| 113 | "provider" text NOT NULL, | ||
| 114 | "created_at" timestamp NOT NULL, | ||
| 115 | CONSTRAINT "secret_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 116 | ); | ||
| 117 | --> statement-breakpoint | ||
| 118 | CREATE TABLE "source" ( | ||
| 119 | "id" text NOT NULL, | ||
| 120 | "scope_id" text NOT NULL, | ||
| 121 | "plugin_id" text NOT NULL, | ||
| 122 | "kind" text NOT NULL, | ||
| 123 | "name" text NOT NULL, | ||
| 124 | "url" text, | ||
| 125 | "can_remove" boolean DEFAULT true NOT NULL, | ||
| 126 | "can_refresh" boolean DEFAULT false NOT NULL, | ||
| 127 | "can_edit" boolean DEFAULT false NOT NULL, | ||
| 128 | "created_at" timestamp NOT NULL, | ||
| 129 | "updated_at" timestamp NOT NULL, | ||
| 130 | CONSTRAINT "source_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 131 | ); | ||
| 132 | --> statement-breakpoint | ||
| 133 | CREATE TABLE "tool" ( | ||
| 134 | "id" text NOT NULL, | ||
| 135 | "scope_id" text NOT NULL, | ||
| 136 | "source_id" text NOT NULL, | ||
| 137 | "plugin_id" text NOT NULL, | ||
| 138 | "name" text NOT NULL, | ||
| 139 | "description" text NOT NULL, | ||
| 140 | "input_schema" jsonb, | ||
| 141 | "output_schema" jsonb, | ||
| 142 | "created_at" timestamp NOT NULL, | ||
| 143 | "updated_at" timestamp NOT NULL, | ||
| 144 | CONSTRAINT "tool_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 145 | ); | ||
| 146 | --> statement-breakpoint | ||
| 147 | CREATE TABLE "workos_vault_metadata" ( | ||
| 148 | "id" text NOT NULL, | ||
| 149 | "scope_id" text NOT NULL, | ||
| 150 | "name" text NOT NULL, | ||
| 151 | "purpose" text, | ||
| 152 | "created_at" timestamp NOT NULL, | ||
| 153 | CONSTRAINT "workos_vault_metadata_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 154 | ); | ||
| 155 | --> statement-breakpoint | ||
| 156 | ALTER TABLE "memberships" ADD CONSTRAINT "memberships_account_id_accounts_id_fk" FOREIGN KEY ("account_id") REFERENCES "public"."accounts"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint | ||
| 157 | ALTER TABLE "memberships" ADD CONSTRAINT "memberships_organization_id_organizations_id_fk" FOREIGN KEY ("organization_id") REFERENCES "public"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint | ||
| 158 | CREATE INDEX "definition_scope_id_idx" ON "definition" USING btree ("scope_id");--> statement-breakpoint | ||
| 159 | CREATE INDEX "definition_source_id_idx" ON "definition" USING btree ("source_id");--> statement-breakpoint | ||
| 160 | CREATE INDEX "definition_plugin_id_idx" ON "definition" USING btree ("plugin_id");--> statement-breakpoint | ||
| 161 | CREATE INDEX "graphql_operation_scope_id_idx" ON "graphql_operation" USING btree ("scope_id");--> statement-breakpoint | ||
| 162 | CREATE INDEX "graphql_operation_source_id_idx" ON "graphql_operation" USING btree ("source_id");--> statement-breakpoint | ||
| 163 | CREATE INDEX "graphql_source_scope_id_idx" ON "graphql_source" USING btree ("scope_id");--> statement-breakpoint | ||
| 164 | CREATE INDEX "mcp_binding_scope_id_idx" ON "mcp_binding" USING btree ("scope_id");--> statement-breakpoint | ||
| 165 | CREATE INDEX "mcp_binding_source_id_idx" ON "mcp_binding" USING btree ("source_id");--> statement-breakpoint | ||
| 166 | CREATE INDEX "mcp_oauth_session_scope_id_idx" ON "mcp_oauth_session" USING btree ("scope_id");--> statement-breakpoint | ||
| 167 | CREATE INDEX "mcp_source_scope_id_idx" ON "mcp_source" USING btree ("scope_id");--> statement-breakpoint | ||
| 168 | CREATE INDEX "openapi_oauth_session_scope_id_idx" ON "openapi_oauth_session" USING btree ("scope_id");--> statement-breakpoint | ||
| 169 | CREATE INDEX "openapi_operation_scope_id_idx" ON "openapi_operation" USING btree ("scope_id");--> statement-breakpoint | ||
| 170 | CREATE INDEX "openapi_operation_source_id_idx" ON "openapi_operation" USING btree ("source_id");--> statement-breakpoint | ||
| 171 | CREATE INDEX "openapi_source_scope_id_idx" ON "openapi_source" USING btree ("scope_id");--> statement-breakpoint | ||
| 172 | CREATE INDEX "secret_scope_id_idx" ON "secret" USING btree ("scope_id");--> statement-breakpoint | ||
| 173 | CREATE INDEX "secret_provider_idx" ON "secret" USING btree ("provider");--> statement-breakpoint | ||
| 174 | CREATE INDEX "source_scope_id_idx" ON "source" USING btree ("scope_id");--> statement-breakpoint | ||
| 175 | CREATE INDEX "source_plugin_id_idx" ON "source" USING btree ("plugin_id");--> statement-breakpoint | ||
| 176 | CREATE INDEX "tool_scope_id_idx" ON "tool" USING btree ("scope_id");--> statement-breakpoint | ||
| 177 | CREATE INDEX "tool_source_id_idx" ON "tool" USING btree ("source_id");--> statement-breakpoint | ||
| 178 | CREATE INDEX "tool_plugin_id_idx" ON "tool" USING btree ("plugin_id");--> statement-breakpoint | ||
| 179 | CREATE INDEX "workos_vault_metadata_scope_id_idx" ON "workos_vault_metadata" USING btree ("scope_id"); | ||
| @@ -0,0 +1,165 @@ | |||
| 1 | CREATE TABLE "accounts" ( | ||
| 2 | "id" text PRIMARY KEY NOT NULL, | ||
| 3 | "created_at" timestamp with time zone DEFAULT now() NOT NULL | ||
| 4 | ); | ||
| 5 | --> statement-breakpoint | ||
| 6 | CREATE TABLE "memberships" ( | ||
| 7 | "account_id" text NOT NULL, | ||
| 8 | "organization_id" text NOT NULL, | ||
| 9 | "created_at" timestamp with time zone DEFAULT now() NOT NULL, | ||
| 10 | CONSTRAINT "memberships_account_id_organization_id_pk" PRIMARY KEY("account_id","organization_id") | ||
| 11 | ); | ||
| 12 | --> statement-breakpoint | ||
| 13 | CREATE TABLE "organizations" ( | ||
| 14 | "id" text PRIMARY KEY NOT NULL, | ||
| 15 | "name" text NOT NULL, | ||
| 16 | "created_at" timestamp with time zone DEFAULT now() NOT NULL | ||
| 17 | ); | ||
| 18 | --> statement-breakpoint | ||
| 19 | CREATE TABLE "blob" ( | ||
| 20 | "namespace" varchar(255) NOT NULL, | ||
| 21 | "key" varchar(255) NOT NULL, | ||
| 22 | "value" text NOT NULL, | ||
| 23 | "row_id" varchar(255) PRIMARY KEY NOT NULL, | ||
| 24 | "id" varchar(255) NOT NULL | ||
| 25 | ); | ||
| 26 | --> statement-breakpoint | ||
| 27 | CREATE TABLE "connection" ( | ||
| 28 | "integration" varchar(255) NOT NULL, | ||
| 29 | "name" varchar(255) NOT NULL, | ||
| 30 | "template" text NOT NULL, | ||
| 31 | "provider" text NOT NULL, | ||
| 32 | "item_ids" json NOT NULL, | ||
| 33 | "identity_label" text, | ||
| 34 | "oauth_client" text, | ||
| 35 | "oauth_client_owner" text, | ||
| 36 | "refresh_item_id" text, | ||
| 37 | "expires_at" bigint, | ||
| 38 | "oauth_scope" text, | ||
| 39 | "provider_state" json, | ||
| 40 | "created_at" timestamp NOT NULL, | ||
| 41 | "updated_at" timestamp NOT NULL, | ||
| 42 | "row_id" varchar(255) PRIMARY KEY NOT NULL, | ||
| 43 | "tenant" varchar(255) NOT NULL, | ||
| 44 | "owner" varchar(255) NOT NULL, | ||
| 45 | "subject" varchar(255) NOT NULL | ||
| 46 | ); | ||
| 47 | --> statement-breakpoint | ||
| 48 | CREATE TABLE "definition" ( | ||
| 49 | "integration" varchar(255) NOT NULL, | ||
| 50 | "connection" varchar(255) NOT NULL, | ||
| 51 | "plugin_id" text NOT NULL, | ||
| 52 | "name" varchar(255) NOT NULL, | ||
| 53 | "schema" json NOT NULL, | ||
| 54 | "created_at" timestamp NOT NULL, | ||
| 55 | "row_id" varchar(255) PRIMARY KEY NOT NULL, | ||
| 56 | "tenant" varchar(255) NOT NULL, | ||
| 57 | "owner" varchar(255) NOT NULL, | ||
| 58 | "subject" varchar(255) NOT NULL | ||
| 59 | ); | ||
| 60 | --> statement-breakpoint | ||
| 61 | CREATE TABLE "integration" ( | ||
| 62 | "slug" varchar(255) NOT NULL, | ||
| 63 | "plugin_id" text NOT NULL, | ||
| 64 | "description" text NOT NULL, | ||
| 65 | "config" json, | ||
| 66 | "can_remove" boolean DEFAULT true NOT NULL, | ||
| 67 | "can_refresh" boolean DEFAULT false NOT NULL, | ||
| 68 | "created_at" timestamp NOT NULL, | ||
| 69 | "updated_at" timestamp NOT NULL, | ||
| 70 | "row_id" varchar(255) PRIMARY KEY NOT NULL, | ||
| 71 | "tenant" varchar(255) NOT NULL | ||
| 72 | ); | ||
| 73 | --> statement-breakpoint | ||
| 74 | CREATE TABLE "oauth_client" ( | ||
| 75 | "slug" varchar(255) NOT NULL, | ||
| 76 | "authorization_url" text NOT NULL, | ||
| 77 | "token_url" text NOT NULL, | ||
| 78 | "grant" text NOT NULL, | ||
| 79 | "client_id" text NOT NULL, | ||
| 80 | "client_secret_item_id" text, | ||
| 81 | "resource" text, | ||
| 82 | "created_at" timestamp NOT NULL, | ||
| 83 | "row_id" varchar(255) PRIMARY KEY NOT NULL, | ||
| 84 | "tenant" varchar(255) NOT NULL, | ||
| 85 | "owner" varchar(255) NOT NULL, | ||
| 86 | "subject" varchar(255) NOT NULL | ||
| 87 | ); | ||
| 88 | --> statement-breakpoint | ||
| 89 | CREATE TABLE "oauth_session" ( | ||
| 90 | "state" varchar(255) NOT NULL, | ||
| 91 | "client_slug" text NOT NULL, | ||
| 92 | "integration" text NOT NULL, | ||
| 93 | "name" text NOT NULL, | ||
| 94 | "template" text NOT NULL, | ||
| 95 | "redirect_url" text NOT NULL, | ||
| 96 | "pkce_verifier" text, | ||
| 97 | "identity_label" text, | ||
| 98 | "payload" json NOT NULL, | ||
| 99 | "expires_at" bigint NOT NULL, | ||
| 100 | "created_at" timestamp NOT NULL, | ||
| 101 | "row_id" varchar(255) PRIMARY KEY NOT NULL, | ||
| 102 | "tenant" varchar(255) NOT NULL, | ||
| 103 | "owner" varchar(255) NOT NULL, | ||
| 104 | "subject" varchar(255) NOT NULL | ||
| 105 | ); | ||
| 106 | --> statement-breakpoint | ||
| 107 | CREATE TABLE "plugin_storage" ( | ||
| 108 | "plugin_id" varchar(255) NOT NULL, | ||
| 109 | "collection" varchar(255) NOT NULL, | ||
| 110 | "key" varchar(255) NOT NULL, | ||
| 111 | "data" json NOT NULL, | ||
| 112 | "created_at" timestamp NOT NULL, | ||
| 113 | "updated_at" timestamp NOT NULL, | ||
| 114 | "row_id" varchar(255) PRIMARY KEY NOT NULL, | ||
| 115 | "tenant" varchar(255) NOT NULL, | ||
| 116 | "owner" varchar(255) NOT NULL, | ||
| 117 | "subject" varchar(255) NOT NULL | ||
| 118 | ); | ||
| 119 | --> statement-breakpoint | ||
| 120 | CREATE TABLE "private_executor_cloud_settings" ( | ||
| 121 | "id" varchar(255) PRIMARY KEY NOT NULL, | ||
| 122 | "version" varchar(255) DEFAULT '1.0.0' NOT NULL | ||
| 123 | ); | ||
| 124 | --> statement-breakpoint | ||
| 125 | CREATE TABLE "tool" ( | ||
| 126 | "integration" varchar(255) NOT NULL, | ||
| 127 | "connection" varchar(255) NOT NULL, | ||
| 128 | "plugin_id" text NOT NULL, | ||
| 129 | "name" varchar(255) NOT NULL, | ||
| 130 | "description" text NOT NULL, | ||
| 131 | "input_schema" json, | ||
| 132 | "output_schema" json, | ||
| 133 | "annotations" json, | ||
| 134 | "created_at" timestamp NOT NULL, | ||
| 135 | "updated_at" timestamp NOT NULL, | ||
| 136 | "row_id" varchar(255) PRIMARY KEY NOT NULL, | ||
| 137 | "tenant" varchar(255) NOT NULL, | ||
| 138 | "owner" varchar(255) NOT NULL, | ||
| 139 | "subject" varchar(255) NOT NULL | ||
| 140 | ); | ||
| 141 | --> statement-breakpoint | ||
| 142 | CREATE TABLE "tool_policy" ( | ||
| 143 | "id" varchar(255) NOT NULL, | ||
| 144 | "pattern" text NOT NULL, | ||
| 145 | "action" text NOT NULL, | ||
| 146 | "position" text NOT NULL, | ||
| 147 | "created_at" timestamp NOT NULL, | ||
| 148 | "updated_at" timestamp NOT NULL, | ||
| 149 | "row_id" varchar(255) PRIMARY KEY NOT NULL, | ||
| 150 | "tenant" varchar(255) NOT NULL, | ||
| 151 | "owner" varchar(255) NOT NULL, | ||
| 152 | "subject" varchar(255) NOT NULL | ||
| 153 | ); | ||
| 154 | --> statement-breakpoint | ||
| 155 | ALTER TABLE "memberships" ADD CONSTRAINT "memberships_account_id_accounts_id_fk" FOREIGN KEY ("account_id") REFERENCES "public"."accounts"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint | ||
| 156 | ALTER TABLE "memberships" ADD CONSTRAINT "memberships_organization_id_organizations_id_fk" FOREIGN KEY ("organization_id") REFERENCES "public"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint | ||
| 157 | CREATE UNIQUE INDEX "blob_id_uidx" ON "blob" USING btree ("id");--> statement-breakpoint | ||
| 158 | CREATE UNIQUE INDEX "connection_uidx" ON "connection" USING btree ("tenant","owner","subject","integration","name");--> statement-breakpoint | ||
| 159 | CREATE UNIQUE INDEX "definition_uidx" ON "definition" USING btree ("tenant","owner","subject","integration","connection","name");--> statement-breakpoint | ||
| 160 | CREATE UNIQUE INDEX "integration_uidx" ON "integration" USING btree ("tenant","slug");--> statement-breakpoint | ||
| 161 | CREATE UNIQUE INDEX "oauth_client_uidx" ON "oauth_client" USING btree ("tenant","owner","subject","slug");--> statement-breakpoint | ||
| 162 | CREATE UNIQUE INDEX "oauth_session_uidx" ON "oauth_session" USING btree ("tenant","state");--> statement-breakpoint | ||
| 163 | CREATE UNIQUE INDEX "plugin_storage_uidx" ON "plugin_storage" USING btree ("tenant","owner","subject","plugin_id","collection","key");--> statement-breakpoint | ||
| 164 | CREATE UNIQUE INDEX "tool_uidx" ON "tool" USING btree ("tenant","owner","subject","integration","connection","name");--> statement-breakpoint | ||
| 165 | CREATE UNIQUE INDEX "tool_policy_uidx" ON "tool_policy" USING btree ("tenant","owner","subject","id"); | ||
| @@ -1 +0,0 @@ | |||
| 1 | ALTER TABLE "openapi_source" ADD COLUMN "source_url" text; | ||
| @@ -1 +0,0 @@ | |||
| 1 | ALTER TABLE "mcp_oauth_session" ALTER COLUMN "expires_at" SET DATA TYPE bigint; | ||
| @@ -1,20 +0,0 @@ | |||
| 1 | CREATE TABLE "connection" ( | ||
| 2 | "id" text NOT NULL, | ||
| 3 | "scope_id" text NOT NULL, | ||
| 4 | "provider" text NOT NULL, | ||
| 5 | "kind" text NOT NULL, | ||
| 6 | "identity_label" text, | ||
| 7 | "access_token_secret_id" text NOT NULL, | ||
| 8 | "refresh_token_secret_id" text, | ||
| 9 | "expires_at" bigint, | ||
| 10 | "scope" text, | ||
| 11 | "provider_state" jsonb, | ||
| 12 | "created_at" timestamp NOT NULL, | ||
| 13 | "updated_at" timestamp NOT NULL, | ||
| 14 | CONSTRAINT "connection_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 15 | ); | ||
| 16 | --> statement-breakpoint | ||
| 17 | ALTER TABLE "secret" ADD COLUMN "owned_by_connection_id" text;--> statement-breakpoint | ||
| 18 | CREATE INDEX "connection_scope_id_idx" ON "connection" USING btree ("scope_id");--> statement-breakpoint | ||
| 19 | CREATE INDEX "connection_provider_idx" ON "connection" USING btree ("provider");--> statement-breakpoint | ||
| 20 | CREATE INDEX "secret_owned_by_connection_id_idx" ON "secret" USING btree ("owned_by_connection_id"); | ||
| @@ -1,19 +0,0 @@ | |||
| 1 | CREATE TABLE "openapi_source_binding" ( | ||
| 2 | "id" text NOT NULL, | ||
| 3 | "source_id" text NOT NULL, | ||
| 4 | "source_scope_id" text NOT NULL, | ||
| 5 | "target_scope_id" text NOT NULL, | ||
| 6 | "slot" text NOT NULL, | ||
| 7 | "value" jsonb NOT NULL, | ||
| 8 | "created_at" timestamp NOT NULL, | ||
| 9 | "updated_at" timestamp NOT NULL, | ||
| 10 | CONSTRAINT "openapi_source_binding_id_pk" PRIMARY KEY("id") | ||
| 11 | ); | ||
| 12 | --> statement-breakpoint | ||
| 13 | CREATE INDEX "openapi_source_binding_source_id_idx" ON "openapi_source_binding" USING btree ("source_id"); | ||
| 14 | --> statement-breakpoint | ||
| 15 | CREATE INDEX "openapi_source_binding_source_scope_id_idx" ON "openapi_source_binding" USING btree ("source_scope_id"); | ||
| 16 | --> statement-breakpoint | ||
| 17 | CREATE INDEX "openapi_source_binding_target_scope_id_idx" ON "openapi_source_binding" USING btree ("target_scope_id"); | ||
| 18 | --> statement-breakpoint | ||
| 19 | CREATE INDEX "openapi_source_binding_slot_idx" ON "openapi_source_binding" USING btree ("slot"); | ||
| @@ -1 +0,0 @@ | |||
| 1 | ALTER TABLE "connection" DROP COLUMN "kind"; | ||
| @@ -1,17 +0,0 @@ | |||
| 1 | CREATE TABLE "tool_policy" ( | ||
| 2 | "id" text NOT NULL, | ||
| 3 | "scope_id" text NOT NULL, | ||
| 4 | "pattern" text NOT NULL, | ||
| 5 | "action" text NOT NULL, | ||
| 6 | -- Fractional-indexing key (Jira lexorank style). Lex-ordered text; | ||
| 7 | -- always subdivisible by lengthening, so reorders never run out of | ||
| 8 | -- room. | ||
| 9 | "position" text NOT NULL, | ||
| 10 | "created_at" timestamp NOT NULL, | ||
| 11 | "updated_at" timestamp NOT NULL, | ||
| 12 | CONSTRAINT "tool_policy_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 13 | ); | ||
| 14 | --> statement-breakpoint | ||
| 15 | -- List queries are always `WHERE scope_id = ? ORDER BY position`, so the | ||
| 16 | -- composite index serves both the filter and the sort from one btree. | ||
| 17 | CREATE INDEX "tool_policy_scope_id_position_idx" ON "tool_policy" USING btree ("scope_id", "position"); | ||
| @@ -1,22 +0,0 @@ | |||
| 1 | CREATE TABLE "oauth2_session" ( | ||
| 2 | "id" text NOT NULL, | ||
| 3 | "scope_id" text NOT NULL, | ||
| 4 | "plugin_id" text NOT NULL, | ||
| 5 | "strategy" text NOT NULL, | ||
| 6 | "connection_id" text NOT NULL, | ||
| 7 | "token_scope" text NOT NULL, | ||
| 8 | "redirect_url" text NOT NULL, | ||
| 9 | "payload" jsonb NOT NULL, | ||
| 10 | "expires_at" bigint NOT NULL, | ||
| 11 | "created_at" timestamp NOT NULL, | ||
| 12 | CONSTRAINT "oauth2_session_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 13 | ); | ||
| 14 | --> statement-breakpoint | ||
| 15 | DROP TABLE "mcp_oauth_session" CASCADE;--> statement-breakpoint | ||
| 16 | DROP TABLE "openapi_oauth_session" CASCADE;--> statement-breakpoint | ||
| 17 | ALTER TABLE "graphql_source" ADD COLUMN "query_params" jsonb;--> statement-breakpoint | ||
| 18 | ALTER TABLE "graphql_source" ADD COLUMN "auth" jsonb;--> statement-breakpoint | ||
| 19 | ALTER TABLE "openapi_source" ADD COLUMN "query_params" jsonb;--> statement-breakpoint | ||
| 20 | CREATE INDEX "oauth2_session_scope_id_idx" ON "oauth2_session" USING btree ("scope_id");--> statement-breakpoint | ||
| 21 | CREATE INDEX "oauth2_session_plugin_id_idx" ON "oauth2_session" USING btree ("plugin_id");--> statement-breakpoint | ||
| 22 | CREATE INDEX "oauth2_session_connection_id_idx" ON "oauth2_session" USING btree ("connection_id"); | ||
| @@ -1,388 +0,0 @@ | |||
| 1 | -- Normalize all plugin secret/connection refs out of JSON columns | ||
| 2 | -- into proper relational shape: graphql, openapi, mcp. | ||
| 3 | -- pg port of apps/local/drizzle/0007_normalize_plugin_secret_refs.sql. | ||
| 4 | -- (google-discovery is local-only — not in cloud's plugin list.) | ||
| 5 | |||
| 6 | -- ============================================================ | ||
| 7 | -- graphql | ||
| 8 | -- ============================================================ | ||
| 9 | |||
| 10 | -- Normalize graphql plugin: move secret/connection refs out of JSON | ||
| 11 | -- columns into proper relational shape so usagesForSecret / | ||
| 12 | -- usagesForConnection are one indexed SELECT instead of a JSON scan. | ||
| 13 | -- pg port of apps/local/drizzle/0007_normalize_graphql.sql. | ||
| 14 | |||
| 15 | CREATE TABLE "graphql_source_header" ( | ||
| 16 | "id" text NOT NULL, | ||
| 17 | "scope_id" text NOT NULL, | ||
| 18 | "source_id" text NOT NULL, | ||
| 19 | "name" text NOT NULL, | ||
| 20 | "kind" text NOT NULL, | ||
| 21 | "text_value" text, | ||
| 22 | "secret_id" text, | ||
| 23 | "secret_prefix" text, | ||
| 24 | CONSTRAINT "graphql_source_header_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 25 | ); | ||
| 26 | --> statement-breakpoint | ||
| 27 | CREATE INDEX "graphql_source_header_scope_id_idx" ON "graphql_source_header" USING btree ("scope_id");--> statement-breakpoint | ||
| 28 | CREATE INDEX "graphql_source_header_source_id_idx" ON "graphql_source_header" USING btree ("source_id");--> statement-breakpoint | ||
| 29 | CREATE INDEX "graphql_source_header_secret_id_idx" ON "graphql_source_header" USING btree ("secret_id");--> statement-breakpoint | ||
| 30 | |||
| 31 | CREATE TABLE "graphql_source_query_param" ( | ||
| 32 | "id" text NOT NULL, | ||
| 33 | "scope_id" text NOT NULL, | ||
| 34 | "source_id" text NOT NULL, | ||
| 35 | "name" text NOT NULL, | ||
| 36 | "kind" text NOT NULL, | ||
| 37 | "text_value" text, | ||
| 38 | "secret_id" text, | ||
| 39 | "secret_prefix" text, | ||
| 40 | CONSTRAINT "graphql_source_query_param_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 41 | ); | ||
| 42 | --> statement-breakpoint | ||
| 43 | CREATE INDEX "graphql_source_query_param_scope_id_idx" ON "graphql_source_query_param" USING btree ("scope_id");--> statement-breakpoint | ||
| 44 | CREATE INDEX "graphql_source_query_param_source_id_idx" ON "graphql_source_query_param" USING btree ("source_id");--> statement-breakpoint | ||
| 45 | CREATE INDEX "graphql_source_query_param_secret_id_idx" ON "graphql_source_query_param" USING btree ("secret_id");--> statement-breakpoint | ||
| 46 | |||
| 47 | -- New auth columns. `auth_kind` defaults to "none" so existing rows that | ||
| 48 | -- predate this migration are valid even if the json was null. | ||
| 49 | ALTER TABLE "graphql_source" ADD COLUMN "auth_kind" text DEFAULT 'none' NOT NULL;--> statement-breakpoint | ||
| 50 | ALTER TABLE "graphql_source" ADD COLUMN "auth_connection_id" text;--> statement-breakpoint | ||
| 51 | CREATE INDEX "graphql_source_auth_connection_id_idx" ON "graphql_source" USING btree ("auth_connection_id");--> statement-breakpoint | ||
| 52 | |||
| 53 | -- Backfill auth from the JSON column. Missing keys yield NULL, so a row | ||
| 54 | -- with auth=NULL or kind="none" leaves auth_connection_id NULL and | ||
| 55 | -- auth_kind defaulted to "none". | ||
| 56 | UPDATE "graphql_source" | ||
| 57 | SET | ||
| 58 | "auth_kind" = COALESCE("auth"->>'kind', 'none'), | ||
| 59 | "auth_connection_id" = "auth"->>'connectionId' | ||
| 60 | WHERE "auth" IS NOT NULL;--> statement-breakpoint | ||
| 61 | |||
| 62 | -- Backfill headers. For each (source, header_name) pair: if the value | ||
| 63 | -- is a json object with .secretId, write a kind=secret row; otherwise | ||
| 64 | -- write a kind=text row with the literal string. jsonb_each iterates | ||
| 65 | -- the keys of the headers object. | ||
| 66 | INSERT INTO "graphql_source_header" | ||
| 67 | ("scope_id", "id", "source_id", "name", "kind", "text_value", "secret_id", "secret_prefix") | ||
| 68 | SELECT | ||
| 69 | s."scope_id", | ||
| 70 | '[' || to_jsonb(s."id")::text || ',' || to_jsonb(h.key)::text || ']', | ||
| 71 | s."id", | ||
| 72 | h.key, | ||
| 73 | CASE | ||
| 74 | WHEN jsonb_typeof(h.value) = 'object' AND h.value ? 'secretId' THEN 'secret' | ||
| 75 | ELSE 'text' | ||
| 76 | END, | ||
| 77 | CASE WHEN jsonb_typeof(h.value) = 'string' THEN h.value #>> '{}' ELSE NULL END, | ||
| 78 | CASE WHEN jsonb_typeof(h.value) = 'object' THEN h.value->>'secretId' ELSE NULL END, | ||
| 79 | CASE WHEN jsonb_typeof(h.value) = 'object' THEN h.value->>'prefix' ELSE NULL END | ||
| 80 | FROM "graphql_source" s, jsonb_each(s."headers") h | ||
| 81 | WHERE s."headers" IS NOT NULL | ||
| 82 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 83 | |||
| 84 | -- Same for query_params. | ||
| 85 | INSERT INTO "graphql_source_query_param" | ||
| 86 | ("scope_id", "id", "source_id", "name", "kind", "text_value", "secret_id", "secret_prefix") | ||
| 87 | SELECT | ||
| 88 | s."scope_id", | ||
| 89 | '[' || to_jsonb(s."id")::text || ',' || to_jsonb(q.key)::text || ']', | ||
| 90 | s."id", | ||
| 91 | q.key, | ||
| 92 | CASE | ||
| 93 | WHEN jsonb_typeof(q.value) = 'object' AND q.value ? 'secretId' THEN 'secret' | ||
| 94 | ELSE 'text' | ||
| 95 | END, | ||
| 96 | CASE WHEN jsonb_typeof(q.value) = 'string' THEN q.value #>> '{}' ELSE NULL END, | ||
| 97 | CASE WHEN jsonb_typeof(q.value) = 'object' THEN q.value->>'secretId' ELSE NULL END, | ||
| 98 | CASE WHEN jsonb_typeof(q.value) = 'object' THEN q.value->>'prefix' ELSE NULL END | ||
| 99 | FROM "graphql_source" s, jsonb_each(s."query_params") q | ||
| 100 | WHERE s."query_params" IS NOT NULL | ||
| 101 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 102 | |||
| 103 | ALTER TABLE "graphql_source" DROP COLUMN "headers";--> statement-breakpoint | ||
| 104 | ALTER TABLE "graphql_source" DROP COLUMN "query_params";--> statement-breakpoint | ||
| 105 | ALTER TABLE "graphql_source" DROP COLUMN "auth"; | ||
| 106 | |||
| 107 | --> statement-breakpoint | ||
| 108 | |||
| 109 | -- ============================================================ | ||
| 110 | -- openapi | ||
| 111 | -- ============================================================ | ||
| 112 | |||
| 113 | -- Normalize openapi plugin: move every direct secret/connection ref out | ||
| 114 | -- of JSON columns into proper relational shape. pg port of | ||
| 115 | -- apps/local/drizzle/0008_normalize_openapi.sql. | ||
| 116 | |||
| 117 | CREATE TABLE "openapi_source_query_param" ( | ||
| 118 | "id" text NOT NULL, | ||
| 119 | "scope_id" text NOT NULL, | ||
| 120 | "source_id" text NOT NULL, | ||
| 121 | "name" text NOT NULL, | ||
| 122 | "kind" text NOT NULL, | ||
| 123 | "text_value" text, | ||
| 124 | "secret_id" text, | ||
| 125 | "secret_prefix" text, | ||
| 126 | CONSTRAINT "openapi_source_query_param_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 127 | ); | ||
| 128 | --> statement-breakpoint | ||
| 129 | CREATE INDEX "openapi_source_query_param_scope_id_idx" ON "openapi_source_query_param" USING btree ("scope_id");--> statement-breakpoint | ||
| 130 | CREATE INDEX "openapi_source_query_param_source_id_idx" ON "openapi_source_query_param" USING btree ("source_id");--> statement-breakpoint | ||
| 131 | CREATE INDEX "openapi_source_query_param_secret_id_idx" ON "openapi_source_query_param" USING btree ("secret_id");--> statement-breakpoint | ||
| 132 | |||
| 133 | CREATE TABLE "openapi_source_spec_fetch_header" ( | ||
| 134 | "id" text NOT NULL, | ||
| 135 | "scope_id" text NOT NULL, | ||
| 136 | "source_id" text NOT NULL, | ||
| 137 | "name" text NOT NULL, | ||
| 138 | "kind" text NOT NULL, | ||
| 139 | "text_value" text, | ||
| 140 | "secret_id" text, | ||
| 141 | "secret_prefix" text, | ||
| 142 | CONSTRAINT "openapi_source_spec_fetch_header_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 143 | ); | ||
| 144 | --> statement-breakpoint | ||
| 145 | CREATE INDEX "openapi_source_spec_fetch_header_scope_id_idx" ON "openapi_source_spec_fetch_header" USING btree ("scope_id");--> statement-breakpoint | ||
| 146 | CREATE INDEX "openapi_source_spec_fetch_header_source_id_idx" ON "openapi_source_spec_fetch_header" USING btree ("source_id");--> statement-breakpoint | ||
| 147 | CREATE INDEX "openapi_source_spec_fetch_header_secret_id_idx" ON "openapi_source_spec_fetch_header" USING btree ("secret_id");--> statement-breakpoint | ||
| 148 | |||
| 149 | CREATE TABLE "openapi_source_spec_fetch_query_param" ( | ||
| 150 | "id" text NOT NULL, | ||
| 151 | "scope_id" text NOT NULL, | ||
| 152 | "source_id" text NOT NULL, | ||
| 153 | "name" text NOT NULL, | ||
| 154 | "kind" text NOT NULL, | ||
| 155 | "text_value" text, | ||
| 156 | "secret_id" text, | ||
| 157 | "secret_prefix" text, | ||
| 158 | CONSTRAINT "openapi_source_spec_fetch_query_param_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 159 | ); | ||
| 160 | --> statement-breakpoint | ||
| 161 | CREATE INDEX "openapi_source_spec_fetch_query_param_scope_id_idx" ON "openapi_source_spec_fetch_query_param" USING btree ("scope_id");--> statement-breakpoint | ||
| 162 | CREATE INDEX "openapi_source_spec_fetch_query_param_source_id_idx" ON "openapi_source_spec_fetch_query_param" USING btree ("source_id");--> statement-breakpoint | ||
| 163 | CREATE INDEX "openapi_source_spec_fetch_query_param_secret_id_idx" ON "openapi_source_spec_fetch_query_param" USING btree ("secret_id");--> statement-breakpoint | ||
| 164 | |||
| 165 | -- New columns on openapi_source_binding to flatten the value json. | ||
| 166 | -- `kind` defaults to 'text' so the ALTER works on existing rows; the | ||
| 167 | -- backfill below stamps the real value. | ||
| 168 | ALTER TABLE "openapi_source_binding" ADD COLUMN "kind" text DEFAULT 'text' NOT NULL;--> statement-breakpoint | ||
| 169 | ALTER TABLE "openapi_source_binding" ADD COLUMN "secret_id" text;--> statement-breakpoint | ||
| 170 | ALTER TABLE "openapi_source_binding" ADD COLUMN "connection_id" text;--> statement-breakpoint | ||
| 171 | ALTER TABLE "openapi_source_binding" ADD COLUMN "text_value" text;--> statement-breakpoint | ||
| 172 | CREATE INDEX "openapi_source_binding_secret_id_idx" ON "openapi_source_binding" USING btree ("secret_id");--> statement-breakpoint | ||
| 173 | CREATE INDEX "openapi_source_binding_connection_id_idx" ON "openapi_source_binding" USING btree ("connection_id");--> statement-breakpoint | ||
| 174 | |||
| 175 | UPDATE "openapi_source_binding" | ||
| 176 | SET | ||
| 177 | "kind" = COALESCE("value"->>'kind', 'text'), | ||
| 178 | "secret_id" = CASE WHEN "value"->>'kind' = 'secret' THEN "value"->>'secretId' ELSE NULL END, | ||
| 179 | "connection_id" = CASE WHEN "value"->>'kind' = 'connection' THEN "value"->>'connectionId' ELSE NULL END, | ||
| 180 | "text_value" = CASE WHEN "value"->>'kind' = 'text' THEN "value"->>'text' ELSE NULL END | ||
| 181 | WHERE "value" IS NOT NULL;--> statement-breakpoint | ||
| 182 | |||
| 183 | INSERT INTO "openapi_source_query_param" | ||
| 184 | ("scope_id", "id", "source_id", "name", "kind", "text_value", "secret_id", "secret_prefix") | ||
| 185 | SELECT | ||
| 186 | s."scope_id", | ||
| 187 | '[' || to_jsonb(s."id")::text || ',' || to_jsonb(q.key)::text || ']', | ||
| 188 | s."id", | ||
| 189 | q.key, | ||
| 190 | CASE | ||
| 191 | WHEN jsonb_typeof(q.value) = 'object' AND q.value ? 'secretId' THEN 'secret' | ||
| 192 | ELSE 'text' | ||
| 193 | END, | ||
| 194 | CASE WHEN jsonb_typeof(q.value) = 'string' THEN q.value #>> '{}' ELSE NULL END, | ||
| 195 | CASE WHEN jsonb_typeof(q.value) = 'object' THEN q.value->>'secretId' ELSE NULL END, | ||
| 196 | CASE WHEN jsonb_typeof(q.value) = 'object' THEN q.value->>'prefix' ELSE NULL END | ||
| 197 | FROM "openapi_source" s, jsonb_each(s."query_params") q | ||
| 198 | WHERE s."query_params" IS NOT NULL | ||
| 199 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 200 | |||
| 201 | INSERT INTO "openapi_source_spec_fetch_header" | ||
| 202 | ("scope_id", "id", "source_id", "name", "kind", "text_value", "secret_id", "secret_prefix") | ||
| 203 | SELECT | ||
| 204 | s."scope_id", | ||
| 205 | '[' || to_jsonb(s."id")::text || ',' || to_jsonb(h.key)::text || ']', | ||
| 206 | s."id", | ||
| 207 | h.key, | ||
| 208 | CASE | ||
| 209 | WHEN jsonb_typeof(h.value) = 'object' AND h.value ? 'secretId' THEN 'secret' | ||
| 210 | ELSE 'text' | ||
| 211 | END, | ||
| 212 | CASE WHEN jsonb_typeof(h.value) = 'string' THEN h.value #>> '{}' ELSE NULL END, | ||
| 213 | CASE WHEN jsonb_typeof(h.value) = 'object' THEN h.value->>'secretId' ELSE NULL END, | ||
| 214 | CASE WHEN jsonb_typeof(h.value) = 'object' THEN h.value->>'prefix' ELSE NULL END | ||
| 215 | FROM "openapi_source" s, jsonb_each(s."invocation_config"->'specFetchCredentials'->'headers') h | ||
| 216 | WHERE s."invocation_config"->'specFetchCredentials'->'headers' IS NOT NULL | ||
| 217 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 218 | |||
| 219 | INSERT INTO "openapi_source_spec_fetch_query_param" | ||
| 220 | ("scope_id", "id", "source_id", "name", "kind", "text_value", "secret_id", "secret_prefix") | ||
| 221 | SELECT | ||
| 222 | s."scope_id", | ||
| 223 | '[' || to_jsonb(s."id")::text || ',' || to_jsonb(q.key)::text || ']', | ||
| 224 | s."id", | ||
| 225 | q.key, | ||
| 226 | CASE | ||
| 227 | WHEN jsonb_typeof(q.value) = 'object' AND q.value ? 'secretId' THEN 'secret' | ||
| 228 | ELSE 'text' | ||
| 229 | END, | ||
| 230 | CASE WHEN jsonb_typeof(q.value) = 'string' THEN q.value #>> '{}' ELSE NULL END, | ||
| 231 | CASE WHEN jsonb_typeof(q.value) = 'object' THEN q.value->>'secretId' ELSE NULL END, | ||
| 232 | CASE WHEN jsonb_typeof(q.value) = 'object' THEN q.value->>'prefix' ELSE NULL END | ||
| 233 | FROM "openapi_source" s, jsonb_each(s."invocation_config"->'specFetchCredentials'->'queryParams') q | ||
| 234 | WHERE s."invocation_config"->'specFetchCredentials'->'queryParams' IS NOT NULL | ||
| 235 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 236 | |||
| 237 | -- Preserve any legacy OAuth payload from invocation_config.oauth2 into | ||
| 238 | -- the still-existing oauth2 column before we drop invocation_config. | ||
| 239 | -- migrateLegacyConnections runs after drizzle migrations and reads | ||
| 240 | -- oauth2 to detect the legacy shape; without this, rows that only had | ||
| 241 | -- their OAuth payload under invocation_config.oauth2 would lose it. | ||
| 242 | UPDATE "openapi_source" | ||
| 243 | SET "oauth2" = "invocation_config"->'oauth2' | ||
| 244 | WHERE "oauth2" IS NULL | ||
| 245 | AND "invocation_config"->'oauth2' IS NOT NULL;--> statement-breakpoint | ||
| 246 | |||
| 247 | ALTER TABLE "openapi_source_binding" DROP COLUMN "value";--> statement-breakpoint | ||
| 248 | ALTER TABLE "openapi_source" DROP COLUMN "query_params";--> statement-breakpoint | ||
| 249 | ALTER TABLE "openapi_source" DROP COLUMN "invocation_config"; | ||
| 250 | |||
| 251 | --> statement-breakpoint | ||
| 252 | |||
| 253 | -- ============================================================ | ||
| 254 | -- mcp | ||
| 255 | -- ============================================================ | ||
| 256 | |||
| 257 | -- Normalize mcp plugin: lift the McpConnectionAuth secret/connection | ||
| 258 | -- refs and the SecretBackedMap headers/query_params out of | ||
| 259 | -- mcp_source.config JSON into proper columns / child tables. pg port | ||
| 260 | -- of apps/local/drizzle/0009_normalize_mcp.sql. | ||
| 261 | |||
| 262 | CREATE TABLE "mcp_source_header" ( | ||
| 263 | "id" text NOT NULL, | ||
| 264 | "scope_id" text NOT NULL, | ||
| 265 | "source_id" text NOT NULL, | ||
| 266 | "name" text NOT NULL, | ||
| 267 | "kind" text NOT NULL, | ||
| 268 | "text_value" text, | ||
| 269 | "secret_id" text, | ||
| 270 | "secret_prefix" text, | ||
| 271 | CONSTRAINT "mcp_source_header_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 272 | ); | ||
| 273 | --> statement-breakpoint | ||
| 274 | CREATE INDEX "mcp_source_header_scope_id_idx" ON "mcp_source_header" USING btree ("scope_id");--> statement-breakpoint | ||
| 275 | CREATE INDEX "mcp_source_header_source_id_idx" ON "mcp_source_header" USING btree ("source_id");--> statement-breakpoint | ||
| 276 | CREATE INDEX "mcp_source_header_secret_id_idx" ON "mcp_source_header" USING btree ("secret_id");--> statement-breakpoint | ||
| 277 | |||
| 278 | CREATE TABLE "mcp_source_query_param" ( | ||
| 279 | "id" text NOT NULL, | ||
| 280 | "scope_id" text NOT NULL, | ||
| 281 | "source_id" text NOT NULL, | ||
| 282 | "name" text NOT NULL, | ||
| 283 | "kind" text NOT NULL, | ||
| 284 | "text_value" text, | ||
| 285 | "secret_id" text, | ||
| 286 | "secret_prefix" text, | ||
| 287 | CONSTRAINT "mcp_source_query_param_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 288 | ); | ||
| 289 | --> statement-breakpoint | ||
| 290 | CREATE INDEX "mcp_source_query_param_scope_id_idx" ON "mcp_source_query_param" USING btree ("scope_id");--> statement-breakpoint | ||
| 291 | CREATE INDEX "mcp_source_query_param_source_id_idx" ON "mcp_source_query_param" USING btree ("source_id");--> statement-breakpoint | ||
| 292 | CREATE INDEX "mcp_source_query_param_secret_id_idx" ON "mcp_source_query_param" USING btree ("secret_id");--> statement-breakpoint | ||
| 293 | |||
| 294 | ALTER TABLE "mcp_source" ADD COLUMN "auth_kind" text DEFAULT 'none' NOT NULL;--> statement-breakpoint | ||
| 295 | ALTER TABLE "mcp_source" ADD COLUMN "auth_header_name" text;--> statement-breakpoint | ||
| 296 | ALTER TABLE "mcp_source" ADD COLUMN "auth_secret_id" text;--> statement-breakpoint | ||
| 297 | ALTER TABLE "mcp_source" ADD COLUMN "auth_secret_prefix" text;--> statement-breakpoint | ||
| 298 | ALTER TABLE "mcp_source" ADD COLUMN "auth_connection_id" text;--> statement-breakpoint | ||
| 299 | ALTER TABLE "mcp_source" ADD COLUMN "auth_client_id_secret_id" text;--> statement-breakpoint | ||
| 300 | ALTER TABLE "mcp_source" ADD COLUMN "auth_client_secret_secret_id" text;--> statement-breakpoint | ||
| 301 | CREATE INDEX "mcp_source_auth_secret_id_idx" ON "mcp_source" USING btree ("auth_secret_id");--> statement-breakpoint | ||
| 302 | CREATE INDEX "mcp_source_auth_connection_id_idx" ON "mcp_source" USING btree ("auth_connection_id");--> statement-breakpoint | ||
| 303 | CREATE INDEX "mcp_source_auth_client_id_secret_id_idx" ON "mcp_source" USING btree ("auth_client_id_secret_id");--> statement-breakpoint | ||
| 304 | CREATE INDEX "mcp_source_auth_client_secret_secret_id_idx" ON "mcp_source" USING btree ("auth_client_secret_secret_id");--> statement-breakpoint | ||
| 305 | |||
| 306 | -- Only update rows with explicitly current-shape auth (kind=header w/ | ||
| 307 | -- secretId, or kind=oauth2 w/ connectionId). Legacy inline-OAuth rows | ||
| 308 | -- are left untouched so the post-migrate migrateLegacyConnections | ||
| 309 | -- script can convert them to a Connection. | ||
| 310 | UPDATE "mcp_source" | ||
| 311 | SET | ||
| 312 | "auth_kind" = "config"#>>'{auth,kind}', | ||
| 313 | "auth_header_name" = "config"#>>'{auth,headerName}', | ||
| 314 | "auth_secret_id" = "config"#>>'{auth,secretId}', | ||
| 315 | "auth_secret_prefix" = "config"#>>'{auth,prefix}', | ||
| 316 | "auth_connection_id" = "config"#>>'{auth,connectionId}', | ||
| 317 | "auth_client_id_secret_id" = "config"#>>'{auth,clientIdSecretId}', | ||
| 318 | "auth_client_secret_secret_id" = "config"#>>'{auth,clientSecretSecretId}' | ||
| 319 | WHERE "config" IS NOT NULL | ||
| 320 | AND ( | ||
| 321 | ( | ||
| 322 | "config"#>>'{auth,kind}' = 'header' | ||
| 323 | AND "config"#>>'{auth,secretId}' IS NOT NULL | ||
| 324 | ) | ||
| 325 | OR ( | ||
| 326 | "config"#>>'{auth,kind}' = 'oauth2' | ||
| 327 | AND "config"#>>'{auth,connectionId}' IS NOT NULL | ||
| 328 | ) | ||
| 329 | );--> statement-breakpoint | ||
| 330 | |||
| 331 | INSERT INTO "mcp_source_header" | ||
| 332 | ("scope_id", "id", "source_id", "name", "kind", "text_value", "secret_id", "secret_prefix") | ||
| 333 | SELECT | ||
| 334 | s."scope_id", | ||
| 335 | '[' || to_jsonb(s."id")::text || ',' || to_jsonb(h.key)::text || ']', | ||
| 336 | s."id", | ||
| 337 | h.key, | ||
| 338 | CASE | ||
| 339 | WHEN jsonb_typeof(h.value) = 'object' AND h.value ? 'secretId' THEN 'secret' | ||
| 340 | ELSE 'text' | ||
| 341 | END, | ||
| 342 | CASE WHEN jsonb_typeof(h.value) = 'string' THEN h.value #>> '{}' ELSE NULL END, | ||
| 343 | CASE WHEN jsonb_typeof(h.value) = 'object' THEN h.value->>'secretId' ELSE NULL END, | ||
| 344 | CASE WHEN jsonb_typeof(h.value) = 'object' THEN h.value->>'prefix' ELSE NULL END | ||
| 345 | FROM "mcp_source" s, jsonb_each(s."config"->'headers') h | ||
| 346 | WHERE s."config"->'headers' IS NOT NULL | ||
| 347 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 348 | |||
| 349 | INSERT INTO "mcp_source_query_param" | ||
| 350 | ("scope_id", "id", "source_id", "name", "kind", "text_value", "secret_id", "secret_prefix") | ||
| 351 | SELECT | ||
| 352 | s."scope_id", | ||
| 353 | '[' || to_jsonb(s."id")::text || ',' || to_jsonb(q.key)::text || ']', | ||
| 354 | s."id", | ||
| 355 | q.key, | ||
| 356 | CASE | ||
| 357 | WHEN jsonb_typeof(q.value) = 'object' AND q.value ? 'secretId' THEN 'secret' | ||
| 358 | ELSE 'text' | ||
| 359 | END, | ||
| 360 | CASE WHEN jsonb_typeof(q.value) = 'string' THEN q.value #>> '{}' ELSE NULL END, | ||
| 361 | CASE WHEN jsonb_typeof(q.value) = 'object' THEN q.value->>'secretId' ELSE NULL END, | ||
| 362 | CASE WHEN jsonb_typeof(q.value) = 'object' THEN q.value->>'prefix' ELSE NULL END | ||
| 363 | FROM "mcp_source" s, jsonb_each(s."config"->'queryParams') q | ||
| 364 | WHERE s."config"->'queryParams' IS NOT NULL | ||
| 365 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 366 | |||
| 367 | -- Strip already-copied fields from config JSON. headers/queryParams | ||
| 368 | -- are always safe; auth is only stripped on rows whose auth was the | ||
| 369 | -- current shape (legacy inline-OAuth rows keep config.auth so | ||
| 370 | -- migrateLegacyConnections can mint a Connection from it). | ||
| 371 | UPDATE "mcp_source" | ||
| 372 | SET "config" = "config" - 'headers' - 'queryParams' | ||
| 373 | WHERE "config" IS NOT NULL;--> statement-breakpoint | ||
| 374 | |||
| 375 | UPDATE "mcp_source" | ||
| 376 | SET "config" = "config" - 'auth' | ||
| 377 | WHERE "config" IS NOT NULL | ||
| 378 | AND ( | ||
| 379 | "config"#>>'{auth,kind}' = 'none' | ||
| 380 | OR ( | ||
| 381 | "config"#>>'{auth,kind}' = 'header' | ||
| 382 | AND "config"#>>'{auth,secretId}' IS NOT NULL | ||
| 383 | ) | ||
| 384 | OR ( | ||
| 385 | "config"#>>'{auth,kind}' = 'oauth2' | ||
| 386 | AND "config"#>>'{auth,connectionId}' IS NOT NULL | ||
| 387 | ) | ||
| 388 | ); | ||
| @@ -1,1116 +0,0 @@ | |||
| 1 | -- cloud scoped credential/source-slot/OAuth cutover. | ||
| 2 | -- Squashes the PR-local migration chain into one runtime schema transition. | ||
| 3 | -- 0009_add_credential_binding.sql | ||
| 4 | CREATE TABLE "credential_binding" ( | ||
| 5 | "id" text NOT NULL, | ||
| 6 | "scope_id" text NOT NULL, | ||
| 7 | "plugin_id" text NOT NULL, | ||
| 8 | "source_id" text NOT NULL, | ||
| 9 | "source_scope_id" text NOT NULL, | ||
| 10 | "slot_key" text NOT NULL, | ||
| 11 | "kind" text NOT NULL, | ||
| 12 | "text_value" text, | ||
| 13 | "secret_id" text, | ||
| 14 | "connection_id" text, | ||
| 15 | "created_at" timestamp NOT NULL, | ||
| 16 | "updated_at" timestamp NOT NULL, | ||
| 17 | CONSTRAINT "credential_binding_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 18 | ); | ||
| 19 | --> statement-breakpoint | ||
| 20 | ALTER TABLE "graphql_source" ALTER COLUMN "auth_kind" SET DEFAULT 'none';--> statement-breakpoint | ||
| 21 | ALTER TABLE "openapi_source_binding" ALTER COLUMN "kind" DROP DEFAULT;--> statement-breakpoint | ||
| 22 | CREATE INDEX "credential_binding_scope_id_idx" ON "credential_binding" USING btree ("scope_id");--> statement-breakpoint | ||
| 23 | CREATE INDEX "credential_binding_plugin_id_idx" ON "credential_binding" USING btree ("plugin_id");--> statement-breakpoint | ||
| 24 | CREATE INDEX "credential_binding_source_id_idx" ON "credential_binding" USING btree ("source_id");--> statement-breakpoint | ||
| 25 | CREATE INDEX "credential_binding_source_scope_id_idx" ON "credential_binding" USING btree ("source_scope_id");--> statement-breakpoint | ||
| 26 | CREATE INDEX "credential_binding_slot_key_idx" ON "credential_binding" USING btree ("slot_key");--> statement-breakpoint | ||
| 27 | CREATE INDEX "credential_binding_kind_idx" ON "credential_binding" USING btree ("kind");--> statement-breakpoint | ||
| 28 | CREATE INDEX "credential_binding_secret_id_idx" ON "credential_binding" USING btree ("secret_id");--> statement-breakpoint | ||
| 29 | CREATE INDEX "credential_binding_connection_id_idx" ON "credential_binding" USING btree ("connection_id");--> statement-breakpoint | ||
| 30 | |||
| 31 | CREATE FUNCTION pg_temp.executor_credential_binding_id(plugin_id text, source_scope_id text, source_id text, slot_key text) | ||
| 32 | RETURNS text | ||
| 33 | LANGUAGE sql | ||
| 34 | IMMUTABLE | ||
| 35 | AS $$ | ||
| 36 | SELECT '[' || to_jsonb($1)::text || ',' || to_jsonb($2)::text || ',' || to_jsonb($3)::text || ',' || to_jsonb($4)::text || ']' | ||
| 37 | $$;--> statement-breakpoint | ||
| 38 | |||
| 39 | -- 0010_migrate_openapi_source_bindings.sql | ||
| 40 | INSERT INTO "credential_binding" ( | ||
| 41 | "id", | ||
| 42 | "scope_id", | ||
| 43 | "plugin_id", | ||
| 44 | "source_id", | ||
| 45 | "source_scope_id", | ||
| 46 | "slot_key", | ||
| 47 | "kind", | ||
| 48 | "text_value", | ||
| 49 | "secret_id", | ||
| 50 | "connection_id", | ||
| 51 | "created_at", | ||
| 52 | "updated_at" | ||
| 53 | ) | ||
| 54 | SELECT | ||
| 55 | pg_temp.executor_credential_binding_id('openapi', "source_scope_id", "source_id", "slot"), | ||
| 56 | "target_scope_id", | ||
| 57 | 'openapi', | ||
| 58 | "source_id", | ||
| 59 | "source_scope_id", | ||
| 60 | "slot", | ||
| 61 | "kind", | ||
| 62 | "text_value", | ||
| 63 | "secret_id", | ||
| 64 | "connection_id", | ||
| 65 | "created_at", | ||
| 66 | "updated_at" | ||
| 67 | FROM "openapi_source_binding" | ||
| 68 | ON CONFLICT ("scope_id", "id") DO UPDATE SET | ||
| 69 | "plugin_id" = excluded."plugin_id", | ||
| 70 | "source_id" = excluded."source_id", | ||
| 71 | "source_scope_id" = excluded."source_scope_id", | ||
| 72 | "slot_key" = excluded."slot_key", | ||
| 73 | "kind" = excluded."kind", | ||
| 74 | "text_value" = excluded."text_value", | ||
| 75 | "secret_id" = excluded."secret_id", | ||
| 76 | "connection_id" = excluded."connection_id", | ||
| 77 | "updated_at" = excluded."updated_at";--> statement-breakpoint | ||
| 78 | DROP TABLE "openapi_source_binding" CASCADE;--> statement-breakpoint | ||
| 79 | |||
| 80 | -- 0011_openapi_credential_slots.sql | ||
| 81 | -- Convert OpenAPI's remaining direct credential references to source-owned | ||
| 82 | -- slot structure plus shared core credential_binding rows. Runtime code only | ||
| 83 | -- reads the final slot model; this migration is the one-shot bridge. | ||
| 84 | |||
| 85 | CREATE TEMP TABLE "__openapi_header_slot_preflight" ( | ||
| 86 | "scope_id" text NOT NULL, | ||
| 87 | "source_id" text NOT NULL, | ||
| 88 | "slot_key" text NOT NULL, | ||
| 89 | PRIMARY KEY ("scope_id", "source_id", "slot_key") | ||
| 90 | ) ON COMMIT DROP;--> statement-breakpoint | ||
| 91 | |||
| 92 | INSERT INTO "__openapi_header_slot_preflight" ("scope_id", "source_id", "slot_key") | ||
| 93 | SELECT | ||
| 94 | s."scope_id", | ||
| 95 | s."id", | ||
| 96 | 'header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(h.key), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key" | ||
| 97 | FROM "openapi_source" s, jsonb_each(s."headers") h | ||
| 98 | WHERE s."headers" IS NOT NULL | ||
| 99 | AND jsonb_typeof(h.value) = 'object' | ||
| 100 | AND NOT (h.value ? 'kind') | ||
| 101 | AND h.value ? 'secretId';--> statement-breakpoint | ||
| 102 | |||
| 103 | DROP TABLE "__openapi_header_slot_preflight";--> statement-breakpoint | ||
| 104 | |||
| 105 | WITH header_rows AS ( | ||
| 106 | SELECT | ||
| 107 | s."scope_id", | ||
| 108 | s."id" AS "source_id", | ||
| 109 | h.key AS "name", | ||
| 110 | 'header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(h.key), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key", | ||
| 111 | h.value->>'secretId' AS "secret_id" | ||
| 112 | FROM "openapi_source" s, jsonb_each(s."headers") h | ||
| 113 | WHERE s."headers" IS NOT NULL | ||
| 114 | AND jsonb_typeof(h.value) = 'object' | ||
| 115 | AND NOT (h.value ? 'kind') | ||
| 116 | AND h.value ? 'secretId' | ||
| 117 | ) | ||
| 118 | INSERT INTO "credential_binding" ( | ||
| 119 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 120 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 121 | ) | ||
| 122 | SELECT | ||
| 123 | pg_temp.executor_credential_binding_id('openapi', r."scope_id", r."source_id", r."slot_key"), | ||
| 124 | r."scope_id", | ||
| 125 | 'openapi', | ||
| 126 | r."source_id", | ||
| 127 | r."scope_id", | ||
| 128 | r."slot_key", | ||
| 129 | 'secret', | ||
| 130 | NULL, | ||
| 131 | r."secret_id", | ||
| 132 | NULL, | ||
| 133 | now(), | ||
| 134 | now() | ||
| 135 | FROM header_rows r | ||
| 136 | WHERE NOT EXISTS ( | ||
| 137 | SELECT 1 FROM "credential_binding" b | ||
| 138 | WHERE b."scope_id" = r."scope_id" | ||
| 139 | AND b."plugin_id" = 'openapi' | ||
| 140 | AND b."source_id" = r."source_id" | ||
| 141 | AND b."source_scope_id" = r."scope_id" | ||
| 142 | AND b."slot_key" = r."slot_key" | ||
| 143 | ) | ||
| 144 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 145 | |||
| 146 | UPDATE "openapi_source" s | ||
| 147 | SET "headers" = ( | ||
| 148 | SELECT jsonb_object_agg( | ||
| 149 | h.key, | ||
| 150 | CASE | ||
| 151 | WHEN jsonb_typeof(h.value) = 'object' | ||
| 152 | AND NOT (h.value ? 'kind') | ||
| 153 | AND h.value ? 'secretId' | ||
| 154 | THEN jsonb_strip_nulls(jsonb_build_object( | ||
| 155 | 'kind', 'binding', | ||
| 156 | 'slot', 'header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(h.key), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default'), | ||
| 157 | 'prefix', h.value->>'prefix' | ||
| 158 | )) | ||
| 159 | ELSE h.value | ||
| 160 | END | ||
| 161 | ) | ||
| 162 | FROM jsonb_each(s."headers") h | ||
| 163 | ) | ||
| 164 | WHERE s."headers" IS NOT NULL;--> statement-breakpoint | ||
| 165 | |||
| 166 | WITH oauth_rows AS ( | ||
| 167 | SELECT | ||
| 168 | s."scope_id", | ||
| 169 | s."id" AS "source_id", | ||
| 170 | 'oauth2:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(s."oauth2"->>'securitySchemeName'), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') || ':client-id' AS "client_id_slot", | ||
| 171 | s."oauth2"->>'clientIdSecretId' AS "client_id_secret_id" | ||
| 172 | FROM "openapi_source" s | ||
| 173 | WHERE s."oauth2" IS NOT NULL | ||
| 174 | AND s."oauth2"->>'connectionId' IS NOT NULL | ||
| 175 | AND s."oauth2"->>'clientIdSecretId' IS NOT NULL | ||
| 176 | ) | ||
| 177 | INSERT INTO "credential_binding" ( | ||
| 178 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 179 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 180 | ) | ||
| 181 | SELECT | ||
| 182 | pg_temp.executor_credential_binding_id('openapi', r."scope_id", r."source_id", r."client_id_slot"), | ||
| 183 | r."scope_id", | ||
| 184 | 'openapi', | ||
| 185 | r."source_id", | ||
| 186 | r."scope_id", | ||
| 187 | r."client_id_slot", | ||
| 188 | 'secret', | ||
| 189 | NULL, | ||
| 190 | r."client_id_secret_id", | ||
| 191 | NULL, | ||
| 192 | now(), | ||
| 193 | now() | ||
| 194 | FROM oauth_rows r | ||
| 195 | WHERE NOT EXISTS ( | ||
| 196 | SELECT 1 FROM "credential_binding" b | ||
| 197 | WHERE b."scope_id" = r."scope_id" | ||
| 198 | AND b."plugin_id" = 'openapi' | ||
| 199 | AND b."source_id" = r."source_id" | ||
| 200 | AND b."source_scope_id" = r."scope_id" | ||
| 201 | AND b."slot_key" = r."client_id_slot" | ||
| 202 | ) | ||
| 203 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 204 | |||
| 205 | WITH oauth_rows AS ( | ||
| 206 | SELECT | ||
| 207 | s."scope_id", | ||
| 208 | s."id" AS "source_id", | ||
| 209 | 'oauth2:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(s."oauth2"->>'securitySchemeName'), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') || ':client-secret' AS "client_secret_slot", | ||
| 210 | s."oauth2"->>'clientSecretSecretId' AS "client_secret_secret_id" | ||
| 211 | FROM "openapi_source" s | ||
| 212 | WHERE s."oauth2" IS NOT NULL | ||
| 213 | AND s."oauth2"->>'connectionId' IS NOT NULL | ||
| 214 | AND s."oauth2"->>'clientSecretSecretId' IS NOT NULL | ||
| 215 | ) | ||
| 216 | INSERT INTO "credential_binding" ( | ||
| 217 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 218 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 219 | ) | ||
| 220 | SELECT | ||
| 221 | pg_temp.executor_credential_binding_id('openapi', r."scope_id", r."source_id", r."client_secret_slot"), | ||
| 222 | r."scope_id", | ||
| 223 | 'openapi', | ||
| 224 | r."source_id", | ||
| 225 | r."scope_id", | ||
| 226 | r."client_secret_slot", | ||
| 227 | 'secret', | ||
| 228 | NULL, | ||
| 229 | r."client_secret_secret_id", | ||
| 230 | NULL, | ||
| 231 | now(), | ||
| 232 | now() | ||
| 233 | FROM oauth_rows r | ||
| 234 | WHERE NOT EXISTS ( | ||
| 235 | SELECT 1 FROM "credential_binding" b | ||
| 236 | WHERE b."scope_id" = r."scope_id" | ||
| 237 | AND b."plugin_id" = 'openapi' | ||
| 238 | AND b."source_id" = r."source_id" | ||
| 239 | AND b."source_scope_id" = r."scope_id" | ||
| 240 | AND b."slot_key" = r."client_secret_slot" | ||
| 241 | ) | ||
| 242 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 243 | |||
| 244 | WITH oauth_rows AS ( | ||
| 245 | SELECT | ||
| 246 | s."scope_id", | ||
| 247 | s."id" AS "source_id", | ||
| 248 | 'oauth2:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(s."oauth2"->>'securitySchemeName'), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') || ':connection' AS "connection_slot", | ||
| 249 | s."oauth2"->>'connectionId' AS "connection_id" | ||
| 250 | FROM "openapi_source" s | ||
| 251 | WHERE s."oauth2" IS NOT NULL | ||
| 252 | AND s."oauth2"->>'connectionId' IS NOT NULL | ||
| 253 | ) | ||
| 254 | INSERT INTO "credential_binding" ( | ||
| 255 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 256 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 257 | ) | ||
| 258 | SELECT | ||
| 259 | pg_temp.executor_credential_binding_id('openapi', r."scope_id", r."source_id", r."connection_slot"), | ||
| 260 | r."scope_id", | ||
| 261 | 'openapi', | ||
| 262 | r."source_id", | ||
| 263 | r."scope_id", | ||
| 264 | r."connection_slot", | ||
| 265 | 'connection', | ||
| 266 | NULL, | ||
| 267 | NULL, | ||
| 268 | r."connection_id", | ||
| 269 | now(), | ||
| 270 | now() | ||
| 271 | FROM oauth_rows r | ||
| 272 | WHERE NOT EXISTS ( | ||
| 273 | SELECT 1 FROM "credential_binding" b | ||
| 274 | WHERE b."scope_id" = r."scope_id" | ||
| 275 | AND b."plugin_id" = 'openapi' | ||
| 276 | AND b."source_id" = r."source_id" | ||
| 277 | AND b."source_scope_id" = r."scope_id" | ||
| 278 | AND b."slot_key" = r."connection_slot" | ||
| 279 | ) | ||
| 280 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 281 | |||
| 282 | UPDATE "openapi_source" s | ||
| 283 | SET "oauth2" = jsonb_build_object( | ||
| 284 | 'kind', 'oauth2', | ||
| 285 | 'securitySchemeName', s."oauth2"->>'securitySchemeName', | ||
| 286 | 'flow', s."oauth2"->>'flow', | ||
| 287 | 'tokenUrl', s."oauth2"->>'tokenUrl', | ||
| 288 | 'authorizationUrl', s."oauth2"->'authorizationUrl', | ||
| 289 | 'issuerUrl', s."oauth2"->'issuerUrl', | ||
| 290 | 'clientIdSlot', 'oauth2:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(s."oauth2"->>'securitySchemeName'), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') || ':client-id', | ||
| 291 | 'clientSecretSlot', | ||
| 292 | CASE | ||
| 293 | WHEN s."oauth2"->>'clientSecretSecretId' IS NULL THEN NULL | ||
| 294 | ELSE 'oauth2:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(s."oauth2"->>'securitySchemeName'), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') || ':client-secret' | ||
| 295 | END, | ||
| 296 | 'connectionSlot', 'oauth2:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(s."oauth2"->>'securitySchemeName'), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') || ':connection', | ||
| 297 | 'scopes', COALESCE(s."oauth2"->'scopes', '[]'::jsonb) | ||
| 298 | ) | ||
| 299 | WHERE s."oauth2" IS NOT NULL | ||
| 300 | AND s."oauth2"->>'connectionId' IS NOT NULL;--> statement-breakpoint | ||
| 301 | |||
| 302 | CREATE TEMP TABLE "__openapi_query_param_slot_preflight" ( | ||
| 303 | "scope_id" text NOT NULL, | ||
| 304 | "source_id" text NOT NULL, | ||
| 305 | "slot_key" text NOT NULL, | ||
| 306 | PRIMARY KEY ("scope_id", "source_id", "slot_key") | ||
| 307 | ) ON COMMIT DROP;--> statement-breakpoint | ||
| 308 | |||
| 309 | INSERT INTO "__openapi_query_param_slot_preflight" ("scope_id", "source_id", "slot_key") | ||
| 310 | SELECT | ||
| 311 | r."scope_id", | ||
| 312 | r."source_id", | ||
| 313 | 'query_param:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(r."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key" | ||
| 314 | FROM "openapi_source_query_param" r | ||
| 315 | WHERE r."kind" = 'secret' AND r."secret_id" IS NOT NULL;--> statement-breakpoint | ||
| 316 | |||
| 317 | DROP TABLE "__openapi_query_param_slot_preflight";--> statement-breakpoint | ||
| 318 | |||
| 319 | WITH rows AS ( | ||
| 320 | SELECT | ||
| 321 | r."scope_id", | ||
| 322 | r."source_id", | ||
| 323 | 'query_param:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(r."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key", | ||
| 324 | r."secret_id" | ||
| 325 | FROM "openapi_source_query_param" r | ||
| 326 | WHERE r."kind" = 'secret' AND r."secret_id" IS NOT NULL | ||
| 327 | ) | ||
| 328 | INSERT INTO "credential_binding" ( | ||
| 329 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 330 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 331 | ) | ||
| 332 | SELECT | ||
| 333 | pg_temp.executor_credential_binding_id('openapi', r."scope_id", r."source_id", r."slot_key"), | ||
| 334 | r."scope_id", | ||
| 335 | 'openapi', | ||
| 336 | r."source_id", | ||
| 337 | r."scope_id", | ||
| 338 | r."slot_key", | ||
| 339 | 'secret', | ||
| 340 | NULL, | ||
| 341 | r."secret_id", | ||
| 342 | NULL, | ||
| 343 | now(), | ||
| 344 | now() | ||
| 345 | FROM rows r | ||
| 346 | WHERE NOT EXISTS ( | ||
| 347 | SELECT 1 FROM "credential_binding" b | ||
| 348 | WHERE b."scope_id" = r."scope_id" | ||
| 349 | AND b."plugin_id" = 'openapi' | ||
| 350 | AND b."source_id" = r."source_id" | ||
| 351 | AND b."source_scope_id" = r."scope_id" | ||
| 352 | AND b."slot_key" = r."slot_key" | ||
| 353 | ) | ||
| 354 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 355 | |||
| 356 | ALTER TABLE "openapi_source_query_param" ADD COLUMN "slot_key" text;--> statement-breakpoint | ||
| 357 | ALTER TABLE "openapi_source_query_param" ADD COLUMN "prefix" text;--> statement-breakpoint | ||
| 358 | UPDATE "openapi_source_query_param" | ||
| 359 | SET | ||
| 360 | "slot_key" = 'query_param:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim("name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default'), | ||
| 361 | "prefix" = "secret_prefix", | ||
| 362 | "kind" = 'binding' | ||
| 363 | WHERE "kind" = 'secret';--> statement-breakpoint | ||
| 364 | DROP INDEX IF EXISTS "openapi_source_query_param_secret_id_idx";--> statement-breakpoint | ||
| 365 | ALTER TABLE "openapi_source_query_param" DROP COLUMN "secret_id";--> statement-breakpoint | ||
| 366 | ALTER TABLE "openapi_source_query_param" DROP COLUMN "secret_prefix";--> statement-breakpoint | ||
| 367 | |||
| 368 | CREATE TEMP TABLE "__openapi_spec_fetch_header_slot_preflight" ( | ||
| 369 | "scope_id" text NOT NULL, | ||
| 370 | "source_id" text NOT NULL, | ||
| 371 | "slot_key" text NOT NULL, | ||
| 372 | PRIMARY KEY ("scope_id", "source_id", "slot_key") | ||
| 373 | ) ON COMMIT DROP;--> statement-breakpoint | ||
| 374 | |||
| 375 | INSERT INTO "__openapi_spec_fetch_header_slot_preflight" ("scope_id", "source_id", "slot_key") | ||
| 376 | SELECT | ||
| 377 | r."scope_id", | ||
| 378 | r."source_id", | ||
| 379 | 'spec_fetch_header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(r."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key" | ||
| 380 | FROM "openapi_source_spec_fetch_header" r | ||
| 381 | WHERE r."kind" = 'secret' AND r."secret_id" IS NOT NULL;--> statement-breakpoint | ||
| 382 | |||
| 383 | DROP TABLE "__openapi_spec_fetch_header_slot_preflight";--> statement-breakpoint | ||
| 384 | |||
| 385 | WITH rows AS ( | ||
| 386 | SELECT | ||
| 387 | r."scope_id", | ||
| 388 | r."source_id", | ||
| 389 | 'spec_fetch_header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(r."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key", | ||
| 390 | r."secret_id" | ||
| 391 | FROM "openapi_source_spec_fetch_header" r | ||
| 392 | WHERE r."kind" = 'secret' AND r."secret_id" IS NOT NULL | ||
| 393 | ) | ||
| 394 | INSERT INTO "credential_binding" ( | ||
| 395 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 396 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 397 | ) | ||
| 398 | SELECT | ||
| 399 | pg_temp.executor_credential_binding_id('openapi', r."scope_id", r."source_id", r."slot_key"), | ||
| 400 | r."scope_id", | ||
| 401 | 'openapi', | ||
| 402 | r."source_id", | ||
| 403 | r."scope_id", | ||
| 404 | r."slot_key", | ||
| 405 | 'secret', | ||
| 406 | NULL, | ||
| 407 | r."secret_id", | ||
| 408 | NULL, | ||
| 409 | now(), | ||
| 410 | now() | ||
| 411 | FROM rows r | ||
| 412 | WHERE NOT EXISTS ( | ||
| 413 | SELECT 1 FROM "credential_binding" b | ||
| 414 | WHERE b."scope_id" = r."scope_id" | ||
| 415 | AND b."plugin_id" = 'openapi' | ||
| 416 | AND b."source_id" = r."source_id" | ||
| 417 | AND b."source_scope_id" = r."scope_id" | ||
| 418 | AND b."slot_key" = r."slot_key" | ||
| 419 | ) | ||
| 420 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 421 | |||
| 422 | ALTER TABLE "openapi_source_spec_fetch_header" ADD COLUMN "slot_key" text;--> statement-breakpoint | ||
| 423 | ALTER TABLE "openapi_source_spec_fetch_header" ADD COLUMN "prefix" text;--> statement-breakpoint | ||
| 424 | UPDATE "openapi_source_spec_fetch_header" | ||
| 425 | SET | ||
| 426 | "slot_key" = 'spec_fetch_header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim("name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default'), | ||
| 427 | "prefix" = "secret_prefix", | ||
| 428 | "kind" = 'binding' | ||
| 429 | WHERE "kind" = 'secret';--> statement-breakpoint | ||
| 430 | DROP INDEX IF EXISTS "openapi_source_spec_fetch_header_secret_id_idx";--> statement-breakpoint | ||
| 431 | ALTER TABLE "openapi_source_spec_fetch_header" DROP COLUMN "secret_id";--> statement-breakpoint | ||
| 432 | ALTER TABLE "openapi_source_spec_fetch_header" DROP COLUMN "secret_prefix";--> statement-breakpoint | ||
| 433 | |||
| 434 | CREATE TEMP TABLE "__openapi_spec_fetch_query_param_slot_preflight" ( | ||
| 435 | "scope_id" text NOT NULL, | ||
| 436 | "source_id" text NOT NULL, | ||
| 437 | "slot_key" text NOT NULL, | ||
| 438 | PRIMARY KEY ("scope_id", "source_id", "slot_key") | ||
| 439 | ) ON COMMIT DROP;--> statement-breakpoint | ||
| 440 | |||
| 441 | INSERT INTO "__openapi_spec_fetch_query_param_slot_preflight" ("scope_id", "source_id", "slot_key") | ||
| 442 | SELECT | ||
| 443 | r."scope_id", | ||
| 444 | r."source_id", | ||
| 445 | 'spec_fetch_query_param:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(r."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key" | ||
| 446 | FROM "openapi_source_spec_fetch_query_param" r | ||
| 447 | WHERE r."kind" = 'secret' AND r."secret_id" IS NOT NULL;--> statement-breakpoint | ||
| 448 | |||
| 449 | DROP TABLE "__openapi_spec_fetch_query_param_slot_preflight";--> statement-breakpoint | ||
| 450 | |||
| 451 | WITH rows AS ( | ||
| 452 | SELECT | ||
| 453 | r."scope_id", | ||
| 454 | r."source_id", | ||
| 455 | 'spec_fetch_query_param:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(r."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key", | ||
| 456 | r."secret_id" | ||
| 457 | FROM "openapi_source_spec_fetch_query_param" r | ||
| 458 | WHERE r."kind" = 'secret' AND r."secret_id" IS NOT NULL | ||
| 459 | ) | ||
| 460 | INSERT INTO "credential_binding" ( | ||
| 461 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 462 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 463 | ) | ||
| 464 | SELECT | ||
| 465 | pg_temp.executor_credential_binding_id('openapi', r."scope_id", r."source_id", r."slot_key"), | ||
| 466 | r."scope_id", | ||
| 467 | 'openapi', | ||
| 468 | r."source_id", | ||
| 469 | r."scope_id", | ||
| 470 | r."slot_key", | ||
| 471 | 'secret', | ||
| 472 | NULL, | ||
| 473 | r."secret_id", | ||
| 474 | NULL, | ||
| 475 | now(), | ||
| 476 | now() | ||
| 477 | FROM rows r | ||
| 478 | WHERE NOT EXISTS ( | ||
| 479 | SELECT 1 FROM "credential_binding" b | ||
| 480 | WHERE b."scope_id" = r."scope_id" | ||
| 481 | AND b."plugin_id" = 'openapi' | ||
| 482 | AND b."source_id" = r."source_id" | ||
| 483 | AND b."source_scope_id" = r."scope_id" | ||
| 484 | AND b."slot_key" = r."slot_key" | ||
| 485 | ) | ||
| 486 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 487 | |||
| 488 | ALTER TABLE "openapi_source_spec_fetch_query_param" ADD COLUMN "slot_key" text;--> statement-breakpoint | ||
| 489 | ALTER TABLE "openapi_source_spec_fetch_query_param" ADD COLUMN "prefix" text;--> statement-breakpoint | ||
| 490 | UPDATE "openapi_source_spec_fetch_query_param" | ||
| 491 | SET | ||
| 492 | "slot_key" = 'spec_fetch_query_param:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim("name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default'), | ||
| 493 | "prefix" = "secret_prefix", | ||
| 494 | "kind" = 'binding' | ||
| 495 | WHERE "kind" = 'secret';--> statement-breakpoint | ||
| 496 | DROP INDEX IF EXISTS "openapi_source_spec_fetch_query_param_secret_id_idx";--> statement-breakpoint | ||
| 497 | ALTER TABLE "openapi_source_spec_fetch_query_param" DROP COLUMN "secret_id";--> statement-breakpoint | ||
| 498 | ALTER TABLE "openapi_source_spec_fetch_query_param" DROP COLUMN "secret_prefix";--> statement-breakpoint | ||
| 499 | |||
| 500 | -- 0012_graphql_credential_slots.sql | ||
| 501 | -- Convert GraphQL's direct credential references to source-owned slot | ||
| 502 | -- structure plus shared core credential_binding rows. Runtime code only | ||
| 503 | -- reads the final slot model; this migration is the one-shot bridge. | ||
| 504 | |||
| 505 | DROP INDEX "graphql_source_auth_connection_id_idx";--> statement-breakpoint | ||
| 506 | DROP INDEX "graphql_source_header_secret_id_idx";--> statement-breakpoint | ||
| 507 | DROP INDEX "graphql_source_query_param_secret_id_idx";--> statement-breakpoint | ||
| 508 | |||
| 509 | ALTER TABLE "graphql_source" ADD COLUMN "auth_connection_slot" text;--> statement-breakpoint | ||
| 510 | |||
| 511 | UPDATE "graphql_source" | ||
| 512 | SET "auth_connection_slot" = 'auth:oauth2:connection' | ||
| 513 | WHERE "auth_kind" = 'oauth2' | ||
| 514 | AND "auth_connection_id" IS NOT NULL;--> statement-breakpoint | ||
| 515 | |||
| 516 | INSERT INTO "credential_binding" ( | ||
| 517 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 518 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 519 | ) | ||
| 520 | SELECT | ||
| 521 | pg_temp.executor_credential_binding_id('graphql', s."scope_id", s."id", 'auth:oauth2:connection'), | ||
| 522 | s."scope_id", | ||
| 523 | 'graphql', | ||
| 524 | s."id", | ||
| 525 | s."scope_id", | ||
| 526 | 'auth:oauth2:connection', | ||
| 527 | 'connection', | ||
| 528 | NULL, | ||
| 529 | NULL, | ||
| 530 | s."auth_connection_id", | ||
| 531 | now(), | ||
| 532 | now() | ||
| 533 | FROM "graphql_source" s | ||
| 534 | WHERE s."auth_kind" = 'oauth2' | ||
| 535 | AND s."auth_connection_id" IS NOT NULL | ||
| 536 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 537 | |||
| 538 | ALTER TABLE "graphql_source" DROP COLUMN "auth_connection_id";--> statement-breakpoint | ||
| 539 | |||
| 540 | ALTER TABLE "graphql_source_header" ADD COLUMN "slot_key" text;--> statement-breakpoint | ||
| 541 | ALTER TABLE "graphql_source_header" ADD COLUMN "prefix" text;--> statement-breakpoint | ||
| 542 | |||
| 543 | CREATE TEMP TABLE "__graphql_header_slot_preflight" ( | ||
| 544 | "scope_id" text NOT NULL, | ||
| 545 | "source_id" text NOT NULL, | ||
| 546 | "slot_key" text NOT NULL, | ||
| 547 | PRIMARY KEY ("scope_id", "source_id", "slot_key") | ||
| 548 | ) ON COMMIT DROP;--> statement-breakpoint | ||
| 549 | |||
| 550 | INSERT INTO "__graphql_header_slot_preflight" ("scope_id", "source_id", "slot_key") | ||
| 551 | SELECT | ||
| 552 | h."scope_id", | ||
| 553 | h."source_id", | ||
| 554 | 'header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(h."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key" | ||
| 555 | FROM "graphql_source_header" h | ||
| 556 | WHERE h."kind" = 'secret' | ||
| 557 | AND h."secret_id" IS NOT NULL;--> statement-breakpoint | ||
| 558 | |||
| 559 | DROP TABLE "__graphql_header_slot_preflight";--> statement-breakpoint | ||
| 560 | |||
| 561 | WITH header_rows AS ( | ||
| 562 | SELECT | ||
| 563 | h."scope_id", | ||
| 564 | h."source_id", | ||
| 565 | h."name", | ||
| 566 | 'header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(h."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key", | ||
| 567 | h."secret_id", | ||
| 568 | h."secret_prefix" | ||
| 569 | FROM "graphql_source_header" h | ||
| 570 | WHERE h."kind" = 'secret' | ||
| 571 | AND h."secret_id" IS NOT NULL | ||
| 572 | ) | ||
| 573 | INSERT INTO "credential_binding" ( | ||
| 574 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 575 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 576 | ) | ||
| 577 | SELECT | ||
| 578 | pg_temp.executor_credential_binding_id('graphql', r."scope_id", r."source_id", r."slot_key"), | ||
| 579 | r."scope_id", | ||
| 580 | 'graphql', | ||
| 581 | r."source_id", | ||
| 582 | r."scope_id", | ||
| 583 | r."slot_key", | ||
| 584 | 'secret', | ||
| 585 | NULL, | ||
| 586 | r."secret_id", | ||
| 587 | NULL, | ||
| 588 | now(), | ||
| 589 | now() | ||
| 590 | FROM header_rows r | ||
| 591 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 592 | |||
| 593 | UPDATE "graphql_source_header" | ||
| 594 | SET | ||
| 595 | "kind" = 'binding', | ||
| 596 | "slot_key" = 'header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim("name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default'), | ||
| 597 | "prefix" = "secret_prefix", | ||
| 598 | "text_value" = NULL | ||
| 599 | WHERE "kind" = 'secret' | ||
| 600 | AND "secret_id" IS NOT NULL;--> statement-breakpoint | ||
| 601 | |||
| 602 | ALTER TABLE "graphql_source_header" DROP COLUMN "secret_id";--> statement-breakpoint | ||
| 603 | ALTER TABLE "graphql_source_header" DROP COLUMN "secret_prefix";--> statement-breakpoint | ||
| 604 | |||
| 605 | ALTER TABLE "graphql_source_query_param" ADD COLUMN "slot_key" text;--> statement-breakpoint | ||
| 606 | ALTER TABLE "graphql_source_query_param" ADD COLUMN "prefix" text;--> statement-breakpoint | ||
| 607 | |||
| 608 | CREATE TEMP TABLE "__graphql_query_param_slot_preflight" ( | ||
| 609 | "scope_id" text NOT NULL, | ||
| 610 | "source_id" text NOT NULL, | ||
| 611 | "slot_key" text NOT NULL, | ||
| 612 | PRIMARY KEY ("scope_id", "source_id", "slot_key") | ||
| 613 | ) ON COMMIT DROP;--> statement-breakpoint | ||
| 614 | |||
| 615 | INSERT INTO "__graphql_query_param_slot_preflight" ("scope_id", "source_id", "slot_key") | ||
| 616 | SELECT | ||
| 617 | q."scope_id", | ||
| 618 | q."source_id", | ||
| 619 | 'query_param:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(q."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key" | ||
| 620 | FROM "graphql_source_query_param" q | ||
| 621 | WHERE q."kind" = 'secret' | ||
| 622 | AND q."secret_id" IS NOT NULL;--> statement-breakpoint | ||
| 623 | |||
| 624 | DROP TABLE "__graphql_query_param_slot_preflight";--> statement-breakpoint | ||
| 625 | |||
| 626 | WITH query_param_rows AS ( | ||
| 627 | SELECT | ||
| 628 | q."scope_id", | ||
| 629 | q."source_id", | ||
| 630 | q."name", | ||
| 631 | 'query_param:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(q."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key", | ||
| 632 | q."secret_id", | ||
| 633 | q."secret_prefix" | ||
| 634 | FROM "graphql_source_query_param" q | ||
| 635 | WHERE q."kind" = 'secret' | ||
| 636 | AND q."secret_id" IS NOT NULL | ||
| 637 | ) | ||
| 638 | INSERT INTO "credential_binding" ( | ||
| 639 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 640 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 641 | ) | ||
| 642 | SELECT | ||
| 643 | pg_temp.executor_credential_binding_id('graphql', r."scope_id", r."source_id", r."slot_key"), | ||
| 644 | r."scope_id", | ||
| 645 | 'graphql', | ||
| 646 | r."source_id", | ||
| 647 | r."scope_id", | ||
| 648 | r."slot_key", | ||
| 649 | 'secret', | ||
| 650 | NULL, | ||
| 651 | r."secret_id", | ||
| 652 | NULL, | ||
| 653 | now(), | ||
| 654 | now() | ||
| 655 | FROM query_param_rows r | ||
| 656 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 657 | |||
| 658 | UPDATE "graphql_source_query_param" | ||
| 659 | SET | ||
| 660 | "kind" = 'binding', | ||
| 661 | "slot_key" = 'query_param:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim("name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default'), | ||
| 662 | "prefix" = "secret_prefix", | ||
| 663 | "text_value" = NULL | ||
| 664 | WHERE "kind" = 'secret' | ||
| 665 | AND "secret_id" IS NOT NULL;--> statement-breakpoint | ||
| 666 | |||
| 667 | ALTER TABLE "graphql_source_query_param" DROP COLUMN "secret_id";--> statement-breakpoint | ||
| 668 | ALTER TABLE "graphql_source_query_param" DROP COLUMN "secret_prefix";--> statement-breakpoint | ||
| 669 | |||
| 670 | -- 0013_mcp_credential_slots.sql | ||
| 671 | -- Convert MCP direct credential references to source-owned slot structure | ||
| 672 | -- plus shared core credential_binding rows. Runtime code only reads the | ||
| 673 | -- final slot model; this migration is the one-shot bridge from old data. | ||
| 674 | |||
| 675 | DROP INDEX "mcp_source_auth_secret_id_idx";--> statement-breakpoint | ||
| 676 | DROP INDEX "mcp_source_auth_connection_id_idx";--> statement-breakpoint | ||
| 677 | DROP INDEX "mcp_source_auth_client_id_secret_id_idx";--> statement-breakpoint | ||
| 678 | DROP INDEX "mcp_source_auth_client_secret_secret_id_idx";--> statement-breakpoint | ||
| 679 | DROP INDEX "mcp_source_header_secret_id_idx";--> statement-breakpoint | ||
| 680 | DROP INDEX "mcp_source_query_param_secret_id_idx";--> statement-breakpoint | ||
| 681 | |||
| 682 | ALTER TABLE "mcp_source" ADD COLUMN "auth_header_slot" text;--> statement-breakpoint | ||
| 683 | ALTER TABLE "mcp_source" ADD COLUMN "auth_header_prefix" text;--> statement-breakpoint | ||
| 684 | ALTER TABLE "mcp_source" ADD COLUMN "auth_connection_slot" text;--> statement-breakpoint | ||
| 685 | ALTER TABLE "mcp_source" ADD COLUMN "auth_client_id_slot" text;--> statement-breakpoint | ||
| 686 | ALTER TABLE "mcp_source" ADD COLUMN "auth_client_secret_slot" text;--> statement-breakpoint | ||
| 687 | |||
| 688 | UPDATE "mcp_source" | ||
| 689 | SET | ||
| 690 | "auth_header_slot" = 'auth:header', | ||
| 691 | "auth_header_prefix" = "auth_secret_prefix" | ||
| 692 | WHERE "auth_kind" = 'header' | ||
| 693 | AND "auth_secret_id" IS NOT NULL;--> statement-breakpoint | ||
| 694 | |||
| 695 | INSERT INTO "credential_binding" ( | ||
| 696 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 697 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 698 | ) | ||
| 699 | SELECT | ||
| 700 | pg_temp.executor_credential_binding_id('mcp', s."scope_id", s."id", 'auth:header'), | ||
| 701 | s."scope_id", | ||
| 702 | 'mcp', | ||
| 703 | s."id", | ||
| 704 | s."scope_id", | ||
| 705 | 'auth:header', | ||
| 706 | 'secret', | ||
| 707 | NULL, | ||
| 708 | s."auth_secret_id", | ||
| 709 | NULL, | ||
| 710 | now(), | ||
| 711 | now() | ||
| 712 | FROM "mcp_source" s | ||
| 713 | WHERE s."auth_kind" = 'header' | ||
| 714 | AND s."auth_secret_id" IS NOT NULL | ||
| 715 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 716 | |||
| 717 | UPDATE "mcp_source" | ||
| 718 | SET | ||
| 719 | "auth_connection_slot" = 'auth:oauth2:connection', | ||
| 720 | "auth_client_id_slot" = CASE | ||
| 721 | WHEN "auth_client_id_secret_id" IS NOT NULL THEN 'auth:oauth2:client-id' | ||
| 722 | ELSE NULL | ||
| 723 | END, | ||
| 724 | "auth_client_secret_slot" = CASE | ||
| 725 | WHEN "auth_client_secret_secret_id" IS NOT NULL THEN 'auth:oauth2:client-secret' | ||
| 726 | ELSE NULL | ||
| 727 | END | ||
| 728 | WHERE "auth_kind" = 'oauth2' | ||
| 729 | AND "auth_connection_id" IS NOT NULL;--> statement-breakpoint | ||
| 730 | |||
| 731 | INSERT INTO "credential_binding" ( | ||
| 732 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 733 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 734 | ) | ||
| 735 | SELECT | ||
| 736 | pg_temp.executor_credential_binding_id('mcp', s."scope_id", s."id", 'auth:oauth2:connection'), | ||
| 737 | s."scope_id", | ||
| 738 | 'mcp', | ||
| 739 | s."id", | ||
| 740 | s."scope_id", | ||
| 741 | 'auth:oauth2:connection', | ||
| 742 | 'connection', | ||
| 743 | NULL, | ||
| 744 | NULL, | ||
| 745 | s."auth_connection_id", | ||
| 746 | now(), | ||
| 747 | now() | ||
| 748 | FROM "mcp_source" s | ||
| 749 | WHERE s."auth_kind" = 'oauth2' | ||
| 750 | AND s."auth_connection_id" IS NOT NULL | ||
| 751 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 752 | |||
| 753 | INSERT INTO "credential_binding" ( | ||
| 754 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 755 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 756 | ) | ||
| 757 | SELECT | ||
| 758 | pg_temp.executor_credential_binding_id('mcp', s."scope_id", s."id", 'auth:oauth2:client-id'), | ||
| 759 | s."scope_id", | ||
| 760 | 'mcp', | ||
| 761 | s."id", | ||
| 762 | s."scope_id", | ||
| 763 | 'auth:oauth2:client-id', | ||
| 764 | 'secret', | ||
| 765 | NULL, | ||
| 766 | s."auth_client_id_secret_id", | ||
| 767 | NULL, | ||
| 768 | now(), | ||
| 769 | now() | ||
| 770 | FROM "mcp_source" s | ||
| 771 | WHERE s."auth_kind" = 'oauth2' | ||
| 772 | AND s."auth_client_id_secret_id" IS NOT NULL | ||
| 773 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 774 | |||
| 775 | INSERT INTO "credential_binding" ( | ||
| 776 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 777 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 778 | ) | ||
| 779 | SELECT | ||
| 780 | pg_temp.executor_credential_binding_id('mcp', s."scope_id", s."id", 'auth:oauth2:client-secret'), | ||
| 781 | s."scope_id", | ||
| 782 | 'mcp', | ||
| 783 | s."id", | ||
| 784 | s."scope_id", | ||
| 785 | 'auth:oauth2:client-secret', | ||
| 786 | 'secret', | ||
| 787 | NULL, | ||
| 788 | s."auth_client_secret_secret_id", | ||
| 789 | NULL, | ||
| 790 | now(), | ||
| 791 | now() | ||
| 792 | FROM "mcp_source" s | ||
| 793 | WHERE s."auth_kind" = 'oauth2' | ||
| 794 | AND s."auth_client_secret_secret_id" IS NOT NULL | ||
| 795 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 796 | |||
| 797 | ALTER TABLE "mcp_source" DROP COLUMN "auth_secret_id";--> statement-breakpoint | ||
| 798 | ALTER TABLE "mcp_source" DROP COLUMN "auth_secret_prefix";--> statement-breakpoint | ||
| 799 | ALTER TABLE "mcp_source" DROP COLUMN "auth_connection_id";--> statement-breakpoint | ||
| 800 | ALTER TABLE "mcp_source" DROP COLUMN "auth_client_id_secret_id";--> statement-breakpoint | ||
| 801 | ALTER TABLE "mcp_source" DROP COLUMN "auth_client_secret_secret_id";--> statement-breakpoint | ||
| 802 | |||
| 803 | ALTER TABLE "mcp_source_header" ADD COLUMN "slot_key" text;--> statement-breakpoint | ||
| 804 | ALTER TABLE "mcp_source_header" ADD COLUMN "prefix" text;--> statement-breakpoint | ||
| 805 | |||
| 806 | CREATE TEMP TABLE "__mcp_header_slot_preflight" ( | ||
| 807 | "scope_id" text NOT NULL, | ||
| 808 | "source_id" text NOT NULL, | ||
| 809 | "slot_key" text NOT NULL, | ||
| 810 | PRIMARY KEY ("scope_id", "source_id", "slot_key") | ||
| 811 | ) ON COMMIT DROP;--> statement-breakpoint | ||
| 812 | |||
| 813 | INSERT INTO "__mcp_header_slot_preflight" ("scope_id", "source_id", "slot_key") | ||
| 814 | SELECT | ||
| 815 | h."scope_id", | ||
| 816 | h."source_id", | ||
| 817 | 'header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(h."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key" | ||
| 818 | FROM "mcp_source_header" h | ||
| 819 | WHERE h."kind" = 'secret' | ||
| 820 | AND h."secret_id" IS NOT NULL;--> statement-breakpoint | ||
| 821 | |||
| 822 | DROP TABLE "__mcp_header_slot_preflight";--> statement-breakpoint | ||
| 823 | |||
| 824 | WITH header_rows AS ( | ||
| 825 | SELECT | ||
| 826 | h."scope_id", | ||
| 827 | h."source_id", | ||
| 828 | h."name", | ||
| 829 | 'header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(h."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key", | ||
| 830 | h."secret_id", | ||
| 831 | h."secret_prefix" | ||
| 832 | FROM "mcp_source_header" h | ||
| 833 | WHERE h."kind" = 'secret' | ||
| 834 | AND h."secret_id" IS NOT NULL | ||
| 835 | ) | ||
| 836 | INSERT INTO "credential_binding" ( | ||
| 837 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 838 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 839 | ) | ||
| 840 | SELECT | ||
| 841 | pg_temp.executor_credential_binding_id('mcp', r."scope_id", r."source_id", r."slot_key"), | ||
| 842 | r."scope_id", | ||
| 843 | 'mcp', | ||
| 844 | r."source_id", | ||
| 845 | r."scope_id", | ||
| 846 | r."slot_key", | ||
| 847 | 'secret', | ||
| 848 | NULL, | ||
| 849 | r."secret_id", | ||
| 850 | NULL, | ||
| 851 | now(), | ||
| 852 | now() | ||
| 853 | FROM header_rows r | ||
| 854 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 855 | |||
| 856 | UPDATE "mcp_source_header" | ||
| 857 | SET | ||
| 858 | "kind" = 'binding', | ||
| 859 | "slot_key" = 'header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim("name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default'), | ||
| 860 | "prefix" = "secret_prefix", | ||
| 861 | "text_value" = NULL | ||
| 862 | WHERE "kind" = 'secret' | ||
| 863 | AND "secret_id" IS NOT NULL;--> statement-breakpoint | ||
| 864 | |||
| 865 | ALTER TABLE "mcp_source_header" DROP COLUMN "secret_id";--> statement-breakpoint | ||
| 866 | ALTER TABLE "mcp_source_header" DROP COLUMN "secret_prefix";--> statement-breakpoint | ||
| 867 | |||
| 868 | ALTER TABLE "mcp_source_query_param" ADD COLUMN "slot_key" text;--> statement-breakpoint | ||
| 869 | ALTER TABLE "mcp_source_query_param" ADD COLUMN "prefix" text;--> statement-breakpoint | ||
| 870 | |||
| 871 | CREATE TEMP TABLE "__mcp_query_param_slot_preflight" ( | ||
| 872 | "scope_id" text NOT NULL, | ||
| 873 | "source_id" text NOT NULL, | ||
| 874 | "slot_key" text NOT NULL, | ||
| 875 | PRIMARY KEY ("scope_id", "source_id", "slot_key") | ||
| 876 | ) ON COMMIT DROP;--> statement-breakpoint | ||
| 877 | |||
| 878 | INSERT INTO "__mcp_query_param_slot_preflight" ("scope_id", "source_id", "slot_key") | ||
| 879 | SELECT | ||
| 880 | q."scope_id", | ||
| 881 | q."source_id", | ||
| 882 | 'query_param:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(q."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key" | ||
| 883 | FROM "mcp_source_query_param" q | ||
| 884 | WHERE q."kind" = 'secret' | ||
| 885 | AND q."secret_id" IS NOT NULL;--> statement-breakpoint | ||
| 886 | |||
| 887 | DROP TABLE "__mcp_query_param_slot_preflight";--> statement-breakpoint | ||
| 888 | |||
| 889 | WITH query_param_rows AS ( | ||
| 890 | SELECT | ||
| 891 | q."scope_id", | ||
| 892 | q."source_id", | ||
| 893 | q."name", | ||
| 894 | 'query_param:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(q."name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key", | ||
| 895 | q."secret_id", | ||
| 896 | q."secret_prefix" | ||
| 897 | FROM "mcp_source_query_param" q | ||
| 898 | WHERE q."kind" = 'secret' | ||
| 899 | AND q."secret_id" IS NOT NULL | ||
| 900 | ) | ||
| 901 | INSERT INTO "credential_binding" ( | ||
| 902 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 903 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 904 | ) | ||
| 905 | SELECT | ||
| 906 | pg_temp.executor_credential_binding_id('mcp', r."scope_id", r."source_id", r."slot_key"), | ||
| 907 | r."scope_id", | ||
| 908 | 'mcp', | ||
| 909 | r."source_id", | ||
| 910 | r."scope_id", | ||
| 911 | r."slot_key", | ||
| 912 | 'secret', | ||
| 913 | NULL, | ||
| 914 | r."secret_id", | ||
| 915 | NULL, | ||
| 916 | now(), | ||
| 917 | now() | ||
| 918 | FROM query_param_rows r | ||
| 919 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 920 | |||
| 921 | UPDATE "mcp_source_query_param" | ||
| 922 | SET | ||
| 923 | "kind" = 'binding', | ||
| 924 | "slot_key" = 'query_param:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim("name"), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default'), | ||
| 925 | "prefix" = "secret_prefix", | ||
| 926 | "text_value" = NULL | ||
| 927 | WHERE "kind" = 'secret' | ||
| 928 | AND "secret_id" IS NOT NULL;--> statement-breakpoint | ||
| 929 | |||
| 930 | ALTER TABLE "mcp_source_query_param" DROP COLUMN "secret_id";--> statement-breakpoint | ||
| 931 | ALTER TABLE "mcp_source_query_param" DROP COLUMN "secret_prefix";--> statement-breakpoint | ||
| 932 | |||
| 933 | -- 0014_normalize_oauth_connections.sql | ||
| 934 | -- Normalize pre-unified OAuth connection rows to the canonical core | ||
| 935 | -- provider/provider_state shape. Runtime refresh only reads provider='oauth2' | ||
| 936 | -- and provider_state.kind after this one-shot data migration. | ||
| 937 | |||
| 938 | UPDATE "connection" | ||
| 939 | SET | ||
| 940 | "provider" = 'oauth2', | ||
| 941 | "provider_state" = jsonb_build_object( | ||
| 942 | 'kind', CASE "provider_state"->>'flow' | ||
| 943 | WHEN 'authorizationCode' THEN 'authorization-code' | ||
| 944 | ELSE 'client-credentials' | ||
| 945 | END, | ||
| 946 | 'tokenEndpoint', "provider_state"->>'tokenUrl', | ||
| 947 | 'issuerUrl', NULL, | ||
| 948 | 'clientIdSecretId', "provider_state"->>'clientIdSecretId', | ||
| 949 | 'clientSecretSecretId', CASE "provider_state"->>'flow' | ||
| 950 | WHEN 'clientCredentials' THEN coalesce("provider_state"->>'clientSecretSecretId', '') | ||
| 951 | ELSE "provider_state"->>'clientSecretSecretId' | ||
| 952 | END, | ||
| 953 | 'clientAuth', 'body', | ||
| 954 | 'scopes', coalesce("provider_state"->'scopes', '[]'::jsonb), | ||
| 955 | 'scope', "scope" | ||
| 956 | ), | ||
| 957 | "updated_at" = now() | ||
| 958 | WHERE "provider" = 'openapi:oauth2' | ||
| 959 | AND "provider_state"->>'flow' IN ('authorizationCode', 'clientCredentials');--> statement-breakpoint | ||
| 960 | |||
| 961 | UPDATE "connection" | ||
| 962 | SET | ||
| 963 | "provider" = 'oauth2', | ||
| 964 | "provider_state" = jsonb_build_object( | ||
| 965 | 'kind', 'dynamic-dcr', | ||
| 966 | 'tokenEndpoint', coalesce( | ||
| 967 | "provider_state"->>'tokenEndpoint', | ||
| 968 | "provider_state"#>>'{authorizationServerMetadata,token_endpoint}', | ||
| 969 | '' | ||
| 970 | ), | ||
| 971 | 'issuerUrl', "provider_state"#>>'{authorizationServerMetadata,issuer}', | ||
| 972 | 'authorizationServerUrl', "provider_state"->>'authorizationServerUrl', | ||
| 973 | 'authorizationServerMetadataUrl', "provider_state"->>'authorizationServerMetadataUrl', | ||
| 974 | 'idTokenSigningAlgValuesSupported', coalesce( | ||
| 975 | "provider_state"#>'{authorizationServerMetadata,id_token_signing_alg_values_supported}', | ||
| 976 | '[]'::jsonb | ||
| 977 | ), | ||
| 978 | 'clientId', coalesce("provider_state"#>>'{clientInformation,client_id}', ''), | ||
| 979 | 'clientSecretSecretId', NULL, | ||
| 980 | 'clientAuth', CASE "provider_state"#>>'{clientInformation,token_endpoint_auth_method}' | ||
| 981 | WHEN 'client_secret_basic' THEN 'basic' | ||
| 982 | ELSE 'body' | ||
| 983 | END, | ||
| 984 | 'scopes', '[]'::jsonb, | ||
| 985 | 'scope', "scope", | ||
| 986 | 'resource', "provider_state"->>'endpoint' | ||
| 987 | ), | ||
| 988 | "updated_at" = now() | ||
| 989 | WHERE "provider" = 'mcp:oauth2';--> statement-breakpoint | ||
| 990 | |||
| 991 | -- 0015_openapi_header_rows.sql | ||
| 992 | -- Move OpenAPI request headers out of openapi_source.headers JSON and into | ||
| 993 | -- the same child-row slot model used by query params and spec-fetch | ||
| 994 | -- credentials. Runtime code reads only openapi_source_header after this. | ||
| 995 | |||
| 996 | CREATE TABLE "openapi_source_header" ( | ||
| 997 | "id" text NOT NULL, | ||
| 998 | "scope_id" text NOT NULL, | ||
| 999 | "source_id" text NOT NULL, | ||
| 1000 | "name" text NOT NULL, | ||
| 1001 | "kind" text NOT NULL, | ||
| 1002 | "text_value" text, | ||
| 1003 | "slot_key" text, | ||
| 1004 | "prefix" text, | ||
| 1005 | CONSTRAINT "openapi_source_header_scope_id_id_pk" PRIMARY KEY("scope_id","id") | ||
| 1006 | );--> statement-breakpoint | ||
| 1007 | CREATE INDEX "openapi_source_header_scope_id_idx" ON "openapi_source_header" USING btree ("scope_id");--> statement-breakpoint | ||
| 1008 | CREATE INDEX "openapi_source_header_source_id_idx" ON "openapi_source_header" USING btree ("source_id");--> statement-breakpoint | ||
| 1009 | |||
| 1010 | CREATE TEMP TABLE "__openapi_header_row_slot_preflight" ( | ||
| 1011 | "scope_id" text NOT NULL, | ||
| 1012 | "source_id" text NOT NULL, | ||
| 1013 | "slot_key" text NOT NULL, | ||
| 1014 | PRIMARY KEY ("scope_id", "source_id", "slot_key") | ||
| 1015 | ) ON COMMIT DROP;--> statement-breakpoint | ||
| 1016 | |||
| 1017 | INSERT INTO "__openapi_header_row_slot_preflight" ("scope_id", "source_id", "slot_key") | ||
| 1018 | SELECT | ||
| 1019 | s."scope_id", | ||
| 1020 | s."id", | ||
| 1021 | 'header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(h.key), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key" | ||
| 1022 | FROM "openapi_source" s, jsonb_each(s."headers") h | ||
| 1023 | WHERE s."headers" IS NOT NULL | ||
| 1024 | AND jsonb_typeof(h.value) = 'object' | ||
| 1025 | AND h.value ? 'secretId' | ||
| 1026 | AND COALESCE(h.value->>'kind', 'secret') = 'secret';--> statement-breakpoint | ||
| 1027 | |||
| 1028 | DROP TABLE "__openapi_header_row_slot_preflight";--> statement-breakpoint | ||
| 1029 | |||
| 1030 | WITH header_rows AS ( | ||
| 1031 | SELECT | ||
| 1032 | s."scope_id", | ||
| 1033 | s."id" AS "source_id", | ||
| 1034 | h.key AS "name", | ||
| 1035 | 'header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(h.key), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') AS "slot_key", | ||
| 1036 | h.value->>'secretId' AS "secret_id" | ||
| 1037 | FROM "openapi_source" s, jsonb_each(s."headers") h | ||
| 1038 | WHERE s."headers" IS NOT NULL | ||
| 1039 | AND jsonb_typeof(h.value) = 'object' | ||
| 1040 | AND h.value ? 'secretId' | ||
| 1041 | AND COALESCE(h.value->>'kind', 'secret') = 'secret' | ||
| 1042 | ) | ||
| 1043 | INSERT INTO "credential_binding" ( | ||
| 1044 | "id", "scope_id", "plugin_id", "source_id", "source_scope_id", "slot_key", | ||
| 1045 | "kind", "text_value", "secret_id", "connection_id", "created_at", "updated_at" | ||
| 1046 | ) | ||
| 1047 | SELECT | ||
| 1048 | pg_temp.executor_credential_binding_id('openapi', r."scope_id", r."source_id", r."slot_key"), | ||
| 1049 | r."scope_id", | ||
| 1050 | 'openapi', | ||
| 1051 | r."source_id", | ||
| 1052 | r."scope_id", | ||
| 1053 | r."slot_key", | ||
| 1054 | 'secret', | ||
| 1055 | NULL, | ||
| 1056 | r."secret_id", | ||
| 1057 | NULL, | ||
| 1058 | now(), | ||
| 1059 | now() | ||
| 1060 | FROM header_rows r | ||
| 1061 | WHERE NOT EXISTS ( | ||
| 1062 | SELECT 1 FROM "credential_binding" b | ||
| 1063 | WHERE b."scope_id" = r."scope_id" | ||
| 1064 | AND b."plugin_id" = 'openapi' | ||
| 1065 | AND b."source_id" = r."source_id" | ||
| 1066 | AND b."source_scope_id" = r."scope_id" | ||
| 1067 | AND b."slot_key" = r."slot_key" | ||
| 1068 | ) | ||
| 1069 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 1070 | |||
| 1071 | INSERT INTO "openapi_source_header" ( | ||
| 1072 | "id", "scope_id", "source_id", "name", "kind", "text_value", "slot_key", "prefix" | ||
| 1073 | ) | ||
| 1074 | SELECT | ||
| 1075 | jsonb_build_array(s."id", h.key)::text, | ||
| 1076 | s."scope_id", | ||
| 1077 | s."id", | ||
| 1078 | h.key, | ||
| 1079 | CASE | ||
| 1080 | WHEN jsonb_typeof(h.value) = 'string' THEN 'text' | ||
| 1081 | WHEN jsonb_typeof(h.value) = 'object' AND h.value->>'kind' = 'text' THEN 'text' | ||
| 1082 | ELSE 'binding' | ||
| 1083 | END, | ||
| 1084 | CASE | ||
| 1085 | WHEN jsonb_typeof(h.value) = 'string' THEN h.value #>> '{}' | ||
| 1086 | WHEN jsonb_typeof(h.value) = 'object' AND h.value->>'kind' = 'text' | ||
| 1087 | THEN h.value->>'text' | ||
| 1088 | ELSE NULL | ||
| 1089 | END, | ||
| 1090 | CASE | ||
| 1091 | WHEN jsonb_typeof(h.value) = 'object' AND h.value->>'kind' = 'binding' | ||
| 1092 | THEN h.value->>'slot' | ||
| 1093 | WHEN jsonb_typeof(h.value) = 'object' AND h.value ? 'secretId' | ||
| 1094 | THEN 'header:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(h.key), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') | ||
| 1095 | ELSE NULL | ||
| 1096 | END, | ||
| 1097 | CASE | ||
| 1098 | WHEN jsonb_typeof(h.value) = 'object' | ||
| 1099 | THEN COALESCE(h.value->>'prefix', h.value->>'secretPrefix') | ||
| 1100 | ELSE NULL | ||
| 1101 | END | ||
| 1102 | FROM "openapi_source" s, jsonb_each(s."headers") h | ||
| 1103 | WHERE s."headers" IS NOT NULL | ||
| 1104 | AND ( | ||
| 1105 | jsonb_typeof(h.value) = 'string' | ||
| 1106 | OR ( | ||
| 1107 | jsonb_typeof(h.value) = 'object' | ||
| 1108 | AND ( | ||
| 1109 | h.value->>'kind' IN ('binding', 'text') | ||
| 1110 | OR h.value ? 'secretId' | ||
| 1111 | ) | ||
| 1112 | ) | ||
| 1113 | ) | ||
| 1114 | ON CONFLICT DO NOTHING;--> statement-breakpoint | ||
| 1115 | |||
| 1116 | ALTER TABLE "openapi_source" DROP COLUMN "headers"; | ||
| @@ -1,70 +0,0 @@ | |||
| 1 | -- Repair MCP OAuth connection bindings created by the scoped credential cutover. | ||
| 2 | -- | ||
| 3 | -- The cutover copied legacy mcp_source.auth_connection_id rows into | ||
| 4 | -- credential_binding at the source owner scope. For shared org MCP sources, | ||
| 5 | -- the referenced Connection rows are user-owned and live at user-org scope, so | ||
| 6 | -- those migrated bindings cannot resolve. Copy each invalid binding to every | ||
| 7 | -- matching user-org scope under the same org, then remove invalid rows that | ||
| 8 | -- still point at a scope without the referenced Connection. | ||
| 9 | |||
| 10 | INSERT INTO "credential_binding" ( | ||
| 11 | "id", | ||
| 12 | "scope_id", | ||
| 13 | "plugin_id", | ||
| 14 | "source_id", | ||
| 15 | "source_scope_id", | ||
| 16 | "slot_key", | ||
| 17 | "kind", | ||
| 18 | "text_value", | ||
| 19 | "secret_id", | ||
| 20 | "connection_id", | ||
| 21 | "created_at", | ||
| 22 | "updated_at" | ||
| 23 | ) | ||
| 24 | SELECT | ||
| 25 | b."id", | ||
| 26 | c."scope_id", | ||
| 27 | b."plugin_id", | ||
| 28 | b."source_id", | ||
| 29 | b."source_scope_id", | ||
| 30 | b."slot_key", | ||
| 31 | b."kind", | ||
| 32 | b."text_value", | ||
| 33 | b."secret_id", | ||
| 34 | b."connection_id", | ||
| 35 | b."created_at", | ||
| 36 | now() | ||
| 37 | FROM "credential_binding" b | ||
| 38 | JOIN "connection" c | ||
| 39 | ON c."id" = b."connection_id" | ||
| 40 | AND c."scope_id" LIKE 'user-org:%:' || b."source_scope_id" | ||
| 41 | WHERE b."plugin_id" = 'mcp' | ||
| 42 | AND b."kind" = 'connection' | ||
| 43 | AND b."slot_key" = 'auth:oauth2:connection' | ||
| 44 | AND NOT EXISTS ( | ||
| 45 | SELECT 1 | ||
| 46 | FROM "connection" exact | ||
| 47 | WHERE exact."id" = b."connection_id" | ||
| 48 | AND exact."scope_id" = b."scope_id" | ||
| 49 | ) | ||
| 50 | ON CONFLICT ("scope_id", "id") DO UPDATE SET | ||
| 51 | "plugin_id" = excluded."plugin_id", | ||
| 52 | "source_id" = excluded."source_id", | ||
| 53 | "source_scope_id" = excluded."source_scope_id", | ||
| 54 | "slot_key" = excluded."slot_key", | ||
| 55 | "kind" = excluded."kind", | ||
| 56 | "text_value" = excluded."text_value", | ||
| 57 | "secret_id" = excluded."secret_id", | ||
| 58 | "connection_id" = excluded."connection_id", | ||
| 59 | "updated_at" = excluded."updated_at";--> statement-breakpoint | ||
| 60 | |||
| 61 | DELETE FROM "credential_binding" b | ||
| 62 | WHERE b."plugin_id" = 'mcp' | ||
| 63 | AND b."kind" = 'connection' | ||
| 64 | AND b."slot_key" = 'auth:oauth2:connection' | ||
| 65 | AND NOT EXISTS ( | ||
| 66 | SELECT 1 | ||
| 67 | FROM "connection" c | ||
| 68 | WHERE c."id" = b."connection_id" | ||
| 69 | AND c."scope_id" = b."scope_id" | ||
| 70 | );--> statement-breakpoint | ||
| @@ -1,68 +0,0 @@ | |||
| 1 | -- Repair OpenAPI OAuth connection bindings that still point at scopes without | ||
| 2 | -- the referenced Connection row. | ||
| 3 | -- | ||
| 4 | -- Shared org sources can use user-owned OAuth connections. If a migrated | ||
| 5 | -- binding landed at org scope while the Connection lives at user-org scope, | ||
| 6 | -- copy it to the matching user-org scope under the same org. Any remaining | ||
| 7 | -- invalid connection binding has no backing Connection and should be removed | ||
| 8 | -- so the source falls back to sign-in. | ||
| 9 | |||
| 10 | INSERT INTO "credential_binding" ( | ||
| 11 | "id", | ||
| 12 | "scope_id", | ||
| 13 | "plugin_id", | ||
| 14 | "source_id", | ||
| 15 | "source_scope_id", | ||
| 16 | "slot_key", | ||
| 17 | "kind", | ||
| 18 | "text_value", | ||
| 19 | "secret_id", | ||
| 20 | "connection_id", | ||
| 21 | "created_at", | ||
| 22 | "updated_at" | ||
| 23 | ) | ||
| 24 | SELECT | ||
| 25 | b."id", | ||
| 26 | c."scope_id", | ||
| 27 | b."plugin_id", | ||
| 28 | b."source_id", | ||
| 29 | b."source_scope_id", | ||
| 30 | b."slot_key", | ||
| 31 | b."kind", | ||
| 32 | b."text_value", | ||
| 33 | b."secret_id", | ||
| 34 | b."connection_id", | ||
| 35 | b."created_at", | ||
| 36 | now() | ||
| 37 | FROM "credential_binding" b | ||
| 38 | JOIN "connection" c | ||
| 39 | ON c."id" = b."connection_id" | ||
| 40 | AND c."scope_id" LIKE 'user-org:%:' || b."source_scope_id" | ||
| 41 | WHERE b."plugin_id" = 'openapi' | ||
| 42 | AND b."kind" = 'connection' | ||
| 43 | AND NOT EXISTS ( | ||
| 44 | SELECT 1 | ||
| 45 | FROM "connection" exact | ||
| 46 | WHERE exact."id" = b."connection_id" | ||
| 47 | AND exact."scope_id" = b."scope_id" | ||
| 48 | ) | ||
| 49 | ON CONFLICT ("scope_id", "id") DO UPDATE SET | ||
| 50 | "plugin_id" = excluded."plugin_id", | ||
| 51 | "source_id" = excluded."source_id", | ||
| 52 | "source_scope_id" = excluded."source_scope_id", | ||
| 53 | "slot_key" = excluded."slot_key", | ||
| 54 | "kind" = excluded."kind", | ||
| 55 | "text_value" = excluded."text_value", | ||
| 56 | "secret_id" = excluded."secret_id", | ||
| 57 | "connection_id" = excluded."connection_id", | ||
| 58 | "updated_at" = excluded."updated_at";--> statement-breakpoint | ||
| 59 | |||
| 60 | DELETE FROM "credential_binding" b | ||
| 61 | WHERE b."plugin_id" = 'openapi' | ||
| 62 | AND b."kind" = 'connection' | ||
| 63 | AND NOT EXISTS ( | ||
| 64 | SELECT 1 | ||
| 65 | FROM "connection" c | ||
| 66 | WHERE c."id" = b."connection_id" | ||
| 67 | AND c."scope_id" = b."scope_id" | ||
| 68 | );--> statement-breakpoint | ||
| @@ -1,73 +0,0 @@ | |||
| 1 | -- Repair OpenAPI secret bindings that point at scopes without the referenced | ||
| 2 | -- Secret row. | ||
| 3 | -- | ||
| 4 | -- Most affected rows are user-org bindings for shared org sources where the | ||
| 5 | -- backing Secret lives at the source/org scope. A smaller case is the inverse: | ||
| 6 | -- an org binding whose matching Secret is user-owned under the same org. Copy | ||
| 7 | -- each invalid binding to the matching in-org Secret scope, then remove any | ||
| 8 | -- invalid OpenAPI secret binding that still has no Secret at its own scope. | ||
| 9 | -- This deliberately does not copy secrets across org boundaries. | ||
| 10 | |||
| 11 | INSERT INTO "credential_binding" ( | ||
| 12 | "id", | ||
| 13 | "scope_id", | ||
| 14 | "plugin_id", | ||
| 15 | "source_id", | ||
| 16 | "source_scope_id", | ||
| 17 | "slot_key", | ||
| 18 | "kind", | ||
| 19 | "text_value", | ||
| 20 | "secret_id", | ||
| 21 | "connection_id", | ||
| 22 | "created_at", | ||
| 23 | "updated_at" | ||
| 24 | ) | ||
| 25 | SELECT DISTINCT ON (s."scope_id", b."id") | ||
| 26 | b."id", | ||
| 27 | s."scope_id", | ||
| 28 | b."plugin_id", | ||
| 29 | b."source_id", | ||
| 30 | b."source_scope_id", | ||
| 31 | b."slot_key", | ||
| 32 | b."kind", | ||
| 33 | b."text_value", | ||
| 34 | b."secret_id", | ||
| 35 | b."connection_id", | ||
| 36 | b."created_at", | ||
| 37 | now() | ||
| 38 | FROM "credential_binding" b | ||
| 39 | JOIN "secret" s | ||
| 40 | ON s."id" = b."secret_id" | ||
| 41 | AND ( | ||
| 42 | s."scope_id" = b."source_scope_id" | ||
| 43 | OR s."scope_id" LIKE 'user-org:%:' || b."source_scope_id" | ||
| 44 | ) | ||
| 45 | WHERE b."plugin_id" = 'openapi' | ||
| 46 | AND b."kind" = 'secret' | ||
| 47 | AND NOT EXISTS ( | ||
| 48 | SELECT 1 | ||
| 49 | FROM "secret" exact | ||
| 50 | WHERE exact."id" = b."secret_id" | ||
| 51 | AND exact."scope_id" = b."scope_id" | ||
| 52 | ) | ||
| 53 | ORDER BY s."scope_id", b."id", b."updated_at" DESC | ||
| 54 | ON CONFLICT ("scope_id", "id") DO UPDATE SET | ||
| 55 | "plugin_id" = excluded."plugin_id", | ||
| 56 | "source_id" = excluded."source_id", | ||
| 57 | "source_scope_id" = excluded."source_scope_id", | ||
| 58 | "slot_key" = excluded."slot_key", | ||
| 59 | "kind" = excluded."kind", | ||
| 60 | "text_value" = excluded."text_value", | ||
| 61 | "secret_id" = excluded."secret_id", | ||
| 62 | "connection_id" = excluded."connection_id", | ||
| 63 | "updated_at" = excluded."updated_at";--> statement-breakpoint | ||
| 64 | |||
| 65 | DELETE FROM "credential_binding" b | ||
| 66 | WHERE b."plugin_id" = 'openapi' | ||
| 67 | AND b."kind" = 'secret' | ||
| 68 | AND NOT EXISTS ( | ||
| 69 | SELECT 1 | ||
| 70 | FROM "secret" s | ||
| 71 | WHERE s."id" = b."secret_id" | ||
| 72 | AND s."scope_id" = b."scope_id" | ||
| 73 | );--> statement-breakpoint | ||
| @@ -1,23 +0,0 @@ | |||
| 1 | -- Remove stale OAuth rows left behind after connection cleanup. | ||
| 2 | -- | ||
| 3 | -- Connection-owned Secret rows are hidden implementation details for a | ||
| 4 | -- Connection. If the owning Connection row no longer exists at the same scope, | ||
| 5 | -- the Secret row is unreachable and should not remain as dangling metadata. | ||
| 6 | -- Likewise, OAuth sessions for missing Connections cannot complete safely. | ||
| 7 | |||
| 8 | DELETE FROM "secret" s | ||
| 9 | WHERE s."owned_by_connection_id" IS NOT NULL | ||
| 10 | AND NOT EXISTS ( | ||
| 11 | SELECT 1 | ||
| 12 | FROM "connection" c | ||
| 13 | WHERE c."id" = s."owned_by_connection_id" | ||
| 14 | AND c."scope_id" = s."scope_id" | ||
| 15 | );--> statement-breakpoint | ||
| 16 | |||
| 17 | DELETE FROM "oauth2_session" o | ||
| 18 | WHERE NOT EXISTS ( | ||
| 19 | SELECT 1 | ||
| 20 | FROM "connection" c | ||
| 21 | WHERE c."id" = o."connection_id" | ||
| 22 | AND c."scope_id" = o."scope_id" | ||
| 23 | );--> statement-breakpoint | ||
| @@ -1,241 +0,0 @@ | |||
| 1 | -- Repair OpenAPI OAuth residue from the scoped-credential cutover. | ||
| 2 | -- | ||
| 3 | -- 0009 only normalized provider='openapi:oauth2' rows whose provider_state | ||
| 4 | -- still had the old `flow` shape. Some live rows already had canonical | ||
| 5 | -- `kind` provider_state, so the provider key was skipped. 0012 also collapsed | ||
| 6 | -- user-scoped OpenAPI OAuth client credential bindings when the backing Secret | ||
| 7 | -- row lived at the source/org scope. Runtime refresh reads provider_state | ||
| 8 | -- directly, but edit/refresh UI reads credential_binding rows, so recreate | ||
| 9 | -- those explicit bindings from the already-canonical Connection rows. | ||
| 10 | |||
| 11 | UPDATE "connection" | ||
| 12 | SET "provider" = 'oauth2', | ||
| 13 | "updated_at" = now() | ||
| 14 | WHERE "provider" = 'openapi:oauth2' | ||
| 15 | AND "provider_state" ? 'kind';--> statement-breakpoint | ||
| 16 | |||
| 17 | WITH oauth_connections AS ( | ||
| 18 | SELECT | ||
| 19 | b."scope_id", | ||
| 20 | b."id" AS "binding_id", | ||
| 21 | b."plugin_id", | ||
| 22 | b."source_id", | ||
| 23 | b."source_scope_id", | ||
| 24 | s."oauth2"->>'clientIdSlot' AS "slot_key", | ||
| 25 | c."provider_state"->>'clientIdSecretId' AS "secret_id", | ||
| 26 | b."created_at" | ||
| 27 | FROM "credential_binding" b | ||
| 28 | JOIN "openapi_source" s | ||
| 29 | ON s."id" = b."source_id" | ||
| 30 | AND s."scope_id" = b."source_scope_id" | ||
| 31 | JOIN "connection" c | ||
| 32 | ON c."id" = b."connection_id" | ||
| 33 | AND c."scope_id" = b."scope_id" | ||
| 34 | WHERE b."plugin_id" = 'openapi' | ||
| 35 | AND b."kind" = 'connection' | ||
| 36 | AND s."oauth2" IS NOT NULL | ||
| 37 | AND c."provider" = 'oauth2' | ||
| 38 | AND c."provider_state" ? 'clientIdSecretId' | ||
| 39 | AND coalesce(c."provider_state"->>'clientIdSecretId', '') <> '' | ||
| 40 | ) | ||
| 41 | UPDATE "credential_binding" b | ||
| 42 | SET "secret_id" = r."secret_id", | ||
| 43 | "text_value" = NULL, | ||
| 44 | "connection_id" = NULL, | ||
| 45 | "updated_at" = now() | ||
| 46 | FROM oauth_connections r | ||
| 47 | WHERE b."scope_id" = r."scope_id" | ||
| 48 | AND b."plugin_id" = r."plugin_id" | ||
| 49 | AND b."source_id" = r."source_id" | ||
| 50 | AND b."source_scope_id" = r."source_scope_id" | ||
| 51 | AND b."slot_key" = r."slot_key" | ||
| 52 | AND b."kind" = 'secret';--> statement-breakpoint | ||
| 53 | |||
| 54 | WITH oauth_connections AS ( | ||
| 55 | SELECT | ||
| 56 | b."scope_id", | ||
| 57 | b."id" AS "binding_id", | ||
| 58 | b."plugin_id", | ||
| 59 | b."source_id", | ||
| 60 | b."source_scope_id", | ||
| 61 | s."oauth2"->>'clientIdSlot' AS "slot_key", | ||
| 62 | c."provider_state"->>'clientIdSecretId' AS "secret_id", | ||
| 63 | b."created_at" | ||
| 64 | FROM "credential_binding" b | ||
| 65 | JOIN "openapi_source" s | ||
| 66 | ON s."id" = b."source_id" | ||
| 67 | AND s."scope_id" = b."source_scope_id" | ||
| 68 | JOIN "connection" c | ||
| 69 | ON c."id" = b."connection_id" | ||
| 70 | AND c."scope_id" = b."scope_id" | ||
| 71 | WHERE b."plugin_id" = 'openapi' | ||
| 72 | AND b."kind" = 'connection' | ||
| 73 | AND s."oauth2" IS NOT NULL | ||
| 74 | AND c."provider" = 'oauth2' | ||
| 75 | AND c."provider_state" ? 'clientIdSecretId' | ||
| 76 | AND coalesce(c."provider_state"->>'clientIdSecretId', '') <> '' | ||
| 77 | ) | ||
| 78 | INSERT INTO "credential_binding" ( | ||
| 79 | "id", | ||
| 80 | "scope_id", | ||
| 81 | "plugin_id", | ||
| 82 | "source_id", | ||
| 83 | "source_scope_id", | ||
| 84 | "slot_key", | ||
| 85 | "kind", | ||
| 86 | "text_value", | ||
| 87 | "secret_id", | ||
| 88 | "connection_id", | ||
| 89 | "created_at", | ||
| 90 | "updated_at" | ||
| 91 | ) | ||
| 92 | SELECT | ||
| 93 | '[' || to_jsonb('oconn-openapi-oauth-client'::text)::text || ',' || to_jsonb(r."binding_id")::text || ',' || to_jsonb(r."scope_id")::text || ',' || to_jsonb(r."slot_key")::text || ']', | ||
| 94 | r."scope_id", | ||
| 95 | r."plugin_id", | ||
| 96 | r."source_id", | ||
| 97 | r."source_scope_id", | ||
| 98 | r."slot_key", | ||
| 99 | 'secret', | ||
| 100 | NULL, | ||
| 101 | r."secret_id", | ||
| 102 | NULL, | ||
| 103 | r."created_at", | ||
| 104 | now() | ||
| 105 | FROM oauth_connections r | ||
| 106 | WHERE r."slot_key" IS NOT NULL | ||
| 107 | AND NOT EXISTS ( | ||
| 108 | SELECT 1 | ||
| 109 | FROM "credential_binding" existing | ||
| 110 | WHERE existing."scope_id" = r."scope_id" | ||
| 111 | AND existing."plugin_id" = r."plugin_id" | ||
| 112 | AND existing."source_id" = r."source_id" | ||
| 113 | AND existing."source_scope_id" = r."source_scope_id" | ||
| 114 | AND existing."slot_key" = r."slot_key" | ||
| 115 | ) | ||
| 116 | ON CONFLICT ("scope_id", "id") DO UPDATE SET | ||
| 117 | "plugin_id" = excluded."plugin_id", | ||
| 118 | "source_id" = excluded."source_id", | ||
| 119 | "source_scope_id" = excluded."source_scope_id", | ||
| 120 | "slot_key" = excluded."slot_key", | ||
| 121 | "kind" = excluded."kind", | ||
| 122 | "text_value" = excluded."text_value", | ||
| 123 | "secret_id" = excluded."secret_id", | ||
| 124 | "connection_id" = excluded."connection_id", | ||
| 125 | "updated_at" = excluded."updated_at";--> statement-breakpoint | ||
| 126 | |||
| 127 | WITH oauth_connections AS ( | ||
| 128 | SELECT | ||
| 129 | b."scope_id", | ||
| 130 | b."id" AS "binding_id", | ||
| 131 | b."plugin_id", | ||
| 132 | b."source_id", | ||
| 133 | b."source_scope_id", | ||
| 134 | coalesce( | ||
| 135 | s."oauth2"->>'clientSecretSlot', | ||
| 136 | 'oauth2:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(s."oauth2"->>'securitySchemeName'), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') || ':client-secret' | ||
| 137 | ) AS "slot_key", | ||
| 138 | c."provider_state"->>'clientSecretSecretId' AS "secret_id", | ||
| 139 | b."created_at" | ||
| 140 | FROM "credential_binding" b | ||
| 141 | JOIN "openapi_source" s | ||
| 142 | ON s."id" = b."source_id" | ||
| 143 | AND s."scope_id" = b."source_scope_id" | ||
| 144 | JOIN "connection" c | ||
| 145 | ON c."id" = b."connection_id" | ||
| 146 | AND c."scope_id" = b."scope_id" | ||
| 147 | WHERE b."plugin_id" = 'openapi' | ||
| 148 | AND b."kind" = 'connection' | ||
| 149 | AND s."oauth2" IS NOT NULL | ||
| 150 | AND c."provider" = 'oauth2' | ||
| 151 | AND c."provider_state" ? 'clientSecretSecretId' | ||
| 152 | AND coalesce(c."provider_state"->>'clientSecretSecretId', '') <> '' | ||
| 153 | ) | ||
| 154 | UPDATE "credential_binding" b | ||
| 155 | SET "secret_id" = r."secret_id", | ||
| 156 | "text_value" = NULL, | ||
| 157 | "connection_id" = NULL, | ||
| 158 | "updated_at" = now() | ||
| 159 | FROM oauth_connections r | ||
| 160 | WHERE b."scope_id" = r."scope_id" | ||
| 161 | AND b."plugin_id" = r."plugin_id" | ||
| 162 | AND b."source_id" = r."source_id" | ||
| 163 | AND b."source_scope_id" = r."source_scope_id" | ||
| 164 | AND b."slot_key" = r."slot_key" | ||
| 165 | AND b."kind" = 'secret';--> statement-breakpoint | ||
| 166 | |||
| 167 | WITH oauth_connections AS ( | ||
| 168 | SELECT | ||
| 169 | b."scope_id", | ||
| 170 | b."id" AS "binding_id", | ||
| 171 | b."plugin_id", | ||
| 172 | b."source_id", | ||
| 173 | b."source_scope_id", | ||
| 174 | coalesce( | ||
| 175 | s."oauth2"->>'clientSecretSlot', | ||
| 176 | 'oauth2:' || COALESCE(NULLIF(trim(both '-' from lower(regexp_replace(trim(s."oauth2"->>'securitySchemeName'), '[^a-zA-Z0-9]+', '-', 'g'))), ''), 'default') || ':client-secret' | ||
| 177 | ) AS "slot_key", | ||
| 178 | c."provider_state"->>'clientSecretSecretId' AS "secret_id", | ||
| 179 | b."created_at" | ||
| 180 | FROM "credential_binding" b | ||
| 181 | JOIN "openapi_source" s | ||
| 182 | ON s."id" = b."source_id" | ||
| 183 | AND s."scope_id" = b."source_scope_id" | ||
| 184 | JOIN "connection" c | ||
| 185 | ON c."id" = b."connection_id" | ||
| 186 | AND c."scope_id" = b."scope_id" | ||
| 187 | WHERE b."plugin_id" = 'openapi' | ||
| 188 | AND b."kind" = 'connection' | ||
| 189 | AND s."oauth2" IS NOT NULL | ||
| 190 | AND c."provider" = 'oauth2' | ||
| 191 | AND c."provider_state" ? 'clientSecretSecretId' | ||
| 192 | AND coalesce(c."provider_state"->>'clientSecretSecretId', '') <> '' | ||
| 193 | ) | ||
| 194 | INSERT INTO "credential_binding" ( | ||
| 195 | "id", | ||
| 196 | "scope_id", | ||
| 197 | "plugin_id", | ||
| 198 | "source_id", | ||
| 199 | "source_scope_id", | ||
| 200 | "slot_key", | ||
| 201 | "kind", | ||
| 202 | "text_value", | ||
| 203 | "secret_id", | ||
| 204 | "connection_id", | ||
| 205 | "created_at", | ||
| 206 | "updated_at" | ||
| 207 | ) | ||
| 208 | SELECT | ||
| 209 | '[' || to_jsonb('oconn-openapi-oauth-secret'::text)::text || ',' || to_jsonb(r."binding_id")::text || ',' || to_jsonb(r."scope_id")::text || ',' || to_jsonb(r."slot_key")::text || ']', | ||
| 210 | r."scope_id", | ||
| 211 | r."plugin_id", | ||
| 212 | r."source_id", | ||
| 213 | r."source_scope_id", | ||
| 214 | r."slot_key", | ||
| 215 | 'secret', | ||
| 216 | NULL, | ||
| 217 | r."secret_id", | ||
| 218 | NULL, | ||
| 219 | r."created_at", | ||
| 220 | now() | ||
| 221 | FROM oauth_connections r | ||
| 222 | WHERE r."slot_key" IS NOT NULL | ||
| 223 | AND NOT EXISTS ( | ||
| 224 | SELECT 1 | ||
| 225 | FROM "credential_binding" existing | ||
| 226 | WHERE existing."scope_id" = r."scope_id" | ||
| 227 | AND existing."plugin_id" = r."plugin_id" | ||
| 228 | AND existing."source_id" = r."source_id" | ||
| 229 | AND existing."source_scope_id" = r."source_scope_id" | ||
| 230 | AND existing."slot_key" = r."slot_key" | ||
| 231 | ) | ||
| 232 | ON CONFLICT ("scope_id", "id") DO UPDATE SET | ||
| 233 | "plugin_id" = excluded."plugin_id", | ||
| 234 | "source_id" = excluded."source_id", | ||
| 235 | "source_scope_id" = excluded."source_scope_id", | ||
| 236 | "slot_key" = excluded."slot_key", | ||
| 237 | "kind" = excluded."kind", | ||
| 238 | "text_value" = excluded."text_value", | ||
| 239 | "secret_id" = excluded."secret_id", | ||
| 240 | "connection_id" = excluded."connection_id", | ||
| 241 | "updated_at" = excluded."updated_at"; | ||
| @@ -1,2 +0,0 @@ | |||
| 1 | ALTER TABLE "credential_binding" ADD COLUMN "secret_scope_id" text;--> statement-breakpoint | ||
| 2 | CREATE INDEX "credential_binding_secret_scope_id_idx" ON "credential_binding" USING btree ("secret_scope_id"); | ||
| @@ -1,114 +0,0 @@ | |||
| 1 | CREATE TABLE IF NOT EXISTS "private_executor_cloud_settings" ( | ||
| 2 | "id" varchar(255) PRIMARY KEY NOT NULL, | ||
| 3 | "version" varchar(255) DEFAULT '1.0.0' NOT NULL | ||
| 4 | ); | ||
| 5 | --> statement-breakpoint | ||
| 6 | INSERT INTO "private_executor_cloud_settings" ("id", "version") | ||
| 7 | VALUES ('default', '1.0.0') | ||
| 8 | ON CONFLICT ("id") DO UPDATE SET "version" = excluded."version"; | ||
| 9 | --> statement-breakpoint | ||
| 10 | ALTER TABLE "credential_binding" ADD COLUMN IF NOT EXISTS "secret_scope_id" text; | ||
| 11 | --> statement-breakpoint | ||
| 12 | ALTER TABLE "blob" ADD COLUMN IF NOT EXISTS "row_id" varchar(255); | ||
| 13 | --> statement-breakpoint | ||
| 14 | ALTER TABLE "blob" ADD COLUMN IF NOT EXISTS "id" varchar(255); | ||
| 15 | --> statement-breakpoint | ||
| 16 | UPDATE "blob" | ||
| 17 | SET | ||
| 18 | "id" = COALESCE("id", '[' || to_json("namespace")::text || ',' || to_json("key")::text || ']'), | ||
| 19 | "row_id" = COALESCE("row_id", 'legacy_' || md5("namespace" || chr(31) || "key")) | ||
| 20 | WHERE "id" IS NULL OR "row_id" IS NULL; | ||
| 21 | --> statement-breakpoint | ||
| 22 | ALTER TABLE "blob" ALTER COLUMN "id" SET NOT NULL; | ||
| 23 | --> statement-breakpoint | ||
| 24 | ALTER TABLE "blob" ALTER COLUMN "row_id" SET NOT NULL; | ||
| 25 | --> statement-breakpoint | ||
| 26 | DO $$ | ||
| 27 | BEGIN | ||
| 28 | IF EXISTS ( | ||
| 29 | SELECT 1 FROM pg_constraint | ||
| 30 | WHERE conrelid = 'public.blob'::regclass | ||
| 31 | AND conname = 'blob_namespace_key_pk' | ||
| 32 | ) THEN | ||
| 33 | ALTER TABLE "blob" DROP CONSTRAINT "blob_namespace_key_pk"; | ||
| 34 | END IF; | ||
| 35 | |||
| 36 | IF NOT EXISTS ( | ||
| 37 | SELECT 1 FROM pg_constraint | ||
| 38 | WHERE conrelid = 'public.blob'::regclass | ||
| 39 | AND conname = 'blob_pkey' | ||
| 40 | ) THEN | ||
| 41 | ALTER TABLE "blob" ADD CONSTRAINT "blob_pkey" PRIMARY KEY ("row_id"); | ||
| 42 | END IF; | ||
| 43 | END $$; | ||
| 44 | --> statement-breakpoint | ||
| 45 | CREATE UNIQUE INDEX IF NOT EXISTS "blob_id_uidx" ON "blob" USING btree ("id"); | ||
| 46 | --> statement-breakpoint | ||
| 47 | DO $$ | ||
| 48 | DECLARE | ||
| 49 | table_name text; | ||
| 50 | legacy_pk_name text; | ||
| 51 | new_pk_name text; | ||
| 52 | new_unique_name text; | ||
| 53 | BEGIN | ||
| 54 | FOREACH table_name IN ARRAY ARRAY[ | ||
| 55 | 'connection', | ||
| 56 | 'credential_binding', | ||
| 57 | 'definition', | ||
| 58 | 'graphql_operation', | ||
| 59 | 'graphql_source', | ||
| 60 | 'graphql_source_header', | ||
| 61 | 'graphql_source_query_param', | ||
| 62 | 'mcp_binding', | ||
| 63 | 'mcp_source', | ||
| 64 | 'mcp_source_header', | ||
| 65 | 'mcp_source_query_param', | ||
| 66 | 'oauth2_session', | ||
| 67 | 'openapi_operation', | ||
| 68 | 'openapi_source', | ||
| 69 | 'openapi_source_header', | ||
| 70 | 'openapi_source_query_param', | ||
| 71 | 'openapi_source_spec_fetch_header', | ||
| 72 | 'openapi_source_spec_fetch_query_param', | ||
| 73 | 'secret', | ||
| 74 | 'source', | ||
| 75 | 'tool', | ||
| 76 | 'tool_policy', | ||
| 77 | 'workos_vault_metadata' | ||
| 78 | ] | ||
| 79 | LOOP | ||
| 80 | legacy_pk_name := table_name || '_scope_id_id_pk'; | ||
| 81 | new_pk_name := table_name || '_pkey'; | ||
| 82 | new_unique_name := table_name || '_scope_id_id_uidx'; | ||
| 83 | |||
| 84 | EXECUTE format('ALTER TABLE %I ADD COLUMN IF NOT EXISTS "row_id" varchar(255)', table_name); | ||
| 85 | EXECUTE format( | ||
| 86 | 'UPDATE %I SET "row_id" = COALESCE("row_id", %L || md5("scope_id" || chr(31) || "id")) WHERE "row_id" IS NULL', | ||
| 87 | table_name, | ||
| 88 | 'legacy_' | ||
| 89 | ); | ||
| 90 | EXECUTE format('ALTER TABLE %I ALTER COLUMN "row_id" SET NOT NULL', table_name); | ||
| 91 | |||
| 92 | IF EXISTS ( | ||
| 93 | SELECT 1 FROM pg_constraint | ||
| 94 | WHERE conrelid = format('public.%I', table_name)::regclass | ||
| 95 | AND conname = legacy_pk_name | ||
| 96 | ) THEN | ||
| 97 | EXECUTE format('ALTER TABLE %I DROP CONSTRAINT %I', table_name, legacy_pk_name); | ||
| 98 | END IF; | ||
| 99 | |||
| 100 | IF NOT EXISTS ( | ||
| 101 | SELECT 1 FROM pg_constraint | ||
| 102 | WHERE conrelid = format('public.%I', table_name)::regclass | ||
| 103 | AND conname = new_pk_name | ||
| 104 | ) THEN | ||
| 105 | EXECUTE format('ALTER TABLE %I ADD CONSTRAINT %I PRIMARY KEY ("row_id")', table_name, new_pk_name); | ||
| 106 | END IF; | ||
| 107 | |||
| 108 | EXECUTE format( | ||
| 109 | 'CREATE UNIQUE INDEX IF NOT EXISTS %I ON %I USING btree ("scope_id", "id")', | ||
| 110 | new_unique_name, | ||
| 111 | table_name | ||
| 112 | ); | ||
| 113 | END LOOP; | ||
| 114 | END $$; | ||
| @@ -1,172 +0,0 @@ | |||
| 1 | CREATE TABLE IF NOT EXISTS "plugin_storage" ( | ||
| 2 | "row_id" varchar(255) PRIMARY KEY NOT NULL, | ||
| 3 | "id" varchar(255) NOT NULL, | ||
| 4 | "scope_id" varchar(255) NOT NULL, | ||
| 5 | "plugin_id" text NOT NULL, | ||
| 6 | "collection" text NOT NULL, | ||
| 7 | "key" text NOT NULL, | ||
| 8 | "data" json NOT NULL, | ||
| 9 | "created_at" timestamp NOT NULL, | ||
| 10 | "updated_at" timestamp NOT NULL | ||
| 11 | ); | ||
| 12 | --> statement-breakpoint | ||
| 13 | CREATE UNIQUE INDEX IF NOT EXISTS "plugin_storage_scope_id_id_uidx" ON "plugin_storage" USING btree ("scope_id","id"); | ||
| 14 | --> statement-breakpoint | ||
| 15 | INSERT INTO "plugin_storage" ("row_id", "id", "scope_id", "plugin_id", "collection", "key", "data", "created_at", "updated_at") | ||
| 16 | SELECT | ||
| 17 | 'plugin_storage_' || md5('openapi:source:' || s."scope_id" || ':' || s."id"), | ||
| 18 | '["openapi","source",' || to_json(s."id")::text || ']', | ||
| 19 | s."scope_id", | ||
| 20 | 'openapi', | ||
| 21 | 'source', | ||
| 22 | s."id", | ||
| 23 | json_build_object( | ||
| 24 | 'namespace', s."id", | ||
| 25 | 'scope', s."scope_id", | ||
| 26 | 'name', s."name", | ||
| 27 | 'config', json_strip_nulls(json_build_object( | ||
| 28 | 'spec', s."spec", | ||
| 29 | 'sourceUrl', s."source_url", | ||
| 30 | 'baseUrl', s."base_url", | ||
| 31 | 'headers', h."headers", | ||
| 32 | 'queryParams', q."queryParams", | ||
| 33 | 'specFetchCredentials', CASE WHEN sfh."headers" IS NULL AND sfq."queryParams" IS NULL THEN NULL ELSE json_strip_nulls(json_build_object('headers', sfh."headers", 'queryParams', sfq."queryParams")) END, | ||
| 34 | 'oauth2', s."oauth2" | ||
| 35 | )) | ||
| 36 | ), | ||
| 37 | now(), | ||
| 38 | now() | ||
| 39 | FROM "openapi_source" s | ||
| 40 | LEFT JOIN ( | ||
| 41 | SELECT "scope_id", "source_id", json_object_agg("name", CASE WHEN "kind" = 'text' THEN to_json("text_value") ELSE json_build_object('kind', 'binding', 'slot', "slot_key", 'prefix', "prefix") END) AS "headers" | ||
| 42 | FROM "openapi_source_header" | ||
| 43 | GROUP BY "scope_id", "source_id" | ||
| 44 | ) h ON h."scope_id" = s."scope_id" AND h."source_id" = s."id" | ||
| 45 | LEFT JOIN ( | ||
| 46 | SELECT "scope_id", "source_id", json_object_agg("name", CASE WHEN "kind" = 'text' THEN to_json("text_value") ELSE json_build_object('kind', 'binding', 'slot', "slot_key", 'prefix', "prefix") END) AS "queryParams" | ||
| 47 | FROM "openapi_source_query_param" | ||
| 48 | GROUP BY "scope_id", "source_id" | ||
| 49 | ) q ON q."scope_id" = s."scope_id" AND q."source_id" = s."id" | ||
| 50 | LEFT JOIN ( | ||
| 51 | SELECT "scope_id", "source_id", json_object_agg("name", CASE WHEN "kind" = 'text' THEN to_json("text_value") ELSE json_build_object('kind', 'binding', 'slot', "slot_key", 'prefix', "prefix") END) AS "headers" | ||
| 52 | FROM "openapi_source_spec_fetch_header" | ||
| 53 | GROUP BY "scope_id", "source_id" | ||
| 54 | ) sfh ON sfh."scope_id" = s."scope_id" AND sfh."source_id" = s."id" | ||
| 55 | LEFT JOIN ( | ||
| 56 | SELECT "scope_id", "source_id", json_object_agg("name", CASE WHEN "kind" = 'text' THEN to_json("text_value") ELSE json_build_object('kind', 'binding', 'slot', "slot_key", 'prefix', "prefix") END) AS "queryParams" | ||
| 57 | FROM "openapi_source_spec_fetch_query_param" | ||
| 58 | GROUP BY "scope_id", "source_id" | ||
| 59 | ) sfq ON sfq."scope_id" = s."scope_id" AND sfq."source_id" = s."id" | ||
| 60 | ON CONFLICT DO NOTHING; | ||
| 61 | --> statement-breakpoint | ||
| 62 | INSERT INTO "plugin_storage" ("row_id", "id", "scope_id", "plugin_id", "collection", "key", "data", "created_at", "updated_at") | ||
| 63 | SELECT 'plugin_storage_' || md5('openapi:operation:' || o."scope_id" || ':' || o."id"), '["openapi","operation",' || to_json(o."id")::text || ']', o."scope_id", 'openapi', 'operation', o."id", json_build_object('toolId', o."id", 'sourceId', o."source_id", 'binding', o."binding"), now(), now() | ||
| 64 | FROM "openapi_operation" o | ||
| 65 | ON CONFLICT DO NOTHING; | ||
| 66 | --> statement-breakpoint | ||
| 67 | INSERT INTO "plugin_storage" ("row_id", "id", "scope_id", "plugin_id", "collection", "key", "data", "created_at", "updated_at") | ||
| 68 | SELECT | ||
| 69 | 'plugin_storage_' || md5('graphql:source:' || s."scope_id" || ':' || s."id"), | ||
| 70 | '["graphql","source",' || to_json(s."id")::text || ']', | ||
| 71 | s."scope_id", | ||
| 72 | 'graphql', | ||
| 73 | 'source', | ||
| 74 | s."id", | ||
| 75 | json_build_object( | ||
| 76 | 'namespace', s."id", | ||
| 77 | 'scope', s."scope_id", | ||
| 78 | 'name', s."name", | ||
| 79 | 'endpoint', s."endpoint", | ||
| 80 | 'headers', COALESCE(h."headers", '{}'::json), | ||
| 81 | 'queryParams', COALESCE(q."queryParams", '{}'::json), | ||
| 82 | 'auth', CASE WHEN s."auth_kind" = 'oauth2' AND s."auth_connection_slot" IS NOT NULL THEN json_build_object('kind', 'oauth2', 'connectionSlot', s."auth_connection_slot") ELSE json_build_object('kind', 'none') END | ||
| 83 | ), | ||
| 84 | now(), | ||
| 85 | now() | ||
| 86 | FROM "graphql_source" s | ||
| 87 | LEFT JOIN ( | ||
| 88 | SELECT "scope_id", "source_id", json_object_agg("name", CASE WHEN "kind" = 'text' THEN to_json("text_value") ELSE json_build_object('kind', 'binding', 'slot', "slot_key", 'prefix', "prefix") END) AS "headers" | ||
| 89 | FROM "graphql_source_header" | ||
| 90 | GROUP BY "scope_id", "source_id" | ||
| 91 | ) h ON h."scope_id" = s."scope_id" AND h."source_id" = s."id" | ||
| 92 | LEFT JOIN ( | ||
| 93 | SELECT "scope_id", "source_id", json_object_agg("name", CASE WHEN "kind" = 'text' THEN to_json("text_value") ELSE json_build_object('kind', 'binding', 'slot', "slot_key", 'prefix', "prefix") END) AS "queryParams" | ||
| 94 | FROM "graphql_source_query_param" | ||
| 95 | GROUP BY "scope_id", "source_id" | ||
| 96 | ) q ON q."scope_id" = s."scope_id" AND q."source_id" = s."id" | ||
| 97 | ON CONFLICT DO NOTHING; | ||
| 98 | --> statement-breakpoint | ||
| 99 | INSERT INTO "plugin_storage" ("row_id", "id", "scope_id", "plugin_id", "collection", "key", "data", "created_at", "updated_at") | ||
| 100 | SELECT 'plugin_storage_' || md5('graphql:operation:' || o."scope_id" || ':' || o."id"), '["graphql","operation",' || to_json(o."id")::text || ']', o."scope_id", 'graphql', 'operation', o."id", json_build_object('toolId', o."id", 'sourceId', o."source_id", 'binding', o."binding"), now(), now() | ||
| 101 | FROM "graphql_operation" o | ||
| 102 | ON CONFLICT DO NOTHING; | ||
| 103 | --> statement-breakpoint | ||
| 104 | INSERT INTO "plugin_storage" ("row_id", "id", "scope_id", "plugin_id", "collection", "key", "data", "created_at", "updated_at") | ||
| 105 | SELECT | ||
| 106 | 'plugin_storage_' || md5('mcp:source:' || s."scope_id" || ':' || s."id"), | ||
| 107 | '["mcp","source",' || to_json(s."id")::text || ']', | ||
| 108 | s."scope_id", | ||
| 109 | 'mcp', | ||
| 110 | 'source', | ||
| 111 | s."id", | ||
| 112 | json_build_object( | ||
| 113 | 'namespace', s."id", | ||
| 114 | 'scope', s."scope_id", | ||
| 115 | 'name', s."name", | ||
| 116 | 'config', CASE WHEN s."config"->>'transport' = 'remote' THEN jsonb_strip_nulls(s."config"::jsonb || jsonb_build_object( | ||
| 117 | 'headers', h."headers", | ||
| 118 | 'queryParams', q."queryParams", | ||
| 119 | 'auth', CASE | ||
| 120 | WHEN s."auth_kind" = 'header' THEN json_build_object('kind', 'header', 'headerName', COALESCE(s."auth_header_name", ''), 'secretSlot', s."auth_header_slot", 'prefix', s."auth_header_prefix") | ||
| 121 | WHEN s."auth_kind" = 'oauth2' THEN json_build_object('kind', 'oauth2', 'connectionSlot', s."auth_connection_slot", 'clientIdSlot', s."auth_client_id_slot", 'clientSecretSlot', s."auth_client_secret_slot") | ||
| 122 | ELSE json_build_object('kind', 'none') | ||
| 123 | END | ||
| 124 | )) ELSE s."config"::jsonb END | ||
| 125 | ), | ||
| 126 | now(), | ||
| 127 | now() | ||
| 128 | FROM "mcp_source" s | ||
| 129 | LEFT JOIN ( | ||
| 130 | SELECT "scope_id", "source_id", json_object_agg("name", CASE WHEN "kind" = 'text' THEN to_json("text_value") ELSE json_build_object('kind', 'binding', 'slot', "slot_key", 'prefix', "prefix") END) AS "headers" | ||
| 131 | FROM "mcp_source_header" | ||
| 132 | GROUP BY "scope_id", "source_id" | ||
| 133 | ) h ON h."scope_id" = s."scope_id" AND h."source_id" = s."id" | ||
| 134 | LEFT JOIN ( | ||
| 135 | SELECT "scope_id", "source_id", json_object_agg("name", CASE WHEN "kind" = 'text' THEN to_json("text_value") ELSE json_build_object('kind', 'binding', 'slot', "slot_key", 'prefix', "prefix") END) AS "queryParams" | ||
| 136 | FROM "mcp_source_query_param" | ||
| 137 | GROUP BY "scope_id", "source_id" | ||
| 138 | ) q ON q."scope_id" = s."scope_id" AND q."source_id" = s."id" | ||
| 139 | ON CONFLICT DO NOTHING; | ||
| 140 | --> statement-breakpoint | ||
| 141 | INSERT INTO "plugin_storage" ("row_id", "id", "scope_id", "plugin_id", "collection", "key", "data", "created_at", "updated_at") | ||
| 142 | SELECT 'plugin_storage_' || md5('mcp:binding:' || b."scope_id" || ':' || b."id"), '["mcp","binding",' || to_json(b."id")::text || ']', b."scope_id", 'mcp', 'binding', b."id", json_build_object('namespace', b."source_id", 'toolId', b."id", 'binding', b."binding"), b."created_at", now() | ||
| 143 | FROM "mcp_binding" b | ||
| 144 | ON CONFLICT DO NOTHING; | ||
| 145 | --> statement-breakpoint | ||
| 146 | DROP TABLE IF EXISTS "openapi_source"; | ||
| 147 | --> statement-breakpoint | ||
| 148 | DROP TABLE IF EXISTS "openapi_operation"; | ||
| 149 | --> statement-breakpoint | ||
| 150 | DROP TABLE IF EXISTS "openapi_source_header"; | ||
| 151 | --> statement-breakpoint | ||
| 152 | DROP TABLE IF EXISTS "openapi_source_query_param"; | ||
| 153 | --> statement-breakpoint | ||
| 154 | DROP TABLE IF EXISTS "openapi_source_spec_fetch_header"; | ||
| 155 | --> statement-breakpoint | ||
| 156 | DROP TABLE IF EXISTS "openapi_source_spec_fetch_query_param"; | ||
| 157 | --> statement-breakpoint | ||
| 158 | DROP TABLE IF EXISTS "graphql_source"; | ||
| 159 | --> statement-breakpoint | ||
| 160 | DROP TABLE IF EXISTS "graphql_source_header"; | ||
| 161 | --> statement-breakpoint | ||
| 162 | DROP TABLE IF EXISTS "graphql_source_query_param"; | ||
| 163 | --> statement-breakpoint | ||
| 164 | DROP TABLE IF EXISTS "graphql_operation"; | ||
| 165 | --> statement-breakpoint | ||
| 166 | DROP TABLE IF EXISTS "mcp_source"; | ||
| 167 | --> statement-breakpoint | ||
| 168 | DROP TABLE IF EXISTS "mcp_source_header"; | ||
| 169 | --> statement-breakpoint | ||
| 170 | DROP TABLE IF EXISTS "mcp_source_query_param"; | ||
| 171 | --> statement-breakpoint | ||
| 172 | DROP TABLE IF EXISTS "mcp_binding"; | ||
| @@ -1,9 +0,0 @@ | |||
| 1 | UPDATE "plugin_storage" | ||
| 2 | SET | ||
| 3 | "data" = jsonb_set("data"::jsonb, '{config,oauth2,authorizationUrl}', 'null'::jsonb, true)::json, | ||
| 4 | "updated_at" = now() | ||
| 5 | WHERE | ||
| 6 | "plugin_id" = 'openapi' | ||
| 7 | AND "collection" = 'source' | ||
| 8 | AND "data" #> '{config,oauth2}' IS NOT NULL | ||
| 9 | AND NOT ("data"::jsonb #> '{config,oauth2}' ? 'authorizationUrl'); | ||
| @@ -1,28 +0,0 @@ | |||
| 1 | INSERT INTO "plugin_storage" ( | ||
| 2 | "row_id", | ||
| 3 | "id", | ||
| 4 | "scope_id", | ||
| 5 | "plugin_id", | ||
| 6 | "collection", | ||
| 7 | "key", | ||
| 8 | "data", | ||
| 9 | "created_at", | ||
| 10 | "updated_at" | ||
| 11 | ) | ||
| 12 | SELECT | ||
| 13 | 'plugin_storage_' || md5('workosVault:metadata:' || m."scope_id" || ':' || m."id"), | ||
| 14 | '["workosVault","metadata",' || to_json(m."id")::text || ']', | ||
| 15 | m."scope_id", | ||
| 16 | 'workosVault', | ||
| 17 | 'metadata', | ||
| 18 | m."id", | ||
| 19 | json_build_object('name', m."name", 'purpose', m."purpose", 'createdAt', m."created_at"), | ||
| 20 | m."created_at", | ||
| 21 | now() | ||
| 22 | FROM "workos_vault_metadata" m | ||
| 23 | ON CONFLICT ("scope_id", "id") DO UPDATE SET | ||
| 24 | "data" = EXCLUDED."data", | ||
| 25 | "updated_at" = EXCLUDED."updated_at"; | ||
| 26 | --> statement-breakpoint | ||
| 27 | |||
| 28 | DROP TABLE IF EXISTS "workos_vault_metadata"; | ||
| @@ -1 +0,0 @@ | |||
| 1 | ALTER TABLE "connection" ADD COLUMN IF NOT EXISTS "identity_override" json; | ||
| @@ -1,5 +1,5 @@ | |||
| 1 | { | 1 | { |
| 2 | "id": "93e9f8ef-fe9a-4a8c-b326-329464d876ca", | 2 | "id": "16a06c56-535a-4774-a9e7-c0807ba74688", |
| 3 | "prevId": "00000000-0000-0000-0000-000000000000", | 3 | "prevId": "00000000-0000-0000-0000-000000000000", |
| 4 | "version": "7", | 4 | "version": "7", |
| 5 | "dialect": "postgresql", | 5 | "dialect": "postgresql", |
| @@ -124,13 +124,13 @@ · 118 unmodified lines | |||
| 124 | "columns": { | 124 | "columns": { |
| 125 | "namespace": { | 125 | "namespace": { |
| 126 | "name": "namespace", | 126 | "name": "namespace", |
| 127 | "type": "text", | 127 | "type": "varchar(255)", |
| 128 | "primaryKey": false, | 128 | "primaryKey": false, |
| 129 | "notNull": true | 129 | "notNull": true |
| 130 | }, | 130 | }, |
| 131 | "key": { | 131 | "key": { |
| 132 | "name": "key", | 132 | "name": "key", |
| 133 | "type": "text", | 133 | "type": "varchar(255)", |
| 134 | "primaryKey": false, | 134 | "primaryKey": false, |
| 135 | "notNull": true | 135 | "notNull": true |
| 136 | }, | 136 | }, |
| @@ -139,368 +139,236 @@ · 2 unmodified lines | |||
| 139 | "type": "text", | 139 | "type": "text", |
| 140 | "primaryKey": false, | 140 | "primaryKey": false, |
| 141 | "notNull": true | 141 | "notNull": true |
| 142 | } | ||
| 143 | }, | ||
| 144 | "indexes": {}, | ||
| 145 | "foreignKeys": {}, | ||
| 146 | "compositePrimaryKeys": { | ||
| 147 | "blob_namespace_key_pk": { | ||
| 148 | "name": "blob_namespace_key_pk", | ||
| 149 | "columns": ["namespace", "key"] | ||
| 150 | } | ||
| 151 | }, | ||
| 152 | "uniqueConstraints": {}, | ||
| 153 | "policies": {}, | ||
| 154 | "checkConstraints": {}, | ||
| 155 | "isRLSEnabled": false | ||
| 156 | }, | ||
| 157 | "public.definition": { | ||
| 158 | "name": "definition", | ||
| 159 | "schema": "", | ||
| 160 | "columns": { | ||
| 161 | "id": { | ||
| 162 | "name": "id", | ||
| 163 | "type": "text", | ||
| 164 | "primaryKey": false, | ||
| 165 | "notNull": true | ||
| 166 | }, | 142 | }, |
| 167 | "scope_id": { | 143 | "row_id": { |
| 168 | "name": "scope_id", | 144 | "name": "row_id", |
| 169 | "type": "text", | 145 | "type": "varchar(255)", |
| 170 | "primaryKey": false, | 146 | "primaryKey": true, |
| 171 | "notNull": true | ||
| 172 | }, | ||
| 173 | "source_id": { | ||
| 174 | "name": "source_id", | ||
| 175 | "type": "text", | ||
| 176 | "primaryKey": false, | ||
| 177 | "notNull": true | ||
| 178 | }, | ||
| 179 | "plugin_id": { | ||
| 180 | "name": "plugin_id", | ||
| 181 | "type": "text", | ||
| 182 | "primaryKey": false, | ||
| 183 | "notNull": true | ||
| 184 | }, | ||
| 185 | "name": { | ||
| 186 | "name": "name", | ||
| 187 | "type": "text", | ||
| 188 | "primaryKey": false, | ||
| 189 | "notNull": true | ||
| 190 | }, | ||
| 191 | "schema": { | ||
| 192 | "name": "schema", | ||
| 193 | "type": "jsonb", | ||
| 194 | "primaryKey": false, | ||
| 195 | "notNull": true | 147 | "notNull": true |
| 196 | }, | 148 | }, |
| 197 | "created_at": { | 149 | "id": { |
| 198 | "name": "created_at", | 150 | "name": "id", |
| 199 | "type": "timestamp", | 151 | "type": "varchar(255)", |
| 200 | "primaryKey": false, | 152 | "primaryKey": false, |
| 201 | "notNull": true | 153 | "notNull": true |
| 202 | } | 154 | } |
| 203 | }, | 155 | }, |
| 204 | "indexes": { | 156 | "indexes": { |
| 205 | "definition_scope_id_idx": { | 157 | "blob_id_uidx": { |
| 206 | "name": "definition_scope_id_idx", | 158 | "name": "blob_id_uidx", |
| 207 | "columns": [ | ||
| 208 | { | ||
| 209 | "expression": "scope_id", | ||
| 210 | "isExpression": false, | ||
| 211 | "asc": true, | ||
| 212 | "nulls": "last" | ||
| 213 | } | ||
| 214 | ], | ||
| 215 | "isUnique": false, | ||
| 216 | "concurrently": false, | ||
| 217 | "method": "btree", | ||
| 218 | "with": {} | ||
| 219 | }, | ||
| 220 | "definition_source_id_idx": { | ||
| 221 | "name": "definition_source_id_idx", | ||
| 222 | "columns": [ | ||
| 223 | { | ||
| 224 | "expression": "source_id", | ||
| 225 | "isExpression": false, | ||
| 226 | "asc": true, | ||
| 227 | "nulls": "last" | ||
| 228 | } | ||
| 229 | ], | ||
| 230 | "isUnique": false, | ||
| 231 | "concurrently": false, | ||
| 232 | "method": "btree", | ||
| 233 | "with": {} | ||
| 234 | }, | ||
| 235 | "definition_plugin_id_idx": { | ||
| 236 | "name": "definition_plugin_id_idx", | ||
| 237 | "columns": [ | 159 | "columns": [ |
| 238 | { | 160 | { |
| 239 | "expression": "plugin_id", | 161 | "expression": "id", |
| 240 | "isExpression": false, | 162 | "isExpression": false, |
| 241 | "asc": true, | 163 | "asc": true, |
| 242 | "nulls": "last" | 164 | "nulls": "last" |
| 243 | } | 165 | } |
| 244 | ], | 166 | ], |
| 245 | "isUnique": false, | 167 | "isUnique": true, |
| 246 | "concurrently": false, | 168 | "concurrently": false, |
| 247 | "method": "btree", | 169 | "method": "btree", |
| 248 | "with": {} | 170 | "with": {} |
| 249 | } | 171 | } |
| 250 | }, | 172 | }, |
| 251 | "foreignKeys": {}, | 173 | "foreignKeys": {}, |
| 252 | "compositePrimaryKeys": { | 174 | "compositePrimaryKeys": {}, |
| 253 | "definition_scope_id_id_pk": { | ||
| 254 | "name": "definition_scope_id_id_pk", | ||
| 255 | "columns": ["scope_id", "id"] | ||
| 256 | } | ||
| 257 | }, | ||
| 258 | "uniqueConstraints": {}, | 175 | "uniqueConstraints": {}, |
| 259 | "policies": {}, | 176 | "policies": {}, |
| 260 | "checkConstraints": {}, | 177 | "checkConstraints": {}, |
| 261 | "isRLSEnabled": false | 178 | "isRLSEnabled": false |
| 262 | }, | 179 | }, |
| 263 | "public.graphql_operation": { | 180 | "public.connection": { |
| 264 | "name": "graphql_operation", | 181 | "name": "connection", |
| 265 | "schema": "", | 182 | "schema": "", |
| 266 | "columns": { | 183 | "columns": { |
| 267 | "id": { | 184 | "integration": { |
| 268 | "name": "id", | 185 | "name": "integration", |
| 269 | "type": "text", | 186 | "type": "varchar(255)", |
| 187 | "primaryKey": false, | ||
| 188 | "notNull": true | ||
| 189 | }, | ||
| 190 | "name": { | ||
| 191 | "name": "name", | ||
| 192 | "type": "varchar(255)", | ||
| 270 | "primaryKey": false, | 193 | "primaryKey": false, |
| 271 | "notNull": true | 194 | "notNull": true |
| 272 | }, | 195 | }, |
| 273 | "scope_id": { | 196 | "template": { |
| 274 | "name": "scope_id", | 197 | "name": "template", |
| 275 | "type": "text", | 198 | "type": "text", |
| 276 | "primaryKey": false, | 199 | "primaryKey": false, |
| 277 | "notNull": true | 200 | "notNull": true |
| 278 | }, | 201 | }, |
| 279 | "source_id": { | 202 | "provider": { |
| 280 | "name": "source_id", | 203 | "name": "provider", |
| 281 | "type": "text", | 204 | "type": "text", |
| 282 | "primaryKey": false, | 205 | "primaryKey": false, |
| 283 | "notNull": true | 206 | "notNull": true |
| 284 | }, | 207 | }, |
| 285 | "binding": { | 208 | "item_ids": { |
| 286 | "name": "binding", | 209 | "name": "item_ids", |
| 287 | "type": "jsonb", | 210 | "type": "json", |
| 288 | "primaryKey": false, | 211 | "primaryKey": false, |
| 289 | "notNull": true | 212 | "notNull": true |
| 290 | } | ||
| 291 | }, | ||
| 292 | "indexes": { | ||
| 293 | "graphql_operation_scope_id_idx": { | ||
| 294 | "name": "graphql_operation_scope_id_idx", | ||
| 295 | "columns": [ | ||
| 296 | { | ||
| 297 | "expression": "scope_id", | ||
| 298 | "isExpression": false, | ||
| 299 | "asc": true, | ||
| 300 | "nulls": "last" | ||
| 301 | } | ||
| 302 | ], | ||
| 303 | "isUnique": false, | ||
| 304 | "concurrently": false, | ||
| 305 | "method": "btree", | ||
| 306 | "with": {} | ||
| 307 | }, | 213 | }, |
| 308 | "graphql_operation_source_id_idx": { | 214 | "identity_label": { |
| 309 | "name": "graphql_operation_source_id_idx", | 215 | "name": "identity_label", |
| 310 | "columns": [ | ||
| 311 | { | ||
| 312 | "expression": "source_id", | ||
| 313 | "isExpression": false, | ||
| 314 | "asc": true, | ||
| 315 | "nulls": "last" | ||
| 316 | } | ||
| 317 | ], | ||
| 318 | "isUnique": false, | ||
| 319 | "concurrently": false, | ||
| 320 | "method": "btree", | ||
| 321 | "with": {} | ||
| 322 | } | ||
| 323 | }, | ||
| 324 | "foreignKeys": {}, | ||
| 325 | "compositePrimaryKeys": { | ||
| 326 | "graphql_operation_scope_id_id_pk": { | ||
| 327 | "name": "graphql_operation_scope_id_id_pk", | ||
| 328 | "columns": ["scope_id", "id"] | ||
| 329 | } | ||
| 330 | }, | ||
| 331 | "uniqueConstraints": {}, | ||
| 332 | "policies": {}, | ||
| 333 | "checkConstraints": {}, | ||
| 334 | "isRLSEnabled": false | ||
| 335 | }, | ||
| 336 | "public.graphql_source": { | ||
| 337 | "name": "graphql_source", | ||
| 338 | "schema": "", | ||
| 339 | "columns": { | ||
| 340 | "id": { | ||
| 341 | "name": "id", | ||
| 342 | "type": "text", | 216 | "type": "text", |
| 343 | "primaryKey": false, | 217 | "primaryKey": false, |
| 344 | "notNull": true | 218 | "notNull": false |
| 345 | }, | 219 | }, |
| 346 | "scope_id": { | 220 | "oauth_client": { |
| 347 | "name": "scope_id", | 221 | "name": "oauth_client", |
| 348 | "type": "text", | 222 | "type": "text", |
| 349 | "primaryKey": false, | 223 | "primaryKey": false, |
| 350 | "notNull": true | 224 | "notNull": false |
| 351 | }, | 225 | }, |
| 352 | "name": { | 226 | "oauth_client_owner": { |
| 353 | "name": "name", | 227 | "name": "oauth_client_owner", |
| 354 | "type": "text", | 228 | "type": "text", |
| 355 | "primaryKey": false, | 229 | "primaryKey": false, |
| 356 | "notNull": true | 230 | "notNull": false |
| 357 | }, | 231 | }, |
| 358 | "endpoint": { | 232 | "refresh_item_id": { |
| 359 | "name": "endpoint", | 233 | "name": "refresh_item_id", |
| 360 | "type": "text", | 234 | "type": "text", |
| 361 | "primaryKey": false, | 235 | "primaryKey": false, |
| 362 | "notNull": true | 236 | "notNull": false |
| 363 | }, | 237 | }, |
| 364 | "headers": { | 238 | "expires_at": { |
| 365 | "name": "headers", | 239 | "name": "expires_at", |
| 366 | "type": "jsonb", | 240 | "type": "bigint", |
| 367 | "primaryKey": false, | 241 | "primaryKey": false, |
| 368 | "notNull": false | 242 | "notNull": false |
| 369 | } | 243 | }, |
| 370 | }, | 244 | "oauth_scope": { |
| 371 | "indexes": { | 245 | "name": "oauth_scope", |
| 372 | "graphql_source_scope_id_idx": { | ||
| 373 | "name": "graphql_source_scope_id_idx", | ||
| 374 | "columns": [ | ||
| 375 | { | ||
| 376 | "expression": "scope_id", | ||
| 377 | "isExpression": false, | ||
| 378 | "asc": true, | ||
| 379 | "nulls": "last" | ||
| 380 | } | ||
| 381 | ], | ||
| 382 | "isUnique": false, | ||
| 383 | "concurrently": false, | ||
| 384 | "method": "btree", | ||
| 385 | "with": {} | ||
| 386 | } | ||
| 387 | }, | ||
| 388 | "foreignKeys": {}, | ||
| 389 | "compositePrimaryKeys": { | ||
| 390 | "graphql_source_scope_id_id_pk": { | ||
| 391 | "name": "graphql_source_scope_id_id_pk", | ||
| 392 | "columns": ["scope_id", "id"] | ||
| 393 | } | ||
| 394 | }, | ||
| 395 | "uniqueConstraints": {}, | ||
| 396 | "policies": {}, | ||
| 397 | "checkConstraints": {}, | ||
| 398 | "isRLSEnabled": false | ||
| 399 | }, | ||
| 400 | "public.mcp_binding": { | ||
| 401 | "name": "mcp_binding", | ||
| 402 | "schema": "", | ||
| 403 | "columns": { | ||
| 404 | "id": { | ||
| 405 | "name": "id", | ||
| 406 | "type": "text", | 246 | "type": "text", |
| 407 | "primaryKey": false, | 247 | "primaryKey": false, |
| 248 | "notNull": false | ||
| 249 | }, | ||
| 250 | "provider_state": { | ||
| 251 | "name": "provider_state", | ||
| 252 | "type": "json", | ||
| 253 | "primaryKey": false, | ||
| 254 | "notNull": false | ||
| 255 | }, | ||
| 256 | "created_at": { | ||
| 257 | "name": "created_at", | ||
| 258 | "type": "timestamp", | ||
| 259 | "primaryKey": false, | ||
| 408 | "notNull": true | 260 | "notNull": true |
| 409 | }, | 261 | }, |
| 410 | "scope_id": { | 262 | "updated_at": { |
| 411 | "name": "scope_id", | 263 | "name": "updated_at", |
| 412 | "type": "text", | 264 | "type": "timestamp", |
| 413 | "primaryKey": false, | 265 | "primaryKey": false, |
| 414 | "notNull": true | 266 | "notNull": true |
| 415 | }, | 267 | }, |
| 416 | "source_id": { | 268 | "row_id": { |
| 417 | "name": "source_id", | 269 | "name": "row_id", |
| 418 | "type": "text", | 270 | "type": "varchar(255)", |
| 271 | "primaryKey": true, | ||
| 272 | "notNull": true | ||
| 273 | }, | ||
| 274 | "tenant": { | ||
| 275 | "name": "tenant", | ||
| 276 | "type": "varchar(255)", | ||
| 419 | "primaryKey": false, | 277 | "primaryKey": false, |
| 420 | "notNull": true | 278 | "notNull": true |
| 421 | }, | 279 | }, |
| 422 | "binding": { | 280 | "owner": { |
| 423 | "name": "binding", | 281 | "name": "owner", |
| 424 | "type": "jsonb", | 282 | "type": "varchar(255)", |
| 425 | "primaryKey": false, | 283 | "primaryKey": false, |
| 426 | "notNull": true | 284 | "notNull": true |
| 427 | }, | 285 | }, |
| 428 | "created_at": { | 286 | "subject": { |
| 429 | "name": "created_at", | 287 | "name": "subject", |
| 430 | "type": "timestamp", | 288 | "type": "varchar(255)", |
| 431 | "primaryKey": false, | 289 | "primaryKey": false, |
| 432 | "notNull": true | 290 | "notNull": true |
| 433 | } | 291 | } |
| 434 | }, | 292 | }, |
| 435 | "indexes": { | 293 | "indexes": { |
| 436 | "mcp_binding_scope_id_idx": { | 294 | "connection_uidx": { |
| 437 | "name": "mcp_binding_scope_id_idx", | 295 | "name": "connection_uidx", |
| 438 | "columns": [ | 296 | "columns": [ |
| 439 | { | 297 | { |
| 440 | "expression": "scope_id", | 298 | "expression": "tenant", |
| 441 | "isExpression": false, | 299 | "isExpression": false, |
| 442 | "asc": true, | 300 | "asc": true, |
| 443 | "nulls": "last" | 301 | "nulls": "last" |
| 444 | } | 302 | }, |
| 445 | ], | 303 | { |
| 446 | "isUnique": false, | 304 | "expression": "owner", |
| 447 | "concurrently": false, | 305 | "isExpression": false, |
| 448 | "method": "btree", | 306 | "asc": true, |
| 449 | "with": {} | 307 | "nulls": "last" |
| 450 | }, | 308 | }, |
| 451 | "mcp_binding_source_id_idx": { | 309 | { |
| 452 | "name": "mcp_binding_source_id_idx", | 310 | "expression": "subject", |
| 453 | "columns": [ | 311 | "isExpression": false, |
| 312 | "asc": true, | ||
| 313 | "nulls": "last" | ||
| 314 | }, | ||
| 315 | { | ||
| 316 | "expression": "integration", | ||
| 317 | "isExpression": false, | ||
| 318 | "asc": true, | ||
| 319 | "nulls": "last" | ||
| 320 | }, | ||
| 454 | { | 321 | { |
| 455 | "expression": "source_id", | 322 | "expression": "name", |
| 456 | "isExpression": false, | 323 | "isExpression": false, |
| 457 | "asc": true, | 324 | "asc": true, |
| 458 | "nulls": "last" | 325 | "nulls": "last" |
| 459 | } | 326 | } |
| 460 | ], | 327 | ], |
| 461 | "isUnique": false, | 328 | "isUnique": true, |
| 462 | "concurrently": false, | 329 | "concurrently": false, |
| 463 | "method": "btree", | 330 | "method": "btree", |
| 464 | "with": {} | 331 | "with": {} |
| 465 | } | 332 | } |
| 466 | }, | 333 | }, |
| 467 | "foreignKeys": {}, | 334 | "foreignKeys": {}, |
| 468 | "compositePrimaryKeys": { | 335 | "compositePrimaryKeys": {}, |
| 469 | "mcp_binding_scope_id_id_pk": { | ||
| 470 | "name": "mcp_binding_scope_id_id_pk", | ||
| 471 | "columns": ["scope_id", "id"] | ||
| 472 | } | ||
| 473 | }, | ||
| 474 | "uniqueConstraints": {}, | 336 | "uniqueConstraints": {}, |
| 475 | "policies": {}, | 337 | "policies": {}, |
| 476 | "checkConstraints": {}, | 338 | "checkConstraints": {}, |
| 477 | "isRLSEnabled": false | 339 | "isRLSEnabled": false |
| 478 | }, | 340 | }, |
| 479 | "public.mcp_oauth_session": { | 341 | "public.definition": { |
| 480 | "name": "mcp_oauth_session", | 342 | "name": "definition", |
| 481 | "schema": "", | 343 | "schema": "", |
| 482 | "columns": { | 344 | "columns": { |
| 483 | "id": { | 345 | "integration": { |
| 484 | "name": "id", | 346 | "name": "integration", |
| 485 | "type": "text", | 347 | "type": "varchar(255)", |
| 348 | "primaryKey": false, | ||
| 349 | "notNull": true | ||
| 350 | }, | ||
| 351 | "connection": { | ||
| 352 | "name": "connection", | ||
| 353 | "type": "varchar(255)", | ||
| 486 | "primaryKey": false, | 354 | "primaryKey": false, |
| 487 | "notNull": true | 355 | "notNull": true |
| 488 | }, | 356 | }, |
| 489 | "scope_id": { | 357 | "plugin_id": { |
| 490 | "name": "scope_id", | 358 | "name": "plugin_id", |
| 491 | "type": "text", | 359 | "type": "text", |
| 492 | "primaryKey": false, | 360 | "primaryKey": false, |
| 493 | "notNull": true | 361 | "notNull": true |
| 494 | }, | 362 | }, |
| 495 | "session": { | 363 | "name": { |
| 496 | "name": "session", | 364 | "name": "name", |
| 497 | "type": "jsonb", | 365 | "type": "varchar(255)", |
| 498 | "primaryKey": false, | 366 | "primaryKey": false, |
| 499 | "notNull": true | 367 | "notNull": true |
| 500 | }, | 368 | }, |
| 501 | "expires_at": { | 369 | "schema": { |
| 502 | "name": "expires_at", | 370 | "name": "schema", |
| 503 | "type": "integer", | 371 | "type": "json", |
| 504 | "primaryKey": false, | 372 | "primaryKey": false, |
| 505 | "notNull": true | 373 | "notNull": true |
| 506 | }, | 374 | }, |
| @@ -509,326 +377,320 @@ · 2 unmodified lines | |||
| 509 | "type": "timestamp", | 377 | "type": "timestamp", |
| 510 | "primaryKey": false, | 378 | "primaryKey": false, |
| 511 | "notNull": true | 379 | "notNull": true |
| 512 | } | ||
| 513 | }, | ||
| 514 | "indexes": { | ||
| 515 | "mcp_oauth_session_scope_id_idx": { | ||
| 516 | "name": "mcp_oauth_session_scope_id_idx", | ||
| 517 | "columns": [ | ||
| 518 | { | ||
| 519 | "expression": "scope_id", | ||
| 520 | "isExpression": false, | ||
| 521 | "asc": true, | ||
| 522 | "nulls": "last" | ||
| 523 | } | ||
| 524 | ], | ||
| 525 | "isUnique": false, | ||
| 526 | "concurrently": false, | ||
| 527 | "method": "btree", | ||
| 528 | "with": {} | ||
| 529 | } | ||
| 530 | }, | ||
| 531 | "foreignKeys": {}, | ||
| 532 | "compositePrimaryKeys": { | ||
| 533 | "mcp_oauth_session_scope_id_id_pk": { | ||
| 534 | "name": "mcp_oauth_session_scope_id_id_pk", | ||
| 535 | "columns": ["scope_id", "id"] | ||
| 536 | } | ||
| 537 | }, | ||
| 538 | "uniqueConstraints": {}, | ||
| 539 | "policies": {}, | ||
| 540 | "checkConstraints": {}, | ||
| 541 | "isRLSEnabled": false | ||
| 542 | }, | ||
| 543 | "public.mcp_source": { | ||
| 544 | "name": "mcp_source", | ||
| 545 | "schema": "", | ||
| 546 | "columns": { | ||
| 547 | "id": { | ||
| 548 | "name": "id", | ||
| 549 | "type": "text", | ||
| 550 | "primaryKey": false, | ||
| 551 | "notNull": true | ||
| 552 | }, | 380 | }, |
| 553 | "scope_id": { | 381 | "row_id": { |
| 554 | "name": "scope_id", | 382 | "name": "row_id", |
| 555 | "type": "text", | 383 | "type": "varchar(255)", |
| 556 | "primaryKey": false, | 384 | "primaryKey": true, |
| 557 | "notNull": true | 385 | "notNull": true |
| 558 | }, | 386 | }, |
| 559 | "name": { | 387 | "tenant": { |
| 560 | "name": "name", | 388 | "name": "tenant", |
| 561 | "type": "text", | 389 | "type": "varchar(255)", |
| 562 | "primaryKey": false, | 390 | "primaryKey": false, |
| 563 | "notNull": true | 391 | "notNull": true |
| 564 | }, | 392 | }, |
| 565 | "config": { | 393 | "owner": { |
| 566 | "name": "config", | 394 | "name": "owner", |
| 567 | "type": "jsonb", | 395 | "type": "varchar(255)", |
| 568 | "primaryKey": false, | 396 | "primaryKey": false, |
| 569 | "notNull": true | 397 | "notNull": true |
| 570 | }, | 398 | }, |
| 571 | "created_at": { | 399 | "subject": { |
| 572 | "name": "created_at", | 400 | "name": "subject", |
| 573 | "type": "timestamp", | 401 | "type": "varchar(255)", |
| 574 | "primaryKey": false, | 402 | "primaryKey": false, |
| 575 | "notNull": true | 403 | "notNull": true |
| 576 | } | 404 | } |
| 577 | }, | 405 | }, |
| 578 | "indexes": { | 406 | "indexes": { |
| 579 | "mcp_source_scope_id_idx": { | 407 | "definition_uidx": { |
| 580 | "name": "mcp_source_scope_id_idx", | 408 | "name": "definition_uidx", |
| 581 | "columns": [ | 409 | "columns": [ |
| 582 | { | 410 | { |
| 583 | "expression": "scope_id", | 411 | "expression": "tenant", |
| 412 | "isExpression": false, | ||
| 413 | "asc": true, | ||
| 414 | "nulls": "last" | ||
| 415 | }, | ||
| 416 | { | ||
| 417 | "expression": "owner", | ||
| 418 | "isExpression": false, | ||
| 419 | "asc": true, | ||
| 420 | "nulls": "last" | ||
| 421 | }, | ||
| 422 | { | ||
| 423 | "expression": "subject", | ||
| 424 | "isExpression": false, | ||
| 425 | "asc": true, | ||
| 426 | "nulls": "last" | ||
| 427 | }, | ||
| 428 | { | ||
| 429 | "expression": "integration", | ||
| 430 | "isExpression": false, | ||
| 431 | "asc": true, | ||
| 432 | "nulls": "last" | ||
| 433 | }, | ||
| 434 | { | ||
| 435 | "expression": "connection", | ||
| 436 | "isExpression": false, | ||
| 437 | "asc": true, | ||
| 438 | "nulls": "last" | ||
| 439 | }, | ||
| 440 | { | ||
| 441 | "expression": "name", | ||
| 584 | "isExpression": false, | 442 | "isExpression": false, |
| 585 | "asc": true, | 443 | "asc": true, |
| 586 | "nulls": "last" | 444 | "nulls": "last" |
| 587 | } | 445 | } |
| 588 | ], | 446 | ], |
| 589 | "isUnique": false, | 447 | "isUnique": true, |
| 590 | "concurrently": false, | 448 | "concurrently": false, |
| 591 | "method": "btree", | 449 | "method": "btree", |
| 592 | "with": {} | 450 | "with": {} |
| 593 | } | 451 | } |
| 594 | }, | 452 | }, |
| 595 | "foreignKeys": {}, | 453 | "foreignKeys": {}, |
| 596 | "compositePrimaryKeys": { | 454 | "compositePrimaryKeys": {}, |
| 597 | "mcp_source_scope_id_id_pk": { | ||
| 598 | "name": "mcp_source_scope_id_id_pk", | ||
| 599 | "columns": ["scope_id", "id"] | ||
| 600 | } | ||
| 601 | }, | ||
| 602 | "uniqueConstraints": {}, | 455 | "uniqueConstraints": {}, |
| 603 | "policies": {}, | 456 | "policies": {}, |
| 604 | "checkConstraints": {}, | 457 | "checkConstraints": {}, |
| 605 | "isRLSEnabled": false | 458 | "isRLSEnabled": false |
| 606 | }, | 459 | }, |
| 607 | "public.openapi_oauth_session": { | 460 | "public.integration": { |
| 608 | "name": "openapi_oauth_session", | 461 | "name": "integration", |
| 609 | "schema": "", | 462 | "schema": "", |
| 610 | "columns": { | 463 | "columns": { |
| 611 | "id": { | 464 | "slug": { |
| 612 | "name": "id", | 465 | "name": "slug", |
| 613 | "type": "text", | 466 | "type": "varchar(255)", |
| 614 | "primaryKey": false, | 467 | "primaryKey": false, |
| 615 | "notNull": true | 468 | "notNull": true |
| 616 | }, | 469 | }, |
| 617 | "scope_id": { | 470 | "plugin_id": { |
| 618 | "name": "scope_id", | 471 | "name": "plugin_id", |
| 619 | "type": "text", | 472 | "type": "text", |
| 620 | "primaryKey": false, | 473 | "primaryKey": false, |
| 621 | "notNull": true | 474 | "notNull": true |
| 622 | }, | 475 | }, |
| 623 | "session": { | 476 | "description": { |
| 624 | "name": "session", | 477 | "name": "description", |
| 625 | "type": "jsonb", | 478 | "type": "text", |
| 626 | "primaryKey": false, | 479 | "primaryKey": false, |
| 627 | "notNull": true | 480 | "notNull": true |
| 628 | }, | 481 | }, |
| 482 | "config": { | ||
| 483 | "name": "config", | ||
| 484 | "type": "json", | ||
| 485 | "primaryKey": false, | ||
| 486 | "notNull": false | ||
| 487 | }, | ||
| 488 | "can_remove": { | ||
| 489 | "name": "can_remove", | ||
| 490 | "type": "boolean", | ||
| 491 | "primaryKey": false, | ||
| 492 | "notNull": true, | ||
| 493 | "default": true | ||
| 494 | }, | ||
| 495 | "can_refresh": { | ||
| 496 | "name": "can_refresh", | ||
| 497 | "type": "boolean", | ||
| 498 | "primaryKey": false, | ||
| 499 | "notNull": true, | ||
| 500 | "default": false | ||
| 501 | }, | ||
| 629 | "created_at": { | 502 | "created_at": { |
| 630 | "name": "created_at", | 503 | "name": "created_at", |
| 631 | "type": "timestamp", | 504 | "type": "timestamp", |
| 632 | "primaryKey": false, | 505 | "primaryKey": false, |
| 633 | "notNull": true | 506 | "notNull": true |
| 634 | } | ||
| 635 | }, | ||
| 636 | "indexes": { | ||
| 637 | "openapi_oauth_session_scope_id_idx": { | ||
| 638 | "name": "openapi_oauth_session_scope_id_idx", | ||
| 639 | "columns": [ | ||
| 640 | { | ||
| 641 | "expression": "scope_id", | ||
| 642 | "isExpression": false, | ||
| 643 | "asc": true, | ||
| 644 | "nulls": "last" | ||
| 645 | } | ||
| 646 | ], | ||
| 647 | "isUnique": false, | ||
| 648 | "concurrently": false, | ||
| 649 | "method": "btree", | ||
| 650 | "with": {} | ||
| 651 | } | ||
| 652 | }, | ||
| 653 | "foreignKeys": {}, | ||
| 654 | "compositePrimaryKeys": { | ||
| 655 | "openapi_oauth_session_scope_id_id_pk": { | ||
| 656 | "name": "openapi_oauth_session_scope_id_id_pk", | ||
| 657 | "columns": ["scope_id", "id"] | ||
| 658 | } | ||
| 659 | }, | ||
| 660 | "uniqueConstraints": {}, | ||
| 661 | "policies": {}, | ||
| 662 | "checkConstraints": {}, | ||
| 663 | "isRLSEnabled": false | ||
| 664 | }, | ||
| 665 | "public.openapi_operation": { | ||
| 666 | "name": "openapi_operation", | ||
| 667 | "schema": "", | ||
| 668 | "columns": { | ||
| 669 | "id": { | ||
| 670 | "name": "id", | ||
| 671 | "type": "text", | ||
| 672 | "primaryKey": false, | ||
| 673 | "notNull": true | ||
| 674 | }, | 507 | }, |
| 675 | "scope_id": { | 508 | "updated_at": { |
| 676 | "name": "scope_id", | 509 | "name": "updated_at", |
| 677 | "type": "text", | 510 | "type": "timestamp", |
| 678 | "primaryKey": false, | 511 | "primaryKey": false, |
| 679 | "notNull": true | 512 | "notNull": true |
| 680 | }, | 513 | }, |
| 681 | "source_id": { | 514 | "row_id": { |
| 682 | "name": "source_id", | 515 | "name": "row_id", |
| 683 | "type": "text", | 516 | "type": "varchar(255)", |
| 684 | "primaryKey": false, | 517 | "primaryKey": true, |
| 685 | "notNull": true | 518 | "notNull": true |
| 686 | }, | 519 | }, |
| 687 | "binding": { | 520 | "tenant": { |
| 688 | "name": "binding", | 521 | "name": "tenant", |
| 689 | "type": "jsonb", | 522 | "type": "varchar(255)", |
| 690 | "primaryKey": false, | 523 | "primaryKey": false, |
| 691 | "notNull": true | 524 | "notNull": true |
| 692 | } | 525 | } |
| 693 | }, | 526 | }, |
| 694 | "indexes": { | 527 | "indexes": { |
| 695 | "openapi_operation_scope_id_idx": { | 528 | "integration_uidx": { |
| 696 | "name": "openapi_operation_scope_id_idx", | 529 | "name": "integration_uidx", |
| 697 | "columns": [ | 530 | "columns": [ |
| 698 | { | 531 | { |
| 699 | "expression": "scope_id", | 532 | "expression": "tenant", |
| 700 | "isExpression": false, | 533 | "isExpression": false, |
| 701 | "asc": true, | 534 | "asc": true, |
| 702 | "nulls": "last" | 535 | "nulls": "last" |
| 703 | } | 536 | }, |
| 704 | ], | ||
| 705 | "isUnique": false, | ||
| 706 | "concurrently": false, | ||
| 707 | "method": "btree", | ||
| 708 | "with": {} | ||
| 709 | }, | ||
| 710 | "openapi_operation_source_id_idx": { | ||
| 711 | "name": "openapi_operation_source_id_idx", | ||
| 712 | "columns": [ | ||
| 713 | { | 537 | { |
| 714 | "expression": "source_id", | 538 | "expression": "slug", |
| 715 | "isExpression": false, | 539 | "isExpression": false, |
| 716 | "asc": true, | 540 | "asc": true, |
| 717 | "nulls": "last" | 541 | "nulls": "last" |
| 718 | } | 542 | } |
| 719 | ], | 543 | ], |
| 720 | "isUnique": false, | 544 | "isUnique": true, |
| 721 | "concurrently": false, | 545 | "concurrently": false, |
| 722 | "method": "btree", | 546 | "method": "btree", |
| 723 | "with": {} | 547 | "with": {} |
| 724 | } | 548 | } |
| 725 | }, | 549 | }, |
| 726 | "foreignKeys": {}, | 550 | "foreignKeys": {}, |
| 727 | "compositePrimaryKeys": { | 551 | "compositePrimaryKeys": {}, |
| 728 | "openapi_operation_scope_id_id_pk": { | ||
| 729 | "name": "openapi_operation_scope_id_id_pk", | ||
| 730 | "columns": ["scope_id", "id"] | ||
| 731 | } | ||
| 732 | }, | ||
| 733 | "uniqueConstraints": {}, | 552 | "uniqueConstraints": {}, |
| 734 | "policies": {}, | 553 | "policies": {}, |
| 735 | "checkConstraints": {}, | 554 | "checkConstraints": {}, |
| 736 | "isRLSEnabled": false | 555 | "isRLSEnabled": false |
| 737 | }, | 556 | }, |
| 738 | "public.openapi_source": { | 557 | "public.oauth_client": { |
| 739 | "name": "openapi_source", | 558 | "name": "oauth_client", |
| 740 | "schema": "", | 559 | "schema": "", |
| 741 | "columns": { | 560 | "columns": { |
| 742 | "id": { | 561 | "slug": { |
| 743 | "name": "id", | 562 | "name": "slug", |
| 563 | "type": "varchar(255)", | ||
| 564 | "primaryKey": false, | ||
| 565 | "notNull": true | ||
| 566 | }, | ||
| 567 | "authorization_url": { | ||
| 568 | "name": "authorization_url", | ||
| 744 | "type": "text", | 569 | "type": "text", |
| 745 | "primaryKey": false, | 570 | "primaryKey": false, |
| 746 | "notNull": true | 571 | "notNull": true |
| 747 | }, | 572 | }, |
| 748 | "scope_id": { | 573 | "token_url": { |
| 749 | "name": "scope_id", | 574 | "name": "token_url", |
| 750 | "type": "text", | 575 | "type": "text", |
| 751 | "primaryKey": false, | 576 | "primaryKey": false, |
| 752 | "notNull": true | 577 | "notNull": true |
| 753 | }, | 578 | }, |
| 754 | "name": { | 579 | "grant": { |
| 755 | "name": "name", | 580 | "name": "grant", |
| 756 | "type": "text", | 581 | "type": "text", |
| 757 | "primaryKey": false, | 582 | "primaryKey": false, |
| 758 | "notNull": true | 583 | "notNull": true |
| 759 | }, | 584 | }, |
| 760 | "spec": { | 585 | "client_id": { |
| 761 | "name": "spec", | 586 | "name": "client_id", |
| 762 | "type": "text", | 587 | "type": "text", |
| 763 | "primaryKey": false, | 588 | "primaryKey": false, |
| 764 | "notNull": true | 589 | "notNull": true |
| 765 | }, | 590 | }, |
| 766 | "base_url": { | 591 | "client_secret_item_id": { |
| 767 | "name": "base_url", | 592 | "name": "client_secret_item_id", |
| 768 | "type": "text", | 593 | "type": "text", |
| 769 | "primaryKey": false, | 594 | "primaryKey": false, |
| 770 | "notNull": false | 595 | "notNull": false |
| 771 | }, | 596 | }, |
| 772 | "headers": { | 597 | "resource": { |
| 773 | "name": "headers", | 598 | "name": "resource", |
| 774 | "type": "jsonb", | 599 | "type": "text", |
| 600 | "primaryKey": false, | ||
| 601 | "notNull": false | ||
| 602 | }, | ||
| 603 | "created_at": { | ||
| 604 | "name": "created_at", | ||
| 605 | "type": "timestamp", | ||
| 606 | "primaryKey": false, | ||
| 607 | "notNull": true | ||
| 608 | }, | ||
| 609 | "row_id": { | ||
| 610 | "name": "row_id", | ||
| 611 | "type": "varchar(255)", | ||
| 612 | "primaryKey": true, | ||
| 613 | "notNull": true | ||
| 614 | }, | ||
| 615 | "tenant": { | ||
| 616 | "name": "tenant", | ||
| 617 | "type": "varchar(255)", | ||
| 775 | "primaryKey": false, | 618 | "primaryKey": false, |
| 776 | "notNull": false | 619 | "notNull": true |
| 777 | }, | 620 | }, |
| 778 | "oauth2": { | 621 | "owner": { |
| 779 | "name": "oauth2", | 622 | "name": "owner", |
| 780 | "type": "jsonb", | 623 | "type": "varchar(255)", |
| 781 | "primaryKey": false, | 624 | "primaryKey": false, |
| 782 | "notNull": false | 625 | "notNull": true |
| 783 | }, | 626 | }, |
| 784 | "invocation_config": { | 627 | "subject": { |
| 785 | "name": "invocation_config", | 628 | "name": "subject", |
| 786 | "type": "jsonb", | 629 | "type": "varchar(255)", |
| 787 | "primaryKey": false, | 630 | "primaryKey": false, |
| 788 | "notNull": true | 631 | "notNull": true |
| 789 | } | 632 | } |
| 790 | }, | 633 | }, |
| 791 | "indexes": { | 634 | "indexes": { |
| 792 | "openapi_source_scope_id_idx": { | 635 | "oauth_client_uidx": { |
| 793 | "name": "openapi_source_scope_id_idx", | 636 | "name": "oauth_client_uidx", |
| 794 | "columns": [ | 637 | "columns": [ |
| 795 | { | 638 | { |
| 796 | "expression": "scope_id", | 639 | "expression": "tenant", |
| 640 | "isExpression": false, | ||
| 641 | "asc": true, | ||
| 642 | "nulls": "last" | ||
| 643 | }, | ||
| 644 | { | ||
| 645 | "expression": "owner", | ||
| 646 | "isExpression": false, | ||
| 647 | "asc": true, | ||
| 648 | "nulls": "last" | ||
| 649 | }, | ||
| 650 | { | ||
| 651 | "expression": "subject", | ||
| 652 | "isExpression": false, | ||
| 653 | "asc": true, | ||
| 654 | "nulls": "last" | ||
| 655 | }, | ||
| 656 | { | ||
| 657 | "expression": "slug", | ||
| 797 | "isExpression": false, | 658 | "isExpression": false, |
| 798 | "asc": true, | 659 | "asc": true, |
| 799 | "nulls": "last" | 660 | "nulls": "last" |
| 800 | } | 661 | } |
| 801 | ], | 662 | ], |
| 802 | "isUnique": false, | 663 | "isUnique": true, |
| 803 | "concurrently": false, | 664 | "concurrently": false, |
| 804 | "method": "btree", | 665 | "method": "btree", |
| 805 | "with": {} | 666 | "with": {} |
| 806 | } | 667 | } |
| 807 | }, | 668 | }, |
| 808 | "foreignKeys": {}, | 669 | "foreignKeys": {}, |
| 809 | "compositePrimaryKeys": { | 670 | "compositePrimaryKeys": {}, |
| 810 | "openapi_source_scope_id_id_pk": { | ||
| 811 | "name": "openapi_source_scope_id_id_pk", | ||
| 812 | "columns": ["scope_id", "id"] | ||
| 813 | } | ||
| 814 | }, | ||
| 815 | "uniqueConstraints": {}, | 671 | "uniqueConstraints": {}, |
| 816 | "policies": {}, | 672 | "policies": {}, |
| 817 | "checkConstraints": {}, | 673 | "checkConstraints": {}, |
| 818 | "isRLSEnabled": false | 674 | "isRLSEnabled": false |
| 819 | }, | 675 | }, |
| 820 | "public.secret": { | 676 | "public.oauth_session": { |
| 821 | "name": "secret", | 677 | "name": "oauth_session", |
| 822 | "schema": "", | 678 | "schema": "", |
| 823 | "columns": { | 679 | "columns": { |
| 824 | "id": { | 680 | "state": { |
| 825 | "name": "id", | 681 | "name": "state", |
| 682 | "type": "varchar(255)", | ||
| 683 | "primaryKey": false, | ||
| 684 | "notNull": true | ||
| 685 | }, | ||
| 686 | "client_slug": { | ||
| 687 | "name": "client_slug", | ||
| 826 | "type": "text", | 688 | "type": "text", |
| 827 | "primaryKey": false, | 689 | "primaryKey": false, |
| 828 | "notNull": true | 690 | "notNull": true |
| 829 | }, | 691 | }, |
| 830 | "scope_id": { | 692 | "integration": { |
| 831 | "name": "scope_id", | 693 | "name": "integration", |
| 832 | "type": "text", | 694 | "type": "text", |
| 833 | "primaryKey": false, | 695 | "primaryKey": false, |
| 834 | "notNull": true | 696 | "notNull": true |
| @@ -839,200 +701,261 @@ · 4 unmodified lines | |||
| 839 | "primaryKey": false, | 701 | "primaryKey": false, |
| 840 | "notNull": true | 702 | "notNull": true |
| 841 | }, | 703 | }, |
| 842 | "provider": { | 704 | "template": { |
| 843 | "name": "provider", | 705 | "name": "template", |
| 706 | "type": "text", | ||
| 707 | "primaryKey": false, | ||
| 708 | "notNull": true | ||
| 709 | }, | ||
| 710 | "redirect_url": { | ||
| 711 | "name": "redirect_url", | ||
| 844 | "type": "text", | 712 | "type": "text", |
| 845 | "primaryKey": false, | 713 | "primaryKey": false, |
| 846 | "notNull": true | 714 | "notNull": true |
| 847 | }, | 715 | }, |
| 716 | "pkce_verifier": { | ||
| 717 | "name": "pkce_verifier", | ||
| 718 | "type": "text", | ||
| 719 | "primaryKey": false, | ||
| 720 | "notNull": false | ||
| 721 | }, | ||
| 722 | "identity_label": { | ||
| 723 | "name": "identity_label", | ||
| 724 | "type": "text", | ||
| 725 | "primaryKey": false, | ||
| 726 | "notNull": false | ||
| 727 | }, | ||
| 728 | "payload": { | ||
| 729 | "name": "payload", | ||
| 730 | "type": "json", | ||
| 731 | "primaryKey": false, | ||
| 732 | "notNull": true | ||
| 733 | }, | ||
| 734 | "expires_at": { | ||
| 735 | "name": "expires_at", | ||
| 736 | "type": "bigint", | ||
| 737 | "primaryKey": false, | ||
| 738 | "notNull": true | ||
| 739 | }, | ||
| 848 | "created_at": { | 740 | "created_at": { |
| 849 | "name": "created_at", | 741 | "name": "created_at", |
| 850 | "type": "timestamp", | 742 | "type": "timestamp", |
| 851 | "primaryKey": false, | 743 | "primaryKey": false, |
| 852 | "notNull": true | 744 | "notNull": true |
| 745 | }, | ||
| 746 | "row_id": { | ||
| 747 | "name": "row_id", | ||
| 748 | "type": "varchar(255)", | ||
| 749 | "primaryKey": true, | ||
| 750 | "notNull": true | ||
| 751 | }, | ||
| 752 | "tenant": { | ||
| 753 | "name": "tenant", | ||
| 754 | "type": "varchar(255)", | ||
| 755 | "primaryKey": false, | ||
| 756 | "notNull": true | ||
| 757 | }, | ||
| 758 | "owner": { | ||
| 759 | "name": "owner", | ||
| 760 | "type": "varchar(255)", | ||
| 761 | "primaryKey": false, | ||
| 762 | "notNull": true | ||
| 763 | }, | ||
| 764 | "subject": { | ||
| 765 | "name": "subject", | ||
| 766 | "type": "varchar(255)", | ||
| 767 | "primaryKey": false, | ||
| 768 | "notNull": true | ||
| 853 | } | 769 | } |
| 854 | }, | 770 | }, |
| 855 | "indexes": { | 771 | "indexes": { |
| 856 | "secret_scope_id_idx": { | 772 | "oauth_session_uidx": { |
| 857 | "name": "secret_scope_id_idx", | 773 | "name": "oauth_session_uidx", |
| 858 | "columns": [ | 774 | "columns": [ |
| 859 | { | 775 | { |
| 860 | "expression": "scope_id", | 776 | "expression": "tenant", |
| 861 | "isExpression": false, | 777 | "isExpression": false, |
| 862 | "asc": true, | 778 | "asc": true, |
| 863 | "nulls": "last" | 779 | "nulls": "last" |
| 864 | } | 780 | }, |
| 865 | ], | ||
| 866 | "isUnique": false, | ||
| 867 | "concurrently": false, | ||
| 868 | "method": "btree", | ||
| 869 | "with": {} | ||
| 870 | }, | ||
| 871 | "secret_provider_idx": { | ||
| 872 | "name": "secret_provider_idx", | ||
| 873 | "columns": [ | ||
| 874 | { | 781 | { |
| 875 | "expression": "provider", | 782 | "expression": "state", |
| 876 | "isExpression": false, | 783 | "isExpression": false, |
| 877 | "asc": true, | 784 | "asc": true, |
| 878 | "nulls": "last" | 785 | "nulls": "last" |
| 879 | } | 786 | } |
| 880 | ], | 787 | ], |
| 881 | "isUnique": false, | 788 | "isUnique": true, |
| 882 | "concurrently": false, | 789 | "concurrently": false, |
| 883 | "method": "btree", | 790 | "method": "btree", |
| 884 | "with": {} | 791 | "with": {} |
| 885 | } | 792 | } |
| 886 | }, | 793 | }, |
| 887 | "foreignKeys": {}, | 794 | "foreignKeys": {}, |
| 888 | "compositePrimaryKeys": { | 795 | "compositePrimaryKeys": {}, |
| 889 | "secret_scope_id_id_pk": { | ||
| 890 | "name": "secret_scope_id_id_pk", | ||
| 891 | "columns": ["scope_id", "id"] | ||
| 892 | } | ||
| 893 | }, | ||
| 894 | "uniqueConstraints": {}, | 796 | "uniqueConstraints": {}, |
| 895 | "policies": {}, | 797 | "policies": {}, |
| 896 | "checkConstraints": {}, | 798 | "checkConstraints": {}, |
| 897 | "isRLSEnabled": false | 799 | "isRLSEnabled": false |
| 898 | }, | 800 | }, |
| 899 | "public.source": { | 801 | "public.plugin_storage": { |
| 900 | "name": "source", | 802 | "name": "plugin_storage", |
| 901 | "schema": "", | 803 | "schema": "", |
| 902 | "columns": { | 804 | "columns": { |
| 903 | "id": { | 805 | "plugin_id": { |
| 904 | "name": "id", | 806 | "name": "plugin_id", |
| 905 | "type": "text", | 807 | "type": "varchar(255)", |
| 906 | "primaryKey": false, | 808 | "primaryKey": false, |
| 907 | "notNull": true | 809 | "notNull": true |
| 908 | }, | 810 | }, |
| 909 | "scope_id": { | 811 | "collection": { |
| 910 | "name": "scope_id", | 812 | "name": "collection", |
| 911 | "type": "text", | 813 | "type": "varchar(255)", |
| 912 | "primaryKey": false, | 814 | "primaryKey": false, |
| 913 | "notNull": true | 815 | "notNull": true |
| 914 | }, | 816 | }, |
| 915 | "plugin_id": { | 817 | "key": { |
| 916 | "name": "plugin_id", | 818 | "name": "key", |
| 917 | "type": "text", | 819 | "type": "varchar(255)", |
| 918 | "primaryKey": false, | 820 | "primaryKey": false, |
| 919 | "notNull": true | 821 | "notNull": true |
| 920 | }, | 822 | }, |
| 921 | "kind": { | 823 | "data": { |
| 922 | "name": "kind", | 824 | "name": "data", |
| 923 | "type": "text", | 825 | "type": "json", |
| 924 | "primaryKey": false, | 826 | "primaryKey": false, |
| 925 | "notNull": true | 827 | "notNull": true |
| 926 | }, | 828 | }, |
| 927 | "name": { | 829 | "created_at": { |
| 928 | "name": "name", | 830 | "name": "created_at", |
| 929 | "type": "text", | 831 | "type": "timestamp", |
| 930 | "primaryKey": false, | 832 | "primaryKey": false, |
| 931 | "notNull": true | 833 | "notNull": true |
| 932 | }, | 834 | }, |
| 933 | "url": { | 835 | "updated_at": { |
| 934 | "name": "url", | 836 | "name": "updated_at", |
| 935 | "type": "text", | 837 | "type": "timestamp", |
| 936 | "primaryKey": false, | ||
| 937 | "notNull": false | ||
| 938 | }, | ||
| 939 | "can_remove": { | ||
| 940 | "name": "can_remove", | ||
| 941 | "type": "boolean", | ||
| 942 | "primaryKey": false, | 838 | "primaryKey": false, |
| 943 | "notNull": true, | 839 | "notNull": true |
| 944 | "default": true | ||
| 945 | }, | 840 | }, |
| 946 | "can_refresh": { | 841 | "row_id": { |
| 947 | "name": "can_refresh", | 842 | "name": "row_id", |
| 948 | "type": "boolean", | 843 | "type": "varchar(255)", |
| 949 | "primaryKey": false, | 844 | "primaryKey": true, |
| 950 | "notNull": true, | 845 | "notNull": true |
| 951 | "default": false | ||
| 952 | }, | 846 | }, |
| 953 | "can_edit": { | 847 | "tenant": { |
| 954 | "name": "can_edit", | 848 | "name": "tenant", |
| 955 | "type": "boolean", | 849 | "type": "varchar(255)", |
| 956 | "primaryKey": false, | 850 | "primaryKey": false, |
| 957 | "notNull": true, | 851 | "notNull": true |
| 958 | "default": false | ||
| 959 | }, | 852 | }, |
| 960 | "created_at": { | 853 | "owner": { |
| 961 | "name": "created_at", | 854 | "name": "owner", |
| 962 | "type": "timestamp", | 855 | "type": "varchar(255)", |
| 963 | "primaryKey": false, | 856 | "primaryKey": false, |
| 964 | "notNull": true | 857 | "notNull": true |
| 965 | }, | 858 | }, |
| 966 | "updated_at": { | 859 | "subject": { |
| 967 | "name": "updated_at", | 860 | "name": "subject", |
| 968 | "type": "timestamp", | 861 | "type": "varchar(255)", |
| 969 | "primaryKey": false, | 862 | "primaryKey": false, |
| 970 | "notNull": true | 863 | "notNull": true |
| 971 | } | 864 | } |
| 972 | }, | 865 | }, |
| 973 | "indexes": { | 866 | "indexes": { |
| 974 | "source_scope_id_idx": { | 867 | "plugin_storage_uidx": { |
| 975 | "name": "source_scope_id_idx", | 868 | "name": "plugin_storage_uidx", |
| 976 | "columns": [ | 869 | "columns": [ |
| 977 | { | 870 | { |
| 978 | "expression": "scope_id", | 871 | "expression": "tenant", |
| 979 | "isExpression": false, | 872 | "isExpression": false, |
| 980 | "asc": true, | 873 | "asc": true, |
| 981 | "nulls": "last" | 874 | "nulls": "last" |
| 982 | } | 875 | }, |
| 983 | ], | 876 | { |
| 984 | "isUnique": false, | 877 | "expression": "owner", |
| 985 | "concurrently": false, | 878 | "isExpression": false, |
| 986 | "method": "btree", | 879 | "asc": true, |
| 987 | "with": {} | 880 | "nulls": "last" |
| 988 | }, | 881 | }, |
| 989 | "source_plugin_id_idx": { | 882 | { |
| 990 | "name": "source_plugin_id_idx", | 883 | "expression": "subject", |
| 991 | "columns": [ | 884 | "isExpression": false, |
| 885 | "asc": true, | ||
| 886 | "nulls": "last" | ||
| 887 | }, | ||
| 992 | { | 888 | { |
| 993 | "expression": "plugin_id", | 889 | "expression": "plugin_id", |
| 994 | "isExpression": false, | 890 | "isExpression": false, |
| 995 | "asc": true, | 891 | "asc": true, |
| 996 | "nulls": "last" | 892 | "nulls": "last" |
| 893 | }, | ||
| 894 | { | ||
| 895 | "expression": "collection", | ||
| 896 | "isExpression": false, | ||
| 897 | "asc": true, | ||
| 898 | "nulls": "last" | ||
| 899 | }, | ||
| 900 | { | ||
| 901 | "expression": "key", | ||
| 902 | "isExpression": false, | ||
| 903 | "asc": true, | ||
| 904 | "nulls": "last" | ||
| 997 | } | 905 | } |
| 998 | ], | 906 | ], |
| 999 | "isUnique": false, | 907 | "isUnique": true, |
| 1000 | "concurrently": false, | 908 | "concurrently": false, |
| 1001 | "method": "btree", | 909 | "method": "btree", |
| 1002 | "with": {} | 910 | "with": {} |
| 1003 | } | 911 | } |
| 1004 | }, | 912 | }, |
| 1005 | "foreignKeys": {}, | 913 | "foreignKeys": {}, |
| 1006 | "compositePrimaryKeys": { | 914 | "compositePrimaryKeys": {}, |
| 1007 | "source_scope_id_id_pk": { | ||
| 1008 | "name": "source_scope_id_id_pk", | ||
| 1009 | "columns": ["scope_id", "id"] | ||
| 1010 | } | ||
| 1011 | }, | ||
| 1012 | "uniqueConstraints": {}, | 915 | "uniqueConstraints": {}, |
| 1013 | "policies": {}, | 916 | "policies": {}, |
| 1014 | "checkConstraints": {}, | 917 | "checkConstraints": {}, |
| 1015 | "isRLSEnabled": false | 918 | "isRLSEnabled": false |
| 1016 | }, | 919 | }, |
| 1017 | "public.tool": { | 920 | "public.private_executor_cloud_settings": { |
| 1018 | "name": "tool", | 921 | "name": "private_executor_cloud_settings", |
| 1019 | "schema": "", | 922 | "schema": "", |
| 1020 | "columns": { | 923 | "columns": { |
| 1021 | "id": { | 924 | "id": { |
| 1022 | "name": "id", | 925 | "name": "id", |
| 1023 | "type": "text", | 926 | "type": "varchar(255)", |
| 1024 | "primaryKey": false, | 927 | "primaryKey": true, |
| 1025 | "notNull": true | 928 | "notNull": true |
| 1026 | }, | 929 | }, |
| 1027 | "scope_id": { | 930 | "version": { |
| 1028 | "name": "scope_id", | 931 | "name": "version", |
| 1029 | "type": "text", | 932 | "type": "varchar(255)", |
| 933 | "primaryKey": false, | ||
| 934 | "notNull": true, | ||
| 935 | "default": "'1.0.0'" | ||
| 936 | } | ||
| 937 | }, | ||
| 938 | "indexes": {}, | ||
| 939 | "foreignKeys": {}, | ||
| 940 | "compositePrimaryKeys": {}, | ||
| 941 | "uniqueConstraints": {}, | ||
| 942 | "policies": {}, | ||
| 943 | "checkConstraints": {}, | ||
| 944 | "isRLSEnabled": false | ||
| 945 | }, | ||
| 946 | "public.tool": { | ||
| 947 | "name": "tool", | ||
| 948 | "schema": "", | ||
| 949 | "columns": { | ||
| 950 | "integration": { | ||
| 951 | "name": "integration", | ||
| 952 | "type": "varchar(255)", | ||
| 1030 | "primaryKey": false, | 953 | "primaryKey": false, |
| 1031 | "notNull": true | 954 | "notNull": true |
| 1032 | }, | 955 | }, |
| 1033 | "source_id": { | 956 | "connection": { |
| 1034 | "name": "source_id", | 957 | "name": "connection", |
| 1035 | "type": "text", | 958 | "type": "varchar(255)", |
| 1036 | "primaryKey": false, | 959 | "primaryKey": false, |
| 1037 | "notNull": true | 960 | "notNull": true |
| 1038 | }, | 961 | }, |
| @@ -1044,7 +967,7 @@ · 5 unmodified lines | |||
| 1044 | }, | 967 | }, |
| 1045 | "name": { | 968 | "name": { |
| 1046 | "name": "name", | 969 | "name": "name", |
| 1047 | "type": "text", | 970 | "type": "varchar(255)", |
| 1048 | "primaryKey": false, | 971 | "primaryKey": false, |
| 1049 | "notNull": true | 972 | "notNull": true |
| 1050 | }, | 973 | }, |
| @@ -1056,13 +979,19 @@ · 5 unmodified lines | |||
| 1056 | }, | 979 | }, |
| 1057 | "input_schema": { | 980 | "input_schema": { |
| 1058 | "name": "input_schema", | 981 | "name": "input_schema", |
| 1059 | "type": "jsonb", | 982 | "type": "json", |
| 1060 | "primaryKey": false, | 983 | "primaryKey": false, |
| 1061 | "notNull": false | 984 | "notNull": false |
| 1062 | }, | 985 | }, |
| 1063 | "output_schema": { | 986 | "output_schema": { |
| 1064 | "name": "output_schema", | 987 | "name": "output_schema", |
| 1065 | "type": "jsonb", | 988 | "type": "json", |
| 989 | "primaryKey": false, | ||
| 990 | "notNull": false | ||
| 991 | }, | ||
| 992 | "annotations": { | ||
| 993 | "name": "annotations", | ||
| 994 | "type": "json", | ||
| 1066 | "primaryKey": false, | 995 | "primaryKey": false, |
| 1067 | "notNull": false | 996 | "notNull": false |
| 1068 | }, | 997 | }, |
| @@ -1077,126 +1006,188 @@ · 8 unmodified lines | |||
| 1077 | "type": "timestamp", | 1006 | "type": "timestamp", |
| 1078 | "primaryKey": false, | 1007 | "primaryKey": false, |
| 1079 | "notNull": true | 1008 | "notNull": true |
| 1009 | }, | ||
| 1010 | "row_id": { | ||
| 1011 | "name": "row_id", | ||
| 1012 | "type": "varchar(255)", | ||
| 1013 | "primaryKey": true, | ||
| 1014 | "notNull": true | ||
| 1015 | }, | ||
| 1016 | "tenant": { | ||
| 1017 | "name": "tenant", | ||
| 1018 | "type": "varchar(255)", | ||
| 1019 | "primaryKey": false, | ||
| 1020 | "notNull": true | ||
| 1021 | }, | ||
| 1022 | "owner": { | ||
| 1023 | "name": "owner", | ||
| 1024 | "type": "varchar(255)", | ||
| 1025 | "primaryKey": false, | ||
| 1026 | "notNull": true | ||
| 1027 | }, | ||
| 1028 | "subject": { | ||
| 1029 | "name": "subject", | ||
| 1030 | "type": "varchar(255)", | ||
| 1031 | "primaryKey": false, | ||
| 1032 | "notNull": true | ||
| 1080 | } | 1033 | } |
| 1081 | }, | 1034 | }, |
| 1082 | "indexes": { | 1035 | "indexes": { |
| 1083 | "tool_scope_id_idx": { | 1036 | "tool_uidx": { |
| 1084 | "name": "tool_scope_id_idx", | 1037 | "name": "tool_uidx", |
| 1085 | "columns": [ | 1038 | "columns": [ |
| 1086 | { | 1039 | { |
| 1087 | "expression": "scope_id", | 1040 | "expression": "tenant", |
| 1088 | "isExpression": false, | 1041 | "isExpression": false, |
| 1089 | "asc": true, | 1042 | "asc": true, |
| 1090 | "nulls": "last" | 1043 | "nulls": "last" |
| 1091 | } | 1044 | }, |
| 1092 | ], | ||
| 1093 | "isUnique": false, | ||
| 1094 | "concurrently": false, | ||
| 1095 | "method": "btree", | ||
| 1096 | "with": {} | ||
| 1097 | }, | ||
| 1098 | "tool_source_id_idx": { | ||
| 1099 | "name": "tool_source_id_idx", | ||
| 1100 | "columns": [ | ||
| 1101 | { | 1045 | { |
| 1102 | "expression": "source_id", | 1046 | "expression": "owner", |
| 1103 | "isExpression": false, | 1047 | "isExpression": false, |
| 1104 | "asc": true, | 1048 | "asc": true, |
| 1105 | "nulls": "last" | 1049 | "nulls": "last" |
| 1106 | } | 1050 | }, |
| 1107 | ], | ||
| 1108 | "isUnique": false, | ||
| 1109 | "concurrently": false, | ||
| 1110 | "method": "btree", | ||
| 1111 | "with": {} | ||
| 1112 | }, | ||
| 1113 | "tool_plugin_id_idx": { | ||
| 1114 | "name": "tool_plugin_id_idx", | ||
| 1115 | "columns": [ | ||
| 1116 | { | 1051 | { |
| 1117 | "expression": "plugin_id", | 1052 | "expression": "subject", |
| 1053 | "isExpression": false, | ||
| 1054 | "asc": true, | ||
| 1055 | "nulls": "last" | ||
| 1056 | }, | ||
| 1057 | { | ||
| 1058 | "expression": "integration", | ||
| 1059 | "isExpression": false, | ||
| 1060 | "asc": true, | ||
| 1061 | "nulls": "last" | ||
| 1062 | }, | ||
| 1063 | { | ||
| 1064 | "expression": "connection", | ||
| 1065 | "isExpression": false, | ||
| 1066 | "asc": true, | ||
| 1067 | "nulls": "last" | ||
| 1068 | }, | ||
| 1069 | { | ||
| 1070 | "expression": "name", | ||
| 1118 | "isExpression": false, | 1071 | "isExpression": false, |
| 1119 | "asc": true, | 1072 | "asc": true, |
| 1120 | "nulls": "last" | 1073 | "nulls": "last" |
| 1121 | } | 1074 | } |
| 1122 | ], | 1075 | ], |
| 1123 | "isUnique": false, | 1076 | "isUnique": true, |
| 1124 | "concurrently": false, | 1077 | "concurrently": false, |
| 1125 | "method": "btree", | 1078 | "method": "btree", |
| 1126 | "with": {} | 1079 | "with": {} |
| 1127 | } | 1080 | } |
| 1128 | }, | 1081 | }, |
| 1129 | "foreignKeys": {}, | 1082 | "foreignKeys": {}, |
| 1130 | "compositePrimaryKeys": { | 1083 | "compositePrimaryKeys": {}, |
| 1131 | "tool_scope_id_id_pk": { | ||
| 1132 | "name": "tool_scope_id_id_pk", | ||
| 1133 | "columns": ["scope_id", "id"] | ||
| 1134 | } | ||
| 1135 | }, | ||
| 1136 | "uniqueConstraints": {}, | 1084 | "uniqueConstraints": {}, |
| 1137 | "policies": {}, | 1085 | "policies": {}, |
| 1138 | "checkConstraints": {}, | 1086 | "checkConstraints": {}, |
| 1139 | "isRLSEnabled": false | 1087 | "isRLSEnabled": false |
| 1140 | }, | 1088 | }, |
| 1141 | "public.workos_vault_metadata": { | 1089 | "public.tool_policy": { |
| 1142 | "name": "workos_vault_metadata", | 1090 | "name": "tool_policy", |
| 1143 | "schema": "", | 1091 | "schema": "", |
| 1144 | "columns": { | 1092 | "columns": { |
| 1145 | "id": { | 1093 | "id": { |
| 1146 | "name": "id", | 1094 | "name": "id", |
| 1147 | "type": "text", | 1095 | "type": "varchar(255)", |
| 1148 | "primaryKey": false, | 1096 | "primaryKey": false, |
| 1149 | "notNull": true | 1097 | "notNull": true |
| 1150 | }, | 1098 | }, |
| 1151 | "scope_id": { | 1099 | "pattern": { |
| 1152 | "name": "scope_id", | 1100 | "name": "pattern", |
| 1153 | "type": "text", | 1101 | "type": "text", |
| 1154 | "primaryKey": false, | 1102 | "primaryKey": false, |
| 1155 | "notNull": true | 1103 | "notNull": true |
| 1156 | }, | 1104 | }, |
| 1157 | "name": { | 1105 | "action": { |
| 1158 | "name": "name", | 1106 | "name": "action", |
| 1159 | "type": "text", | 1107 | "type": "text", |
| 1160 | "primaryKey": false, | 1108 | "primaryKey": false, |
| 1161 | "notNull": true | 1109 | "notNull": true |
| 1162 | }, | 1110 | }, |
| 1163 | "purpose": { | 1111 | "position": { |
| 1164 | "name": "purpose", | 1112 | "name": "position", |
| 1165 | "type": "text", | 1113 | "type": "text", |
| 1166 | "primaryKey": false, | 1114 | "primaryKey": false, |
| 1167 | "notNull": false | 1115 | "notNull": true |
| 1168 | }, | 1116 | }, |
| 1169 | "created_at": { | 1117 | "created_at": { |
| 1170 | "name": "created_at", | 1118 | "name": "created_at", |
| 1171 | "type": "timestamp", | 1119 | "type": "timestamp", |
| 1172 | "primaryKey": false, | 1120 | "primaryKey": false, |
| 1173 | "notNull": true | 1121 | "notNull": true |
| 1122 | }, | ||
| 1123 | "updated_at": { | ||
| 1124 | "name": "updated_at", | ||
| 1125 | "type": "timestamp", | ||
| 1126 | "primaryKey": false, | ||
| 1127 | "notNull": true | ||
| 1128 | }, | ||
| 1129 | "row_id": { | ||
| 1130 | "name": "row_id", | ||
| 1131 | "type": "varchar(255)", | ||
| 1132 | "primaryKey": true, | ||
| 1133 | "notNull": true | ||
| 1134 | }, | ||
| 1135 | "tenant": { | ||
| 1136 | "name": "tenant", | ||
| 1137 | "type": "varchar(255)", | ||
| 1138 | "primaryKey": false, | ||
| 1139 | "notNull": true | ||
| 1140 | }, | ||
| 1141 | "owner": { | ||
| 1142 | "name": "owner", | ||
| 1143 | "type": "varchar(255)", | ||
| 1144 | "primaryKey": false, | ||
| 1145 | "notNull": true | ||
| 1146 | }, | ||
| 1147 | "subject": { | ||
| 1148 | "name": "subject", | ||
| 1149 | "type": "varchar(255)", | ||
| 1150 | "primaryKey": false, | ||
| 1151 | "notNull": true | ||
| 1174 | } | 1152 | } |
| 1175 | }, | 1153 | }, |
| 1176 | "indexes": { | 1154 | "indexes": { |
| 1177 | "workos_vault_metadata_scope_id_idx": { | 1155 | "tool_policy_uidx": { |
| 1178 | "name": "workos_vault_metadata_scope_id_idx", | 1156 | "name": "tool_policy_uidx", |
| 1179 | "columns": [ | 1157 | "columns": [ |
| 1180 | { | 1158 | { |
| 1181 | "expression": "scope_id", | 1159 | "expression": "tenant", |
| 1160 | "isExpression": false, | ||
| 1161 | "asc": true, | ||
| 1162 | "nulls": "last" | ||
| 1163 | }, | ||
| 1164 | { | ||
| 1165 | "expression": "owner", | ||
| 1166 | "isExpression": false, | ||
| 1167 | "asc": true, | ||
| 1168 | "nulls": "last" | ||
| 1169 | }, | ||
| 1170 | { | ||
| 1171 | "expression": "subject", | ||
| 1172 | "isExpression": false, | ||
| 1173 | "asc": true, | ||
| 1174 | "nulls": "last" | ||
| 1175 | }, | ||
| 1176 | { | ||
| 1177 | "expression": "id", | ||
| 1182 | "isExpression": false, | 1178 | "isExpression": false, |
| 1183 | "asc": true, | 1179 | "asc": true, |
| 1184 | "nulls": "last" | 1180 | "nulls": "last" |
| 1185 | } | 1181 | } |
| 1186 | ], | 1182 | ], |
| 1187 | "isUnique": false, | 1183 | "isUnique": true, |
| 1188 | "concurrently": false, | 1184 | "concurrently": false, |
| 1189 | "method": "btree", | 1185 | "method": "btree", |
| 1190 | "with": {} | 1186 | "with": {} |
| 1191 | } | 1187 | } |
| 1192 | }, | 1188 | }, |
| 1193 | "foreignKeys": {}, | 1189 | "foreignKeys": {}, |
| 1194 | "compositePrimaryKeys": { | 1190 | "compositePrimaryKeys": {}, |
| 1195 | "workos_vault_metadata_scope_id_id_pk": { | ||
| 1196 | "name": "workos_vault_metadata_scope_id_id_pk", | ||
| 1197 | "columns": ["scope_id", "id"] | ||
| 1198 | } | ||
| 1199 | }, | ||
| 1200 | "uniqueConstraints": {}, | 1191 | "uniqueConstraints": {}, |
| 1201 | "policies": {}, | 1192 | "policies": {}, |
| 1202 | "checkConstraints": {}, | 1193 | "checkConstraints": {}, |
| @@ -1,1223 +0,0 @@ | |||
| 1 | { | ||
| 2 | "id": "12ebb69b-fb44-4e61-80b9-a48b5471ef5a", | ||
| 3 | "prevId": "93e9f8ef-fe9a-4a8c-b326-329464d876ca", | ||
| 4 | "version": "7", | ||
| 5 | "dialect": "postgresql", | ||
| 6 | "tables": { | ||
| 7 | "public.accounts": { | ||
| 8 | "name": "accounts", | ||
| 9 | "schema": "", | ||
| 10 | "columns": { | ||
| 11 | "id": { | ||
| 12 | "name": "id", | ||
| 13 | "type": "text", | ||
| 14 | "primaryKey": true, | ||
| 15 | "notNull": true | ||
| 16 | }, | ||
| 17 | "created_at": { | ||
| 18 | "name": "created_at", | ||
| 19 | "type": "timestamp with time zone", | ||
| 20 | "primaryKey": false, | ||
| 21 | "notNull": true, | ||
| 22 | "default": "now()" | ||
| 23 | } | ||
| 24 | }, | ||
| 25 | "indexes": {}, | ||
| 26 | "foreignKeys": {}, | ||
| 27 | "compositePrimaryKeys": {}, | ||
| 28 | "uniqueConstraints": {}, | ||
| 29 | "policies": {}, | ||
| 30 | "checkConstraints": {}, | ||
| 31 | "isRLSEnabled": false | ||
| 32 | }, | ||
| 33 | "public.memberships": { | ||
| 34 | "name": "memberships", | ||
| 35 | "schema": "", | ||
| 36 | "columns": { | ||
| 37 | "account_id": { | ||
| 38 | "name": "account_id", | ||
| 39 | "type": "text", | ||
| 40 | "primaryKey": false, | ||
| 41 | "notNull": true | ||
| 42 | }, | ||
| 43 | "organization_id": { | ||
| 44 | "name": "organization_id", | ||
| 45 | "type": "text", | ||
| 46 | "primaryKey": false, | ||
| 47 | "notNull": true | ||
| 48 | }, | ||
| 49 | "created_at": { | ||
| 50 | "name": "created_at", | ||
| 51 | "type": "timestamp with time zone", | ||
| 52 | "primaryKey": false, | ||
| 53 | "notNull": true, | ||
| 54 | "default": "now()" | ||
| 55 | } | ||
| 56 | }, | ||
| 57 | "indexes": {}, | ||
| 58 | "foreignKeys": { | ||
| 59 | "memberships_account_id_accounts_id_fk": { | ||
| 60 | "name": "memberships_account_id_accounts_id_fk", | ||
| 61 | "tableFrom": "memberships", | ||
| 62 | "tableTo": "accounts", | ||
| 63 | "columnsFrom": ["account_id"], | ||
| 64 | "columnsTo": ["id"], | ||
| 65 | "onDelete": "cascade", | ||
| 66 | "onUpdate": "no action" | ||
| 67 | }, | ||
| 68 | "memberships_organization_id_organizations_id_fk": { | ||
| 69 | "name": "memberships_organization_id_organizations_id_fk", | ||
| 70 | "tableFrom": "memberships", | ||
| 71 | "tableTo": "organizations", | ||
| 72 | "columnsFrom": ["organization_id"], | ||
| 73 | "columnsTo": ["id"], | ||
| 74 | "onDelete": "cascade", | ||
| 75 | "onUpdate": "no action" | ||
| 76 | } | ||
| 77 | }, | ||
| 78 | "compositePrimaryKeys": { | ||
| 79 | "memberships_account_id_organization_id_pk": { | ||
| 80 | "name": "memberships_account_id_organization_id_pk", | ||
| 81 | "columns": ["account_id", "organization_id"] | ||
| 82 | } | ||
| 83 | }, | ||
| 84 | "uniqueConstraints": {}, | ||
| 85 | "policies": {}, | ||
| 86 | "checkConstraints": {}, | ||
| 87 | "isRLSEnabled": false | ||
| 88 | }, | ||
| 89 | "public.organizations": { | ||
| 90 | "name": "organizations", | ||
| 91 | "schema": "", | ||
| 92 | "columns": { | ||
| 93 | "id": { | ||
| 94 | "name": "id", | ||
| 95 | "type": "text", | ||
| 96 | "primaryKey": true, | ||
| 97 | "notNull": true | ||
| 98 | }, | ||
| 99 | "name": { | ||
| 100 | "name": "name", | ||
| 101 | "type": "text", | ||
| 102 | "primaryKey": false, | ||
| 103 | "notNull": true | ||
| 104 | }, | ||
| 105 | "created_at": { | ||
| 106 | "name": "created_at", | ||
| 107 | "type": "timestamp with time zone", | ||
| 108 | "primaryKey": false, | ||
| 109 | "notNull": true, | ||
| 110 | "default": "now()" | ||
| 111 | } | ||
| 112 | }, | ||
| 113 | "indexes": {}, | ||
| 114 | "foreignKeys": {}, | ||
| 115 | "compositePrimaryKeys": {}, | ||
| 116 | "uniqueConstraints": {}, | ||
| 117 | "policies": {}, | ||
| 118 | "checkConstraints": {}, | ||
| 119 | "isRLSEnabled": false | ||
| 120 | }, | ||
| 121 | "public.blob": { | ||
| 122 | "name": "blob", | ||
| 123 | "schema": "", | ||
| 124 | "columns": { | ||
| 125 | "namespace": { | ||
| 126 | "name": "namespace", | ||
| 127 | "type": "text", | ||
| 128 | "primaryKey": false, | ||
| 129 | "notNull": true | ||
| 130 | }, | ||
| 131 | "key": { | ||
| 132 | "name": "key", | ||
| 133 | "type": "text", | ||
| 134 | "primaryKey": false, | ||
| 135 | "notNull": true | ||
| 136 | }, | ||
| 137 | "value": { | ||
| 138 | "name": "value", | ||
| 139 | "type": "text", | ||
| 140 | "primaryKey": false, | ||
| 141 | "notNull": true | ||
| 142 | } | ||
| 143 | }, | ||
| 144 | "indexes": {}, | ||
| 145 | "foreignKeys": {}, | ||
| 146 | "compositePrimaryKeys": { | ||
| 147 | "blob_namespace_key_pk": { | ||
| 148 | "name": "blob_namespace_key_pk", | ||
| 149 | "columns": ["namespace", "key"] | ||
| 150 | } | ||
| 151 | }, | ||
| 152 | "uniqueConstraints": {}, | ||
| 153 | "policies": {}, | ||
| 154 | "checkConstraints": {}, | ||
| 155 | "isRLSEnabled": false | ||
| 156 | }, | ||
| 157 | "public.definition": { | ||
| 158 | "name": "definition", | ||
| 159 | "schema": "", | ||
| 160 | "columns": { | ||
| 161 | "id": { | ||
| 162 | "name": "id", | ||
| 163 | "type": "text", | ||
| 164 | "primaryKey": false, | ||
| 165 | "notNull": true | ||
| 166 | }, | ||
| 167 | "scope_id": { | ||
| 168 | "name": "scope_id", | ||
| 169 | "type": "text", | ||
| 170 | "primaryKey": false, | ||
| 171 | "notNull": true | ||
| 172 | }, | ||
| 173 | "source_id": { | ||
| 174 | "name": "source_id", | ||
| 175 | "type": "text", | ||
| 176 | "primaryKey": false, | ||
| 177 | "notNull": true | ||
| 178 | }, | ||
| 179 | "plugin_id": { | ||
| 180 | "name": "plugin_id", | ||
| 181 | "type": "text", | ||
| 182 | "primaryKey": false, | ||
| 183 | "notNull": true | ||
| 184 | }, | ||
| 185 | "name": { | ||
| 186 | "name": "name", | ||
| 187 | "type": "text", | ||
| 188 | "primaryKey": false, | ||
| 189 | "notNull": true | ||
| 190 | }, | ||
| 191 | "schema": { | ||
| 192 | "name": "schema", | ||
| 193 | "type": "jsonb", | ||
| 194 | "primaryKey": false, | ||
| 195 | "notNull": true | ||
| 196 | }, | ||
| 197 | "created_at": { | ||
| 198 | "name": "created_at", | ||
| 199 | "type": "timestamp", | ||
| 200 | "primaryKey": false, | ||
| 201 | "notNull": true | ||
| 202 | } | ||
| 203 | }, | ||
| 204 | "indexes": { | ||
| 205 | "definition_scope_id_idx": { | ||
| 206 | "name": "definition_scope_id_idx", | ||
| 207 | "columns": [ | ||
| 208 | { | ||
| 209 | "expression": "scope_id", | ||
| 210 | "isExpression": false, | ||
| 211 | "asc": true, | ||
| 212 | "nulls": "last" | ||
| 213 | } | ||
| 214 | ], | ||
| 215 | "isUnique": false, | ||
| 216 | "concurrently": false, | ||
| 217 | "method": "btree", | ||
| 218 | "with": {} | ||
| 219 | }, | ||
| 220 | "definition_source_id_idx": { | ||
| 221 | "name": "definition_source_id_idx", | ||
| 222 | "columns": [ | ||
| 223 | { | ||
| 224 | "expression": "source_id", | ||
| 225 | "isExpression": false, | ||
| 226 | "asc": true, | ||
| 227 | "nulls": "last" | ||
| 228 | } | ||
| 229 | ], | ||
| 230 | "isUnique": false, | ||
| 231 | "concurrently": false, | ||
| 232 | "method": "btree", | ||
| 233 | "with": {} | ||
| 234 | }, | ||
| 235 | "definition_plugin_id_idx": { | ||
| 236 | "name": "definition_plugin_id_idx", | ||
| 237 | "columns": [ | ||
| 238 | { | ||
| 239 | "expression": "plugin_id", | ||
| 240 | "isExpression": false, | ||
| 241 | "asc": true, | ||
| 242 | "nulls": "last" | ||
| 243 | } | ||
| 244 | ], | ||
| 245 | "isUnique": false, | ||
| 246 | "concurrently": false, | ||
| 247 | "method": "btree", | ||
| 248 | "with": {} | ||
| 249 | } | ||
| 250 | }, | ||
| 251 | "foreignKeys": {}, | ||
| 252 | "compositePrimaryKeys": { | ||
| 253 | "definition_scope_id_id_pk": { | ||
| 254 | "name": "definition_scope_id_id_pk", | ||
| 255 | "columns": ["scope_id", "id"] | ||
| 256 | } | ||
| 257 | }, | ||
| 258 | "uniqueConstraints": {}, | ||
| 259 | "policies": {}, | ||
| 260 | "checkConstraints": {}, | ||
| 261 | "isRLSEnabled": false | ||
| 262 | }, | ||
| 263 | "public.graphql_operation": { | ||
| 264 | "name": "graphql_operation", | ||
| 265 | "schema": "", | ||
| 266 | "columns": { | ||
| 267 | "id": { | ||
| 268 | "name": "id", | ||
| 269 | "type": "text", | ||
| 270 | "primaryKey": false, | ||
| 271 | "notNull": true | ||
| 272 | }, | ||
| 273 | "scope_id": { | ||
| 274 | "name": "scope_id", | ||
| 275 | "type": "text", | ||
| 276 | "primaryKey": false, | ||
| 277 | "notNull": true | ||
| 278 | }, | ||
| 279 | "source_id": { | ||
| 280 | "name": "source_id", | ||
| 281 | "type": "text", | ||
| 282 | "primaryKey": false, | ||
| 283 | "notNull": true | ||
| 284 | }, | ||
| 285 | "binding": { | ||
| 286 | "name": "binding", | ||
| 287 | "type": "jsonb", | ||
| 288 | "primaryKey": false, | ||
| 289 | "notNull": true | ||
| 290 | } | ||
| 291 | }, | ||
| 292 | "indexes": { | ||
| 293 | "graphql_operation_scope_id_idx": { | ||
| 294 | "name": "graphql_operation_scope_id_idx", | ||
| 295 | "columns": [ | ||
| 296 | { | ||
| 297 | "expression": "scope_id", | ||
| 298 | "isExpression": false, | ||
| 299 | "asc": true, | ||
| 300 | "nulls": "last" | ||
| 301 | } | ||
| 302 | ], | ||
| 303 | "isUnique": false, | ||
| 304 | "concurrently": false, | ||
| 305 | "method": "btree", | ||
| 306 | "with": {} | ||
| 307 | }, | ||
| 308 | "graphql_operation_source_id_idx": { | ||
| 309 | "name": "graphql_operation_source_id_idx", | ||
| 310 | "columns": [ | ||
| 311 | { | ||
| 312 | "expression": "source_id", | ||
| 313 | "isExpression": false, | ||
| 314 | "asc": true, | ||
| 315 | "nulls": "last" | ||
| 316 | } | ||
| 317 | ], | ||
| 318 | "isUnique": false, | ||
| 319 | "concurrently": false, | ||
| 320 | "method": "btree", | ||
| 321 | "with": {} | ||
| 322 | } | ||
| 323 | }, | ||
| 324 | "foreignKeys": {}, | ||
| 325 | "compositePrimaryKeys": { | ||
| 326 | "graphql_operation_scope_id_id_pk": { | ||
| 327 | "name": "graphql_operation_scope_id_id_pk", | ||
| 328 | "columns": ["scope_id", "id"] | ||
| 329 | } | ||
| 330 | }, | ||
| 331 | "uniqueConstraints": {}, | ||
| 332 | "policies": {}, | ||
| 333 | "checkConstraints": {}, | ||
| 334 | "isRLSEnabled": false | ||
| 335 | }, | ||
| 336 | "public.graphql_source": { | ||
| 337 | "name": "graphql_source", | ||
| 338 | "schema": "", | ||
| 339 | "columns": { | ||
| 340 | "id": { | ||
| 341 | "name": "id", | ||
| 342 | "type": "text", | ||
| 343 | "primaryKey": false, | ||
| 344 | "notNull": true | ||
| 345 | }, | ||
| 346 | "scope_id": { | ||
| 347 | "name": "scope_id", | ||
| 348 | "type": "text", | ||
| 349 | "primaryKey": false, | ||
| 350 | "notNull": true | ||
| 351 | }, | ||
| 352 | "name": { | ||
| 353 | "name": "name", | ||
| 354 | "type": "text", | ||
| 355 | "primaryKey": false, | ||
| 356 | "notNull": true | ||
| 357 | }, | ||
| 358 | "endpoint": { | ||
| 359 | "name": "endpoint", | ||
| 360 | "type": "text", | ||
| 361 | "primaryKey": false, | ||
| 362 | "notNull": true | ||
| 363 | }, | ||
| 364 | "headers": { | ||
| 365 | "name": "headers", | ||
| 366 | "type": "jsonb", | ||
| 367 | "primaryKey": false, | ||
| 368 | "notNull": false | ||
| 369 | } | ||
| 370 | }, | ||
| 371 | "indexes": { | ||
| 372 | "graphql_source_scope_id_idx": { | ||
| 373 | "name": "graphql_source_scope_id_idx", | ||
| 374 | "columns": [ | ||
| 375 | { | ||
| 376 | "expression": "scope_id", | ||
| 377 | "isExpression": false, | ||
| 378 | "asc": true, | ||
| 379 | "nulls": "last" | ||
| 380 | } | ||
| 381 | ], | ||
| 382 | "isUnique": false, | ||
| 383 | "concurrently": false, | ||
| 384 | "method": "btree", | ||
| 385 | "with": {} | ||
| 386 | } | ||
| 387 | }, | ||
| 388 | "foreignKeys": {}, | ||
| 389 | "compositePrimaryKeys": { | ||
| 390 | "graphql_source_scope_id_id_pk": { | ||
| 391 | "name": "graphql_source_scope_id_id_pk", | ||
| 392 | "columns": ["scope_id", "id"] | ||
| 393 | } | ||
| 394 | }, | ||
| 395 | "uniqueConstraints": {}, | ||
| 396 | "policies": {}, | ||
| 397 | "checkConstraints": {}, | ||
| 398 | "isRLSEnabled": false | ||
| 399 | }, | ||
| 400 | "public.mcp_binding": { | ||
| 401 | "name": "mcp_binding", | ||
| 402 | "schema": "", | ||
| 403 | "columns": { | ||
| 404 | "id": { | ||
| 405 | "name": "id", | ||
| 406 | "type": "text", | ||
| 407 | "primaryKey": false, | ||
| 408 | "notNull": true | ||
| 409 | }, | ||
| 410 | "scope_id": { | ||
| 411 | "name": "scope_id", | ||
| 412 | "type": "text", | ||
| 413 | "primaryKey": false, | ||
| 414 | "notNull": true | ||
| 415 | }, | ||
| 416 | "source_id": { | ||
| 417 | "name": "source_id", | ||
| 418 | "type": "text", | ||
| 419 | "primaryKey": false, | ||
| 420 | "notNull": true | ||
| 421 | }, | ||
| 422 | "binding": { | ||
| 423 | "name": "binding", | ||
| 424 | "type": "jsonb", | ||
| 425 | "primaryKey": false, | ||
| 426 | "notNull": true | ||
| 427 | }, | ||
| 428 | "created_at": { | ||
| 429 | "name": "created_at", | ||
| 430 | "type": "timestamp", | ||
| 431 | "primaryKey": false, | ||
| 432 | "notNull": true | ||
| 433 | } | ||
| 434 | }, | ||
| 435 | "indexes": { | ||
| 436 | "mcp_binding_scope_id_idx": { | ||
| 437 | "name": "mcp_binding_scope_id_idx", | ||
| 438 | "columns": [ | ||
| 439 | { | ||
| 440 | "expression": "scope_id", | ||
| 441 | "isExpression": false, | ||
| 442 | "asc": true, | ||
| 443 | "nulls": "last" | ||
| 444 | } | ||
| 445 | ], | ||
| 446 | "isUnique": false, | ||
| 447 | "concurrently": false, | ||
| 448 | "method": "btree", | ||
| 449 | "with": {} | ||
| 450 | }, | ||
| 451 | "mcp_binding_source_id_idx": { | ||
| 452 | "name": "mcp_binding_source_id_idx", | ||
| 453 | "columns": [ | ||
| 454 | { | ||
| 455 | "expression": "source_id", | ||
| 456 | "isExpression": false, | ||
| 457 | "asc": true, | ||
| 458 | "nulls": "last" | ||
| 459 | } | ||
| 460 | ], | ||
| 461 | "isUnique": false, | ||
| 462 | "concurrently": false, | ||
| 463 | "method": "btree", | ||
| 464 | "with": {} | ||
| 465 | } | ||
| 466 | }, | ||
| 467 | "foreignKeys": {}, | ||
| 468 | "compositePrimaryKeys": { | ||
| 469 | "mcp_binding_scope_id_id_pk": { | ||
| 470 | "name": "mcp_binding_scope_id_id_pk", | ||
| 471 | "columns": ["scope_id", "id"] | ||
| 472 | } | ||
| 473 | }, | ||
| 474 | "uniqueConstraints": {}, | ||
| 475 | "policies": {}, | ||
| 476 | "checkConstraints": {}, | ||
| 477 | "isRLSEnabled": false | ||
| 478 | }, | ||
| 479 | "public.mcp_oauth_session": { | ||
| 480 | "name": "mcp_oauth_session", | ||
| 481 | "schema": "", | ||
| 482 | "columns": { | ||
| 483 | "id": { | ||
| 484 | "name": "id", | ||
| 485 | "type": "text", | ||
| 486 | "primaryKey": false, | ||
| 487 | "notNull": true | ||
| 488 | }, | ||
| 489 | "scope_id": { | ||
| 490 | "name": "scope_id", | ||
| 491 | "type": "text", | ||
| 492 | "primaryKey": false, | ||
| 493 | "notNull": true | ||
| 494 | }, | ||
| 495 | "session": { | ||
| 496 | "name": "session", | ||
| 497 | "type": "jsonb", | ||
| 498 | "primaryKey": false, | ||
| 499 | "notNull": true | ||
| 500 | }, | ||
| 501 | "expires_at": { | ||
| 502 | "name": "expires_at", | ||
| 503 | "type": "integer", | ||
| 504 | "primaryKey": false, | ||
| 505 | "notNull": true | ||
| 506 | }, | ||
| 507 | "created_at": { | ||
| 508 | "name": "created_at", | ||
| 509 | "type": "timestamp", | ||
| 510 | "primaryKey": false, | ||
| 511 | "notNull": true | ||
| 512 | } | ||
| 513 | }, | ||
| 514 | "indexes": { | ||
| 515 | "mcp_oauth_session_scope_id_idx": { | ||
| 516 | "name": "mcp_oauth_session_scope_id_idx", | ||
| 517 | "columns": [ | ||
| 518 | { | ||
| 519 | "expression": "scope_id", | ||
| 520 | "isExpression": false, | ||
| 521 | "asc": true, | ||
| 522 | "nulls": "last" | ||
| 523 | } | ||
| 524 | ], | ||
| 525 | "isUnique": false, | ||
| 526 | "concurrently": false, | ||
| 527 | "method": "btree", | ||
| 528 | "with": {} | ||
| 529 | } | ||
| 530 | }, | ||
| 531 | "foreignKeys": {}, | ||
| 532 | "compositePrimaryKeys": { | ||
| 533 | "mcp_oauth_session_scope_id_id_pk": { | ||
| 534 | "name": "mcp_oauth_session_scope_id_id_pk", | ||
| 535 | "columns": ["scope_id", "id"] | ||
| 536 | } | ||
| 537 | }, | ||
| 538 | "uniqueConstraints": {}, | ||
| 539 | "policies": {}, | ||
| 540 | "checkConstraints": {}, | ||
| 541 | "isRLSEnabled": false | ||
| 542 | }, | ||
| 543 | "public.mcp_source": { | ||
| 544 | "name": "mcp_source", | ||
| 545 | "schema": "", | ||
| 546 | "columns": { | ||
| 547 | "id": { | ||
| 548 | "name": "id", | ||
| 549 | "type": "text", | ||
| 550 | "primaryKey": false, | ||
| 551 | "notNull": true | ||
| 552 | }, | ||
| 553 | "scope_id": { | ||
| 554 | "name": "scope_id", | ||
| 555 | "type": "text", | ||
| 556 | "primaryKey": false, | ||
| 557 | "notNull": true | ||
| 558 | }, | ||
| 559 | "name": { | ||
| 560 | "name": "name", | ||
| 561 | "type": "text", | ||
| 562 | "primaryKey": false, | ||
| 563 | "notNull": true | ||
| 564 | }, | ||
| 565 | "config": { | ||
| 566 | "name": "config", | ||
| 567 | "type": "jsonb", | ||
| 568 | "primaryKey": false, | ||
| 569 | "notNull": true | ||
| 570 | }, | ||
| 571 | "created_at": { | ||
| 572 | "name": "created_at", | ||
| 573 | "type": "timestamp", | ||
| 574 | "primaryKey": false, | ||
| 575 | "notNull": true | ||
| 576 | } | ||
| 577 | }, | ||
| 578 | "indexes": { | ||
| 579 | "mcp_source_scope_id_idx": { | ||
| 580 | "name": "mcp_source_scope_id_idx", | ||
| 581 | "columns": [ | ||
| 582 | { | ||
| 583 | "expression": "scope_id", | ||
| 584 | "isExpression": false, | ||
| 585 | "asc": true, | ||
| 586 | "nulls": "last" | ||
| 587 | } | ||
| 588 | ], | ||
| 589 | "isUnique": false, | ||
| 590 | "concurrently": false, | ||
| 591 | "method": "btree", | ||
| 592 | "with": {} | ||
| 593 | } | ||
| 594 | }, | ||
| 595 | "foreignKeys": {}, | ||
| 596 | "compositePrimaryKeys": { | ||
| 597 | "mcp_source_scope_id_id_pk": { | ||
| 598 | "name": "mcp_source_scope_id_id_pk", | ||
| 599 | "columns": ["scope_id", "id"] | ||
| 600 | } | ||
| 601 | }, | ||
| 602 | "uniqueConstraints": {}, | ||
| 603 | "policies": {}, | ||
| 604 | "checkConstraints": {}, | ||
| 605 | "isRLSEnabled": false | ||
| 606 | }, | ||
| 607 | "public.openapi_oauth_session": { | ||
| 608 | "name": "openapi_oauth_session", | ||
| 609 | "schema": "", | ||
| 610 | "columns": { | ||
| 611 | "id": { | ||
| 612 | "name": "id", | ||
| 613 | "type": "text", | ||
| 614 | "primaryKey": false, | ||
| 615 | "notNull": true | ||
| 616 | }, | ||
| 617 | "scope_id": { | ||
| 618 | "name": "scope_id", | ||
| 619 | "type": "text", | ||
| 620 | "primaryKey": false, | ||
| 621 | "notNull": true | ||
| 622 | }, | ||
| 623 | "session": { | ||
| 624 | "name": "session", | ||
| 625 | "type": "jsonb", | ||
| 626 | "primaryKey": false, | ||
| 627 | "notNull": true | ||
| 628 | }, | ||
| 629 | "created_at": { | ||
| 630 | "name": "created_at", | ||
| 631 | "type": "timestamp", | ||
| 632 | "primaryKey": false, | ||
| 633 | "notNull": true | ||
| 634 | } | ||
| 635 | }, | ||
| 636 | "indexes": { | ||
| 637 | "openapi_oauth_session_scope_id_idx": { | ||
| 638 | "name": "openapi_oauth_session_scope_id_idx", | ||
| 639 | "columns": [ | ||
| 640 | { | ||
| 641 | "expression": "scope_id", | ||
| 642 | "isExpression": false, | ||
| 643 | "asc": true, | ||
| 644 | "nulls": "last" | ||
| 645 | } | ||
| 646 | ], | ||
| 647 | "isUnique": false, | ||
| 648 | "concurrently": false, | ||
| 649 | "method": "btree", | ||
| 650 | "with": {} | ||
| 651 | } | ||
| 652 | }, | ||
| 653 | "foreignKeys": {}, | ||
| 654 | "compositePrimaryKeys": { | ||
| 655 | "openapi_oauth_session_scope_id_id_pk": { | ||
| 656 | "name": "openapi_oauth_session_scope_id_id_pk", | ||
| 657 | "columns": ["scope_id", "id"] | ||
| 658 | } | ||
| 659 | }, | ||
| 660 | "uniqueConstraints": {}, | ||
| 661 | "policies": {}, | ||
| 662 | "checkConstraints": {}, | ||
| 663 | "isRLSEnabled": false | ||
| 664 | }, | ||
| 665 | "public.openapi_operation": { | ||
| 666 | "name": "openapi_operation", | ||
| 667 | "schema": "", | ||
| 668 | "columns": { | ||
| 669 | "id": { | ||
| 670 | "name": "id", | ||
| 671 | "type": "text", | ||
| 672 | "primaryKey": false, | ||
| 673 | "notNull": true | ||
| 674 | }, | ||
| 675 | "scope_id": { | ||
| 676 | "name": "scope_id", | ||
| 677 | "type": "text", | ||
| 678 | "primaryKey": false, | ||
| 679 | "notNull": true | ||
| 680 | }, | ||
| 681 | "source_id": { | ||
| 682 | "name": "source_id", | ||
| 683 | "type": "text", | ||
| 684 | "primaryKey": false, | ||
| 685 | "notNull": true | ||
| 686 | }, | ||
| 687 | "binding": { | ||
| 688 | "name": "binding", | ||
| 689 | "type": "jsonb", | ||
| 690 | "primaryKey": false, | ||
| 691 | "notNull": true | ||
| 692 | } | ||
| 693 | }, | ||
| 694 | "indexes": { | ||
| 695 | "openapi_operation_scope_id_idx": { | ||
| 696 | "name": "openapi_operation_scope_id_idx", | ||
| 697 | "columns": [ | ||
| 698 | { | ||
| 699 | "expression": "scope_id", | ||
| 700 | "isExpression": false, | ||
| 701 | "asc": true, | ||
| 702 | "nulls": "last" | ||
| 703 | } | ||
| 704 | ], | ||
| 705 | "isUnique": false, | ||
| 706 | "concurrently": false, | ||
| 707 | "method": "btree", | ||
| 708 | "with": {} | ||
| 709 | }, | ||
| 710 | "openapi_operation_source_id_idx": { | ||
| 711 | "name": "openapi_operation_source_id_idx", | ||
| 712 | "columns": [ | ||
| 713 | { | ||
| 714 | "expression": "source_id", | ||
| 715 | "isExpression": false, | ||
| 716 | "asc": true, | ||
| 717 | "nulls": "last" | ||
| 718 | } | ||
| 719 | ], | ||
| 720 | "isUnique": false, | ||
| 721 | "concurrently": false, | ||
| 722 | "method": "btree", | ||
| 723 | "with": {} | ||
| 724 | } | ||
| 725 | }, | ||
| 726 | "foreignKeys": {}, | ||
| 727 | "compositePrimaryKeys": { | ||
| 728 | "openapi_operation_scope_id_id_pk": { | ||
| 729 | "name": "openapi_operation_scope_id_id_pk", | ||
| 730 | "columns": ["scope_id", "id"] | ||
| 731 | } | ||
| 732 | }, | ||
| 733 | "uniqueConstraints": {}, | ||
| 734 | "policies": {}, | ||
| 735 | "checkConstraints": {}, | ||
| 736 | "isRLSEnabled": false | ||
| 737 | }, | ||
| 738 | "public.openapi_source": { | ||
| 739 | "name": "openapi_source", | ||
| 740 | "schema": "", | ||
| 741 | "columns": { | ||
| 742 | "id": { | ||
| 743 | "name": "id", | ||
| 744 | "type": "text", | ||
| 745 | "primaryKey": false, | ||
| 746 | "notNull": true | ||
| 747 | }, | ||
| 748 | "scope_id": { | ||
| 749 | "name": "scope_id", | ||
| 750 | "type": "text", | ||
| 751 | "primaryKey": false, | ||
| 752 | "notNull": true | ||
| 753 | }, | ||
| 754 | "name": { | ||
| 755 | "name": "name", | ||
| 756 | "type": "text", | ||
| 757 | "primaryKey": false, | ||
| 758 | "notNull": true | ||
| 759 | }, | ||
| 760 | "spec": { | ||
| 761 | "name": "spec", | ||
| 762 | "type": "text", | ||
| 763 | "primaryKey": false, | ||
| 764 | "notNull": true | ||
| 765 | }, | ||
| 766 | "source_url": { | ||
| 767 | "name": "source_url", | ||
| 768 | "type": "text", | ||
| 769 | "primaryKey": false, | ||
| 770 | "notNull": false | ||
| 771 | }, | ||
| 772 | "base_url": { | ||
| 773 | "name": "base_url", | ||
| 774 | "type": "text", | ||
| 775 | "primaryKey": false, | ||
| 776 | "notNull": false | ||
| 777 | }, | ||
| 778 | "headers": { | ||
| 779 | "name": "headers", | ||
| 780 | "type": "jsonb", | ||
| 781 | "primaryKey": false, | ||
| 782 | "notNull": false | ||
| 783 | }, | ||
| 784 | "oauth2": { | ||
| 785 | "name": "oauth2", | ||
| 786 | "type": "jsonb", | ||
| 787 | "primaryKey": false, | ||
| 788 | "notNull": false | ||
| 789 | }, | ||
| 790 | "invocation_config": { | ||
| 791 | "name": "invocation_config", | ||
| 792 | "type": "jsonb", | ||
| 793 | "primaryKey": false, | ||
| 794 | "notNull": true | ||
| 795 | } | ||
| 796 | }, | ||
| 797 | "indexes": { | ||
| 798 | "openapi_source_scope_id_idx": { | ||
| 799 | "name": "openapi_source_scope_id_idx", | ||
| 800 | "columns": [ | ||
| 801 | { | ||
| 802 | "expression": "scope_id", | ||
| 803 | "isExpression": false, | ||
| 804 | "asc": true, | ||
| 805 | "nulls": "last" | ||
| 806 | } | ||
| 807 | ], | ||
| 808 | "isUnique": false, | ||
| 809 | "concurrently": false, | ||
| 810 | "method": "btree", | ||
| 811 | "with": {} | ||
| 812 | } | ||
| 813 | }, | ||
| 814 | "foreignKeys": {}, | ||
| 815 | "compositePrimaryKeys": { | ||
| 816 | "openapi_source_scope_id_id_pk": { | ||
| 817 | "name": "openapi_source_scope_id_id_pk", | ||
| 818 | "columns": ["scope_id", "id"] | ||
| 819 | } | ||
| 820 | }, | ||
| 821 | "uniqueConstraints": {}, | ||
| 822 | "policies": {}, | ||
| 823 | "checkConstraints": {}, | ||
| 824 | "isRLSEnabled": false | ||
| 825 | }, | ||
| 826 | "public.secret": { | ||
| 827 | "name": "secret", | ||
| 828 | "schema": "", | ||
| 829 | "columns": { | ||
| 830 | "id": { | ||
| 831 | "name": "id", | ||
| 832 | "type": "text", | ||
| 833 | "primaryKey": false, | ||
| 834 | "notNull": true | ||
| 835 | }, | ||
| 836 | "scope_id": { | ||
| 837 | "name": "scope_id", | ||
| 838 | "type": "text", | ||
| 839 | "primaryKey": false, | ||
| 840 | "notNull": true | ||
| 841 | }, | ||
| 842 | "name": { | ||
| 843 | "name": "name", | ||
| 844 | "type": "text", | ||
| 845 | "primaryKey": false, | ||
| 846 | "notNull": true | ||
| 847 | }, | ||
| 848 | "provider": { | ||
| 849 | "name": "provider", | ||
| 850 | "type": "text", | ||
| 851 | "primaryKey": false, | ||
| 852 | "notNull": true | ||
| 853 | }, | ||
| 854 | "created_at": { | ||
| 855 | "name": "created_at", | ||
| 856 | "type": "timestamp", | ||
| 857 | "primaryKey": false, | ||
| 858 | "notNull": true | ||
| 859 | } | ||
| 860 | }, | ||
| 861 | "indexes": { | ||
| 862 | "secret_scope_id_idx": { | ||
| 863 | "name": "secret_scope_id_idx", | ||
| 864 | "columns": [ | ||
| 865 | { | ||
| 866 | "expression": "scope_id", | ||
| 867 | "isExpression": false, | ||
| 868 | "asc": true, | ||
| 869 | "nulls": "last" | ||
| 870 | } | ||
| 871 | ], | ||
| 872 | "isUnique": false, | ||
| 873 | "concurrently": false, | ||
| 874 | "method": "btree", | ||
| 875 | "with": {} | ||
| 876 | }, | ||
| 877 | "secret_provider_idx": { | ||
| 878 | "name": "secret_provider_idx", | ||
| 879 | "columns": [ | ||
| 880 | { | ||
| 881 | "expression": "provider", | ||
| 882 | "isExpression": false, | ||
| 883 | "asc": true, | ||
| 884 | "nulls": "last" | ||
| 885 | } | ||
| 886 | ], | ||
| 887 | "isUnique": false, | ||
| 888 | "concurrently": false, | ||
| 889 | "method": "btree", | ||
| 890 | "with": {} | ||
| 891 | } | ||
| 892 | }, | ||
| 893 | "foreignKeys": {}, | ||
| 894 | "compositePrimaryKeys": { | ||
| 895 | "secret_scope_id_id_pk": { | ||
| 896 | "name": "secret_scope_id_id_pk", | ||
| 897 | "columns": ["scope_id", "id"] | ||
| 898 | } | ||
| 899 | }, | ||
| 900 | "uniqueConstraints": {}, | ||
| 901 | "policies": {}, | ||
| 902 | "checkConstraints": {}, | ||
| 903 | "isRLSEnabled": false | ||
| 904 | }, | ||
| 905 | "public.source": { | ||
| 906 | "name": "source", | ||
| 907 | "schema": "", | ||
| 908 | "columns": { | ||
| 909 | "id": { | ||
| 910 | "name": "id", | ||
| 911 | "type": "text", | ||
| 912 | "primaryKey": false, | ||
| 913 | "notNull": true | ||
| 914 | }, | ||
| 915 | "scope_id": { | ||
| 916 | "name": "scope_id", | ||
| 917 | "type": "text", | ||
| 918 | "primaryKey": false, | ||
| 919 | "notNull": true | ||
| 920 | }, | ||
| 921 | "plugin_id": { | ||
| 922 | "name": "plugin_id", | ||
| 923 | "type": "text", | ||
| 924 | "primaryKey": false, | ||
| 925 | "notNull": true | ||
| 926 | }, | ||
| 927 | "kind": { | ||
| 928 | "name": "kind", | ||
| 929 | "type": "text", | ||
| 930 | "primaryKey": false, | ||
| 931 | "notNull": true | ||
| 932 | }, | ||
| 933 | "name": { | ||
| 934 | "name": "name", | ||
| 935 | "type": "text", | ||
| 936 | "primaryKey": false, | ||
| 937 | "notNull": true | ||
| 938 | }, | ||
| 939 | "url": { | ||
| 940 | "name": "url", | ||
| 941 | "type": "text", | ||
| 942 | "primaryKey": false, | ||
| 943 | "notNull": false | ||
| 944 | }, | ||
| 945 | "can_remove": { | ||
| 946 | "name": "can_remove", | ||
| 947 | "type": "boolean", | ||
| 948 | "primaryKey": false, | ||
| 949 | "notNull": true, | ||
| 950 | "default": true | ||
| 951 | }, | ||
| 952 | "can_refresh": { | ||
| 953 | "name": "can_refresh", | ||
| 954 | "type": "boolean", | ||
| 955 | "primaryKey": false, | ||
| 956 | "notNull": true, | ||
| 957 | "default": false | ||
| 958 | }, | ||
| 959 | "can_edit": { | ||
| 960 | "name": "can_edit", | ||
| 961 | "type": "boolean", | ||
| 962 | "primaryKey": false, | ||
| 963 | "notNull": true, | ||
| 964 | "default": false | ||
| 965 | }, | ||
| 966 | "created_at": { | ||
| 967 | "name": "created_at", | ||
| 968 | "type": "timestamp", | ||
| 969 | "primaryKey": false, | ||
| 970 | "notNull": true | ||
| 971 | }, | ||
| 972 | "updated_at": { | ||
| 973 | "name": "updated_at", | ||
| 974 | "type": "timestamp", | ||
| 975 | "primaryKey": false, | ||
| 976 | "notNull": true | ||
| 977 | } | ||
| 978 | }, | ||
| 979 | "indexes": { | ||
| 980 | "source_scope_id_idx": { | ||
| 981 | "name": "source_scope_id_idx", | ||
| 982 | "columns": [ | ||
| 983 | { | ||
| 984 | "expression": "scope_id", | ||
| 985 | "isExpression": false, | ||
| 986 | "asc": true, | ||
| 987 | "nulls": "last" | ||
| 988 | } | ||
| 989 | ], | ||
| 990 | "isUnique": false, | ||
| 991 | "concurrently": false, | ||
| 992 | "method": "btree", | ||
| 993 | "with": {} | ||
| 994 | }, | ||
| 995 | "source_plugin_id_idx": { | ||
| 996 | "name": "source_plugin_id_idx", | ||
| 997 | "columns": [ | ||
| 998 | { | ||
| 999 | "expression": "plugin_id", | ||
| 1000 | "isExpression": false, | ||
| 1001 | "asc": true, | ||
| 1002 | "nulls": "last" | ||
| 1003 | } | ||
| 1004 | ], | ||
| 1005 | "isUnique": false, | ||
| 1006 | "concurrently": false, | ||
| 1007 | "method": "btree", | ||
| 1008 | "with": {} | ||
| 1009 | } | ||
| 1010 | }, | ||
| 1011 | "foreignKeys": {}, | ||
| 1012 | "compositePrimaryKeys": { | ||
| 1013 | "source_scope_id_id_pk": { | ||
| 1014 | "name": "source_scope_id_id_pk", | ||
| 1015 | "columns": ["scope_id", "id"] | ||
| 1016 | } | ||
| 1017 | }, | ||
| 1018 | "uniqueConstraints": {}, | ||
| 1019 | "policies": {}, | ||
| 1020 | "checkConstraints": {}, | ||
| 1021 | "isRLSEnabled": false | ||
| 1022 | }, | ||
| 1023 | "public.tool": { | ||
| 1024 | "name": "tool", | ||
| 1025 | "schema": "", | ||
| 1026 | "columns": { | ||
| 1027 | "id": { | ||
| 1028 | "name": "id", | ||
| 1029 | "type": "text", | ||
| 1030 | "primaryKey": false, | ||
| 1031 | "notNull": true | ||
| 1032 | }, | ||
| 1033 | "scope_id": { | ||
| 1034 | "name": "scope_id", | ||
| 1035 | "type": "text", | ||
| 1036 | "primaryKey": false, | ||
| 1037 | "notNull": true | ||
| 1038 | }, | ||
| 1039 | "source_id": { | ||
| 1040 | "name": "source_id", | ||
| 1041 | "type": "text", | ||
| 1042 | "primaryKey": false, | ||
| 1043 | "notNull": true | ||
| 1044 | }, | ||
| 1045 | "plugin_id": { | ||
| 1046 | "name": "plugin_id", | ||
| 1047 | "type": "text", | ||
| 1048 | "primaryKey": false, | ||
| 1049 | "notNull": true | ||
| 1050 | }, | ||
| 1051 | "name": { | ||
| 1052 | "name": "name", | ||
| 1053 | "type": "text", | ||
| 1054 | "primaryKey": false, | ||
| 1055 | "notNull": true | ||
| 1056 | }, | ||
| 1057 | "description": { | ||
| 1058 | "name": "description", | ||
| 1059 | "type": "text", | ||
| 1060 | "primaryKey": false, | ||
| 1061 | "notNull": true | ||
| 1062 | }, | ||
| 1063 | "input_schema": { | ||
| 1064 | "name": "input_schema", | ||
| 1065 | "type": "jsonb", | ||
| 1066 | "primaryKey": false, | ||
| 1067 | "notNull": false | ||
| 1068 | }, | ||
| 1069 | "output_schema": { | ||
| 1070 | "name": "output_schema", | ||
| 1071 | "type": "jsonb", | ||
| 1072 | "primaryKey": false, | ||
| 1073 | "notNull": false | ||
| 1074 | }, | ||
| 1075 | "created_at": { | ||
| 1076 | "name": "created_at", | ||
| 1077 | "type": "timestamp", | ||
| 1078 | "primaryKey": false, | ||
| 1079 | "notNull": true | ||
| 1080 | }, | ||
| 1081 | "updated_at": { | ||
| 1082 | "name": "updated_at", | ||
| 1083 | "type": "timestamp", | ||
| 1084 | "primaryKey": false, | ||
| 1085 | "notNull": true | ||
| 1086 | } | ||
| 1087 | }, | ||
| 1088 | "indexes": { | ||
| 1089 | "tool_scope_id_idx": { | ||
| 1090 | "name": "tool_scope_id_idx", | ||
| 1091 | "columns": [ | ||
| 1092 | { | ||
| 1093 | "expression": "scope_id", | ||
| 1094 | "isExpression": false, | ||
| 1095 | "asc": true, | ||
| 1096 | "nulls": "last" | ||
| 1097 | } | ||
| 1098 | ], | ||
| 1099 | "isUnique": false, | ||
| 1100 | "concurrently": false, | ||
| 1101 | "method": "btree", | ||
| 1102 | "with": {} | ||
| 1103 | }, | ||
| 1104 | "tool_source_id_idx": { | ||
| 1105 | "name": "tool_source_id_idx", | ||
| 1106 | "columns": [ | ||
| 1107 | { | ||
| 1108 | "expression": "source_id", | ||
| 1109 | "isExpression": false, | ||
| 1110 | "asc": true, | ||
| 1111 | "nulls": "last" | ||
| 1112 | } | ||
| 1113 | ], | ||
| 1114 | "isUnique": false, | ||
| 1115 | "concurrently": false, | ||
| 1116 | "method": "btree", | ||
| 1117 | "with": {} | ||
| 1118 | }, | ||
| 1119 | "tool_plugin_id_idx": { | ||
| 1120 | "name": "tool_plugin_id_idx", | ||
| 1121 | "columns": [ | ||
| 1122 | { | ||
| 1123 | "expression": "plugin_id", | ||
| 1124 | "isExpression": false, | ||
| 1125 | "asc": true, | ||
| 1126 | "nulls": "last" | ||
| 1127 | } | ||
| 1128 | ], | ||
| 1129 | "isUnique": false, | ||
| 1130 | "concurrently": false, | ||
| 1131 | "method": "btree", | ||
| 1132 | "with": {} | ||
| 1133 | } | ||
| 1134 | }, | ||
| 1135 | "foreignKeys": {}, | ||
| 1136 | "compositePrimaryKeys": { | ||
| 1137 | "tool_scope_id_id_pk": { | ||
| 1138 | "name": "tool_scope_id_id_pk", | ||
| 1139 | "columns": ["scope_id", "id"] | ||
| 1140 | } | ||
| 1141 | }, | ||
| 1142 | "uniqueConstraints": {}, | ||
| 1143 | "policies": {}, | ||
| 1144 | "checkConstraints": {}, | ||
| 1145 | "isRLSEnabled": false | ||
| 1146 | }, | ||
| 1147 | "public.workos_vault_metadata": { | ||
| 1148 | "name": "workos_vault_metadata", | ||
| 1149 | "schema": "", | ||
| 1150 | "columns": { | ||
| 1151 | "id": { | ||
| 1152 | "name": "id", | ||
| 1153 | "type": "text", | ||
| 1154 | "primaryKey": false, | ||
| 1155 | "notNull": true | ||
| 1156 | }, | ||
| 1157 | "scope_id": { | ||
| 1158 | "name": "scope_id", | ||
| 1159 | "type": "text", | ||
| 1160 | "primaryKey": false, | ||
| 1161 | "notNull": true | ||
| 1162 | }, | ||
| 1163 | "name": { | ||
| 1164 | "name": "name", | ||
| 1165 | "type": "text", | ||
| 1166 | "primaryKey": false, | ||
| 1167 | "notNull": true | ||
| 1168 | }, | ||
| 1169 | "purpose": { | ||
| 1170 | "name": "purpose", | ||
| 1171 | "type": "text", | ||
| 1172 | "primaryKey": false, | ||
| 1173 | "notNull": false | ||
| 1174 | }, | ||
| 1175 | "created_at": { | ||
| 1176 | "name": "created_at", | ||
| 1177 | "type": "timestamp", | ||
| 1178 | "primaryKey": false, | ||
| 1179 | "notNull": true | ||
| 1180 | } | ||
| 1181 | }, | ||
| 1182 | "indexes": { | ||
| 1183 | "workos_vault_metadata_scope_id_idx": { | ||
| 1184 | "name": "workos_vault_metadata_scope_id_idx", | ||
| 1185 | "columns": [ | ||
| 1186 | { | ||
| 1187 | "expression": "scope_id", | ||
| 1188 | "isExpression": false, | ||
| 1189 | "asc": true, | ||
| 1190 | "nulls": "last" | ||
| 1191 | } | ||
| 1192 | ], | ||
| 1193 | "isUnique": false, | ||
| 1194 | "concurrently": false, | ||
| 1195 | "method": "btree", | ||
| 1196 | "with": {} | ||
| 1197 | } | ||
| 1198 | }, | ||
| 1199 | "foreignKeys": {}, | ||
| 1200 | "compositePrimaryKeys": { | ||
| 1201 | "workos_vault_metadata_scope_id_id_pk": { | ||
| 1202 | "name": "workos_vault_metadata_scope_id_id_pk", | ||
| 1203 | "columns": ["scope_id", "id"] | ||
| 1204 | } | ||
| 1205 | }, | ||
| 1206 | "uniqueConstraints": {}, | ||
| 1207 | "policies": {}, | ||
| 1208 | "checkConstraints": {}, | ||
| 1209 | "isRLSEnabled": false | ||
| 1210 | } | ||
| 1211 | }, | ||
| 1212 | "enums": {}, | ||
| 1213 | "schemas": {}, | ||
| 1214 | "sequences": {}, | ||
| 1215 | "roles": {}, | ||
| 1216 | "policies": {}, | ||
| 1217 | "views": {}, | ||
| 1218 | "_meta": { | ||
| 1219 | "columns": {}, | ||
| 1220 | "schemas": {}, | ||
| 1221 | "tables": {} | ||
| 1222 | } | ||
| 1223 | } | ||
| @@ -1,1223 +0,0 @@ | |||
| 1 | { | ||
| 2 | "id": "f029f809-1bf3-46e0-a31b-82df7c9c7171", | ||
| 3 | "prevId": "12ebb69b-fb44-4e61-80b9-a48b5471ef5a", | ||
| 4 | "version": "7", | ||
| 5 | "dialect": "postgresql", | ||
| 6 | "tables": { | ||
| 7 | "public.accounts": { | ||
| 8 | "name": "accounts", | ||
| 9 | "schema": "", | ||
| 10 | "columns": { | ||
| 11 | "id": { | ||
| 12 | "name": "id", | ||
| 13 | "type": "text", | ||
| 14 | "primaryKey": true, | ||
| 15 | "notNull": true | ||
| 16 | }, | ||
| 17 | "created_at": { | ||
| 18 | "name": "created_at", | ||
| 19 | "type": "timestamp with time zone", | ||
| 20 | "primaryKey": false, | ||
| 21 | "notNull": true, | ||
| 22 | "default": "now()" | ||
| 23 | } | ||
| 24 | }, | ||
| 25 | "indexes": {}, | ||
| 26 | "foreignKeys": {}, | ||
| 27 | "compositePrimaryKeys": {}, | ||
| 28 | "uniqueConstraints": {}, | ||
| 29 | "policies": {}, | ||
| 30 | "checkConstraints": {}, | ||
| 31 | "isRLSEnabled": false | ||
| 32 | }, | ||
| 33 | "public.memberships": { | ||
| 34 | "name": "memberships", | ||
| 35 | "schema": "", | ||
| 36 | "columns": { | ||
| 37 | "account_id": { | ||
| 38 | "name": "account_id", | ||
| 39 | "type": "text", | ||
| 40 | "primaryKey": false, | ||
| 41 | "notNull": true | ||
| 42 | }, | ||
| 43 | "organization_id": { | ||
| 44 | "name": "organization_id", | ||
| 45 | "type": "text", | ||
| 46 | "primaryKey": false, | ||
| 47 | "notNull": true | ||
| 48 | }, | ||
| 49 | "created_at": { | ||
| 50 | "name": "created_at", | ||
| 51 | "type": "timestamp with time zone", | ||
| 52 | "primaryKey": false, | ||
| 53 | "notNull": true, | ||
| 54 | "default": "now()" | ||
| 55 | } | ||
| 56 | }, | ||
| 57 | "indexes": {}, | ||
| 58 | "foreignKeys": { | ||
| 59 | "memberships_account_id_accounts_id_fk": { | ||
| 60 | "name": "memberships_account_id_accounts_id_fk", | ||
| 61 | "tableFrom": "memberships", | ||
| 62 | "tableTo": "accounts", | ||
| 63 | "columnsFrom": ["account_id"], | ||
| 64 | "columnsTo": ["id"], | ||
| 65 | "onDelete": "cascade", | ||
| 66 | "onUpdate": "no action" | ||
| 67 | }, | ||
| 68 | "memberships_organization_id_organizations_id_fk": { | ||
| 69 | "name": "memberships_organization_id_organizations_id_fk", | ||
| 70 | "tableFrom": "memberships", | ||
| 71 | "tableTo": "organizations", | ||
| 72 | "columnsFrom": ["organization_id"], | ||
| 73 | "columnsTo": ["id"], | ||
| 74 | "onDelete": "cascade", | ||
| 75 | "onUpdate": "no action" | ||
| 76 | } | ||
| 77 | }, | ||
| 78 | "compositePrimaryKeys": { | ||
| 79 | "memberships_account_id_organization_id_pk": { | ||
| 80 | "name": "memberships_account_id_organization_id_pk", | ||
| 81 | "columns": ["account_id", "organization_id"] | ||
| 82 | } | ||
| 83 | }, | ||
| 84 | "uniqueConstraints": {}, | ||
| 85 | "policies": {}, | ||
| 86 | "checkConstraints": {}, | ||
| 87 | "isRLSEnabled": false | ||
| 88 | }, | ||
| 89 | "public.organizations": { | ||
| 90 | "name": "organizations", | ||
| 91 | "schema": "", | ||
| 92 | "columns": { | ||
| 93 | "id": { | ||
| 94 | "name": "id", | ||
| 95 | "type": "text", | ||
| 96 | "primaryKey": true, | ||
| 97 | "notNull": true | ||
| 98 | }, | ||
| 99 | "name": { | ||
| 100 | "name": "name", | ||
| 101 | "type": "text", | ||
| 102 | "primaryKey": false, | ||
| 103 | "notNull": true | ||
| 104 | }, | ||
| 105 | "created_at": { | ||
| 106 | "name": "created_at", | ||
| 107 | "type": "timestamp with time zone", | ||
| 108 | "primaryKey": false, | ||
| 109 | "notNull": true, | ||
| 110 | "default": "now()" | ||
| 111 | } | ||
| 112 | }, | ||
| 113 | "indexes": {}, | ||
| 114 | "foreignKeys": {}, | ||
| 115 | "compositePrimaryKeys": {}, | ||
| 116 | "uniqueConstraints": {}, | ||
| 117 | "policies": {}, | ||
| 118 | "checkConstraints": {}, | ||
| 119 | "isRLSEnabled": false | ||
| 120 | }, | ||
| 121 | "public.blob": { | ||
| 122 | "name": "blob", | ||
| 123 | "schema": "", | ||
| 124 | "columns": { | ||
| 125 | "namespace": { | ||
| 126 | "name": "namespace", | ||
| 127 | "type": "text", | ||
| 128 | "primaryKey": false, | ||
| 129 | "notNull": true | ||
| 130 | }, | ||
| 131 | "key": { | ||
| 132 | "name": "key", | ||
| 133 | "type": "text", | ||
| 134 | "primaryKey": false, | ||
| 135 | "notNull": true | ||
| 136 | }, | ||
| 137 | "value": { | ||
| 138 | "name": "value", | ||
| 139 | "type": "text", | ||
| 140 | "primaryKey": false, | ||
| 141 | "notNull": true | ||
| 142 | } | ||
| 143 | }, | ||
| 144 | "indexes": {}, | ||
| 145 | "foreignKeys": {}, | ||
| 146 | "compositePrimaryKeys": { | ||
| 147 | "blob_namespace_key_pk": { | ||
| 148 | "name": "blob_namespace_key_pk", | ||
| 149 | "columns": ["namespace", "key"] | ||
| 150 | } | ||
| 151 | }, | ||
| 152 | "uniqueConstraints": {}, | ||
| 153 | "policies": {}, | ||
| 154 | "checkConstraints": {}, | ||
| 155 | "isRLSEnabled": false | ||
| 156 | }, | ||
| 157 | "public.definition": { | ||
| 158 | "name": "definition", | ||
| 159 | "schema": "", | ||
| 160 | "columns": { | ||
| 161 | "id": { | ||
| 162 | "name": "id", | ||
| 163 | "type": "text", | ||
| 164 | "primaryKey": false, | ||
| 165 | "notNull": true | ||
| 166 | }, | ||
| 167 | "scope_id": { | ||
| 168 | "name": "scope_id", | ||
| 169 | "type": "text", | ||
| 170 | "primaryKey": false, | ||
| 171 | "notNull": true | ||
| 172 | }, | ||
| 173 | "source_id": { | ||
| 174 | "name": "source_id", | ||
| 175 | "type": "text", | ||
| 176 | "primaryKey": false, | ||
| 177 | "notNull": true | ||
| 178 | }, | ||
| 179 | "plugin_id": { | ||
| 180 | "name": "plugin_id", | ||
| 181 | "type": "text", | ||
| 182 | "primaryKey": false, | ||
| 183 | "notNull": true | ||
| 184 | }, | ||
| 185 | "name": { | ||
| 186 | "name": "name", | ||
| 187 | "type": "text", | ||
| 188 | "primaryKey": false, | ||
| 189 | "notNull": true | ||
| 190 | }, | ||
| 191 | "schema": { | ||
| 192 | "name": "schema", | ||
| 193 | "type": "jsonb", | ||
| 194 | "primaryKey": false, | ||
| 195 | "notNull": true | ||
| 196 | }, | ||
| 197 | "created_at": { | ||
| 198 | "name": "created_at", | ||
| 199 | "type": "timestamp", | ||
| 200 | "primaryKey": false, | ||
| 201 | "notNull": true | ||
| 202 | } | ||
| 203 | }, | ||
| 204 | "indexes": { | ||
| 205 | "definition_scope_id_idx": { | ||
| 206 | "name": "definition_scope_id_idx", | ||
| 207 | "columns": [ | ||
| 208 | { | ||
| 209 | "expression": "scope_id", | ||
| 210 | "isExpression": false, | ||
| 211 | "asc": true, | ||
| 212 | "nulls": "last" | ||
| 213 | } | ||
| 214 | ], | ||
| 215 | "isUnique": false, | ||
| 216 | "concurrently": false, | ||
| 217 | "method": "btree", | ||
| 218 | "with": {} | ||
| 219 | }, | ||
| 220 | "definition_source_id_idx": { | ||
| 221 | "name": "definition_source_id_idx", | ||
| 222 | "columns": [ | ||
| 223 | { | ||
| 224 | "expression": "source_id", | ||
| 225 | "isExpression": false, | ||
| 226 | "asc": true, | ||
| 227 | "nulls": "last" | ||
| 228 | } | ||
| 229 | ], | ||
| 230 | "isUnique": false, | ||
| 231 | "concurrently": false, | ||
| 232 | "method": "btree", | ||
| 233 | "with": {} | ||
| 234 | }, | ||
| 235 | "definition_plugin_id_idx": { | ||
| 236 | "name": "definition_plugin_id_idx", | ||
| 237 | "columns": [ | ||
| 238 | { | ||
| 239 | "expression": "plugin_id", | ||
| 240 | "isExpression": false, | ||
| 241 | "asc": true, | ||
| 242 | "nulls": "last" | ||
| 243 | } | ||
| 244 | ], | ||
| 245 | "isUnique": false, | ||
| 246 | "concurrently": false, | ||
| 247 | "method": "btree", | ||
| 248 | "with": {} | ||
| 249 | } | ||
| 250 | }, | ||
| 251 | "foreignKeys": {}, | ||
| 252 | "compositePrimaryKeys": { | ||
| 253 | "definition_scope_id_id_pk": { | ||
| 254 | "name": "definition_scope_id_id_pk", | ||
| 255 | "columns": ["scope_id", "id"] | ||
| 256 | } | ||
| 257 | }, | ||
| 258 | "uniqueConstraints": {}, | ||
| 259 | "policies": {}, | ||
| 260 | "checkConstraints": {}, | ||
| 261 | "isRLSEnabled": false | ||
| 262 | }, | ||
| 263 | "public.graphql_operation": { | ||
| 264 | "name": "graphql_operation", | ||
| 265 | "schema": "", | ||
| 266 | "columns": { | ||
| 267 | "id": { | ||
| 268 | "name": "id", | ||
| 269 | "type": "text", | ||
| 270 | "primaryKey": false, | ||
| 271 | "notNull": true | ||
| 272 | }, | ||
| 273 | "scope_id": { | ||
| 274 | "name": "scope_id", | ||
| 275 | "type": "text", | ||
| 276 | "primaryKey": false, | ||
| 277 | "notNull": true | ||
| 278 | }, | ||
| 279 | "source_id": { | ||
| 280 | "name": "source_id", | ||
| 281 | "type": "text", | ||
| 282 | "primaryKey": false, | ||
| 283 | "notNull": true | ||
| 284 | }, | ||
| 285 | "binding": { | ||
| 286 | "name": "binding", | ||
| 287 | "type": "jsonb", | ||
| 288 | "primaryKey": false, | ||
| 289 | "notNull": true | ||
| 290 | } | ||
| 291 | }, | ||
| 292 | "indexes": { | ||
| 293 | "graphql_operation_scope_id_idx": { | ||
| 294 | "name": "graphql_operation_scope_id_idx", | ||
| 295 | "columns": [ | ||
| 296 | { | ||
| 297 | "expression": "scope_id", | ||
| 298 | "isExpression": false, | ||
| 299 | "asc": true, | ||
| 300 | "nulls": "last" | ||
| 301 | } | ||
| 302 | ], | ||
| 303 | "isUnique": false, | ||
| 304 | "concurrently": false, | ||
| 305 | "method": "btree", | ||
| 306 | "with": {} | ||
| 307 | }, | ||
| 308 | "graphql_operation_source_id_idx": { | ||
| 309 | "name": "graphql_operation_source_id_idx", | ||
| 310 | "columns": [ | ||
| 311 | { | ||
| 312 | "expression": "source_id", | ||
| 313 | "isExpression": false, | ||
| 314 | "asc": true, | ||
| 315 | "nulls": "last" | ||
| 316 | } | ||
| 317 | ], | ||
| 318 | "isUnique": false, | ||
| 319 | "concurrently": false, | ||
| 320 | "method": "btree", | ||
| 321 | "with": {} | ||
| 322 | } | ||
| 323 | }, | ||
| 324 | "foreignKeys": {}, | ||
| 325 | "compositePrimaryKeys": { | ||
| 326 | "graphql_operation_scope_id_id_pk": { | ||
| 327 | "name": "graphql_operation_scope_id_id_pk", | ||
| 328 | "columns": ["scope_id", "id"] | ||
| 329 | } | ||
| 330 | }, | ||
| 331 | "uniqueConstraints": {}, | ||
| 332 | "policies": {}, | ||
| 333 | "checkConstraints": {}, | ||
| 334 | "isRLSEnabled": false | ||
| 335 | }, | ||
| 336 | "public.graphql_source": { | ||
| 337 | "name": "graphql_source", | ||
| 338 | "schema": "", | ||
| 339 | "columns": { | ||
| 340 | "id": { | ||
| 341 | "name": "id", | ||
| 342 | "type": "text", | ||
| 343 | "primaryKey": false, | ||
| 344 | "notNull": true | ||
| 345 | }, | ||
| 346 | "scope_id": { | ||
| 347 | "name": "scope_id", | ||
| 348 | "type": "text", | ||
| 349 | "primaryKey": false, | ||
| 350 | "notNull": true | ||
| 351 | }, | ||
| 352 | "name": { | ||
| 353 | "name": "name", | ||
| 354 | "type": "text", | ||
| 355 | "primaryKey": false, | ||
| 356 | "notNull": true | ||
| 357 | }, | ||
| 358 | "endpoint": { | ||
| 359 | "name": "endpoint", | ||
| 360 | "type": "text", | ||
| 361 | "primaryKey": false, | ||
| 362 | "notNull": true | ||
| 363 | }, | ||
| 364 | "headers": { | ||
| 365 | "name": "headers", | ||
| 366 | "type": "jsonb", | ||
| 367 | "primaryKey": false, | ||
| 368 | "notNull": false | ||
| 369 | } | ||
| 370 | }, | ||
| 371 | "indexes": { | ||
| 372 | "graphql_source_scope_id_idx": { | ||
| 373 | "name": "graphql_source_scope_id_idx", | ||
| 374 | "columns": [ | ||
| 375 | { | ||
| 376 | "expression": "scope_id", | ||
| 377 | "isExpression": false, | ||
| 378 | "asc": true, | ||
| 379 | "nulls": "last" | ||
| 380 | } | ||
| 381 | ], | ||
| 382 | "isUnique": false, | ||
| 383 | "concurrently": false, | ||
| 384 | "method": "btree", | ||
| 385 | "with": {} | ||
| 386 | } | ||
| 387 | }, | ||
| 388 | "foreignKeys": {}, | ||
| 389 | "compositePrimaryKeys": { | ||
| 390 | "graphql_source_scope_id_id_pk": { | ||
| 391 | "name": "graphql_source_scope_id_id_pk", | ||
| 392 | "columns": ["scope_id", "id"] | ||
| 393 | } | ||
| 394 | }, | ||
| 395 | "uniqueConstraints": {}, | ||
| 396 | "policies": {}, | ||
| 397 | "checkConstraints": {}, | ||
| 398 | "isRLSEnabled": false | ||
| 399 | }, | ||
| 400 | "public.mcp_binding": { | ||
| 401 | "name": "mcp_binding", | ||
| 402 | "schema": "", | ||
| 403 | "columns": { | ||
| 404 | "id": { | ||
| 405 | "name": "id", | ||
| 406 | "type": "text", | ||
| 407 | "primaryKey": false, | ||
| 408 | "notNull": true | ||
| 409 | }, | ||
| 410 | "scope_id": { | ||
| 411 | "name": "scope_id", | ||
| 412 | "type": "text", | ||
| 413 | "primaryKey": false, | ||
| 414 | "notNull": true | ||
| 415 | }, | ||
| 416 | "source_id": { | ||
| 417 | "name": "source_id", | ||
| 418 | "type": "text", | ||
| 419 | "primaryKey": false, | ||
| 420 | "notNull": true | ||
| 421 | }, | ||
| 422 | "binding": { | ||
| 423 | "name": "binding", | ||
| 424 | "type": "jsonb", | ||
| 425 | "primaryKey": false, | ||
| 426 | "notNull": true | ||
| 427 | }, | ||
| 428 | "created_at": { | ||
| 429 | "name": "created_at", | ||
| 430 | "type": "timestamp", | ||
| 431 | "primaryKey": false, | ||
| 432 | "notNull": true | ||
| 433 | } | ||
| 434 | }, | ||
| 435 | "indexes": { | ||
| 436 | "mcp_binding_scope_id_idx": { | ||
| 437 | "name": "mcp_binding_scope_id_idx", | ||
| 438 | "columns": [ | ||
| 439 | { | ||
| 440 | "expression": "scope_id", | ||
| 441 | "isExpression": false, | ||
| 442 | "asc": true, | ||
| 443 | "nulls": "last" | ||
| 444 | } | ||
| 445 | ], | ||
| 446 | "isUnique": false, | ||
| 447 | "concurrently": false, | ||
| 448 | "method": "btree", | ||
| 449 | "with": {} | ||
| 450 | }, | ||
| 451 | "mcp_binding_source_id_idx": { | ||
| 452 | "name": "mcp_binding_source_id_idx", | ||
| 453 | "columns": [ | ||
| 454 | { | ||
| 455 | "expression": "source_id", | ||
| 456 | "isExpression": false, | ||
| 457 | "asc": true, | ||
| 458 | "nulls": "last" | ||
| 459 | } | ||
| 460 | ], | ||
| 461 | "isUnique": false, | ||
| 462 | "concurrently": false, | ||
| 463 | "method": "btree", | ||
| 464 | "with": {} | ||
| 465 | } | ||
| 466 | }, | ||
| 467 | "foreignKeys": {}, | ||
| 468 | "compositePrimaryKeys": { | ||
| 469 | "mcp_binding_scope_id_id_pk": { | ||
| 470 | "name": "mcp_binding_scope_id_id_pk", | ||
| 471 | "columns": ["scope_id", "id"] | ||
| 472 | } | ||
| 473 | }, | ||
| 474 | "uniqueConstraints": {}, | ||
| 475 | "policies": {}, | ||
| 476 | "checkConstraints": {}, | ||
| 477 | "isRLSEnabled": false | ||
| 478 | }, | ||
| 479 | "public.mcp_oauth_session": { | ||
| 480 | "name": "mcp_oauth_session", | ||
| 481 | "schema": "", | ||
| 482 | "columns": { | ||
| 483 | "id": { | ||
| 484 | "name": "id", | ||
| 485 | "type": "text", | ||
| 486 | "primaryKey": false, | ||
| 487 | "notNull": true | ||
| 488 | }, | ||
| 489 | "scope_id": { | ||
| 490 | "name": "scope_id", | ||
| 491 | "type": "text", | ||
| 492 | "primaryKey": false, | ||
| 493 | "notNull": true | ||
| 494 | }, | ||
| 495 | "session": { | ||
| 496 | "name": "session", | ||
| 497 | "type": "jsonb", | ||
| 498 | "primaryKey": false, | ||
| 499 | "notNull": true | ||
| 500 | }, | ||
| 501 | "expires_at": { | ||
| 502 | "name": "expires_at", | ||
| 503 | "type": "bigint", | ||
| 504 | "primaryKey": false, | ||
| 505 | "notNull": true | ||
| 506 | }, | ||
| 507 | "created_at": { | ||
| 508 | "name": "created_at", | ||
| 509 | "type": "timestamp", | ||
| 510 | "primaryKey": false, | ||
| 511 | "notNull": true | ||
| 512 | } | ||
| 513 | }, | ||
| 514 | "indexes": { | ||
| 515 | "mcp_oauth_session_scope_id_idx": { | ||
| 516 | "name": "mcp_oauth_session_scope_id_idx", | ||
| 517 | "columns": [ | ||
| 518 | { | ||
| 519 | "expression": "scope_id", | ||
| 520 | "isExpression": false, | ||
| 521 | "asc": true, | ||
| 522 | "nulls": "last" | ||
| 523 | } | ||
| 524 | ], | ||
| 525 | "isUnique": false, | ||
| 526 | "concurrently": false, | ||
| 527 | "method": "btree", | ||
| 528 | "with": {} | ||
| 529 | } | ||
| 530 | }, | ||
| 531 | "foreignKeys": {}, | ||
| 532 | "compositePrimaryKeys": { | ||
| 533 | "mcp_oauth_session_scope_id_id_pk": { | ||
| 534 | "name": "mcp_oauth_session_scope_id_id_pk", | ||
| 535 | "columns": ["scope_id", "id"] | ||
| 536 | } | ||
| 537 | }, | ||
| 538 | "uniqueConstraints": {}, | ||
| 539 | "policies": {}, | ||
| 540 | "checkConstraints": {}, | ||
| 541 | "isRLSEnabled": false | ||
| 542 | }, | ||
| 543 | "public.mcp_source": { | ||
| 544 | "name": "mcp_source", | ||
| 545 | "schema": "", | ||
| 546 | "columns": { | ||
| 547 | "id": { | ||
| 548 | "name": "id", | ||
| 549 | "type": "text", | ||
| 550 | "primaryKey": false, | ||
| 551 | "notNull": true | ||
| 552 | }, | ||
| 553 | "scope_id": { | ||
| 554 | "name": "scope_id", | ||
| 555 | "type": "text", | ||
| 556 | "primaryKey": false, | ||
| 557 | "notNull": true | ||
| 558 | }, | ||
| 559 | "name": { | ||
| 560 | "name": "name", | ||
| 561 | "type": "text", | ||
| 562 | "primaryKey": false, | ||
| 563 | "notNull": true | ||
| 564 | }, | ||
| 565 | "config": { | ||
| 566 | "name": "config", | ||
| 567 | "type": "jsonb", | ||
| 568 | "primaryKey": false, | ||
| 569 | "notNull": true | ||
| 570 | }, | ||
| 571 | "created_at": { | ||
| 572 | "name": "created_at", | ||
| 573 | "type": "timestamp", | ||
| 574 | "primaryKey": false, | ||
| 575 | "notNull": true | ||
| 576 | } | ||
| 577 | }, | ||
| 578 | "indexes": { | ||
| 579 | "mcp_source_scope_id_idx": { | ||
| 580 | "name": "mcp_source_scope_id_idx", | ||
| 581 | "columns": [ | ||
| 582 | { | ||
| 583 | "expression": "scope_id", | ||
| 584 | "isExpression": false, | ||
| 585 | "asc": true, | ||
| 586 | "nulls": "last" | ||
| 587 | } | ||
| 588 | ], | ||
| 589 | "isUnique": false, | ||
| 590 | "concurrently": false, | ||
| 591 | "method": "btree", | ||
| 592 | "with": {} | ||
| 593 | } | ||
| 594 | }, | ||
| 595 | "foreignKeys": {}, | ||
| 596 | "compositePrimaryKeys": { | ||
| 597 | "mcp_source_scope_id_id_pk": { | ||
| 598 | "name": "mcp_source_scope_id_id_pk", | ||
| 599 | "columns": ["scope_id", "id"] | ||
| 600 | } | ||
| 601 | }, | ||
| 602 | "uniqueConstraints": {}, | ||
| 603 | "policies": {}, | ||
| 604 | "checkConstraints": {}, | ||
| 605 | "isRLSEnabled": false | ||
| 606 | }, | ||
| 607 | "public.openapi_oauth_session": { | ||
| 608 | "name": "openapi_oauth_session", | ||
| 609 | "schema": "", | ||
| 610 | "columns": { | ||
| 611 | "id": { | ||
| 612 | "name": "id", | ||
| 613 | "type": "text", | ||
| 614 | "primaryKey": false, | ||
| 615 | "notNull": true | ||
| 616 | }, | ||
| 617 | "scope_id": { | ||
| 618 | "name": "scope_id", | ||
| 619 | "type": "text", | ||
| 620 | "primaryKey": false, | ||
| 621 | "notNull": true | ||
| 622 | }, | ||
| 623 | "session": { | ||
| 624 | "name": "session", | ||
| 625 | "type": "jsonb", | ||
| 626 | "primaryKey": false, | ||
| 627 | "notNull": true | ||
| 628 | }, | ||
| 629 | "created_at": { | ||
| 630 | "name": "created_at", | ||
| 631 | "type": "timestamp", | ||
| 632 | "primaryKey": false, | ||
| 633 | "notNull": true | ||
| 634 | } | ||
| 635 | }, | ||
| 636 | "indexes": { | ||
| 637 | "openapi_oauth_session_scope_id_idx": { | ||
| 638 | "name": "openapi_oauth_session_scope_id_idx", | ||
| 639 | "columns": [ | ||
| 640 | { | ||
| 641 | "expression": "scope_id", | ||
| 642 | "isExpression": false, | ||
| 643 | "asc": true, | ||
| 644 | "nulls": "last" | ||
| 645 | } | ||
| 646 | ], | ||
| 647 | "isUnique": false, | ||
| 648 | "concurrently": false, | ||
| 649 | "method": "btree", | ||
| 650 | "with": {} | ||
| 651 | } | ||
| 652 | }, | ||
| 653 | "foreignKeys": {}, | ||
| 654 | "compositePrimaryKeys": { | ||
| 655 | "openapi_oauth_session_scope_id_id_pk": { | ||
| 656 | "name": "openapi_oauth_session_scope_id_id_pk", | ||
| 657 | "columns": ["scope_id", "id"] | ||
| 658 | } | ||
| 659 | }, | ||
| 660 | "uniqueConstraints": {}, | ||
| 661 | "policies": {}, | ||
| 662 | "checkConstraints": {}, | ||
| 663 | "isRLSEnabled": false | ||
| 664 | }, | ||
| 665 | "public.openapi_operation": { | ||
| 666 | "name": "openapi_operation", | ||
| 667 | "schema": "", | ||
| 668 | "columns": { | ||
| 669 | "id": { | ||
| 670 | "name": "id", | ||
| 671 | "type": "text", | ||
| 672 | "primaryKey": false, | ||
| 673 | "notNull": true | ||
| 674 | }, | ||
| 675 | "scope_id": { | ||
| 676 | "name": "scope_id", | ||
| 677 | "type": "text", | ||
| 678 | "primaryKey": false, | ||
| 679 | "notNull": true | ||
| 680 | }, | ||
| 681 | "source_id": { | ||
| 682 | "name": "source_id", | ||
| 683 | "type": "text", | ||
| 684 | "primaryKey": false, | ||
| 685 | "notNull": true | ||
| 686 | }, | ||
| 687 | "binding": { | ||
| 688 | "name": "binding", | ||
| 689 | "type": "jsonb", | ||
| 690 | "primaryKey": false, | ||
| 691 | "notNull": true | ||
| 692 | } | ||
| 693 | }, | ||
| 694 | "indexes": { | ||
| 695 | "openapi_operation_scope_id_idx": { | ||
| 696 | "name": "openapi_operation_scope_id_idx", | ||
| 697 | "columns": [ | ||
| 698 | { | ||
| 699 | "expression": "scope_id", | ||
| 700 | "isExpression": false, | ||
| 701 | "asc": true, | ||
| 702 | "nulls": "last" | ||
| 703 | } | ||
| 704 | ], | ||
| 705 | "isUnique": false, | ||
| 706 | "concurrently": false, | ||
| 707 | "method": "btree", | ||
| 708 | "with": {} | ||
| 709 | }, | ||
| 710 | "openapi_operation_source_id_idx": { | ||
| 711 | "name": "openapi_operation_source_id_idx", | ||
| 712 | "columns": [ | ||
| 713 | { | ||
| 714 | "expression": "source_id", | ||
| 715 | "isExpression": false, | ||
| 716 | "asc": true, | ||
| 717 | "nulls": "last" | ||
| 718 | } | ||
| 719 | ], | ||
| 720 | "isUnique": false, | ||
| 721 | "concurrently": false, | ||
| 722 | "method": "btree", | ||
| 723 | "with": {} | ||
| 724 | } | ||
| 725 | }, | ||
| 726 | "foreignKeys": {}, | ||
| 727 | "compositePrimaryKeys": { | ||
| 728 | "openapi_operation_scope_id_id_pk": { | ||
| 729 | "name": "openapi_operation_scope_id_id_pk", | ||
| 730 | "columns": ["scope_id", "id"] | ||
| 731 | } | ||
| 732 | }, | ||
| 733 | "uniqueConstraints": {}, | ||
| 734 | "policies": {}, | ||
| 735 | "checkConstraints": {}, | ||
| 736 | "isRLSEnabled": false | ||
| 737 | }, | ||
| 738 | "public.openapi_source": { | ||
| 739 | "name": "openapi_source", | ||
| 740 | "schema": "", | ||
| 741 | "columns": { | ||
| 742 | "id": { | ||
| 743 | "name": "id", | ||
| 744 | "type": "text", | ||
| 745 | "primaryKey": false, | ||
| 746 | "notNull": true | ||
| 747 | }, | ||
| 748 | "scope_id": { | ||
| 749 | "name": "scope_id", | ||
| 750 | "type": "text", | ||
| 751 | "primaryKey": false, | ||
| 752 | "notNull": true | ||
| 753 | }, | ||
| 754 | "name": { | ||
| 755 | "name": "name", | ||
| 756 | "type": "text", | ||
| 757 | "primaryKey": false, | ||
| 758 | "notNull": true | ||
| 759 | }, | ||
| 760 | "spec": { | ||
| 761 | "name": "spec", | ||
| 762 | "type": "text", | ||
| 763 | "primaryKey": false, | ||
| 764 | "notNull": true | ||
| 765 | }, | ||
| 766 | "source_url": { | ||
| 767 | "name": "source_url", | ||
| 768 | "type": "text", | ||
| 769 | "primaryKey": false, | ||
| 770 | "notNull": false | ||
| 771 | }, | ||
| 772 | "base_url": { | ||
| 773 | "name": "base_url", | ||
| 774 | "type": "text", | ||
| 775 | "primaryKey": false, | ||
| 776 | "notNull": false | ||
| 777 | }, | ||
| 778 | "headers": { | ||
| 779 | "name": "headers", | ||
| 780 | "type": "jsonb", | ||
| 781 | "primaryKey": false, | ||
| 782 | "notNull": false | ||
| 783 | }, | ||
| 784 | "oauth2": { | ||
| 785 | "name": "oauth2", | ||
| 786 | "type": "jsonb", | ||
| 787 | "primaryKey": false, | ||
| 788 | "notNull": false | ||
| 789 | }, | ||
| 790 | "invocation_config": { | ||
| 791 | "name": "invocation_config", | ||
| 792 | "type": "jsonb", | ||
| 793 | "primaryKey": false, | ||
| 794 | "notNull": true | ||
| 795 | } | ||
| 796 | }, | ||
| 797 | "indexes": { | ||
| 798 | "openapi_source_scope_id_idx": { | ||
| 799 | "name": "openapi_source_scope_id_idx", | ||
| 800 | "columns": [ | ||
| 801 | { | ||
| 802 | "expression": "scope_id", | ||
| 803 | "isExpression": false, | ||
| 804 | "asc": true, | ||
| 805 | "nulls": "last" | ||
| 806 | } | ||
| 807 | ], | ||
| 808 | "isUnique": false, | ||
| 809 | "concurrently": false, | ||
| 810 | "method": "btree", | ||
| 811 | "with": {} | ||
| 812 | } | ||
| 813 | }, | ||
| 814 | "foreignKeys": {}, | ||
| 815 | "compositePrimaryKeys": { | ||
| 816 | "openapi_source_scope_id_id_pk": { | ||
| 817 | "name": "openapi_source_scope_id_id_pk", | ||
| 818 | "columns": ["scope_id", "id"] | ||
| 819 | } | ||
| 820 | }, | ||
| 821 | "uniqueConstraints": {}, | ||
| 822 | "policies": {}, | ||
| 823 | "checkConstraints": {}, | ||
| 824 | "isRLSEnabled": false | ||
| 825 | }, | ||
| 826 | "public.secret": { | ||
| 827 | "name": "secret", | ||
| 828 | "schema": "", | ||
| 829 | "columns": { | ||
| 830 | "id": { | ||
| 831 | "name": "id", | ||
| 832 | "type": "text", | ||
| 833 | "primaryKey": false, | ||
| 834 | "notNull": true | ||
| 835 | }, | ||
| 836 | "scope_id": { | ||
| 837 | "name": "scope_id", | ||
| 838 | "type": "text", | ||
| 839 | "primaryKey": false, | ||
| 840 | "notNull": true | ||
| 841 | }, | ||
| 842 | "name": { | ||
| 843 | "name": "name", | ||
| 844 | "type": "text", | ||
| 845 | "primaryKey": false, | ||
| 846 | "notNull": true | ||
| 847 | }, | ||
| 848 | "provider": { | ||
| 849 | "name": "provider", | ||
| 850 | "type": "text", | ||
| 851 | "primaryKey": false, | ||
| 852 | "notNull": true | ||
| 853 | }, | ||
| 854 | "created_at": { | ||
| 855 | "name": "created_at", | ||
| 856 | "type": "timestamp", | ||
| 857 | "primaryKey": false, | ||
| 858 | "notNull": true | ||
| 859 | } | ||
| 860 | }, | ||
| 861 | "indexes": { | ||
| 862 | "secret_scope_id_idx": { | ||
| 863 | "name": "secret_scope_id_idx", | ||
| 864 | "columns": [ | ||
| 865 | { | ||
| 866 | "expression": "scope_id", | ||
| 867 | "isExpression": false, | ||
| 868 | "asc": true, | ||
| 869 | "nulls": "last" | ||
| 870 | } | ||
| 871 | ], | ||
| 872 | "isUnique": false, | ||
| 873 | "concurrently": false, | ||
| 874 | "method": "btree", | ||
| 875 | "with": {} | ||
| 876 | }, | ||
| 877 | "secret_provider_idx": { | ||
| 878 | "name": "secret_provider_idx", | ||
| 879 | "columns": [ | ||
| 880 | { | ||
| 881 | "expression": "provider", | ||
| 882 | "isExpression": false, | ||
| 883 | "asc": true, | ||
| 884 | "nulls": "last" | ||
| 885 | } | ||
| 886 | ], | ||
| 887 | "isUnique": false, | ||
| 888 | "concurrently": false, | ||
| 889 | "method": "btree", | ||
| 890 | "with": {} | ||
| 891 | } | ||
| 892 | }, | ||
| 893 | "foreignKeys": {}, | ||
| 894 | "compositePrimaryKeys": { | ||
| 895 | "secret_scope_id_id_pk": { | ||
| 896 | "name": "secret_scope_id_id_pk", | ||
| 897 | "columns": ["scope_id", "id"] | ||
| 898 | } | ||
| 899 | }, | ||
| 900 | "uniqueConstraints": {}, | ||
| 901 | "policies": {}, | ||
| 902 | "checkConstraints": {}, | ||
| 903 | "isRLSEnabled": false | ||
| 904 | }, | ||
| 905 | "public.source": { | ||
| 906 | "name": "source", | ||
| 907 | "schema": "", | ||
| 908 | "columns": { | ||
| 909 | "id": { | ||
| 910 | "name": "id", | ||
| 911 | "type": "text", | ||
| 912 | "primaryKey": false, | ||
| 913 | "notNull": true | ||
| 914 | }, | ||
| 915 | "scope_id": { | ||
| 916 | "name": "scope_id", | ||
| 917 | "type": "text", | ||
| 918 | "primaryKey": false, | ||
| 919 | "notNull": true | ||
| 920 | }, | ||
| 921 | "plugin_id": { | ||
| 922 | "name": "plugin_id", | ||
| 923 | "type": "text", | ||
| 924 | "primaryKey": false, | ||
| 925 | "notNull": true | ||
| 926 | }, | ||
| 927 | "kind": { | ||
| 928 | "name": "kind", | ||
| 929 | "type": "text", | ||
| 930 | "primaryKey": false, | ||
| 931 | "notNull": true | ||
| 932 | }, | ||
| 933 | "name": { | ||
| 934 | "name": "name", | ||
| 935 | "type": "text", | ||
| 936 | "primaryKey": false, | ||
| 937 | "notNull": true | ||
| 938 | }, | ||
| 939 | "url": { | ||
| 940 | "name": "url", | ||
| 941 | "type": "text", | ||
| 942 | "primaryKey": false, | ||
| 943 | "notNull": false | ||
| 944 | }, | ||
| 945 | "can_remove": { | ||
| 946 | "name": "can_remove", | ||
| 947 | "type": "boolean", | ||
| 948 | "primaryKey": false, | ||
| 949 | "notNull": true, | ||
| 950 | "default": true | ||
| 951 | }, | ||
| 952 | "can_refresh": { | ||
| 953 | "name": "can_refresh", | ||
| 954 | "type": "boolean", | ||
| 955 | "primaryKey": false, | ||
| 956 | "notNull": true, | ||
| 957 | "default": false | ||
| 958 | }, | ||
| 959 | "can_edit": { | ||
| 960 | "name": "can_edit", | ||
| 961 | "type": "boolean", | ||
| 962 | "primaryKey": false, | ||
| 963 | "notNull": true, | ||
| 964 | "default": false | ||
| 965 | }, | ||
| 966 | "created_at": { | ||
| 967 | "name": "created_at", | ||
| 968 | "type": "timestamp", | ||
| 969 | "primaryKey": false, | ||
| 970 | "notNull": true | ||
| 971 | }, | ||
| 972 | "updated_at": { | ||
| 973 | "name": "updated_at", | ||
| 974 | "type": "timestamp", | ||
| 975 | "primaryKey": false, | ||
| 976 | "notNull": true | ||
| 977 | } | ||
| 978 | }, | ||
| 979 | "indexes": { | ||
| 980 | "source_scope_id_idx": { | ||
| 981 | "name": "source_scope_id_idx", | ||
| 982 | "columns": [ | ||
| 983 | { | ||
| 984 | "expression": "scope_id", | ||
| 985 | "isExpression": false, | ||
| 986 | "asc": true, | ||
| 987 | "nulls": "last" | ||
| 988 | } | ||
| 989 | ], | ||
| 990 | "isUnique": false, | ||
| 991 | "concurrently": false, | ||
| 992 | "method": "btree", | ||
| 993 | "with": {} | ||
| 994 | }, | ||
| 995 | "source_plugin_id_idx": { | ||
| 996 | "name": "source_plugin_id_idx", | ||
| 997 | "columns": [ | ||
| 998 | { | ||
| 999 | "expression": "plugin_id", | ||
| 1000 | "isExpression": false, | ||
| 1001 | "asc": true, | ||
| 1002 | "nulls": "last" | ||
| 1003 | } | ||
| 1004 | ], | ||
| 1005 | "isUnique": false, | ||
| 1006 | "concurrently": false, | ||
| 1007 | "method": "btree", | ||
| 1008 | "with": {} | ||
| 1009 | } | ||
| 1010 | }, | ||
| 1011 | "foreignKeys": {}, | ||
| 1012 | "compositePrimaryKeys": { | ||
| 1013 | "source_scope_id_id_pk": { | ||
| 1014 | "name": "source_scope_id_id_pk", | ||
| 1015 | "columns": ["scope_id", "id"] | ||
| 1016 | } | ||
| 1017 | }, | ||
| 1018 | "uniqueConstraints": {}, | ||
| 1019 | "policies": {}, | ||
| 1020 | "checkConstraints": {}, | ||
| 1021 | "isRLSEnabled": false | ||
| 1022 | }, | ||
| 1023 | "public.tool": { | ||
| 1024 | "name": "tool", | ||
| 1025 | "schema": "", | ||
| 1026 | "columns": { | ||
| 1027 | "id": { | ||
| 1028 | "name": "id", | ||
| 1029 | "type": "text", | ||
| 1030 | "primaryKey": false, | ||
| 1031 | "notNull": true | ||
| 1032 | }, | ||
| 1033 | "scope_id": { | ||
| 1034 | "name": "scope_id", | ||
| 1035 | "type": "text", | ||
| 1036 | "primaryKey": false, | ||
| 1037 | "notNull": true | ||
| 1038 | }, | ||
| 1039 | "source_id": { | ||
| 1040 | "name": "source_id", | ||
| 1041 | "type": "text", | ||
| 1042 | "primaryKey": false, | ||
| 1043 | "notNull": true | ||
| 1044 | }, | ||
| 1045 | "plugin_id": { | ||
| 1046 | "name": "plugin_id", | ||
| 1047 | "type": "text", | ||
| 1048 | "primaryKey": false, | ||
| 1049 | "notNull": true | ||
| 1050 | }, | ||
| 1051 | "name": { | ||
| 1052 | "name": "name", | ||
| 1053 | "type": "text", | ||
| 1054 | "primaryKey": false, | ||
| 1055 | "notNull": true | ||
| 1056 | }, | ||
| 1057 | "description": { | ||
| 1058 | "name": "description", | ||
| 1059 | "type": "text", | ||
| 1060 | "primaryKey": false, | ||
| 1061 | "notNull": true | ||
| 1062 | }, | ||
| 1063 | "input_schema": { | ||
| 1064 | "name": "input_schema", | ||
| 1065 | "type": "jsonb", | ||
| 1066 | "primaryKey": false, | ||
| 1067 | "notNull": false | ||
| 1068 | }, | ||
| 1069 | "output_schema": { | ||
| 1070 | "name": "output_schema", | ||
| 1071 | "type": "jsonb", | ||
| 1072 | "primaryKey": false, | ||
| 1073 | "notNull": false | ||
| 1074 | }, | ||
| 1075 | "created_at": { | ||
| 1076 | "name": "created_at", | ||
| 1077 | "type": "timestamp", | ||
| 1078 | "primaryKey": false, | ||
| 1079 | "notNull": true | ||
| 1080 | }, | ||
| 1081 | "updated_at": { | ||
| 1082 | "name": "updated_at", | ||
| 1083 | "type": "timestamp", | ||
| 1084 | "primaryKey": false, | ||
| 1085 | "notNull": true | ||
| 1086 | } | ||
| 1087 | }, | ||
| 1088 | "indexes": { | ||
| 1089 | "tool_scope_id_idx": { | ||
| 1090 | "name": "tool_scope_id_idx", | ||
| 1091 | "columns": [ | ||
| 1092 | { | ||
| 1093 | "expression": "scope_id", | ||
| 1094 | "isExpression": false, | ||
| 1095 | "asc": true, | ||
| 1096 | "nulls": "last" | ||
| 1097 | } | ||
| 1098 | ], | ||
| 1099 | "isUnique": false, | ||
| 1100 | "concurrently": false, | ||
| 1101 | "method": "btree", | ||
| 1102 | "with": {} | ||
| 1103 | }, | ||
| 1104 | "tool_source_id_idx": { | ||
| 1105 | "name": "tool_source_id_idx", | ||
| 1106 | "columns": [ | ||
| 1107 | { | ||
| 1108 | "expression": "source_id", | ||
| 1109 | "isExpression": false, | ||
| 1110 | "asc": true, | ||
| 1111 | "nulls": "last" | ||
| 1112 | } | ||
| 1113 | ], | ||
| 1114 | "isUnique": false, | ||
| 1115 | "concurrently": false, | ||
| 1116 | "method": "btree", | ||
| 1117 | "with": {} | ||
| 1118 | }, | ||
| 1119 | "tool_plugin_id_idx": { | ||
| 1120 | "name": "tool_plugin_id_idx", | ||
| 1121 | "columns": [ | ||
| 1122 | { | ||
| 1123 | "expression": "plugin_id", | ||
| 1124 | "isExpression": false, | ||
| 1125 | "asc": true, | ||
| 1126 | "nulls": "last" | ||
| 1127 | } | ||
| 1128 | ], | ||
| 1129 | "isUnique": false, | ||
| 1130 | "concurrently": false, | ||
| 1131 | "method": "btree", | ||
| 1132 | "with": {} | ||
| 1133 | } | ||
| 1134 | }, | ||
| 1135 | "foreignKeys": {}, | ||
| 1136 | "compositePrimaryKeys": { | ||
| 1137 | "tool_scope_id_id_pk": { | ||
| 1138 | "name": "tool_scope_id_id_pk", | ||
| 1139 | "columns": ["scope_id", "id"] | ||
| 1140 | } | ||
| 1141 | }, | ||
| 1142 | "uniqueConstraints": {}, | ||
| 1143 | "policies": {}, | ||
| 1144 | "checkConstraints": {}, | ||
| 1145 | "isRLSEnabled": false | ||
| 1146 | }, | ||
| 1147 | "public.workos_vault_metadata": { | ||
| 1148 | "name": "workos_vault_metadata", | ||
| 1149 | "schema": "", | ||
| 1150 | "columns": { | ||
| 1151 | "id": { | ||
| 1152 | "name": "id", | ||
| 1153 | "type": "text", | ||
| 1154 | "primaryKey": false, | ||
| 1155 | "notNull": true | ||
| 1156 | }, | ||
| 1157 | "scope_id": { | ||
| 1158 | "name": "scope_id", | ||
| 1159 | "type": "text", | ||
| 1160 | "primaryKey": false, | ||
| 1161 | "notNull": true | ||
| 1162 | }, | ||
| 1163 | "name": { | ||
| 1164 | "name": "name", | ||
| 1165 | "type": "text", | ||
| 1166 | "primaryKey": false, | ||
| 1167 | "notNull": true | ||
| 1168 | }, | ||
| 1169 | "purpose": { | ||
| 1170 | "name": "purpose", | ||
| 1171 | "type": "text", | ||
| 1172 | "primaryKey": false, | ||
| 1173 | "notNull": false | ||
| 1174 | }, | ||
| 1175 | "created_at": { | ||
| 1176 | "name": "created_at", | ||
| 1177 | "type": "timestamp", | ||
| 1178 | "primaryKey": false, | ||
| 1179 | "notNull": true | ||
| 1180 | } | ||
| 1181 | }, | ||
| 1182 | "indexes": { | ||
| 1183 | "workos_vault_metadata_scope_id_idx": { | ||
| 1184 | "name": "workos_vault_metadata_scope_id_idx", | ||
| 1185 | "columns": [ | ||
| 1186 | { | ||
| 1187 | "expression": "scope_id", | ||
| 1188 | "isExpression": false, | ||
| 1189 | "asc": true, | ||
| 1190 | "nulls": "last" | ||
| 1191 | } | ||
| 1192 | ], | ||
| 1193 | "isUnique": false, | ||
| 1194 | "concurrently": false, | ||
| 1195 | "method": "btree", | ||
| 1196 | "with": {} | ||
| 1197 | } | ||
| 1198 | }, | ||
| 1199 | "foreignKeys": {}, | ||
| 1200 | "compositePrimaryKeys": { | ||
| 1201 | "workos_vault_metadata_scope_id_id_pk": { | ||
| 1202 | "name": "workos_vault_metadata_scope_id_id_pk", | ||
| 1203 | "columns": ["scope_id", "id"] | ||
| 1204 | } | ||
| 1205 | }, | ||
| 1206 | "uniqueConstraints": {}, | ||
| 1207 | "policies": {}, | ||
| 1208 | "checkConstraints": {}, | ||
| 1209 | "isRLSEnabled": false | ||
| 1210 | } | ||
| 1211 | }, | ||
| 1212 | "enums": {}, | ||
| 1213 | "schemas": {}, | ||
| 1214 | "sequences": {}, | ||
| 1215 | "roles": {}, | ||
| 1216 | "policies": {}, | ||
| 1217 | "views": {}, | ||
| 1218 | "_meta": { | ||
| 1219 | "columns": {}, | ||
| 1220 | "schemas": {}, | ||
| 1221 | "tables": {} | ||
| 1222 | } | ||
| 1223 | } | ||
| @@ -1,1365 +0,0 @@ | |||
| 1 | { | ||
| 2 | "id": "09d08343-8162-4e6b-91ab-ce0a9d6bad10", | ||
| 3 | "prevId": "f029f809-1bf3-46e0-a31b-82df7c9c7171", | ||
| 4 | "version": "7", | ||
| 5 | "dialect": "postgresql", | ||
| 6 | "tables": { | ||
| 7 | "public.accounts": { | ||
| 8 | "name": "accounts", | ||
| 9 | "schema": "", | ||
| 10 | "columns": { | ||
| 11 | "id": { | ||
| 12 | "name": "id", | ||
| 13 | "type": "text", | ||
| 14 | "primaryKey": true, | ||
| 15 | "notNull": true | ||
| 16 | }, | ||
| 17 | "created_at": { | ||
| 18 | "name": "created_at", | ||
| 19 | "type": "timestamp with time zone", | ||
| 20 | "primaryKey": false, | ||
| 21 | "notNull": true, | ||
| 22 | "default": "now()" | ||
| 23 | } | ||
| 24 | }, | ||
| 25 | "indexes": {}, | ||
| 26 | "foreignKeys": {}, | ||
| 27 | "compositePrimaryKeys": {}, | ||
| 28 | "uniqueConstraints": {}, | ||
| 29 | "policies": {}, | ||
| 30 | "checkConstraints": {}, | ||
| 31 | "isRLSEnabled": false | ||
| 32 | }, | ||
| 33 | "public.memberships": { | ||
| 34 | "name": "memberships", | ||
| 35 | "schema": "", | ||
| 36 | "columns": { | ||
| 37 | "account_id": { | ||
| 38 | "name": "account_id", | ||
| 39 | "type": "text", | ||
| 40 | "primaryKey": false, | ||
| 41 | "notNull": true | ||
| 42 | }, | ||
| 43 | "organization_id": { | ||
| 44 | "name": "organization_id", | ||
| 45 | "type": "text", | ||
| 46 | "primaryKey": false, | ||
| 47 | "notNull": true | ||
| 48 | }, | ||
| 49 | "created_at": { | ||
| 50 | "name": "created_at", | ||
| 51 | "type": "timestamp with time zone", | ||
| 52 | "primaryKey": false, | ||
| 53 | "notNull": true, | ||
| 54 | "default": "now()" | ||
| 55 | } | ||
| 56 | }, | ||
| 57 | "indexes": {}, | ||
| 58 | "foreignKeys": { | ||
| 59 | "memberships_account_id_accounts_id_fk": { | ||
| 60 | "name": "memberships_account_id_accounts_id_fk", | ||
| 61 | "tableFrom": "memberships", | ||
| 62 | "tableTo": "accounts", | ||
| 63 | "columnsFrom": ["account_id"], | ||
| 64 | "columnsTo": ["id"], | ||
| 65 | "onDelete": "cascade", | ||
| 66 | "onUpdate": "no action" | ||
| 67 | }, | ||
| 68 | "memberships_organization_id_organizations_id_fk": { | ||
| 69 | "name": "memberships_organization_id_organizations_id_fk", | ||
| 70 | "tableFrom": "memberships", | ||
| 71 | "tableTo": "organizations", | ||
| 72 | "columnsFrom": ["organization_id"], | ||
| 73 | "columnsTo": ["id"], | ||
| 74 | "onDelete": "cascade", | ||
| 75 | "onUpdate": "no action" | ||
| 76 | } | ||
| 77 | }, | ||
| 78 | "compositePrimaryKeys": { | ||
| 79 | "memberships_account_id_organization_id_pk": { | ||
| 80 | "name": "memberships_account_id_organization_id_pk", | ||
| 81 | "columns": ["account_id", "organization_id"] | ||
| 82 | } | ||
| 83 | }, | ||
| 84 | "uniqueConstraints": {}, | ||
| 85 | "policies": {}, | ||
| 86 | "checkConstraints": {}, | ||
| 87 | "isRLSEnabled": false | ||
| 88 | }, | ||
| 89 | "public.organizations": { | ||
| 90 | "name": "organizations", | ||
| 91 | "schema": "", | ||
| 92 | "columns": { | ||
| 93 | "id": { | ||
| 94 | "name": "id", | ||
| 95 | "type": "text", | ||
| 96 | "primaryKey": true, | ||
| 97 | "notNull": true | ||
| 98 | }, | ||
| 99 | "name": { | ||
| 100 | "name": "name", | ||
| 101 | "type": "text", | ||
| 102 | "primaryKey": false, | ||
| 103 | "notNull": true | ||
| 104 | }, | ||
| 105 | "created_at": { | ||
| 106 | "name": "created_at", | ||
| 107 | "type": "timestamp with time zone", | ||
| 108 | "primaryKey": false, | ||
| 109 | "notNull": true, | ||
| 110 | "default": "now()" | ||
| 111 | } | ||
| 112 | }, | ||
| 113 | "indexes": {}, | ||
| 114 | "foreignKeys": {}, | ||
| 115 | "compositePrimaryKeys": {}, | ||
| 116 | "uniqueConstraints": {}, | ||
| 117 | "policies": {}, | ||
| 118 | "checkConstraints": {}, | ||
| 119 | "isRLSEnabled": false | ||
| 120 | }, | ||
| 121 | "public.blob": { | ||
| 122 | "name": "blob", | ||
| 123 | "schema": "", | ||
| 124 | "columns": { | ||
| 125 | "namespace": { | ||
| 126 | "name": "namespace", | ||
| 127 | "type": "text", | ||
| 128 | "primaryKey": false, | ||
| 129 | "notNull": true | ||
| 130 | }, | ||
| 131 | "key": { | ||
| 132 | "name": "key", | ||
| 133 | "type": "text", | ||
| 134 | "primaryKey": false, | ||
| 135 | "notNull": true | ||
| 136 | }, | ||
| 137 | "value": { | ||
| 138 | "name": "value", | ||
| 139 | "type": "text", | ||
| 140 | "primaryKey": false, | ||
| 141 | "notNull": true | ||
| 142 | } | ||
| 143 | }, | ||
| 144 | "indexes": {}, | ||
| 145 | "foreignKeys": {}, | ||
| 146 | "compositePrimaryKeys": { | ||
| 147 | "blob_namespace_key_pk": { | ||
| 148 | "name": "blob_namespace_key_pk", | ||
| 149 | "columns": ["namespace", "key"] | ||
| 150 | } | ||
| 151 | }, | ||
| 152 | "uniqueConstraints": {}, | ||
| 153 | "policies": {}, | ||
| 154 | "checkConstraints": {}, | ||
| 155 | "isRLSEnabled": false | ||
| 156 | }, | ||
| 157 | "public.connection": { | ||
| 158 | "name": "connection", | ||
| 159 | "schema": "", | ||
| 160 | "columns": { | ||
| 161 | "id": { | ||
| 162 | "name": "id", | ||
| 163 | "type": "text", | ||
| 164 | "primaryKey": false, | ||
| 165 | "notNull": true | ||
| 166 | }, | ||
| 167 | "scope_id": { | ||
| 168 | "name": "scope_id", | ||
| 169 | "type": "text", | ||
| 170 | "primaryKey": false, | ||
| 171 | "notNull": true | ||
| 172 | }, | ||
| 173 | "provider": { | ||
| 174 | "name": "provider", | ||
| 175 | "type": "text", | ||
| 176 | "primaryKey": false, | ||
| 177 | "notNull": true | ||
| 178 | }, | ||
| 179 | "kind": { | ||
| 180 | "name": "kind", | ||
| 181 | "type": "text", | ||
| 182 | "primaryKey": false, | ||
| 183 | "notNull": true | ||
| 184 | }, | ||
| 185 | "identity_label": { | ||
| 186 | "name": "identity_label", | ||
| 187 | "type": "text", | ||
| 188 | "primaryKey": false, | ||
| 189 | "notNull": false | ||
| 190 | }, | ||
| 191 | "access_token_secret_id": { | ||
| 192 | "name": "access_token_secret_id", | ||
| 193 | "type": "text", | ||
| 194 | "primaryKey": false, | ||
| 195 | "notNull": true | ||
| 196 | }, | ||
| 197 | "refresh_token_secret_id": { | ||
| 198 | "name": "refresh_token_secret_id", | ||
| 199 | "type": "text", | ||
| 200 | "primaryKey": false, | ||
| 201 | "notNull": false | ||
| 202 | }, | ||
| 203 | "expires_at": { | ||
| 204 | "name": "expires_at", | ||
| 205 | "type": "bigint", | ||
| 206 | "primaryKey": false, | ||
| 207 | "notNull": false | ||
| 208 | }, | ||
| 209 | "scope": { | ||
| 210 | "name": "scope", | ||
| 211 | "type": "text", | ||
| 212 | "primaryKey": false, | ||
| 213 | "notNull": false | ||
| 214 | }, | ||
| 215 | "provider_state": { | ||
| 216 | "name": "provider_state", | ||
| 217 | "type": "jsonb", | ||
| 218 | "primaryKey": false, | ||
| 219 | "notNull": false | ||
| 220 | }, | ||
| 221 | "created_at": { | ||
| 222 | "name": "created_at", | ||
| 223 | "type": "timestamp", | ||
| 224 | "primaryKey": false, | ||
| 225 | "notNull": true | ||
| 226 | }, | ||
| 227 | "updated_at": { | ||
| 228 | "name": "updated_at", | ||
| 229 | "type": "timestamp", | ||
| 230 | "primaryKey": false, | ||
| 231 | "notNull": true | ||
| 232 | } | ||
| 233 | }, | ||
| 234 | "indexes": { | ||
| 235 | "connection_scope_id_idx": { | ||
| 236 | "name": "connection_scope_id_idx", | ||
| 237 | "columns": [ | ||
| 238 | { | ||
| 239 | "expression": "scope_id", | ||
| 240 | "isExpression": false, | ||
| 241 | "asc": true, | ||
| 242 | "nulls": "last" | ||
| 243 | } | ||
| 244 | ], | ||
| 245 | "isUnique": false, | ||
| 246 | "concurrently": false, | ||
| 247 | "method": "btree", | ||
| 248 | "with": {} | ||
| 249 | }, | ||
| 250 | "connection_provider_idx": { | ||
| 251 | "name": "connection_provider_idx", | ||
| 252 | "columns": [ | ||
| 253 | { | ||
| 254 | "expression": "provider", | ||
| 255 | "isExpression": false, | ||
| 256 | "asc": true, | ||
| 257 | "nulls": "last" | ||
| 258 | } | ||
| 259 | ], | ||
| 260 | "isUnique": false, | ||
| 261 | "concurrently": false, | ||
| 262 | "method": "btree", | ||
| 263 | "with": {} | ||
| 264 | } | ||
| 265 | }, | ||
| 266 | "foreignKeys": {}, | ||
| 267 | "compositePrimaryKeys": { | ||
| 268 | "connection_scope_id_id_pk": { | ||
| 269 | "name": "connection_scope_id_id_pk", | ||
| 270 | "columns": ["scope_id", "id"] | ||
| 271 | } | ||
| 272 | }, | ||
| 273 | "uniqueConstraints": {}, | ||
| 274 | "policies": {}, | ||
| 275 | "checkConstraints": {}, | ||
| 276 | "isRLSEnabled": false | ||
| 277 | }, | ||
| 278 | "public.definition": { | ||
| 279 | "name": "definition", | ||
| 280 | "schema": "", | ||
| 281 | "columns": { | ||
| 282 | "id": { | ||
| 283 | "name": "id", | ||
| 284 | "type": "text", | ||
| 285 | "primaryKey": false, | ||
| 286 | "notNull": true | ||
| 287 | }, | ||
| 288 | "scope_id": { | ||
| 289 | "name": "scope_id", | ||
| 290 | "type": "text", | ||
| 291 | "primaryKey": false, | ||
| 292 | "notNull": true | ||
| 293 | }, | ||
| 294 | "source_id": { | ||
| 295 | "name": "source_id", | ||
| 296 | "type": "text", | ||
| 297 | "primaryKey": false, | ||
| 298 | "notNull": true | ||
| 299 | }, | ||
| 300 | "plugin_id": { | ||
| 301 | "name": "plugin_id", | ||
| 302 | "type": "text", | ||
| 303 | "primaryKey": false, | ||
| 304 | "notNull": true | ||
| 305 | }, | ||
| 306 | "name": { | ||
| 307 | "name": "name", | ||
| 308 | "type": "text", | ||
| 309 | "primaryKey": false, | ||
| 310 | "notNull": true | ||
| 311 | }, | ||
| 312 | "schema": { | ||
| 313 | "name": "schema", | ||
| 314 | "type": "jsonb", | ||
| 315 | "primaryKey": false, | ||
| 316 | "notNull": true | ||
| 317 | }, | ||
| 318 | "created_at": { | ||
| 319 | "name": "created_at", | ||
| 320 | "type": "timestamp", | ||
| 321 | "primaryKey": false, | ||
| 322 | "notNull": true | ||
| 323 | } | ||
| 324 | }, | ||
| 325 | "indexes": { | ||
| 326 | "definition_scope_id_idx": { | ||
| 327 | "name": "definition_scope_id_idx", | ||
| 328 | "columns": [ | ||
| 329 | { | ||
| 330 | "expression": "scope_id", | ||
| 331 | "isExpression": false, | ||
| 332 | "asc": true, | ||
| 333 | "nulls": "last" | ||
| 334 | } | ||
| 335 | ], | ||
| 336 | "isUnique": false, | ||
| 337 | "concurrently": false, | ||
| 338 | "method": "btree", | ||
| 339 | "with": {} | ||
| 340 | }, | ||
| 341 | "definition_source_id_idx": { | ||
| 342 | "name": "definition_source_id_idx", | ||
| 343 | "columns": [ | ||
| 344 | { | ||
| 345 | "expression": "source_id", | ||
| 346 | "isExpression": false, | ||
| 347 | "asc": true, | ||
| 348 | "nulls": "last" | ||
| 349 | } | ||
| 350 | ], | ||
| 351 | "isUnique": false, | ||
| 352 | "concurrently": false, | ||
| 353 | "method": "btree", | ||
| 354 | "with": {} | ||
| 355 | }, | ||
| 356 | "definition_plugin_id_idx": { | ||
| 357 | "name": "definition_plugin_id_idx", | ||
| 358 | "columns": [ | ||
| 359 | { | ||
| 360 | "expression": "plugin_id", | ||
| 361 | "isExpression": false, | ||
| 362 | "asc": true, | ||
| 363 | "nulls": "last" | ||
| 364 | } | ||
| 365 | ], | ||
| 366 | "isUnique": false, | ||
| 367 | "concurrently": false, | ||
| 368 | "method": "btree", | ||
| 369 | "with": {} | ||
| 370 | } | ||
| 371 | }, | ||
| 372 | "foreignKeys": {}, | ||
| 373 | "compositePrimaryKeys": { | ||
| 374 | "definition_scope_id_id_pk": { | ||
| 375 | "name": "definition_scope_id_id_pk", | ||
| 376 | "columns": ["scope_id", "id"] | ||
| 377 | } | ||
| 378 | }, | ||
| 379 | "uniqueConstraints": {}, | ||
| 380 | "policies": {}, | ||
| 381 | "checkConstraints": {}, | ||
| 382 | "isRLSEnabled": false | ||
| 383 | }, | ||
| 384 | "public.graphql_operation": { | ||
| 385 | "name": "graphql_operation", | ||
| 386 | "schema": "", | ||
| 387 | "columns": { | ||
| 388 | "id": { | ||
| 389 | "name": "id", | ||
| 390 | "type": "text", | ||
| 391 | "primaryKey": false, | ||
| 392 | "notNull": true | ||
| 393 | }, | ||
| 394 | "scope_id": { | ||
| 395 | "name": "scope_id", | ||
| 396 | "type": "text", | ||
| 397 | "primaryKey": false, | ||
| 398 | "notNull": true | ||
| 399 | }, | ||
| 400 | "source_id": { | ||
| 401 | "name": "source_id", | ||
| 402 | "type": "text", | ||
| 403 | "primaryKey": false, | ||
| 404 | "notNull": true | ||
| 405 | }, | ||
| 406 | "binding": { | ||
| 407 | "name": "binding", | ||
| 408 | "type": "jsonb", | ||
| 409 | "primaryKey": false, | ||
| 410 | "notNull": true | ||
| 411 | } | ||
| 412 | }, | ||
| 413 | "indexes": { | ||
| 414 | "graphql_operation_scope_id_idx": { | ||
| 415 | "name": "graphql_operation_scope_id_idx", | ||
| 416 | "columns": [ | ||
| 417 | { | ||
| 418 | "expression": "scope_id", | ||
| 419 | "isExpression": false, | ||
| 420 | "asc": true, | ||
| 421 | "nulls": "last" | ||
| 422 | } | ||
| 423 | ], | ||
| 424 | "isUnique": false, | ||
| 425 | "concurrently": false, | ||
| 426 | "method": "btree", | ||
| 427 | "with": {} | ||
| 428 | }, | ||
| 429 | "graphql_operation_source_id_idx": { | ||
| 430 | "name": "graphql_operation_source_id_idx", | ||
| 431 | "columns": [ | ||
| 432 | { | ||
| 433 | "expression": "source_id", | ||
| 434 | "isExpression": false, | ||
| 435 | "asc": true, | ||
| 436 | "nulls": "last" | ||
| 437 | } | ||
| 438 | ], | ||
| 439 | "isUnique": false, | ||
| 440 | "concurrently": false, | ||
| 441 | "method": "btree", | ||
| 442 | "with": {} | ||
| 443 | } | ||
| 444 | }, | ||
| 445 | "foreignKeys": {}, | ||
| 446 | "compositePrimaryKeys": { | ||
| 447 | "graphql_operation_scope_id_id_pk": { | ||
| 448 | "name": "graphql_operation_scope_id_id_pk", | ||
| 449 | "columns": ["scope_id", "id"] | ||
| 450 | } | ||
| 451 | }, | ||
| 452 | "uniqueConstraints": {}, | ||
| 453 | "policies": {}, | ||
| 454 | "checkConstraints": {}, | ||
| 455 | "isRLSEnabled": false | ||
| 456 | }, | ||
| 457 | "public.graphql_source": { | ||
| 458 | "name": "graphql_source", | ||
| 459 | "schema": "", | ||
| 460 | "columns": { | ||
| 461 | "id": { | ||
| 462 | "name": "id", | ||
| 463 | "type": "text", | ||
| 464 | "primaryKey": false, | ||
| 465 | "notNull": true | ||
| 466 | }, | ||
| 467 | "scope_id": { | ||
| 468 | "name": "scope_id", | ||
| 469 | "type": "text", | ||
| 470 | "primaryKey": false, | ||
| 471 | "notNull": true | ||
| 472 | }, | ||
| 473 | "name": { | ||
| 474 | "name": "name", | ||
| 475 | "type": "text", | ||
| 476 | "primaryKey": false, | ||
| 477 | "notNull": true | ||
| 478 | }, | ||
| 479 | "endpoint": { | ||
| 480 | "name": "endpoint", | ||
| 481 | "type": "text", | ||
| 482 | "primaryKey": false, | ||
| 483 | "notNull": true | ||
| 484 | }, | ||
| 485 | "headers": { | ||
| 486 | "name": "headers", | ||
| 487 | "type": "jsonb", | ||
| 488 | "primaryKey": false, | ||
| 489 | "notNull": false | ||
| 490 | } | ||
| 491 | }, | ||
| 492 | "indexes": { | ||
| 493 | "graphql_source_scope_id_idx": { | ||
| 494 | "name": "graphql_source_scope_id_idx", | ||
| 495 | "columns": [ | ||
| 496 | { | ||
| 497 | "expression": "scope_id", | ||
| 498 | "isExpression": false, | ||
| 499 | "asc": true, | ||
| 500 | "nulls": "last" | ||
| 501 | } | ||
| 502 | ], | ||
| 503 | "isUnique": false, | ||
| 504 | "concurrently": false, | ||
| 505 | "method": "btree", | ||
| 506 | "with": {} | ||
| 507 | } | ||
| 508 | }, | ||
| 509 | "foreignKeys": {}, | ||
| 510 | "compositePrimaryKeys": { | ||
| 511 | "graphql_source_scope_id_id_pk": { | ||
| 512 | "name": "graphql_source_scope_id_id_pk", | ||
| 513 | "columns": ["scope_id", "id"] | ||
| 514 | } | ||
| 515 | }, | ||
| 516 | "uniqueConstraints": {}, | ||
| 517 | "policies": {}, | ||
| 518 | "checkConstraints": {}, | ||
| 519 | "isRLSEnabled": false | ||
| 520 | }, | ||
| 521 | "public.mcp_binding": { | ||
| 522 | "name": "mcp_binding", | ||
| 523 | "schema": "", | ||
| 524 | "columns": { | ||
| 525 | "id": { | ||
| 526 | "name": "id", | ||
| 527 | "type": "text", | ||
| 528 | "primaryKey": false, | ||
| 529 | "notNull": true | ||
| 530 | }, | ||
| 531 | "scope_id": { | ||
| 532 | "name": "scope_id", | ||
| 533 | "type": "text", | ||
| 534 | "primaryKey": false, | ||
| 535 | "notNull": true | ||
| 536 | }, | ||
| 537 | "source_id": { | ||
| 538 | "name": "source_id", | ||
| 539 | "type": "text", | ||
| 540 | "primaryKey": false, | ||
| 541 | "notNull": true | ||
| 542 | }, | ||
| 543 | "binding": { | ||
| 544 | "name": "binding", | ||
| 545 | "type": "jsonb", | ||
| 546 | "primaryKey": false, | ||
| 547 | "notNull": true | ||
| 548 | }, | ||
| 549 | "created_at": { | ||
| 550 | "name": "created_at", | ||
| 551 | "type": "timestamp", | ||
| 552 | "primaryKey": false, | ||
| 553 | "notNull": true | ||
| 554 | } | ||
| 555 | }, | ||
| 556 | "indexes": { | ||
| 557 | "mcp_binding_scope_id_idx": { | ||
| 558 | "name": "mcp_binding_scope_id_idx", | ||
| 559 | "columns": [ | ||
| 560 | { | ||
| 561 | "expression": "scope_id", | ||
| 562 | "isExpression": false, | ||
| 563 | "asc": true, | ||
| 564 | "nulls": "last" | ||
| 565 | } | ||
| 566 | ], | ||
| 567 | "isUnique": false, | ||
| 568 | "concurrently": false, | ||
| 569 | "method": "btree", | ||
| 570 | "with": {} | ||
| 571 | }, | ||
| 572 | "mcp_binding_source_id_idx": { | ||
| 573 | "name": "mcp_binding_source_id_idx", | ||
| 574 | "columns": [ | ||
| 575 | { | ||
| 576 | "expression": "source_id", | ||
| 577 | "isExpression": false, | ||
| 578 | "asc": true, | ||
| 579 | "nulls": "last" | ||
| 580 | } | ||
| 581 | ], | ||
| 582 | "isUnique": false, | ||
| 583 | "concurrently": false, | ||
| 584 | "method": "btree", | ||
| 585 | "with": {} | ||
| 586 | } | ||
| 587 | }, | ||
| 588 | "foreignKeys": {}, | ||
| 589 | "compositePrimaryKeys": { | ||
| 590 | "mcp_binding_scope_id_id_pk": { | ||
| 591 | "name": "mcp_binding_scope_id_id_pk", | ||
| 592 | "columns": ["scope_id", "id"] | ||
| 593 | } | ||
| 594 | }, | ||
| 595 | "uniqueConstraints": {}, | ||
| 596 | "policies": {}, | ||
| 597 | "checkConstraints": {}, | ||
| 598 | "isRLSEnabled": false | ||
| 599 | }, | ||
| 600 | "public.mcp_oauth_session": { | ||
| 601 | "name": "mcp_oauth_session", | ||
| 602 | "schema": "", | ||
| 603 | "columns": { | ||
| 604 | "id": { | ||
| 605 | "name": "id", | ||
| 606 | "type": "text", | ||
| 607 | "primaryKey": false, | ||
| 608 | "notNull": true | ||
| 609 | }, | ||
| 610 | "scope_id": { | ||
| 611 | "name": "scope_id", | ||
| 612 | "type": "text", | ||
| 613 | "primaryKey": false, | ||
| 614 | "notNull": true | ||
| 615 | }, | ||
| 616 | "session": { | ||
| 617 | "name": "session", | ||
| 618 | "type": "jsonb", | ||
| 619 | "primaryKey": false, | ||
| 620 | "notNull": true | ||
| 621 | }, | ||
| 622 | "expires_at": { | ||
| 623 | "name": "expires_at", | ||
| 624 | "type": "bigint", | ||
| 625 | "primaryKey": false, | ||
| 626 | "notNull": true | ||
| 627 | }, | ||
| 628 | "created_at": { | ||
| 629 | "name": "created_at", | ||
| 630 | "type": "timestamp", | ||
| 631 | "primaryKey": false, | ||
| 632 | "notNull": true | ||
| 633 | } | ||
| 634 | }, | ||
| 635 | "indexes": { | ||
| 636 | "mcp_oauth_session_scope_id_idx": { | ||
| 637 | "name": "mcp_oauth_session_scope_id_idx", | ||
| 638 | "columns": [ | ||
| 639 | { | ||
| 640 | "expression": "scope_id", | ||
| 641 | "isExpression": false, | ||
| 642 | "asc": true, | ||
| 643 | "nulls": "last" | ||
| 644 | } | ||
| 645 | ], | ||
| 646 | "isUnique": false, | ||
| 647 | "concurrently": false, | ||
| 648 | "method": "btree", | ||
| 649 | "with": {} | ||
| 650 | } | ||
| 651 | }, | ||
| 652 | "foreignKeys": {}, | ||
| 653 | "compositePrimaryKeys": { | ||
| 654 | "mcp_oauth_session_scope_id_id_pk": { | ||
| 655 | "name": "mcp_oauth_session_scope_id_id_pk", | ||
| 656 | "columns": ["scope_id", "id"] | ||
| 657 | } | ||
| 658 | }, | ||
| 659 | "uniqueConstraints": {}, | ||
| 660 | "policies": {}, | ||
| 661 | "checkConstraints": {}, | ||
| 662 | "isRLSEnabled": false | ||
| 663 | }, | ||
| 664 | "public.mcp_source": { | ||
| 665 | "name": "mcp_source", | ||
| 666 | "schema": "", | ||
| 667 | "columns": { | ||
| 668 | "id": { | ||
| 669 | "name": "id", | ||
| 670 | "type": "text", | ||
| 671 | "primaryKey": false, | ||
| 672 | "notNull": true | ||
| 673 | }, | ||
| 674 | "scope_id": { | ||
| 675 | "name": "scope_id", | ||
| 676 | "type": "text", | ||
| 677 | "primaryKey": false, | ||
| 678 | "notNull": true | ||
| 679 | }, | ||
| 680 | "name": { | ||
| 681 | "name": "name", | ||
| 682 | "type": "text", | ||
| 683 | "primaryKey": false, | ||
| 684 | "notNull": true | ||
| 685 | }, | ||
| 686 | "config": { | ||
| 687 | "name": "config", | ||
| 688 | "type": "jsonb", | ||
| 689 | "primaryKey": false, | ||
| 690 | "notNull": true | ||
| 691 | }, | ||
| 692 | "created_at": { | ||
| 693 | "name": "created_at", | ||
| 694 | "type": "timestamp", | ||
| 695 | "primaryKey": false, | ||
| 696 | "notNull": true | ||
| 697 | } | ||
| 698 | }, | ||
| 699 | "indexes": { | ||
| 700 | "mcp_source_scope_id_idx": { | ||
| 701 | "name": "mcp_source_scope_id_idx", | ||
| 702 | "columns": [ | ||
| 703 | { | ||
| 704 | "expression": "scope_id", | ||
| 705 | "isExpression": false, | ||
| 706 | "asc": true, | ||
| 707 | "nulls": "last" | ||
| 708 | } | ||
| 709 | ], | ||
| 710 | "isUnique": false, | ||
| 711 | "concurrently": false, | ||
| 712 | "method": "btree", | ||
| 713 | "with": {} | ||
| 714 | } | ||
| 715 | }, | ||
| 716 | "foreignKeys": {}, | ||
| 717 | "compositePrimaryKeys": { | ||
| 718 | "mcp_source_scope_id_id_pk": { | ||
| 719 | "name": "mcp_source_scope_id_id_pk", | ||
| 720 | "columns": ["scope_id", "id"] | ||
| 721 | } | ||
| 722 | }, | ||
| 723 | "uniqueConstraints": {}, | ||
| 724 | "policies": {}, | ||
| 725 | "checkConstraints": {}, | ||
| 726 | "isRLSEnabled": false | ||
| 727 | }, | ||
| 728 | "public.openapi_oauth_session": { | ||
| 729 | "name": "openapi_oauth_session", | ||
| 730 | "schema": "", | ||
| 731 | "columns": { | ||
| 732 | "id": { | ||
| 733 | "name": "id", | ||
| 734 | "type": "text", | ||
| 735 | "primaryKey": false, | ||
| 736 | "notNull": true | ||
| 737 | }, | ||
| 738 | "scope_id": { | ||
| 739 | "name": "scope_id", | ||
| 740 | "type": "text", | ||
| 741 | "primaryKey": false, | ||
| 742 | "notNull": true | ||
| 743 | }, | ||
| 744 | "session": { | ||
| 745 | "name": "session", | ||
| 746 | "type": "jsonb", | ||
| 747 | "primaryKey": false, | ||
| 748 | "notNull": true | ||
| 749 | }, | ||
| 750 | "created_at": { | ||
| 751 | "name": "created_at", | ||
| 752 | "type": "timestamp", | ||
| 753 | "primaryKey": false, | ||
| 754 | "notNull": true | ||
| 755 | } | ||
| 756 | }, | ||
| 757 | "indexes": { | ||
| 758 | "openapi_oauth_session_scope_id_idx": { | ||
| 759 | "name": "openapi_oauth_session_scope_id_idx", | ||
| 760 | "columns": [ | ||
| 761 | { | ||
| 762 | "expression": "scope_id", | ||
| 763 | "isExpression": false, | ||
| 764 | "asc": true, | ||
| 765 | "nulls": "last" | ||
| 766 | } | ||
| 767 | ], | ||
| 768 | "isUnique": false, | ||
| 769 | "concurrently": false, | ||
| 770 | "method": "btree", | ||
| 771 | "with": {} | ||
| 772 | } | ||
| 773 | }, | ||
| 774 | "foreignKeys": {}, | ||
| 775 | "compositePrimaryKeys": { | ||
| 776 | "openapi_oauth_session_scope_id_id_pk": { | ||
| 777 | "name": "openapi_oauth_session_scope_id_id_pk", | ||
| 778 | "columns": ["scope_id", "id"] | ||
| 779 | } | ||
| 780 | }, | ||
| 781 | "uniqueConstraints": {}, | ||
| 782 | "policies": {}, | ||
| 783 | "checkConstraints": {}, | ||
| 784 | "isRLSEnabled": false | ||
| 785 | }, | ||
| 786 | "public.openapi_operation": { | ||
| 787 | "name": "openapi_operation", | ||
| 788 | "schema": "", | ||
| 789 | "columns": { | ||
| 790 | "id": { | ||
| 791 | "name": "id", | ||
| 792 | "type": "text", | ||
| 793 | "primaryKey": false, | ||
| 794 | "notNull": true | ||
| 795 | }, | ||
| 796 | "scope_id": { | ||
| 797 | "name": "scope_id", | ||
| 798 | "type": "text", | ||
| 799 | "primaryKey": false, | ||
| 800 | "notNull": true | ||
| 801 | }, | ||
| 802 | "source_id": { | ||
| 803 | "name": "source_id", | ||
| 804 | "type": "text", | ||
| 805 | "primaryKey": false, | ||
| 806 | "notNull": true | ||
| 807 | }, | ||
| 808 | "binding": { | ||
| 809 | "name": "binding", | ||
| 810 | "type": "jsonb", | ||
| 811 | "primaryKey": false, | ||
| 812 | "notNull": true | ||
| 813 | } | ||
| 814 | }, | ||
| 815 | "indexes": { | ||
| 816 | "openapi_operation_scope_id_idx": { | ||
| 817 | "name": "openapi_operation_scope_id_idx", | ||
| 818 | "columns": [ | ||
| 819 | { | ||
| 820 | "expression": "scope_id", | ||
| 821 | "isExpression": false, | ||
| 822 | "asc": true, | ||
| 823 | "nulls": "last" | ||
| 824 | } | ||
| 825 | ], | ||
| 826 | "isUnique": false, | ||
| 827 | "concurrently": false, | ||
| 828 | "method": "btree", | ||
| 829 | "with": {} | ||
| 830 | }, | ||
| 831 | "openapi_operation_source_id_idx": { | ||
| 832 | "name": "openapi_operation_source_id_idx", | ||
| 833 | "columns": [ | ||
| 834 | { | ||
| 835 | "expression": "source_id", | ||
| 836 | "isExpression": false, | ||
| 837 | "asc": true, | ||
| 838 | "nulls": "last" | ||
| 839 | } | ||
| 840 | ], | ||
| 841 | "isUnique": false, | ||
| 842 | "concurrently": false, | ||
| 843 | "method": "btree", | ||
| 844 | "with": {} | ||
| 845 | } | ||
| 846 | }, | ||
| 847 | "foreignKeys": {}, | ||
| 848 | "compositePrimaryKeys": { | ||
| 849 | "openapi_operation_scope_id_id_pk": { | ||
| 850 | "name": "openapi_operation_scope_id_id_pk", | ||
| 851 | "columns": ["scope_id", "id"] | ||
| 852 | } | ||
| 853 | }, | ||
| 854 | "uniqueConstraints": {}, | ||
| 855 | "policies": {}, | ||
| 856 | "checkConstraints": {}, | ||
| 857 | "isRLSEnabled": false | ||
| 858 | }, | ||
| 859 | "public.openapi_source": { | ||
| 860 | "name": "openapi_source", | ||
| 861 | "schema": "", | ||
| 862 | "columns": { | ||
| 863 | "id": { | ||
| 864 | "name": "id", | ||
| 865 | "type": "text", | ||
| 866 | "primaryKey": false, | ||
| 867 | "notNull": true | ||
| 868 | }, | ||
| 869 | "scope_id": { | ||
| 870 | "name": "scope_id", | ||
| 871 | "type": "text", | ||
| 872 | "primaryKey": false, | ||
| 873 | "notNull": true | ||
| 874 | }, | ||
| 875 | "name": { | ||
| 876 | "name": "name", | ||
| 877 | "type": "text", | ||
| 878 | "primaryKey": false, | ||
| 879 | "notNull": true | ||
| 880 | }, | ||
| 881 | "spec": { | ||
| 882 | "name": "spec", | ||
| 883 | "type": "text", | ||
| 884 | "primaryKey": false, | ||
| 885 | "notNull": true | ||
| 886 | }, | ||
| 887 | "source_url": { | ||
| 888 | "name": "source_url", | ||
| 889 | "type": "text", | ||
| 890 | "primaryKey": false, | ||
| 891 | "notNull": false | ||
| 892 | }, | ||
| 893 | "base_url": { | ||
| 894 | "name": "base_url", | ||
| 895 | "type": "text", | ||
| 896 | "primaryKey": false, | ||
| 897 | "notNull": false | ||
| 898 | }, | ||
| 899 | "headers": { | ||
| 900 | "name": "headers", | ||
| 901 | "type": "jsonb", | ||
| 902 | "primaryKey": false, | ||
| 903 | "notNull": false | ||
| 904 | }, | ||
| 905 | "oauth2": { | ||
| 906 | "name": "oauth2", | ||
| 907 | "type": "jsonb", | ||
| 908 | "primaryKey": false, | ||
| 909 | "notNull": false | ||
| 910 | }, | ||
| 911 | "invocation_config": { | ||
| 912 | "name": "invocation_config", | ||
| 913 | "type": "jsonb", | ||
| 914 | "primaryKey": false, | ||
| 915 | "notNull": true | ||
| 916 | } | ||
| 917 | }, | ||
| 918 | "indexes": { | ||
| 919 | "openapi_source_scope_id_idx": { | ||
| 920 | "name": "openapi_source_scope_id_idx", | ||
| 921 | "columns": [ | ||
| 922 | { | ||
| 923 | "expression": "scope_id", | ||
| 924 | "isExpression": false, | ||
| 925 | "asc": true, | ||
| 926 | "nulls": "last" | ||
| 927 | } | ||
| 928 | ], | ||
| 929 | "isUnique": false, | ||
| 930 | "concurrently": false, | ||
| 931 | "method": "btree", | ||
| 932 | "with": {} | ||
| 933 | } | ||
| 934 | }, | ||
| 935 | "foreignKeys": {}, | ||
| 936 | "compositePrimaryKeys": { | ||
| 937 | "openapi_source_scope_id_id_pk": { | ||
| 938 | "name": "openapi_source_scope_id_id_pk", | ||
| 939 | "columns": ["scope_id", "id"] | ||
| 940 | } | ||
| 941 | }, | ||
| 942 | "uniqueConstraints": {}, | ||
| 943 | "policies": {}, | ||
| 944 | "checkConstraints": {}, | ||
| 945 | "isRLSEnabled": false | ||
| 946 | }, | ||
| 947 | "public.secret": { | ||
| 948 | "name": "secret", | ||
| 949 | "schema": "", | ||
| 950 | "columns": { | ||
| 951 | "id": { | ||
| 952 | "name": "id", | ||
| 953 | "type": "text", | ||
| 954 | "primaryKey": false, | ||
| 955 | "notNull": true | ||
| 956 | }, | ||
| 957 | "scope_id": { | ||
| 958 | "name": "scope_id", | ||
| 959 | "type": "text", | ||
| 960 | "primaryKey": false, | ||
| 961 | "notNull": true | ||
| 962 | }, | ||
| 963 | "name": { | ||
| 964 | "name": "name", | ||
| 965 | "type": "text", | ||
| 966 | "primaryKey": false, | ||
| 967 | "notNull": true | ||
| 968 | }, | ||
| 969 | "provider": { | ||
| 970 | "name": "provider", | ||
| 971 | "type": "text", | ||
| 972 | "primaryKey": false, | ||
| 973 | "notNull": true | ||
| 974 | }, | ||
| 975 | "owned_by_connection_id": { | ||
| 976 | "name": "owned_by_connection_id", | ||
| 977 | "type": "text", | ||
| 978 | "primaryKey": false, | ||
| 979 | "notNull": false | ||
| 980 | }, | ||
| 981 | "created_at": { | ||
| 982 | "name": "created_at", | ||
| 983 | "type": "timestamp", | ||
| 984 | "primaryKey": false, | ||
| 985 | "notNull": true | ||
| 986 | } | ||
| 987 | }, | ||
| 988 | "indexes": { | ||
| 989 | "secret_scope_id_idx": { | ||
| 990 | "name": "secret_scope_id_idx", | ||
| 991 | "columns": [ | ||
| 992 | { | ||
| 993 | "expression": "scope_id", | ||
| 994 | "isExpression": false, | ||
| 995 | "asc": true, | ||
| 996 | "nulls": "last" | ||
| 997 | } | ||
| 998 | ], | ||
| 999 | "isUnique": false, | ||
| 1000 | "concurrently": false, | ||
| 1001 | "method": "btree", | ||
| 1002 | "with": {} | ||
| 1003 | }, | ||
| 1004 | "secret_provider_idx": { | ||
| 1005 | "name": "secret_provider_idx", | ||
| 1006 | "columns": [ | ||
| 1007 | { | ||
| 1008 | "expression": "provider", | ||
| 1009 | "isExpression": false, | ||
| 1010 | "asc": true, | ||
| 1011 | "nulls": "last" | ||
| 1012 | } | ||
| 1013 | ], | ||
| 1014 | "isUnique": false, | ||
| 1015 | "concurrently": false, | ||
| 1016 | "method": "btree", | ||
| 1017 | "with": {} | ||
| 1018 | }, | ||
| 1019 | "secret_owned_by_connection_id_idx": { | ||
| 1020 | "name": "secret_owned_by_connection_id_idx", | ||
| 1021 | "columns": [ | ||
| 1022 | { | ||
| 1023 | "expression": "owned_by_connection_id", | ||
| 1024 | "isExpression": false, | ||
| 1025 | "asc": true, | ||
| 1026 | "nulls": "last" | ||
| 1027 | } | ||
| 1028 | ], | ||
| 1029 | "isUnique": false, | ||
| 1030 | "concurrently": false, | ||
| 1031 | "method": "btree", | ||
| 1032 | "with": {} | ||
| 1033 | } | ||
| 1034 | }, | ||
| 1035 | "foreignKeys": {}, | ||
| 1036 | "compositePrimaryKeys": { | ||
| 1037 | "secret_scope_id_id_pk": { | ||
| 1038 | "name": "secret_scope_id_id_pk", | ||
| 1039 | "columns": ["scope_id", "id"] | ||
| 1040 | } | ||
| 1041 | }, | ||
| 1042 | "uniqueConstraints": {}, | ||
| 1043 | "policies": {}, | ||
| 1044 | "checkConstraints": {}, | ||
| 1045 | "isRLSEnabled": false | ||
| 1046 | }, | ||
| 1047 | "public.source": { | ||
| 1048 | "name": "source", | ||
| 1049 | "schema": "", | ||
| 1050 | "columns": { | ||
| 1051 | "id": { | ||
| 1052 | "name": "id", | ||
| 1053 | "type": "text", | ||
| 1054 | "primaryKey": false, | ||
| 1055 | "notNull": true | ||
| 1056 | }, | ||
| 1057 | "scope_id": { | ||
| 1058 | "name": "scope_id", | ||
| 1059 | "type": "text", | ||
| 1060 | "primaryKey": false, | ||
| 1061 | "notNull": true | ||
| 1062 | }, | ||
| 1063 | "plugin_id": { | ||
| 1064 | "name": "plugin_id", | ||
| 1065 | "type": "text", | ||
| 1066 | "primaryKey": false, | ||
| 1067 | "notNull": true | ||
| 1068 | }, | ||
| 1069 | "kind": { | ||
| 1070 | "name": "kind", | ||
| 1071 | "type": "text", | ||
| 1072 | "primaryKey": false, | ||
| 1073 | "notNull": true | ||
| 1074 | }, | ||
| 1075 | "name": { | ||
| 1076 | "name": "name", | ||
| 1077 | "type": "text", | ||
| 1078 | "primaryKey": false, | ||
| 1079 | "notNull": true | ||
| 1080 | }, | ||
| 1081 | "url": { | ||
| 1082 | "name": "url", | ||
| 1083 | "type": "text", | ||
| 1084 | "primaryKey": false, | ||
| 1085 | "notNull": false | ||
| 1086 | }, | ||
| 1087 | "can_remove": { | ||
| 1088 | "name": "can_remove", | ||
| 1089 | "type": "boolean", | ||
| 1090 | "primaryKey": false, | ||
| 1091 | "notNull": true, | ||
| 1092 | "default": true | ||
| 1093 | }, | ||
| 1094 | "can_refresh": { | ||
| 1095 | "name": "can_refresh", | ||
| 1096 | "type": "boolean", | ||
| 1097 | "primaryKey": false, | ||
| 1098 | "notNull": true, | ||
| 1099 | "default": false | ||
| 1100 | }, | ||
| 1101 | "can_edit": { | ||
| 1102 | "name": "can_edit", | ||
| 1103 | "type": "boolean", | ||
| 1104 | "primaryKey": false, | ||
| 1105 | "notNull": true, | ||
| 1106 | "default": false | ||
| 1107 | }, | ||
| 1108 | "created_at": { | ||
| 1109 | "name": "created_at", | ||
| 1110 | "type": "timestamp", | ||
| 1111 | "primaryKey": false, | ||
| 1112 | "notNull": true | ||
| 1113 | }, | ||
| 1114 | "updated_at": { | ||
| 1115 | "name": "updated_at", | ||
| 1116 | "type": "timestamp", | ||
| 1117 | "primaryKey": false, | ||
| 1118 | "notNull": true | ||
| 1119 | } | ||
| 1120 | }, | ||
| 1121 | "indexes": { | ||
| 1122 | "source_scope_id_idx": { | ||
| 1123 | "name": "source_scope_id_idx", | ||
| 1124 | "columns": [ | ||
| 1125 | { | ||
| 1126 | "expression": "scope_id", | ||
| 1127 | "isExpression": false, | ||
| 1128 | "asc": true, | ||
| 1129 | "nulls": "last" | ||
| 1130 | } | ||
| 1131 | ], | ||
| 1132 | "isUnique": false, | ||
| 1133 | "concurrently": false, | ||
| 1134 | "method": "btree", | ||
| 1135 | "with": {} | ||
| 1136 | }, | ||
| 1137 | "source_plugin_id_idx": { | ||
| 1138 | "name": "source_plugin_id_idx", | ||
| 1139 | "columns": [ | ||
| 1140 | { | ||
| 1141 | "expression": "plugin_id", | ||
| 1142 | "isExpression": false, | ||
| 1143 | "asc": true, | ||
| 1144 | "nulls": "last" | ||
| 1145 | } | ||
| 1146 | ], | ||
| 1147 | "isUnique": false, | ||
| 1148 | "concurrently": false, | ||
| 1149 | "method": "btree", | ||
| 1150 | "with": {} | ||
| 1151 | } | ||
| 1152 | }, | ||
| 1153 | "foreignKeys": {}, | ||
| 1154 | "compositePrimaryKeys": { | ||
| 1155 | "source_scope_id_id_pk": { | ||
| 1156 | "name": "source_scope_id_id_pk", | ||
| 1157 | "columns": ["scope_id", "id"] | ||
| 1158 | } | ||
| 1159 | }, | ||
| 1160 | "uniqueConstraints": {}, | ||
| 1161 | "policies": {}, | ||
| 1162 | "checkConstraints": {}, | ||
| 1163 | "isRLSEnabled": false | ||
| 1164 | }, | ||
| 1165 | "public.tool": { | ||
| 1166 | "name": "tool", | ||
| 1167 | "schema": "", | ||
| 1168 | "columns": { | ||
| 1169 | "id": { | ||
| 1170 | "name": "id", | ||
| 1171 | "type": "text", | ||
| 1172 | "primaryKey": false, | ||
| 1173 | "notNull": true | ||
| 1174 | }, | ||
| 1175 | "scope_id": { | ||
| 1176 | "name": "scope_id", | ||
| 1177 | "type": "text", | ||
| 1178 | "primaryKey": false, | ||
| 1179 | "notNull": true | ||
| 1180 | }, | ||
| 1181 | "source_id": { | ||
| 1182 | "name": "source_id", | ||
| 1183 | "type": "text", | ||
| 1184 | "primaryKey": false, | ||
| 1185 | "notNull": true | ||
| 1186 | }, | ||
| 1187 | "plugin_id": { | ||
| 1188 | "name": "plugin_id", | ||
| 1189 | "type": "text", | ||
| 1190 | "primaryKey": false, | ||
| 1191 | "notNull": true | ||
| 1192 | }, | ||
| 1193 | "name": { | ||
| 1194 | "name": "name", | ||
| 1195 | "type": "text", | ||
| 1196 | "primaryKey": false, | ||
| 1197 | "notNull": true | ||
| 1198 | }, | ||
| 1199 | "description": { | ||
| 1200 | "name": "description", | ||
| 1201 | "type": "text", | ||
| 1202 | "primaryKey": false, | ||
| 1203 | "notNull": true | ||
| 1204 | }, | ||
| 1205 | "input_schema": { | ||
| 1206 | "name": "input_schema", | ||
| 1207 | "type": "jsonb", | ||
| 1208 | "primaryKey": false, | ||
| 1209 | "notNull": false | ||
| 1210 | }, | ||
| 1211 | "output_schema": { | ||
| 1212 | "name": "output_schema", | ||
| 1213 | "type": "jsonb", | ||
| 1214 | "primaryKey": false, | ||
| 1215 | "notNull": false | ||
| 1216 | }, | ||
| 1217 | "created_at": { | ||
| 1218 | "name": "created_at", | ||
| 1219 | "type": "timestamp", | ||
| 1220 | "primaryKey": false, | ||
| 1221 | "notNull": true | ||
| 1222 | }, | ||
| 1223 | "updated_at": { | ||
| 1224 | "name": "updated_at", | ||
| 1225 | "type": "timestamp", | ||
| 1226 | "primaryKey": false, | ||
| 1227 | "notNull": true | ||
| 1228 | } | ||
| 1229 | }, | ||
| 1230 | "indexes": { | ||
| 1231 | "tool_scope_id_idx": { | ||
| 1232 | "name": "tool_scope_id_idx", | ||
| 1233 | "columns": [ | ||
| 1234 | { | ||
| 1235 | "expression": "scope_id", | ||
| 1236 | "isExpression": false, | ||
| 1237 | "asc": true, | ||
| 1238 | "nulls": "last" | ||
| 1239 | } | ||
| 1240 | ], | ||
| 1241 | "isUnique": false, | ||
| 1242 | "concurrently": false, | ||
| 1243 | "method": "btree", | ||
| 1244 | "with": {} | ||
| 1245 | }, | ||
| 1246 | "tool_source_id_idx": { | ||
| 1247 | "name": "tool_source_id_idx", | ||
| 1248 | "columns": [ | ||
| 1249 | { | ||
| 1250 | "expression": "source_id", | ||
| 1251 | "isExpression": false, | ||
| 1252 | "asc": true, | ||
| 1253 | "nulls": "last" | ||
| 1254 | } | ||
| 1255 | ], | ||
| 1256 | "isUnique": false, | ||
| 1257 | "concurrently": false, | ||
| 1258 | "method": "btree", | ||
| 1259 | "with": {} | ||
| 1260 | }, | ||
| 1261 | "tool_plugin_id_idx": { | ||
| 1262 | "name": "tool_plugin_id_idx", | ||
| 1263 | "columns": [ | ||
| 1264 | { | ||
| 1265 | "expression": "plugin_id", | ||
| 1266 | "isExpression": false, | ||
| 1267 | "asc": true, | ||
| 1268 | "nulls": "last" | ||
| 1269 | } | ||
| 1270 | ], | ||
| 1271 | "isUnique": false, | ||
| 1272 | "concurrently": false, | ||
| 1273 | "method": "btree", | ||
| 1274 | "with": {} | ||
| 1275 | } | ||
| 1276 | }, | ||
| 1277 | "foreignKeys": {}, | ||
| 1278 | "compositePrimaryKeys": { | ||
| 1279 | "tool_scope_id_id_pk": { | ||
| 1280 | "name": "tool_scope_id_id_pk", | ||
| 1281 | "columns": ["scope_id", "id"] | ||
| 1282 | } | ||
| 1283 | }, | ||
| 1284 | "uniqueConstraints": {}, | ||
| 1285 | "policies": {}, | ||
| 1286 | "checkConstraints": {}, | ||
| 1287 | "isRLSEnabled": false | ||
| 1288 | }, | ||
| 1289 | "public.workos_vault_metadata": { | ||
| 1290 | "name": "workos_vault_metadata", | ||
| 1291 | "schema": "", | ||
| 1292 | "columns": { | ||
| 1293 | "id": { | ||
| 1294 | "name": "id", | ||
| 1295 | "type": "text", | ||
| 1296 | "primaryKey": false, | ||
| 1297 | "notNull": true | ||
| 1298 | }, | ||
| 1299 | "scope_id": { | ||
| 1300 | "name": "scope_id", | ||
| 1301 | "type": "text", | ||
| 1302 | "primaryKey": false, | ||
| 1303 | "notNull": true | ||
| 1304 | }, | ||
| 1305 | "name": { | ||
| 1306 | "name": "name", | ||
| 1307 | "type": "text", | ||
| 1308 | "primaryKey": false, | ||
| 1309 | "notNull": true | ||
| 1310 | }, | ||
| 1311 | "purpose": { | ||
| 1312 | "name": "purpose", | ||
| 1313 | "type": "text", | ||
| 1314 | "primaryKey": false, | ||
| 1315 | "notNull": false | ||
| 1316 | }, | ||
| 1317 | "created_at": { | ||
| 1318 | "name": "created_at", | ||
| 1319 | "type": "timestamp", | ||
| 1320 | "primaryKey": false, | ||
| 1321 | "notNull": true | ||
| 1322 | } | ||
| 1323 | }, | ||
| 1324 | "indexes": { | ||
| 1325 | "workos_vault_metadata_scope_id_idx": { | ||
| 1326 | "name": "workos_vault_metadata_scope_id_idx", | ||
| 1327 | "columns": [ | ||
| 1328 | { | ||
| 1329 | "expression": "scope_id", | ||
| 1330 | "isExpression": false, | ||
| 1331 | "asc": true, | ||
| 1332 | "nulls": "last" | ||
| 1333 | } | ||
| 1334 | ], | ||
| 1335 | "isUnique": false, | ||
| 1336 | "concurrently": false, | ||
| 1337 | "method": "btree", | ||
| 1338 | "with": {} | ||
| 1339 | } | ||
| 1340 | }, | ||
| 1341 | "foreignKeys": {}, | ||
| 1342 | "compositePrimaryKeys": { | ||
| 1343 | "workos_vault_metadata_scope_id_id_pk": { | ||
| 1344 | "name": "workos_vault_metadata_scope_id_id_pk", | ||
| 1345 | "columns": ["scope_id", "id"] | ||
| 1346 | } | ||
| 1347 | }, | ||
| 1348 | "uniqueConstraints": {}, | ||
| 1349 | "policies": {}, | ||
| 1350 | "checkConstraints": {}, | ||
| 1351 | "isRLSEnabled": false | ||
| 1352 | } | ||
| 1353 | }, | ||
| 1354 | "enums": {}, | ||
| 1355 | "schemas": {}, | ||
| 1356 | "sequences": {}, | ||
| 1357 | "roles": {}, | ||
| 1358 | "policies": {}, | ||
| 1359 | "views": {}, | ||
| 1360 | "_meta": { | ||
| 1361 | "columns": {}, | ||
| 1362 | "schemas": {}, | ||
| 1363 | "tables": {} | ||
| 1364 | } | ||
| 1365 | } | ||
| @@ -1,1487 +0,0 @@ | |||
| 1 | { | ||
| 2 | "id": "626f3e78-1eda-40a0-b97f-2562e89205ec", | ||
| 3 | "prevId": "09d08343-8162-4e6b-91ab-ce0a9d6bad10", | ||
| 4 | "version": "7", | ||
| 5 | "dialect": "postgresql", | ||
| 6 | "tables": { | ||
| 7 | "public.accounts": { | ||
| 8 | "name": "accounts", | ||
| 9 | "schema": "", | ||
| 10 | "columns": { | ||
| 11 | "id": { | ||
| 12 | "name": "id", | ||
| 13 | "type": "text", | ||
| 14 | "primaryKey": true, | ||
| 15 | "notNull": true | ||
| 16 | }, | ||
| 17 | "created_at": { | ||
| 18 | "name": "created_at", | ||
| 19 | "type": "timestamp with time zone", | ||
| 20 | "primaryKey": false, | ||
| 21 | "notNull": true, | ||
| 22 | "default": "now()" | ||
| 23 | } | ||
| 24 | }, | ||
| 25 | "indexes": {}, | ||
| 26 | "foreignKeys": {}, | ||
| 27 | "compositePrimaryKeys": {}, | ||
| 28 | "uniqueConstraints": {}, | ||
| 29 | "policies": {}, | ||
| 30 | "checkConstraints": {}, | ||
| 31 | "isRLSEnabled": false | ||
| 32 | }, | ||
| 33 | "public.memberships": { | ||
| 34 | "name": "memberships", | ||
| 35 | "schema": "", | ||
| 36 | "columns": { | ||
| 37 | "account_id": { | ||
| 38 | "name": "account_id", | ||
| 39 | "type": "text", | ||
| 40 | "primaryKey": false, | ||
| 41 | "notNull": true | ||
| 42 | }, | ||
| 43 | "organization_id": { | ||
| 44 | "name": "organization_id", | ||
| 45 | "type": "text", | ||
| 46 | "primaryKey": false, | ||
| 47 | "notNull": true | ||
| 48 | }, | ||
| 49 | "created_at": { | ||
| 50 | "name": "created_at", | ||
| 51 | "type": "timestamp with time zone", | ||
| 52 | "primaryKey": false, | ||
| 53 | "notNull": true, | ||
| 54 | "default": "now()" | ||
| 55 | } | ||
| 56 | }, | ||
| 57 | "indexes": {}, | ||
| 58 | "foreignKeys": { | ||
| 59 | "memberships_account_id_accounts_id_fk": { | ||
| 60 | "name": "memberships_account_id_accounts_id_fk", | ||
| 61 | "tableFrom": "memberships", | ||
| 62 | "tableTo": "accounts", | ||
| 63 | "columnsFrom": ["account_id"], | ||
| 64 | "columnsTo": ["id"], | ||
| 65 | "onDelete": "cascade", | ||
| 66 | "onUpdate": "no action" | ||
| 67 | }, | ||
| 68 | "memberships_organization_id_organizations_id_fk": { | ||
| 69 | "name": "memberships_organization_id_organizations_id_fk", | ||
| 70 | "tableFrom": "memberships", | ||
| 71 | "tableTo": "organizations", | ||
| 72 | "columnsFrom": ["organization_id"], | ||
| 73 | "columnsTo": ["id"], | ||
| 74 | "onDelete": "cascade", | ||
| 75 | "onUpdate": "no action" | ||
| 76 | } | ||
| 77 | }, | ||
| 78 | "compositePrimaryKeys": { | ||
| 79 | "memberships_account_id_organization_id_pk": { | ||
| 80 | "name": "memberships_account_id_organization_id_pk", | ||
| 81 | "columns": ["account_id", "organization_id"] | ||
| 82 | } | ||
| 83 | }, | ||
| 84 | "uniqueConstraints": {}, | ||
| 85 | "policies": {}, | ||
| 86 | "checkConstraints": {}, | ||
| 87 | "isRLSEnabled": false | ||
| 88 | }, | ||
| 89 | "public.organizations": { | ||
| 90 | "name": "organizations", | ||
| 91 | "schema": "", | ||
| 92 | "columns": { | ||
| 93 | "id": { | ||
| 94 | "name": "id", | ||
| 95 | "type": "text", | ||
| 96 | "primaryKey": true, | ||
| 97 | "notNull": true | ||
| 98 | }, | ||
| 99 | "name": { | ||
| 100 | "name": "name", | ||
| 101 | "type": "text", | ||
| 102 | "primaryKey": false, | ||
| 103 | "notNull": true | ||
| 104 | }, | ||
| 105 | "created_at": { | ||
| 106 | "name": "created_at", | ||
| 107 | "type": "timestamp with time zone", | ||
| 108 | "primaryKey": false, | ||
| 109 | "notNull": true, | ||
| 110 | "default": "now()" | ||
| 111 | } | ||
| 112 | }, | ||
| 113 | "indexes": {}, | ||
| 114 | "foreignKeys": {}, | ||
| 115 | "compositePrimaryKeys": {}, | ||
| 116 | "uniqueConstraints": {}, | ||
| 117 | "policies": {}, | ||
| 118 | "checkConstraints": {}, | ||
| 119 | "isRLSEnabled": false | ||
| 120 | }, | ||
| 121 | "public.blob": { | ||
| 122 | "name": "blob", | ||
| 123 | "schema": "", | ||
| 124 | "columns": { | ||
| 125 | "namespace": { | ||
| 126 | "name": "namespace", | ||
| 127 | "type": "text", | ||
| 128 | "primaryKey": false, | ||
| 129 | "notNull": true | ||
| 130 | }, | ||
| 131 | "key": { | ||
| 132 | "name": "key", | ||
| 133 | "type": "text", | ||
| 134 | "primaryKey": false, | ||
| 135 | "notNull": true | ||
| 136 | }, | ||
| 137 | "value": { | ||
| 138 | "name": "value", | ||
| 139 | "type": "text", | ||
| 140 | "primaryKey": false, | ||
| 141 | "notNull": true | ||
| 142 | } | ||
| 143 | }, | ||
| 144 | "indexes": {}, | ||
| 145 | "foreignKeys": {}, | ||
| 146 | "compositePrimaryKeys": { | ||
| 147 | "blob_namespace_key_pk": { | ||
| 148 | "name": "blob_namespace_key_pk", | ||
| 149 | "columns": ["namespace", "key"] | ||
| 150 | } | ||
| 151 | }, | ||
| 152 | "uniqueConstraints": {}, | ||
| 153 | "policies": {}, | ||
| 154 | "checkConstraints": {}, | ||
| 155 | "isRLSEnabled": false | ||
| 156 | }, | ||
| 157 | "public.connection": { | ||
| 158 | "name": "connection", | ||
| 159 | "schema": "", | ||
| 160 | "columns": { | ||
| 161 | "id": { | ||
| 162 | "name": "id", | ||
| 163 | "type": "text", | ||
| 164 | "primaryKey": false, | ||
| 165 | "notNull": true | ||
| 166 | }, | ||
| 167 | "scope_id": { | ||
| 168 | "name": "scope_id", | ||
| 169 | "type": "text", | ||
| 170 | "primaryKey": false, | ||
| 171 | "notNull": true | ||
| 172 | }, | ||
| 173 | "provider": { | ||
| 174 | "name": "provider", | ||
| 175 | "type": "text", | ||
| 176 | "primaryKey": false, | ||
| 177 | "notNull": true | ||
| 178 | }, | ||
| 179 | "kind": { | ||
| 180 | "name": "kind", | ||
| 181 | "type": "text", | ||
| 182 | "primaryKey": false, | ||
| 183 | "notNull": true | ||
| 184 | }, | ||
| 185 | "identity_label": { | ||
| 186 | "name": "identity_label", | ||
| 187 | "type": "text", | ||
| 188 | "primaryKey": false, | ||
| 189 | "notNull": false | ||
| 190 | }, | ||
| 191 | "access_token_secret_id": { | ||
| 192 | "name": "access_token_secret_id", | ||
| 193 | "type": "text", | ||
| 194 | "primaryKey": false, | ||
| 195 | "notNull": true | ||
| 196 | }, | ||
| 197 | "refresh_token_secret_id": { | ||
| 198 | "name": "refresh_token_secret_id", | ||
| 199 | "type": "text", | ||
| 200 | "primaryKey": false, | ||
| 201 | "notNull": false | ||
| 202 | }, | ||
| 203 | "expires_at": { | ||
| 204 | "name": "expires_at", | ||
| 205 | "type": "bigint", | ||
| 206 | "primaryKey": false, | ||
| 207 | "notNull": false | ||
| 208 | }, | ||
| 209 | "scope": { | ||
| 210 | "name": "scope", | ||
| 211 | "type": "text", | ||
| 212 | "primaryKey": false, | ||
| 213 | "notNull": false | ||
| 214 | }, | ||
| 215 | "provider_state": { | ||
| 216 | "name": "provider_state", | ||
| 217 | "type": "jsonb", | ||
| 218 | "primaryKey": false, | ||
| 219 | "notNull": false | ||
| 220 | }, | ||
| 221 | "created_at": { | ||
| 222 | "name": "created_at", | ||
| 223 | "type": "timestamp", | ||
| 224 | "primaryKey": false, | ||
| 225 | "notNull": true | ||
| 226 | }, | ||
| 227 | "updated_at": { | ||
| 228 | "name": "updated_at", | ||
| 229 | "type": "timestamp", | ||
| 230 | "primaryKey": false, | ||
| 231 | "notNull": true | ||
| 232 | } | ||
| 233 | }, | ||
| 234 | "indexes": { | ||
| 235 | "connection_scope_id_idx": { | ||
| 236 | "name": "connection_scope_id_idx", | ||
| 237 | "columns": [ | ||
| 238 | { | ||
| 239 | "expression": "scope_id", | ||
| 240 | "isExpression": false, | ||
| 241 | "asc": true, | ||
| 242 | "nulls": "last" | ||
| 243 | } | ||
| 244 | ], | ||
| 245 | "isUnique": false, | ||
| 246 | "concurrently": false, | ||
| 247 | "method": "btree", | ||
| 248 | "with": {} | ||
| 249 | }, | ||
| 250 | "connection_provider_idx": { | ||
| 251 | "name": "connection_provider_idx", | ||
| 252 | "columns": [ | ||
| 253 | { | ||
| 254 | "expression": "provider", | ||
| 255 | "isExpression": false, | ||
| 256 | "asc": true, | ||
| 257 | "nulls": "last" | ||
| 258 | } | ||
| 259 | ], | ||
| 260 | "isUnique": false, | ||
| 261 | "concurrently": false, | ||
| 262 | "method": "btree", | ||
| 263 | "with": {} | ||
| 264 | } | ||
| 265 | }, | ||
| 266 | "foreignKeys": {}, | ||
| 267 | "compositePrimaryKeys": { | ||
| 268 | "connection_scope_id_id_pk": { | ||
| 269 | "name": "connection_scope_id_id_pk", | ||
| 270 | "columns": ["scope_id", "id"] | ||
| 271 | } | ||
| 272 | }, | ||
| 273 | "uniqueConstraints": {}, | ||
| 274 | "policies": {}, | ||
| 275 | "checkConstraints": {}, | ||
| 276 | "isRLSEnabled": false | ||
| 277 | }, | ||
| 278 | "public.definition": { | ||
| 279 | "name": "definition", | ||
| 280 | "schema": "", | ||
| 281 | "columns": { | ||
| 282 | "id": { | ||
| 283 | "name": "id", | ||
| 284 | "type": "text", | ||
| 285 | "primaryKey": false, | ||
| 286 | "notNull": true | ||
| 287 | }, | ||
| 288 | "scope_id": { | ||
| 289 | "name": "scope_id", | ||
| 290 | "type": "text", | ||
| 291 | "primaryKey": false, | ||
| 292 | "notNull": true | ||
| 293 | }, | ||
| 294 | "source_id": { | ||
| 295 | "name": "source_id", | ||
| 296 | "type": "text", | ||
| 297 | "primaryKey": false, | ||
| 298 | "notNull": true | ||
| 299 | }, | ||
| 300 | "plugin_id": { | ||
| 301 | "name": "plugin_id", | ||
| 302 | "type": "text", | ||
| 303 | "primaryKey": false, | ||
| 304 | "notNull": true | ||
| 305 | }, | ||
| 306 | "name": { | ||
| 307 | "name": "name", | ||
| 308 | "type": "text", | ||
| 309 | "primaryKey": false, | ||
| 310 | "notNull": true | ||
| 311 | }, | ||
| 312 | "schema": { | ||
| 313 | "name": "schema", | ||
| 314 | "type": "jsonb", | ||
| 315 | "primaryKey": false, | ||
| 316 | "notNull": true | ||
| 317 | }, | ||
| 318 | "created_at": { | ||
| 319 | "name": "created_at", | ||
| 320 | "type": "timestamp", | ||
| 321 | "primaryKey": false, | ||
| 322 | "notNull": true | ||
| 323 | } | ||
| 324 | }, | ||
| 325 | "indexes": { | ||
| 326 | "definition_scope_id_idx": { | ||
| 327 | "name": "definition_scope_id_idx", | ||
| 328 | "columns": [ | ||
| 329 | { | ||
| 330 | "expression": "scope_id", | ||
| 331 | "isExpression": false, | ||
| 332 | "asc": true, | ||
| 333 | "nulls": "last" | ||
| 334 | } | ||
| 335 | ], | ||
| 336 | "isUnique": false, | ||
| 337 | "concurrently": false, | ||
| 338 | "method": "btree", | ||
| 339 | "with": {} | ||
| 340 | }, | ||
| 341 | "definition_source_id_idx": { | ||
| 342 | "name": "definition_source_id_idx", | ||
| 343 | "columns": [ | ||
| 344 | { | ||
| 345 | "expression": "source_id", | ||
| 346 | "isExpression": false, | ||
| 347 | "asc": true, | ||
| 348 | "nulls": "last" | ||
| 349 | } | ||
| 350 | ], | ||
| 351 | "isUnique": false, | ||
| 352 | "concurrently": false, | ||
| 353 | "method": "btree", | ||
| 354 | "with": {} | ||
| 355 | }, | ||
| 356 | "definition_plugin_id_idx": { | ||
| 357 | "name": "definition_plugin_id_idx", | ||
| 358 | "columns": [ | ||
| 359 | { | ||
| 360 | "expression": "plugin_id", | ||
| 361 | "isExpression": false, | ||
| 362 | "asc": true, | ||
| 363 | "nulls": "last" | ||
| 364 | } | ||
| 365 | ], | ||
| 366 | "isUnique": false, | ||
| 367 | "concurrently": false, | ||
| 368 | "method": "btree", | ||
| 369 | "with": {} | ||
| 370 | } | ||
| 371 | }, | ||
| 372 | "foreignKeys": {}, | ||
| 373 | "compositePrimaryKeys": { | ||
| 374 | "definition_scope_id_id_pk": { | ||
| 375 | "name": "definition_scope_id_id_pk", | ||
| 376 | "columns": ["scope_id", "id"] | ||
| 377 | } | ||
| 378 | }, | ||
| 379 | "uniqueConstraints": {}, | ||
| 380 | "policies": {}, | ||
| 381 | "checkConstraints": {}, | ||
| 382 | "isRLSEnabled": false | ||
| 383 | }, | ||
| 384 | "public.graphql_operation": { | ||
| 385 | "name": "graphql_operation", | ||
| 386 | "schema": "", | ||
| 387 | "columns": { | ||
| 388 | "id": { | ||
| 389 | "name": "id", | ||
| 390 | "type": "text", | ||
| 391 | "primaryKey": false, | ||
| 392 | "notNull": true | ||
| 393 | }, | ||
| 394 | "scope_id": { | ||
| 395 | "name": "scope_id", | ||
| 396 | "type": "text", | ||
| 397 | "primaryKey": false, | ||
| 398 | "notNull": true | ||
| 399 | }, | ||
| 400 | "source_id": { | ||
| 401 | "name": "source_id", | ||
| 402 | "type": "text", | ||
| 403 | "primaryKey": false, | ||
| 404 | "notNull": true | ||
| 405 | }, | ||
| 406 | "binding": { | ||
| 407 | "name": "binding", | ||
| 408 | "type": "jsonb", | ||
| 409 | "primaryKey": false, | ||
| 410 | "notNull": true | ||
| 411 | } | ||
| 412 | }, | ||
| 413 | "indexes": { | ||
| 414 | "graphql_operation_scope_id_idx": { | ||
| 415 | "name": "graphql_operation_scope_id_idx", | ||
| 416 | "columns": [ | ||
| 417 | { | ||
| 418 | "expression": "scope_id", | ||
| 419 | "isExpression": false, | ||
| 420 | "asc": true, | ||
| 421 | "nulls": "last" | ||
| 422 | } | ||
| 423 | ], | ||
| 424 | "isUnique": false, | ||
| 425 | "concurrently": false, | ||
| 426 | "method": "btree", | ||
| 427 | "with": {} | ||
| 428 | }, | ||
| 429 | "graphql_operation_source_id_idx": { | ||
| 430 | "name": "graphql_operation_source_id_idx", | ||
| 431 | "columns": [ | ||
| 432 | { | ||
| 433 | "expression": "source_id", | ||
| 434 | "isExpression": false, | ||
| 435 | "asc": true, | ||
| 436 | "nulls": "last" | ||
| 437 | } | ||
| 438 | ], | ||
| 439 | "isUnique": false, | ||
| 440 | "concurrently": false, | ||
| 441 | "method": "btree", | ||
| 442 | "with": {} | ||
| 443 | } | ||
| 444 | }, | ||
| 445 | "foreignKeys": {}, | ||
| 446 | "compositePrimaryKeys": { | ||
| 447 | "graphql_operation_scope_id_id_pk": { | ||
| 448 | "name": "graphql_operation_scope_id_id_pk", | ||
| 449 | "columns": ["scope_id", "id"] | ||
| 450 | } | ||
| 451 | }, | ||
| 452 | "uniqueConstraints": {}, | ||
| 453 | "policies": {}, | ||
| 454 | "checkConstraints": {}, | ||
| 455 | "isRLSEnabled": false | ||
| 456 | }, | ||
| 457 | "public.graphql_source": { | ||
| 458 | "name": "graphql_source", | ||
| 459 | "schema": "", | ||
| 460 | "columns": { | ||
| 461 | "id": { | ||
| 462 | "name": "id", | ||
| 463 | "type": "text", | ||
| 464 | "primaryKey": false, | ||
| 465 | "notNull": true | ||
| 466 | }, | ||
| 467 | "scope_id": { | ||
| 468 | "name": "scope_id", | ||
| 469 | "type": "text", | ||
| 470 | "primaryKey": false, | ||
| 471 | "notNull": true | ||
| 472 | }, | ||
| 473 | "name": { | ||
| 474 | "name": "name", | ||
| 475 | "type": "text", | ||
| 476 | "primaryKey": false, | ||
| 477 | "notNull": true | ||
| 478 | }, | ||
| 479 | "endpoint": { | ||
| 480 | "name": "endpoint", | ||
| 481 | "type": "text", | ||
| 482 | "primaryKey": false, | ||
| 483 | "notNull": true | ||
| 484 | }, | ||
| 485 | "headers": { | ||
| 486 | "name": "headers", | ||
| 487 | "type": "jsonb", | ||
| 488 | "primaryKey": false, | ||
| 489 | "notNull": false | ||
| 490 | } | ||
| 491 | }, | ||
| 492 | "indexes": { | ||
| 493 | "graphql_source_scope_id_idx": { | ||
| 494 | "name": "graphql_source_scope_id_idx", | ||
| 495 | "columns": [ | ||
| 496 | { | ||
| 497 | "expression": "scope_id", | ||
| 498 | "isExpression": false, | ||
| 499 | "asc": true, | ||
| 500 | "nulls": "last" | ||
| 501 | } | ||
| 502 | ], | ||
| 503 | "isUnique": false, | ||
| 504 | "concurrently": false, | ||
| 505 | "method": "btree", | ||
| 506 | "with": {} | ||
| 507 | } | ||
| 508 | }, | ||
| 509 | "foreignKeys": {}, | ||
| 510 | "compositePrimaryKeys": { | ||
| 511 | "graphql_source_scope_id_id_pk": { | ||
| 512 | "name": "graphql_source_scope_id_id_pk", | ||
| 513 | "columns": ["scope_id", "id"] | ||
| 514 | } | ||
| 515 | }, | ||
| 516 | "uniqueConstraints": {}, | ||
| 517 | "policies": {}, | ||
| 518 | "checkConstraints": {}, | ||
| 519 | "isRLSEnabled": false | ||
| 520 | }, | ||
| 521 | "public.mcp_binding": { | ||
| 522 | "name": "mcp_binding", | ||
| 523 | "schema": "", | ||
| 524 | "columns": { | ||
| 525 | "id": { | ||
| 526 | "name": "id", | ||
| 527 | "type": "text", | ||
| 528 | "primaryKey": false, | ||
| 529 | "notNull": true | ||
| 530 | }, | ||
| 531 | "scope_id": { | ||
| 532 | "name": "scope_id", | ||
| 533 | "type": "text", | ||
| 534 | "primaryKey": false, | ||
| 535 | "notNull": true | ||
| 536 | }, | ||
| 537 | "source_id": { | ||
| 538 | "name": "source_id", | ||
| 539 | "type": "text", | ||
| 540 | "primaryKey": false, | ||
| 541 | "notNull": true | ||
| 542 | }, | ||
| 543 | "binding": { | ||
| 544 | "name": "binding", | ||
| 545 | "type": "jsonb", | ||
| 546 | "primaryKey": false, | ||
| 547 | "notNull": true | ||
| 548 | }, | ||
| 549 | "created_at": { | ||
| 550 | "name": "created_at", | ||
| 551 | "type": "timestamp", | ||
| 552 | "primaryKey": false, | ||
| 553 | "notNull": true | ||
| 554 | } | ||
| 555 | }, | ||
| 556 | "indexes": { | ||
| 557 | "mcp_binding_scope_id_idx": { | ||
| 558 | "name": "mcp_binding_scope_id_idx", | ||
| 559 | "columns": [ | ||
| 560 | { | ||
| 561 | "expression": "scope_id", | ||
| 562 | "isExpression": false, | ||
| 563 | "asc": true, | ||
| 564 | "nulls": "last" | ||
| 565 | } | ||
| 566 | ], | ||
| 567 | "isUnique": false, | ||
| 568 | "concurrently": false, | ||
| 569 | "method": "btree", | ||
| 570 | "with": {} | ||
| 571 | }, | ||
| 572 | "mcp_binding_source_id_idx": { | ||
| 573 | "name": "mcp_binding_source_id_idx", | ||
| 574 | "columns": [ | ||
| 575 | { | ||
| 576 | "expression": "source_id", | ||
| 577 | "isExpression": false, | ||
| 578 | "asc": true, | ||
| 579 | "nulls": "last" | ||
| 580 | } | ||
| 581 | ], | ||
| 582 | "isUnique": false, | ||
| 583 | "concurrently": false, | ||
| 584 | "method": "btree", | ||
| 585 | "with": {} | ||
| 586 | } | ||
| 587 | }, | ||
| 588 | "foreignKeys": {}, | ||
| 589 | "compositePrimaryKeys": { | ||
| 590 | "mcp_binding_scope_id_id_pk": { | ||
| 591 | "name": "mcp_binding_scope_id_id_pk", | ||
| 592 | "columns": ["scope_id", "id"] | ||
| 593 | } | ||
| 594 | }, | ||
| 595 | "uniqueConstraints": {}, | ||
| 596 | "policies": {}, | ||
| 597 | "checkConstraints": {}, | ||
| 598 | "isRLSEnabled": false | ||
| 599 | }, | ||
| 600 | "public.mcp_oauth_session": { | ||
| 601 | "name": "mcp_oauth_session", | ||
| 602 | "schema": "", | ||
| 603 | "columns": { | ||
| 604 | "id": { | ||
| 605 | "name": "id", | ||
| 606 | "type": "text", | ||
| 607 | "primaryKey": false, | ||
| 608 | "notNull": true | ||
| 609 | }, | ||
| 610 | "scope_id": { | ||
| 611 | "name": "scope_id", | ||
| 612 | "type": "text", | ||
| 613 | "primaryKey": false, | ||
| 614 | "notNull": true | ||
| 615 | }, | ||
| 616 | "session": { | ||
| 617 | "name": "session", | ||
| 618 | "type": "jsonb", | ||
| 619 | "primaryKey": false, | ||
| 620 | "notNull": true | ||
| 621 | }, | ||
| 622 | "expires_at": { | ||
| 623 | "name": "expires_at", | ||
| 624 | "type": "bigint", | ||
| 625 | "primaryKey": false, | ||
| 626 | "notNull": true | ||
| 627 | }, | ||
| 628 | "created_at": { | ||
| 629 | "name": "created_at", | ||
| 630 | "type": "timestamp", | ||
| 631 | "primaryKey": false, | ||
| 632 | "notNull": true | ||
| 633 | } | ||
| 634 | }, | ||
| 635 | "indexes": { | ||
| 636 | "mcp_oauth_session_scope_id_idx": { | ||
| 637 | "name": "mcp_oauth_session_scope_id_idx", | ||
| 638 | "columns": [ | ||
| 639 | { | ||
| 640 | "expression": "scope_id", | ||
| 641 | "isExpression": false, | ||
| 642 | "asc": true, | ||
| 643 | "nulls": "last" | ||
| 644 | } | ||
| 645 | ], | ||
| 646 | "isUnique": false, | ||
| 647 | "concurrently": false, | ||
| 648 | "method": "btree", | ||
| 649 | "with": {} | ||
| 650 | } | ||
| 651 | }, | ||
| 652 | "foreignKeys": {}, | ||
| 653 | "compositePrimaryKeys": { | ||
| 654 | "mcp_oauth_session_scope_id_id_pk": { | ||
| 655 | "name": "mcp_oauth_session_scope_id_id_pk", | ||
| 656 | "columns": ["scope_id", "id"] | ||
| 657 | } | ||
| 658 | }, | ||
| 659 | "uniqueConstraints": {}, | ||
| 660 | "policies": {}, | ||
| 661 | "checkConstraints": {}, | ||
| 662 | "isRLSEnabled": false | ||
| 663 | }, | ||
| 664 | "public.mcp_source": { | ||
| 665 | "name": "mcp_source", | ||
| 666 | "schema": "", | ||
| 667 | "columns": { | ||
| 668 | "id": { | ||
| 669 | "name": "id", | ||
| 670 | "type": "text", | ||
| 671 | "primaryKey": false, | ||
| 672 | "notNull": true | ||
| 673 | }, | ||
| 674 | "scope_id": { | ||
| 675 | "name": "scope_id", | ||
| 676 | "type": "text", | ||
| 677 | "primaryKey": false, | ||
| 678 | "notNull": true | ||
| 679 | }, | ||
| 680 | "name": { | ||
| 681 | "name": "name", | ||
| 682 | "type": "text", | ||
| 683 | "primaryKey": false, | ||
| 684 | "notNull": true | ||
| 685 | }, | ||
| 686 | "config": { | ||
| 687 | "name": "config", | ||
| 688 | "type": "jsonb", | ||
| 689 | "primaryKey": false, | ||
| 690 | "notNull": true | ||
| 691 | }, | ||
| 692 | "created_at": { | ||
| 693 | "name": "created_at", | ||
| 694 | "type": "timestamp", | ||
| 695 | "primaryKey": false, | ||
| 696 | "notNull": true | ||
| 697 | } | ||
| 698 | }, | ||
| 699 | "indexes": { | ||
| 700 | "mcp_source_scope_id_idx": { | ||
| 701 | "name": "mcp_source_scope_id_idx", | ||
| 702 | "columns": [ | ||
| 703 | { | ||
| 704 | "expression": "scope_id", | ||
| 705 | "isExpression": false, | ||
| 706 | "asc": true, | ||
| 707 | "nulls": "last" | ||
| 708 | } | ||
| 709 | ], | ||
| 710 | "isUnique": false, | ||
| 711 | "concurrently": false, | ||
| 712 | "method": "btree", | ||
| 713 | "with": {} | ||
| 714 | } | ||
| 715 | }, | ||
| 716 | "foreignKeys": {}, | ||
| 717 | "compositePrimaryKeys": { | ||
| 718 | "mcp_source_scope_id_id_pk": { | ||
| 719 | "name": "mcp_source_scope_id_id_pk", | ||
| 720 | "columns": ["scope_id", "id"] | ||
| 721 | } | ||
| 722 | }, | ||
| 723 | "uniqueConstraints": {}, | ||
| 724 | "policies": {}, | ||
| 725 | "checkConstraints": {}, | ||
| 726 | "isRLSEnabled": false | ||
| 727 | }, | ||
| 728 | "public.openapi_oauth_session": { | ||
| 729 | "name": "openapi_oauth_session", | ||
| 730 | "schema": "", | ||
| 731 | "columns": { | ||
| 732 | "id": { | ||
| 733 | "name": "id", | ||
| 734 | "type": "text", | ||
| 735 | "primaryKey": false, | ||
| 736 | "notNull": true | ||
| 737 | }, | ||
| 738 | "scope_id": { | ||
| 739 | "name": "scope_id", | ||
| 740 | "type": "text", | ||
| 741 | "primaryKey": false, | ||
| 742 | "notNull": true | ||
| 743 | }, | ||
| 744 | "session": { | ||
| 745 | "name": "session", | ||
| 746 | "type": "jsonb", | ||
| 747 | "primaryKey": false, | ||
| 748 | "notNull": true | ||
| 749 | }, | ||
| 750 | "created_at": { | ||
| 751 | "name": "created_at", | ||
| 752 | "type": "timestamp", | ||
| 753 | "primaryKey": false, | ||
| 754 | "notNull": true | ||
| 755 | } | ||
| 756 | }, | ||
| 757 | "indexes": { | ||
| 758 | "openapi_oauth_session_scope_id_idx": { | ||
| 759 | "name": "openapi_oauth_session_scope_id_idx", | ||
| 760 | "columns": [ | ||
| 761 | { | ||
| 762 | "expression": "scope_id", | ||
| 763 | "isExpression": false, | ||
| 764 | "asc": true, | ||
| 765 | "nulls": "last" | ||
| 766 | } | ||
| 767 | ], | ||
| 768 | "isUnique": false, | ||
| 769 | "concurrently": false, | ||
| 770 | "method": "btree", | ||
| 771 | "with": {} | ||
| 772 | } | ||
| 773 | }, | ||
| 774 | "foreignKeys": {}, | ||
| 775 | "compositePrimaryKeys": { | ||
| 776 | "openapi_oauth_session_scope_id_id_pk": { | ||
| 777 | "name": "openapi_oauth_session_scope_id_id_pk", | ||
| 778 | "columns": ["scope_id", "id"] | ||
| 779 | } | ||
| 780 | }, | ||
| 781 | "uniqueConstraints": {}, | ||
| 782 | "policies": {}, | ||
| 783 | "checkConstraints": {}, | ||
| 784 | "isRLSEnabled": false | ||
| 785 | }, | ||
| 786 | "public.openapi_operation": { | ||
| 787 | "name": "openapi_operation", | ||
| 788 | "schema": "", | ||
| 789 | "columns": { | ||
| 790 | "id": { | ||
| 791 | "name": "id", | ||
| 792 | "type": "text", | ||
| 793 | "primaryKey": false, | ||
| 794 | "notNull": true | ||
| 795 | }, | ||
| 796 | "scope_id": { | ||
| 797 | "name": "scope_id", | ||
| 798 | "type": "text", | ||
| 799 | "primaryKey": false, | ||
| 800 | "notNull": true | ||
| 801 | }, | ||
| 802 | "source_id": { | ||
| 803 | "name": "source_id", | ||
| 804 | "type": "text", | ||
| 805 | "primaryKey": false, | ||
| 806 | "notNull": true | ||
| 807 | }, | ||
| 808 | "binding": { | ||
| 809 | "name": "binding", | ||
| 810 | "type": "jsonb", | ||
| 811 | "primaryKey": false, | ||
| 812 | "notNull": true | ||
| 813 | } | ||
| 814 | }, | ||
| 815 | "indexes": { | ||
| 816 | "openapi_operation_scope_id_idx": { | ||
| 817 | "name": "openapi_operation_scope_id_idx", | ||
| 818 | "columns": [ | ||
| 819 | { | ||
| 820 | "expression": "scope_id", | ||
| 821 | "isExpression": false, | ||
| 822 | "asc": true, | ||
| 823 | "nulls": "last" | ||
| 824 | } | ||
| 825 | ], | ||
| 826 | "isUnique": false, | ||
| 827 | "concurrently": false, | ||
| 828 | "method": "btree", | ||
| 829 | "with": {} | ||
| 830 | }, | ||
| 831 | "openapi_operation_source_id_idx": { | ||
| 832 | "name": "openapi_operation_source_id_idx", | ||
| 833 | "columns": [ | ||
| 834 | { | ||
| 835 | "expression": "source_id", | ||
| 836 | "isExpression": false, | ||
| 837 | "asc": true, | ||
| 838 | "nulls": "last" | ||
| 839 | } | ||
| 840 | ], | ||
| 841 | "isUnique": false, | ||
| 842 | "concurrently": false, | ||
| 843 | "method": "btree", | ||
| 844 | "with": {} | ||
| 845 | } | ||
| 846 | }, | ||
| 847 | "foreignKeys": {}, | ||
| 848 | "compositePrimaryKeys": { | ||
| 849 | "openapi_operation_scope_id_id_pk": { | ||
| 850 | "name": "openapi_operation_scope_id_id_pk", | ||
| 851 | "columns": ["scope_id", "id"] | ||
| 852 | } | ||
| 853 | }, | ||
| 854 | "uniqueConstraints": {}, | ||
| 855 | "policies": {}, | ||
| 856 | "checkConstraints": {}, | ||
| 857 | "isRLSEnabled": false | ||
| 858 | }, | ||
| 859 | "public.openapi_source": { | ||
| 860 | "name": "openapi_source", | ||
| 861 | "schema": "", | ||
| 862 | "columns": { | ||
| 863 | "id": { | ||
| 864 | "name": "id", | ||
| 865 | "type": "text", | ||
| 866 | "primaryKey": false, | ||
| 867 | "notNull": true | ||
| 868 | }, | ||
| 869 | "scope_id": { | ||
| 870 | "name": "scope_id", | ||
| 871 | "type": "text", | ||
| 872 | "primaryKey": false, | ||
| 873 | "notNull": true | ||
| 874 | }, | ||
| 875 | "name": { | ||
| 876 | "name": "name", | ||
| 877 | "type": "text", | ||
| 878 | "primaryKey": false, | ||
| 879 | "notNull": true | ||
| 880 | }, | ||
| 881 | "spec": { | ||
| 882 | "name": "spec", | ||
| 883 | "type": "text", | ||
| 884 | "primaryKey": false, | ||
| 885 | "notNull": true | ||
| 886 | }, | ||
| 887 | "source_url": { | ||
| 888 | "name": "source_url", | ||
| 889 | "type": "text", | ||
| 890 | "primaryKey": false, | ||
| 891 | "notNull": false | ||
| 892 | }, | ||
| 893 | "base_url": { | ||
| 894 | "name": "base_url", | ||
| 895 | "type": "text", | ||
| 896 | "primaryKey": false, | ||
| 897 | "notNull": false | ||
| 898 | }, | ||
| 899 | "headers": { | ||
| 900 | "name": "headers", | ||
| 901 | "type": "jsonb", | ||
| 902 | "primaryKey": false, | ||
| 903 | "notNull": false | ||
| 904 | }, | ||
| 905 | "oauth2": { | ||
| 906 | "name": "oauth2", | ||
| 907 | "type": "jsonb", | ||
| 908 | "primaryKey": false, | ||
| 909 | "notNull": false | ||
| 910 | }, | ||
| 911 | "invocation_config": { | ||
| 912 | "name": "invocation_config", | ||
| 913 | "type": "jsonb", | ||
| 914 | "primaryKey": false, | ||
| 915 | "notNull": true | ||
| 916 | } | ||
| 917 | }, | ||
| 918 | "indexes": { | ||
| 919 | "openapi_source_scope_id_idx": { | ||
| 920 | "name": "openapi_source_scope_id_idx", | ||
| 921 | "columns": [ | ||
| 922 | { | ||
| 923 | "expression": "scope_id", | ||
| 924 | "isExpression": false, | ||
| 925 | "asc": true, | ||
| 926 | "nulls": "last" | ||
| 927 | } | ||
| 928 | ], | ||
| 929 | "isUnique": false, | ||
| 930 | "concurrently": false, | ||
| 931 | "method": "btree", | ||
| 932 | "with": {} | ||
| 933 | } | ||
| 934 | }, | ||
| 935 | "foreignKeys": {}, | ||
| 936 | "compositePrimaryKeys": { | ||
| 937 | "openapi_source_scope_id_id_pk": { | ||
| 938 | "name": "openapi_source_scope_id_id_pk", | ||
| 939 | "columns": ["scope_id", "id"] | ||
| 940 | } | ||
| 941 | }, | ||
| 942 | "uniqueConstraints": {}, | ||
| 943 | "policies": {}, | ||
| 944 | "checkConstraints": {}, | ||
| 945 | "isRLSEnabled": false | ||
| 946 | }, | ||
| 947 | "public.secret": { | ||
| 948 | "name": "secret", | ||
| 949 | "schema": "", | ||
| 950 | "columns": { | ||
| 951 | "id": { | ||
| 952 | "name": "id", | ||
| 953 | "type": "text", | ||
| 954 | "primaryKey": false, | ||
| 955 | "notNull": true | ||
| 956 | }, | ||
| 957 | "scope_id": { | ||
| 958 | "name": "scope_id", | ||
| 959 | "type": "text", | ||
| 960 | "primaryKey": false, | ||
| 961 | "notNull": true | ||
| 962 | }, | ||
| 963 | "name": { | ||
| 964 | "name": "name", | ||
| 965 | "type": "text", | ||
| 966 | "primaryKey": false, | ||
| 967 | "notNull": true | ||
| 968 | }, | ||
| 969 | "provider": { | ||
| 970 | "name": "provider", | ||
| 971 | "type": "text", | ||
| 972 | "primaryKey": false, | ||
| 973 | "notNull": true | ||
| 974 | }, | ||
| 975 | "owned_by_connection_id": { | ||
| 976 | "name": "owned_by_connection_id", | ||
| 977 | "type": "text", | ||
| 978 | "primaryKey": false, | ||
| 979 | "notNull": false | ||
| 980 | }, | ||
| 981 | "created_at": { | ||
| 982 | "name": "created_at", | ||
| 983 | "type": "timestamp", | ||
| 984 | "primaryKey": false, | ||
| 985 | "notNull": true | ||
| 986 | } | ||
| 987 | }, | ||
| 988 | "indexes": { | ||
| 989 | "secret_scope_id_idx": { | ||
| 990 | "name": "secret_scope_id_idx", | ||
| 991 | "columns": [ | ||
| 992 | { | ||
| 993 | "expression": "scope_id", | ||
| 994 | "isExpression": false, | ||
| 995 | "asc": true, | ||
| 996 | "nulls": "last" | ||
| 997 | } | ||
| 998 | ], | ||
| 999 | "isUnique": false, | ||
| 1000 | "concurrently": false, | ||
| 1001 | "method": "btree", | ||
| 1002 | "with": {} | ||
| 1003 | }, | ||
| 1004 | "secret_provider_idx": { | ||
| 1005 | "name": "secret_provider_idx", | ||
| 1006 | "columns": [ | ||
| 1007 | { | ||
| 1008 | "expression": "provider", | ||
| 1009 | "isExpression": false, | ||
| 1010 | "asc": true, | ||
| 1011 | "nulls": "last" | ||
| 1012 | } | ||
| 1013 | ], | ||
| 1014 | "isUnique": false, | ||
| 1015 | "concurrently": false, | ||
| 1016 | "method": "btree", | ||
| 1017 | "with": {} | ||
| 1018 | }, | ||
| 1019 | "secret_owned_by_connection_id_idx": { | ||
| 1020 | "name": "secret_owned_by_connection_id_idx", | ||
| 1021 | "columns": [ | ||
| 1022 | { | ||
| 1023 | "expression": "owned_by_connection_id", | ||
| 1024 | "isExpression": false, | ||
| 1025 | "asc": true, | ||
| 1026 | "nulls": "last" | ||
| 1027 | } | ||
| 1028 | ], | ||
| 1029 | "isUnique": false, | ||
| 1030 | "concurrently": false, | ||
| 1031 | "method": "btree", | ||
| 1032 | "with": {} | ||
| 1033 | } | ||
| 1034 | }, | ||
| 1035 | "foreignKeys": {}, | ||
| 1036 | "compositePrimaryKeys": { | ||
| 1037 | "secret_scope_id_id_pk": { | ||
| 1038 | "name": "secret_scope_id_id_pk", | ||
| 1039 | "columns": ["scope_id", "id"] | ||
| 1040 | } | ||
| 1041 | }, | ||
| 1042 | "uniqueConstraints": {}, | ||
| 1043 | "policies": {}, | ||
| 1044 | "checkConstraints": {}, | ||
| 1045 | "isRLSEnabled": false | ||
| 1046 | }, | ||
| 1047 | "public.source": { | ||
| 1048 | "name": "source", | ||
| 1049 | "schema": "", | ||
| 1050 | "columns": { | ||
| 1051 | "id": { | ||
| 1052 | "name": "id", | ||
| 1053 | "type": "text", | ||
| 1054 | "primaryKey": false, | ||
| 1055 | "notNull": true | ||
| 1056 | }, | ||
| 1057 | "scope_id": { | ||
| 1058 | "name": "scope_id", | ||
| 1059 | "type": "text", | ||
| 1060 | "primaryKey": false, | ||
| 1061 | "notNull": true | ||
| 1062 | }, | ||
| 1063 | "plugin_id": { | ||
| 1064 | "name": "plugin_id", | ||
| 1065 | "type": "text", | ||
| 1066 | "primaryKey": false, | ||
| 1067 | "notNull": true | ||
| 1068 | }, | ||
| 1069 | "kind": { | ||
| 1070 | "name": "kind", | ||
| 1071 | "type": "text", | ||
| 1072 | "primaryKey": false, | ||
| 1073 | "notNull": true | ||
| 1074 | }, | ||
| 1075 | "name": { | ||
| 1076 | "name": "name", | ||
| 1077 | "type": "text", | ||
| 1078 | "primaryKey": false, | ||
| 1079 | "notNull": true | ||
| 1080 | }, | ||
| 1081 | "url": { | ||
| 1082 | "name": "url", | ||
| 1083 | "type": "text", | ||
| 1084 | "primaryKey": false, | ||
| 1085 | "notNull": false | ||
| 1086 | }, | ||
| 1087 | "can_remove": { | ||
| 1088 | "name": "can_remove", | ||
| 1089 | "type": "boolean", | ||
| 1090 | "primaryKey": false, | ||
| 1091 | "notNull": true, | ||
| 1092 | "default": true | ||
| 1093 | }, | ||
| 1094 | "can_refresh": { | ||
| 1095 | "name": "can_refresh", | ||
| 1096 | "type": "boolean", | ||
| 1097 | "primaryKey": false, | ||
| 1098 | "notNull": true, | ||
| 1099 | "default": false | ||
| 1100 | }, | ||
| 1101 | "can_edit": { | ||
| 1102 | "name": "can_edit", | ||
| 1103 | "type": "boolean", | ||
| 1104 | "primaryKey": false, | ||
| 1105 | "notNull": true, | ||
| 1106 | "default": false | ||
| 1107 | }, | ||
| 1108 | "created_at": { | ||
| 1109 | "name": "created_at", | ||
| 1110 | "type": "timestamp", | ||
| 1111 | "primaryKey": false, | ||
| 1112 | "notNull": true | ||
| 1113 | }, | ||
| 1114 | "updated_at": { | ||
| 1115 | "name": "updated_at", | ||
| 1116 | "type": "timestamp", | ||
| 1117 | "primaryKey": false, | ||
| 1118 | "notNull": true | ||
| 1119 | } | ||
| 1120 | }, | ||
| 1121 | "indexes": { | ||
| 1122 | "source_scope_id_idx": { | ||
| 1123 | "name": "source_scope_id_idx", | ||
| 1124 | "columns": [ | ||
| 1125 | { | ||
| 1126 | "expression": "scope_id", | ||
| 1127 | "isExpression": false, | ||
| 1128 | "asc": true, | ||
| 1129 | "nulls": "last" | ||
| 1130 | } | ||
| 1131 | ], | ||
| 1132 | "isUnique": false, | ||
| 1133 | "concurrently": false, | ||
| 1134 | "method": "btree", | ||
| 1135 | "with": {} | ||
| 1136 | }, | ||
| 1137 | "source_plugin_id_idx": { | ||
| 1138 | "name": "source_plugin_id_idx", | ||
| 1139 | "columns": [ | ||
| 1140 | { | ||
| 1141 | "expression": "plugin_id", | ||
| 1142 | "isExpression": false, | ||
| 1143 | "asc": true, | ||
| 1144 | "nulls": "last" | ||
| 1145 | } | ||
| 1146 | ], | ||
| 1147 | "isUnique": false, | ||
| 1148 | "concurrently": false, | ||
| 1149 | "method": "btree", | ||
| 1150 | "with": {} | ||
| 1151 | } | ||
| 1152 | }, | ||
| 1153 | "foreignKeys": {}, | ||
| 1154 | "compositePrimaryKeys": { | ||
| 1155 | "source_scope_id_id_pk": { | ||
| 1156 | "name": "source_scope_id_id_pk", | ||
| 1157 | "columns": ["scope_id", "id"] | ||
| 1158 | } | ||
| 1159 | }, | ||
| 1160 | "uniqueConstraints": {}, | ||
| 1161 | "policies": {}, | ||
| 1162 | "checkConstraints": {}, | ||
| 1163 | "isRLSEnabled": false | ||
| 1164 | }, | ||
| 1165 | "public.tool": { | ||
| 1166 | "name": "tool", | ||
| 1167 | "schema": "", | ||
| 1168 | "columns": { | ||
| 1169 | "id": { | ||
| 1170 | "name": "id", | ||
| 1171 | "type": "text", | ||
| 1172 | "primaryKey": false, | ||
| 1173 | "notNull": true | ||
| 1174 | }, | ||
| 1175 | "scope_id": { | ||
| 1176 | "name": "scope_id", | ||
| 1177 | "type": "text", | ||
| 1178 | "primaryKey": false, | ||
| 1179 | "notNull": true | ||
| 1180 | }, | ||
| 1181 | "source_id": { | ||
| 1182 | "name": "source_id", | ||
| 1183 | "type": "text", | ||
| 1184 | "primaryKey": false, | ||
| 1185 | "notNull": true | ||
| 1186 | }, | ||
| 1187 | "plugin_id": { | ||
| 1188 | "name": "plugin_id", | ||
| 1189 | "type": "text", | ||
| 1190 | "primaryKey": false, | ||
| 1191 | "notNull": true | ||
| 1192 | }, | ||
| 1193 | "name": { | ||
| 1194 | "name": "name", | ||
| 1195 | "type": "text", | ||
| 1196 | "primaryKey": false, | ||
| 1197 | "notNull": true | ||
| 1198 | }, | ||
| 1199 | "description": { | ||
| 1200 | "name": "description", | ||
| 1201 | "type": "text", | ||
| 1202 | "primaryKey": false, | ||
| 1203 | "notNull": true | ||
| 1204 | }, | ||
| 1205 | "input_schema": { | ||
| 1206 | "name": "input_schema", | ||
| 1207 | "type": "jsonb", | ||
| 1208 | "primaryKey": false, | ||
| 1209 | "notNull": false | ||
| 1210 | }, | ||
| 1211 | "output_schema": { | ||
| 1212 | "name": "output_schema", | ||
| 1213 | "type": "jsonb", | ||
| 1214 | "primaryKey": false, | ||
| 1215 | "notNull": false | ||
| 1216 | }, | ||
| 1217 | "created_at": { | ||
| 1218 | "name": "created_at", | ||
| 1219 | "type": "timestamp", | ||
| 1220 | "primaryKey": false, | ||
| 1221 | "notNull": true | ||
| 1222 | }, | ||
| 1223 | "updated_at": { | ||
| 1224 | "name": "updated_at", | ||
| 1225 | "type": "timestamp", | ||
| 1226 | "primaryKey": false, | ||
| 1227 | "notNull": true | ||
| 1228 | } | ||
| 1229 | }, | ||
| 1230 | "indexes": { | ||
| 1231 | "tool_scope_id_idx": { | ||
| 1232 | "name": "tool_scope_id_idx", | ||
| 1233 | "columns": [ | ||
| 1234 | { | ||
| 1235 | "expression": "scope_id", | ||
| 1236 | "isExpression": false, | ||
| 1237 | "asc": true, | ||
| 1238 | "nulls": "last" | ||
| 1239 | } | ||
| 1240 | ], | ||
| 1241 | "isUnique": false, | ||
| 1242 | "concurrently": false, | ||
| 1243 | "method": "btree", | ||
| 1244 | "with": {} | ||
| 1245 | }, | ||
| 1246 | "tool_source_id_idx": { | ||
| 1247 | "name": "tool_source_id_idx", | ||
| 1248 | "columns": [ | ||
| 1249 | { | ||
| 1250 | "expression": "source_id", | ||
| 1251 | "isExpression": false, | ||
| 1252 | "asc": true, | ||
| 1253 | "nulls": "last" | ||
| 1254 | } | ||
| 1255 | ], | ||
| 1256 | "isUnique": false, | ||
| 1257 | "concurrently": false, | ||
| 1258 | "method": "btree", | ||
| 1259 | "with": {} | ||
| 1260 | }, | ||
| 1261 | "tool_plugin_id_idx": { | ||
| 1262 | "name": "tool_plugin_id_idx", | ||
| 1263 | "columns": [ | ||
| 1264 | { | ||
| 1265 | "expression": "plugin_id", | ||
| 1266 | "isExpression": false, | ||
| 1267 | "asc": true, | ||
| 1268 | "nulls": "last" | ||
| 1269 | } | ||
| 1270 | ], | ||
| 1271 | "isUnique": false, | ||
| 1272 | "concurrently": false, | ||
| 1273 | "method": "btree", | ||
| 1274 | "with": {} | ||
| 1275 | } | ||
| 1276 | }, | ||
| 1277 | "foreignKeys": {}, | ||
| 1278 | "compositePrimaryKeys": { | ||
| 1279 | "tool_scope_id_id_pk": { | ||
| 1280 | "name": "tool_scope_id_id_pk", | ||
| 1281 | "columns": ["scope_id", "id"] | ||
| 1282 | } | ||
| 1283 | }, | ||
| 1284 | "uniqueConstraints": {}, | ||
| 1285 | "policies": {}, | ||
| 1286 | "checkConstraints": {}, | ||
| 1287 | "isRLSEnabled": false | ||
| 1288 | }, | ||
| 1289 | "public.workos_vault_metadata": { | ||
| 1290 | "name": "workos_vault_metadata", | ||
| 1291 | "schema": "", | ||
| 1292 | "columns": { | ||
| 1293 | "id": { | ||
| 1294 | "name": "id", | ||
| 1295 | "type": "text", | ||
| 1296 | "primaryKey": false, | ||
| 1297 | "notNull": true | ||
| 1298 | }, | ||
| 1299 | "scope_id": { | ||
| 1300 | "name": "scope_id", | ||
| 1301 | "type": "text", | ||
| 1302 | "primaryKey": false, | ||
| 1303 | "notNull": true | ||
| 1304 | }, | ||
| 1305 | "name": { | ||
| 1306 | "name": "name", | ||
| 1307 | "type": "text", | ||
| 1308 | "primaryKey": false, | ||
| 1309 | "notNull": true | ||
| 1310 | }, | ||
| 1311 | "purpose": { | ||
| 1312 | "name": "purpose", | ||
| 1313 | "type": "text", | ||
| 1314 | "primaryKey": false, | ||
| 1315 | "notNull": false | ||
| 1316 | }, | ||
| 1317 | "created_at": { | ||
| 1318 | "name": "created_at", | ||
| 1319 | "type": "timestamp", | ||
| 1320 | "primaryKey": false, | ||
| 1321 | "notNull": true | ||
| 1322 | } | ||
| 1323 | }, | ||
| 1324 | "indexes": { | ||
| 1325 | "workos_vault_metadata_scope_id_idx": { | ||
| 1326 | "name": "workos_vault_metadata_scope_id_idx", | ||
| 1327 | "columns": [ | ||
| 1328 | { | ||
| 1329 | "expression": "scope_id", | ||
| 1330 | "isExpression": false, | ||
| 1331 | "asc": true, | ||
| 1332 | "nulls": "last" | ||
| 1333 | } | ||
| 1334 | ], | ||
| 1335 | "isUnique": false, | ||
| 1336 | "concurrently": false, | ||
| 1337 | "method": "btree", | ||
| 1338 | "with": {} | ||
| 1339 | } | ||
| 1340 | }, | ||
| 1341 | "foreignKeys": {}, | ||
| 1342 | "compositePrimaryKeys": { | ||
| 1343 | "workos_vault_metadata_scope_id_id_pk": { | ||
| 1344 | "name": "workos_vault_metadata_scope_id_id_pk", | ||
| 1345 | "columns": ["scope_id", "id"] | ||
| 1346 | } | ||
| 1347 | }, | ||
| 1348 | "uniqueConstraints": {}, | ||
| 1349 | "policies": {}, | ||
| 1350 | "checkConstraints": {}, | ||
| 1351 | "isRLSEnabled": false | ||
| 1352 | }, | ||
| 1353 | "public.openapi_source_binding": { | ||
| 1354 | "name": "openapi_source_binding", | ||
| 1355 | "schema": "", | ||
| 1356 | "columns": { | ||
| 1357 | "id": { | ||
| 1358 | "name": "id", | ||
| 1359 | "type": "text", | ||
| 1360 | "primaryKey": true, | ||
| 1361 | "notNull": true | ||
| 1362 | }, | ||
| 1363 | "source_id": { | ||
| 1364 | "name": "source_id", | ||
| 1365 | "type": "text", | ||
| 1366 | "primaryKey": false, | ||
| 1367 | "notNull": true | ||
| 1368 | }, | ||
| 1369 | "source_scope_id": { | ||
| 1370 | "name": "source_scope_id", | ||
| 1371 | "type": "text", | ||
| 1372 | "primaryKey": false, | ||
| 1373 | "notNull": true | ||
| 1374 | }, | ||
| 1375 | "target_scope_id": { | ||
| 1376 | "name": "target_scope_id", | ||
| 1377 | "type": "text", | ||
| 1378 | "primaryKey": false, | ||
| 1379 | "notNull": true | ||
| 1380 | }, | ||
| 1381 | "slot": { | ||
| 1382 | "name": "slot", | ||
| 1383 | "type": "text", | ||
| 1384 | "primaryKey": false, | ||
| 1385 | "notNull": true | ||
| 1386 | }, | ||
| 1387 | "value": { | ||
| 1388 | "name": "value", | ||
| 1389 | "type": "jsonb", | ||
| 1390 | "primaryKey": false, | ||
| 1391 | "notNull": true | ||
| 1392 | }, | ||
| 1393 | "created_at": { | ||
| 1394 | "name": "created_at", | ||
| 1395 | "type": "timestamp", | ||
| 1396 | "primaryKey": false, | ||
| 1397 | "notNull": true | ||
| 1398 | }, | ||
| 1399 | "updated_at": { | ||
| 1400 | "name": "updated_at", | ||
| 1401 | "type": "timestamp", | ||
| 1402 | "primaryKey": false, | ||
| 1403 | "notNull": true | ||
| 1404 | } | ||
| 1405 | }, | ||
| 1406 | "indexes": { | ||
| 1407 | "openapi_source_binding_source_id_idx": { | ||
| 1408 | "name": "openapi_source_binding_source_id_idx", | ||
| 1409 | "columns": [ | ||
| 1410 | { | ||
| 1411 | "expression": "source_id", | ||
| 1412 | "isExpression": false, | ||
| 1413 | "asc": true, | ||
| 1414 | "nulls": "last" | ||
| 1415 | } | ||
| 1416 | ], | ||
| 1417 | "isUnique": false, | ||
| 1418 | "concurrently": false, | ||
| 1419 | "method": "btree", | ||
| 1420 | "with": {} | ||
| 1421 | }, | ||
| 1422 | "openapi_source_binding_source_scope_id_idx": { | ||
| 1423 | "name": "openapi_source_binding_source_scope_id_idx", | ||
| 1424 | "columns": [ | ||
| 1425 | { | ||
| 1426 | "expression": "source_scope_id", | ||
| 1427 | "isExpression": false, | ||
| 1428 | "asc": true, | ||
| 1429 | "nulls": "last" | ||
| 1430 | } | ||
| 1431 | ], | ||
| 1432 | "isUnique": false, | ||
| 1433 | "concurrently": false, | ||
| 1434 | "method": "btree", | ||
| 1435 | "with": {} | ||
| 1436 | }, | ||
| 1437 | "openapi_source_binding_target_scope_id_idx": { | ||
| 1438 | "name": "openapi_source_binding_target_scope_id_idx", | ||
| 1439 | "columns": [ | ||
| 1440 | { | ||
| 1441 | "expression": "target_scope_id", | ||
| 1442 | "isExpression": false, | ||
| 1443 | "asc": true, | ||
| 1444 | "nulls": "last" | ||
| 1445 | } | ||
| 1446 | ], | ||
| 1447 | "isUnique": false, | ||
| 1448 | "concurrently": false, | ||
| 1449 | "method": "btree", | ||
| 1450 | "with": {} | ||
| 1451 | }, | ||
| 1452 | "openapi_source_binding_slot_idx": { | ||
| 1453 | "name": "openapi_source_binding_slot_idx", | ||
| 1454 | "columns": [ | ||
| 1455 | { | ||
| 1456 | "expression": "slot", | ||
| 1457 | "isExpression": false, | ||
| 1458 | "asc": true, | ||
| 1459 | "nulls": "last" | ||
| 1460 | } | ||
| 1461 | ], | ||
| 1462 | "isUnique": false, | ||
| 1463 | "concurrently": false, | ||
| 1464 | "method": "btree", | ||
| 1465 | "with": {} | ||
| 1466 | } | ||
| 1467 | }, | ||
| 1468 | "foreignKeys": {}, | ||
| 1469 | "compositePrimaryKeys": {}, | ||
| 1470 | "uniqueConstraints": {}, | ||
| 1471 | "policies": {}, | ||
| 1472 | "checkConstraints": {}, | ||
| 1473 | "isRLSEnabled": false | ||
| 1474 | } | ||
| 1475 | }, | ||
| 1476 | "enums": {}, | ||
| 1477 | "schemas": {}, | ||
| 1478 | "sequences": {}, | ||
| 1479 | "roles": {}, | ||
| 1480 | "policies": {}, | ||
| 1481 | "views": {}, | ||
| 1482 | "_meta": { | ||
| 1483 | "columns": {}, | ||
| 1484 | "schemas": {}, | ||
| 1485 | "tables": {} | ||
| 1486 | } | ||
| 1487 | } | ||
| @@ -1,1481 +0,0 @@ | |||
| 1 | { | ||
| 2 | "id": "1d422fe0-aa63-4931-80dc-02816df3c4d2", | ||
| 3 | "prevId": "626f3e78-1eda-40a0-b97f-2562e89205ec", | ||
| 4 | "version": "7", | ||
| 5 | "dialect": "postgresql", | ||
| 6 | "tables": { | ||
| 7 | "public.accounts": { | ||
| 8 | "name": "accounts", | ||
| 9 | "schema": "", | ||
| 10 | "columns": { | ||
| 11 | "id": { | ||
| 12 | "name": "id", | ||
| 13 | "type": "text", | ||
| 14 | "primaryKey": true, | ||
| 15 | "notNull": true | ||
| 16 | }, | ||
| 17 | "created_at": { | ||
| 18 | "name": "created_at", | ||
| 19 | "type": "timestamp with time zone", | ||
| 20 | "primaryKey": false, | ||
| 21 | "notNull": true, | ||
| 22 | "default": "now()" | ||
| 23 | } | ||
| 24 | }, | ||
| 25 | "indexes": {}, | ||
| 26 | "foreignKeys": {}, | ||
| 27 | "compositePrimaryKeys": {}, | ||
| 28 | "uniqueConstraints": {}, | ||
| 29 | "policies": {}, | ||
| 30 | "checkConstraints": {}, | ||
| 31 | "isRLSEnabled": false | ||
| 32 | }, | ||
| 33 | "public.memberships": { | ||
| 34 | "name": "memberships", | ||
| 35 | "schema": "", | ||
| 36 | "columns": { | ||
| 37 | "account_id": { | ||
| 38 | "name": "account_id", | ||
| 39 | "type": "text", | ||
| 40 | "primaryKey": false, | ||
| 41 | "notNull": true | ||
| 42 | }, | ||
| 43 | "organization_id": { | ||
| 44 | "name": "organization_id", | ||
| 45 | "type": "text", | ||
| 46 | "primaryKey": false, | ||
| 47 | "notNull": true | ||
| 48 | }, | ||
| 49 | "created_at": { | ||
| 50 | "name": "created_at", | ||
| 51 | "type": "timestamp with time zone", | ||
| 52 | "primaryKey": false, | ||
| 53 | "notNull": true, | ||
| 54 | "default": "now()" | ||
| 55 | } | ||
| 56 | }, | ||
| 57 | "indexes": {}, | ||
| 58 | "foreignKeys": { | ||
| 59 | "memberships_account_id_accounts_id_fk": { | ||
| 60 | "name": "memberships_account_id_accounts_id_fk", | ||
| 61 | "tableFrom": "memberships", | ||
| 62 | "tableTo": "accounts", | ||
| 63 | "columnsFrom": ["account_id"], | ||
| 64 | "columnsTo": ["id"], | ||
| 65 | "onDelete": "cascade", | ||
| 66 | "onUpdate": "no action" | ||
| 67 | }, | ||
| 68 | "memberships_organization_id_organizations_id_fk": { | ||
| 69 | "name": "memberships_organization_id_organizations_id_fk", | ||
| 70 | "tableFrom": "memberships", | ||
| 71 | "tableTo": "organizations", | ||
| 72 | "columnsFrom": ["organization_id"], | ||
| 73 | "columnsTo": ["id"], | ||
| 74 | "onDelete": "cascade", | ||
| 75 | "onUpdate": "no action" | ||
| 76 | } | ||
| 77 | }, | ||
| 78 | "compositePrimaryKeys": { | ||
| 79 | "memberships_account_id_organization_id_pk": { | ||
| 80 | "name": "memberships_account_id_organization_id_pk", | ||
| 81 | "columns": ["account_id", "organization_id"] | ||
| 82 | } | ||
| 83 | }, | ||
| 84 | "uniqueConstraints": {}, | ||
| 85 | "policies": {}, | ||
| 86 | "checkConstraints": {}, | ||
| 87 | "isRLSEnabled": false | ||
| 88 | }, | ||
| 89 | "public.organizations": { | ||
| 90 | "name": "organizations", | ||
| 91 | "schema": "", | ||
| 92 | "columns": { | ||
| 93 | "id": { | ||
| 94 | "name": "id", | ||
| 95 | "type": "text", | ||
| 96 | "primaryKey": true, | ||
| 97 | "notNull": true | ||
| 98 | }, | ||
| 99 | "name": { | ||
| 100 | "name": "name", | ||
| 101 | "type": "text", | ||
| 102 | "primaryKey": false, | ||
| 103 | "notNull": true | ||
| 104 | }, | ||
| 105 | "created_at": { | ||
| 106 | "name": "created_at", | ||
| 107 | "type": "timestamp with time zone", | ||
| 108 | "primaryKey": false, | ||
| 109 | "notNull": true, | ||
| 110 | "default": "now()" | ||
| 111 | } | ||
| 112 | }, | ||
| 113 | "indexes": {}, | ||
| 114 | "foreignKeys": {}, | ||
| 115 | "compositePrimaryKeys": {}, | ||
| 116 | "uniqueConstraints": {}, | ||
| 117 | "policies": {}, | ||
| 118 | "checkConstraints": {}, | ||
| 119 | "isRLSEnabled": false | ||
| 120 | }, | ||
| 121 | "public.blob": { | ||
| 122 | "name": "blob", | ||
| 123 | "schema": "", | ||
| 124 | "columns": { | ||
| 125 | "namespace": { | ||
| 126 | "name": "namespace", | ||
| 127 | "type": "text", | ||
| 128 | "primaryKey": false, | ||
| 129 | "notNull": true | ||
| 130 | }, | ||
| 131 | "key": { | ||
| 132 | "name": "key", | ||
| 133 | "type": "text", | ||
| 134 | "primaryKey": false, | ||
| 135 | "notNull": true | ||
| 136 | }, | ||
| 137 | "value": { | ||
| 138 | "name": "value", | ||
| 139 | "type": "text", | ||
| 140 | "primaryKey": false, | ||
| 141 | "notNull": true | ||
| 142 | } | ||
| 143 | }, | ||
| 144 | "indexes": {}, | ||
| 145 | "foreignKeys": {}, | ||
| 146 | "compositePrimaryKeys": { | ||
| 147 | "blob_namespace_key_pk": { | ||
| 148 | "name": "blob_namespace_key_pk", | ||
| 149 | "columns": ["namespace", "key"] | ||
| 150 | } | ||
| 151 | }, | ||
| 152 | "uniqueConstraints": {}, | ||
| 153 | "policies": {}, | ||
| 154 | "checkConstraints": {}, | ||
| 155 | "isRLSEnabled": false | ||
| 156 | }, | ||
| 157 | "public.connection": { | ||
| 158 | "name": "connection", | ||
| 159 | "schema": "", | ||
| 160 | "columns": { | ||
| 161 | "id": { | ||
| 162 | "name": "id", | ||
| 163 | "type": "text", | ||
| 164 | "primaryKey": false, | ||
| 165 | "notNull": true | ||
| 166 | }, | ||
| 167 | "scope_id": { | ||
| 168 | "name": "scope_id", | ||
| 169 | "type": "text", | ||
| 170 | "primaryKey": false, | ||
| 171 | "notNull": true | ||
| 172 | }, | ||
| 173 | "provider": { | ||
| 174 | "name": "provider", | ||
| 175 | "type": "text", | ||
| 176 | "primaryKey": false, | ||
| 177 | "notNull": true | ||
| 178 | }, | ||
| 179 | "identity_label": { | ||
| 180 | "name": "identity_label", | ||
| 181 | "type": "text", | ||
| 182 | "primaryKey": false, | ||
| 183 | "notNull": false | ||
| 184 | }, | ||
| 185 | "access_token_secret_id": { | ||
| 186 | "name": "access_token_secret_id", | ||
| 187 | "type": "text", | ||
| 188 | "primaryKey": false, | ||
| 189 | "notNull": true | ||
| 190 | }, | ||
| 191 | "refresh_token_secret_id": { | ||
| 192 | "name": "refresh_token_secret_id", | ||
| 193 | "type": "text", | ||
| 194 | "primaryKey": false, | ||
| 195 | "notNull": false | ||
| 196 | }, | ||
| 197 | "expires_at": { | ||
| 198 | "name": "expires_at", | ||
| 199 | "type": "bigint", | ||
| 200 | "primaryKey": false, | ||
| 201 | "notNull": false | ||
| 202 | }, | ||
| 203 | "scope": { | ||
| 204 | "name": "scope", | ||
| 205 | "type": "text", | ||
| 206 | "primaryKey": false, | ||
| 207 | "notNull": false | ||
| 208 | }, | ||
| 209 | "provider_state": { | ||
| 210 | "name": "provider_state", | ||
| 211 | "type": "jsonb", | ||
| 212 | "primaryKey": false, | ||
| 213 | "notNull": false | ||
| 214 | }, | ||
| 215 | "created_at": { | ||
| 216 | "name": "created_at", | ||
| 217 | "type": "timestamp", | ||
| 218 | "primaryKey": false, | ||
| 219 | "notNull": true | ||
| 220 | }, | ||
| 221 | "updated_at": { | ||
| 222 | "name": "updated_at", | ||
| 223 | "type": "timestamp", | ||
| 224 | "primaryKey": false, | ||
| 225 | "notNull": true | ||
| 226 | } | ||
| 227 | }, | ||
| 228 | "indexes": { | ||
| 229 | "connection_scope_id_idx": { | ||
| 230 | "name": "connection_scope_id_idx", | ||
| 231 | "columns": [ | ||
| 232 | { | ||
| 233 | "expression": "scope_id", | ||
| 234 | "isExpression": false, | ||
| 235 | "asc": true, | ||
| 236 | "nulls": "last" | ||
| 237 | } | ||
| 238 | ], | ||
| 239 | "isUnique": false, | ||
| 240 | "concurrently": false, | ||
| 241 | "method": "btree", | ||
| 242 | "with": {} | ||
| 243 | }, | ||
| 244 | "connection_provider_idx": { | ||
| 245 | "name": "connection_provider_idx", | ||
| 246 | "columns": [ | ||
| 247 | { | ||
| 248 | "expression": "provider", | ||
| 249 | "isExpression": false, | ||
| 250 | "asc": true, | ||
| 251 | "nulls": "last" | ||
| 252 | } | ||
| 253 | ], | ||
| 254 | "isUnique": false, | ||
| 255 | "concurrently": false, | ||
| 256 | "method": "btree", | ||
| 257 | "with": {} | ||
| 258 | } | ||
| 259 | }, | ||
| 260 | "foreignKeys": {}, | ||
| 261 | "compositePrimaryKeys": { | ||
| 262 | "connection_scope_id_id_pk": { | ||
| 263 | "name": "connection_scope_id_id_pk", | ||
| 264 | "columns": ["scope_id", "id"] | ||
| 265 | } | ||
| 266 | }, | ||
| 267 | "uniqueConstraints": {}, | ||
| 268 | "policies": {}, | ||
| 269 | "checkConstraints": {}, | ||
| 270 | "isRLSEnabled": false | ||
| 271 | }, | ||
| 272 | "public.definition": { | ||
| 273 | "name": "definition", | ||
| 274 | "schema": "", | ||
| 275 | "columns": { | ||
| 276 | "id": { | ||
| 277 | "name": "id", | ||
| 278 | "type": "text", | ||
| 279 | "primaryKey": false, | ||
| 280 | "notNull": true | ||
| 281 | }, | ||
| 282 | "scope_id": { | ||
| 283 | "name": "scope_id", | ||
| 284 | "type": "text", | ||
| 285 | "primaryKey": false, | ||
| 286 | "notNull": true | ||
| 287 | }, | ||
| 288 | "source_id": { | ||
| 289 | "name": "source_id", | ||
| 290 | "type": "text", | ||
| 291 | "primaryKey": false, | ||
| 292 | "notNull": true | ||
| 293 | }, | ||
| 294 | "plugin_id": { | ||
| 295 | "name": "plugin_id", | ||
| 296 | "type": "text", | ||
| 297 | "primaryKey": false, | ||
| 298 | "notNull": true | ||
| 299 | }, | ||
| 300 | "name": { | ||
| 301 | "name": "name", | ||
| 302 | "type": "text", | ||
| 303 | "primaryKey": false, | ||
| 304 | "notNull": true | ||
| 305 | }, | ||
| 306 | "schema": { | ||
| 307 | "name": "schema", | ||
| 308 | "type": "jsonb", | ||
| 309 | "primaryKey": false, | ||
| 310 | "notNull": true | ||
| 311 | }, | ||
| 312 | "created_at": { | ||
| 313 | "name": "created_at", | ||
| 314 | "type": "timestamp", | ||
| 315 | "primaryKey": false, | ||
| 316 | "notNull": true | ||
| 317 | } | ||
| 318 | }, | ||
| 319 | "indexes": { | ||
| 320 | "definition_scope_id_idx": { | ||
| 321 | "name": "definition_scope_id_idx", | ||
| 322 | "columns": [ | ||
| 323 | { | ||
| 324 | "expression": "scope_id", | ||
| 325 | "isExpression": false, | ||
| 326 | "asc": true, | ||
| 327 | "nulls": "last" | ||
| 328 | } | ||
| 329 | ], | ||
| 330 | "isUnique": false, | ||
| 331 | "concurrently": false, | ||
| 332 | "method": "btree", | ||
| 333 | "with": {} | ||
| 334 | }, | ||
| 335 | "definition_source_id_idx": { | ||
| 336 | "name": "definition_source_id_idx", | ||
| 337 | "columns": [ | ||
| 338 | { | ||
| 339 | "expression": "source_id", | ||
| 340 | "isExpression": false, | ||
| 341 | "asc": true, | ||
| 342 | "nulls": "last" | ||
| 343 | } | ||
| 344 | ], | ||
| 345 | "isUnique": false, | ||
| 346 | "concurrently": false, | ||
| 347 | "method": "btree", | ||
| 348 | "with": {} | ||
| 349 | }, | ||
| 350 | "definition_plugin_id_idx": { | ||
| 351 | "name": "definition_plugin_id_idx", | ||
| 352 | "columns": [ | ||
| 353 | { | ||
| 354 | "expression": "plugin_id", | ||
| 355 | "isExpression": false, | ||
| 356 | "asc": true, | ||
| 357 | "nulls": "last" | ||
| 358 | } | ||
| 359 | ], | ||
| 360 | "isUnique": false, | ||
| 361 | "concurrently": false, | ||
| 362 | "method": "btree", | ||
| 363 | "with": {} | ||
| 364 | } | ||
| 365 | }, | ||
| 366 | "foreignKeys": {}, | ||
| 367 | "compositePrimaryKeys": { | ||
| 368 | "definition_scope_id_id_pk": { | ||
| 369 | "name": "definition_scope_id_id_pk", | ||
| 370 | "columns": ["scope_id", "id"] | ||
| 371 | } | ||
| 372 | }, | ||
| 373 | "uniqueConstraints": {}, | ||
| 374 | "policies": {}, | ||
| 375 | "checkConstraints": {}, | ||
| 376 | "isRLSEnabled": false | ||
| 377 | }, | ||
| 378 | "public.graphql_operation": { | ||
| 379 | "name": "graphql_operation", | ||
| 380 | "schema": "", | ||
| 381 | "columns": { | ||
| 382 | "id": { | ||
| 383 | "name": "id", | ||
| 384 | "type": "text", | ||
| 385 | "primaryKey": false, | ||
| 386 | "notNull": true | ||
| 387 | }, | ||
| 388 | "scope_id": { | ||
| 389 | "name": "scope_id", | ||
| 390 | "type": "text", | ||
| 391 | "primaryKey": false, | ||
| 392 | "notNull": true | ||
| 393 | }, | ||
| 394 | "source_id": { | ||
| 395 | "name": "source_id", | ||
| 396 | "type": "text", | ||
| 397 | "primaryKey": false, | ||
| 398 | "notNull": true | ||
| 399 | }, | ||
| 400 | "binding": { | ||
| 401 | "name": "binding", | ||
| 402 | "type": "jsonb", | ||
| 403 | "primaryKey": false, | ||
| 404 | "notNull": true | ||
| 405 | } | ||
| 406 | }, | ||
| 407 | "indexes": { | ||
| 408 | "graphql_operation_scope_id_idx": { | ||
| 409 | "name": "graphql_operation_scope_id_idx", | ||
| 410 | "columns": [ | ||
| 411 | { | ||
| 412 | "expression": "scope_id", | ||
| 413 | "isExpression": false, | ||
| 414 | "asc": true, | ||
| 415 | "nulls": "last" | ||
| 416 | } | ||
| 417 | ], | ||
| 418 | "isUnique": false, | ||
| 419 | "concurrently": false, | ||
| 420 | "method": "btree", | ||
| 421 | "with": {} | ||
| 422 | }, | ||
| 423 | "graphql_operation_source_id_idx": { | ||
| 424 | "name": "graphql_operation_source_id_idx", | ||
| 425 | "columns": [ | ||
| 426 | { | ||
| 427 | "expression": "source_id", | ||
| 428 | "isExpression": false, | ||
| 429 | "asc": true, | ||
| 430 | "nulls": "last" | ||
| 431 | } | ||
| 432 | ], | ||
| 433 | "isUnique": false, | ||
| 434 | "concurrently": false, | ||
| 435 | "method": "btree", | ||
| 436 | "with": {} | ||
| 437 | } | ||
| 438 | }, | ||
| 439 | "foreignKeys": {}, | ||
| 440 | "compositePrimaryKeys": { | ||
| 441 | "graphql_operation_scope_id_id_pk": { | ||
| 442 | "name": "graphql_operation_scope_id_id_pk", | ||
| 443 | "columns": ["scope_id", "id"] | ||
| 444 | } | ||
| 445 | }, | ||
| 446 | "uniqueConstraints": {}, | ||
| 447 | "policies": {}, | ||
| 448 | "checkConstraints": {}, | ||
| 449 | "isRLSEnabled": false | ||
| 450 | }, | ||
| 451 | "public.graphql_source": { | ||
| 452 | "name": "graphql_source", | ||
| 453 | "schema": "", | ||
| 454 | "columns": { | ||
| 455 | "id": { | ||
| 456 | "name": "id", | ||
| 457 | "type": "text", | ||
| 458 | "primaryKey": false, | ||
| 459 | "notNull": true | ||
| 460 | }, | ||
| 461 | "scope_id": { | ||
| 462 | "name": "scope_id", | ||
| 463 | "type": "text", | ||
| 464 | "primaryKey": false, | ||
| 465 | "notNull": true | ||
| 466 | }, | ||
| 467 | "name": { | ||
| 468 | "name": "name", | ||
| 469 | "type": "text", | ||
| 470 | "primaryKey": false, | ||
| 471 | "notNull": true | ||
| 472 | }, | ||
| 473 | "endpoint": { | ||
| 474 | "name": "endpoint", | ||
| 475 | "type": "text", | ||
| 476 | "primaryKey": false, | ||
| 477 | "notNull": true | ||
| 478 | }, | ||
| 479 | "headers": { | ||
| 480 | "name": "headers", | ||
| 481 | "type": "jsonb", | ||
| 482 | "primaryKey": false, | ||
| 483 | "notNull": false | ||
| 484 | } | ||
| 485 | }, | ||
| 486 | "indexes": { | ||
| 487 | "graphql_source_scope_id_idx": { | ||
| 488 | "name": "graphql_source_scope_id_idx", | ||
| 489 | "columns": [ | ||
| 490 | { | ||
| 491 | "expression": "scope_id", | ||
| 492 | "isExpression": false, | ||
| 493 | "asc": true, | ||
| 494 | "nulls": "last" | ||
| 495 | } | ||
| 496 | ], | ||
| 497 | "isUnique": false, | ||
| 498 | "concurrently": false, | ||
| 499 | "method": "btree", | ||
| 500 | "with": {} | ||
| 501 | } | ||
| 502 | }, | ||
| 503 | "foreignKeys": {}, | ||
| 504 | "compositePrimaryKeys": { | ||
| 505 | "graphql_source_scope_id_id_pk": { | ||
| 506 | "name": "graphql_source_scope_id_id_pk", | ||
| 507 | "columns": ["scope_id", "id"] | ||
| 508 | } | ||
| 509 | }, | ||
| 510 | "uniqueConstraints": {}, | ||
| 511 | "policies": {}, | ||
| 512 | "checkConstraints": {}, | ||
| 513 | "isRLSEnabled": false | ||
| 514 | }, | ||
| 515 | "public.mcp_binding": { | ||
| 516 | "name": "mcp_binding", | ||
| 517 | "schema": "", | ||
| 518 | "columns": { | ||
| 519 | "id": { | ||
| 520 | "name": "id", | ||
| 521 | "type": "text", | ||
| 522 | "primaryKey": false, | ||
| 523 | "notNull": true | ||
| 524 | }, | ||
| 525 | "scope_id": { | ||
| 526 | "name": "scope_id", | ||
| 527 | "type": "text", | ||
| 528 | "primaryKey": false, | ||
| 529 | "notNull": true | ||
| 530 | }, | ||
| 531 | "source_id": { | ||
| 532 | "name": "source_id", | ||
| 533 | "type": "text", | ||
| 534 | "primaryKey": false, | ||
| 535 | "notNull": true | ||
| 536 | }, | ||
| 537 | "binding": { | ||
| 538 | "name": "binding", | ||
| 539 | "type": "jsonb", | ||
| 540 | "primaryKey": false, | ||
| 541 | "notNull": true | ||
| 542 | }, | ||
| 543 | "created_at": { | ||
| 544 | "name": "created_at", | ||
| 545 | "type": "timestamp", | ||
| 546 | "primaryKey": false, | ||
| 547 | "notNull": true | ||
| 548 | } | ||
| 549 | }, | ||
| 550 | "indexes": { | ||
| 551 | "mcp_binding_scope_id_idx": { | ||
| 552 | "name": "mcp_binding_scope_id_idx", | ||
| 553 | "columns": [ | ||
| 554 | { | ||
| 555 | "expression": "scope_id", | ||
| 556 | "isExpression": false, | ||
| 557 | "asc": true, | ||
| 558 | "nulls": "last" | ||
| 559 | } | ||
| 560 | ], | ||
| 561 | "isUnique": false, | ||
| 562 | "concurrently": false, | ||
| 563 | "method": "btree", | ||
| 564 | "with": {} | ||
| 565 | }, | ||
| 566 | "mcp_binding_source_id_idx": { | ||
| 567 | "name": "mcp_binding_source_id_idx", | ||
| 568 | "columns": [ | ||
| 569 | { | ||
| 570 | "expression": "source_id", | ||
| 571 | "isExpression": false, | ||
| 572 | "asc": true, | ||
| 573 | "nulls": "last" | ||
| 574 | } | ||
| 575 | ], | ||
| 576 | "isUnique": false, | ||
| 577 | "concurrently": false, | ||
| 578 | "method": "btree", | ||
| 579 | "with": {} | ||
| 580 | } | ||
| 581 | }, | ||
| 582 | "foreignKeys": {}, | ||
| 583 | "compositePrimaryKeys": { | ||
| 584 | "mcp_binding_scope_id_id_pk": { | ||
| 585 | "name": "mcp_binding_scope_id_id_pk", | ||
| 586 | "columns": ["scope_id", "id"] | ||
| 587 | } | ||
| 588 | }, | ||
| 589 | "uniqueConstraints": {}, | ||
| 590 | "policies": {}, | ||
| 591 | "checkConstraints": {}, | ||
| 592 | "isRLSEnabled": false | ||
| 593 | }, | ||
| 594 | "public.mcp_oauth_session": { | ||
| 595 | "name": "mcp_oauth_session", | ||
| 596 | "schema": "", | ||
| 597 | "columns": { | ||
| 598 | "id": { | ||
| 599 | "name": "id", | ||
| 600 | "type": "text", | ||
| 601 | "primaryKey": false, | ||
| 602 | "notNull": true | ||
| 603 | }, | ||
| 604 | "scope_id": { | ||
| 605 | "name": "scope_id", | ||
| 606 | "type": "text", | ||
| 607 | "primaryKey": false, | ||
| 608 | "notNull": true | ||
| 609 | }, | ||
| 610 | "session": { | ||
| 611 | "name": "session", | ||
| 612 | "type": "jsonb", | ||
| 613 | "primaryKey": false, | ||
| 614 | "notNull": true | ||
| 615 | }, | ||
| 616 | "expires_at": { | ||
| 617 | "name": "expires_at", | ||
| 618 | "type": "bigint", | ||
| 619 | "primaryKey": false, | ||
| 620 | "notNull": true | ||
| 621 | }, | ||
| 622 | "created_at": { | ||
| 623 | "name": "created_at", | ||
| 624 | "type": "timestamp", | ||
| 625 | "primaryKey": false, | ||
| 626 | "notNull": true | ||
| 627 | } | ||
| 628 | }, | ||
| 629 | "indexes": { | ||
| 630 | "mcp_oauth_session_scope_id_idx": { | ||
| 631 | "name": "mcp_oauth_session_scope_id_idx", | ||
| 632 | "columns": [ | ||
| 633 | { | ||
| 634 | "expression": "scope_id", | ||
| 635 | "isExpression": false, | ||
| 636 | "asc": true, | ||
| 637 | "nulls": "last" | ||
| 638 | } | ||
| 639 | ], | ||
| 640 | "isUnique": false, | ||
| 641 | "concurrently": false, | ||
| 642 | "method": "btree", | ||
| 643 | "with": {} | ||
| 644 | } | ||
| 645 | }, | ||
| 646 | "foreignKeys": {}, | ||
| 647 | "compositePrimaryKeys": { | ||
| 648 | "mcp_oauth_session_scope_id_id_pk": { | ||
| 649 | "name": "mcp_oauth_session_scope_id_id_pk", | ||
| 650 | "columns": ["scope_id", "id"] | ||
| 651 | } | ||
| 652 | }, | ||
| 653 | "uniqueConstraints": {}, | ||
| 654 | "policies": {}, | ||
| 655 | "checkConstraints": {}, | ||
| 656 | "isRLSEnabled": false | ||
| 657 | }, | ||
| 658 | "public.mcp_source": { | ||
| 659 | "name": "mcp_source", | ||
| 660 | "schema": "", | ||
| 661 | "columns": { | ||
| 662 | "id": { | ||
| 663 | "name": "id", | ||
| 664 | "type": "text", | ||
| 665 | "primaryKey": false, | ||
| 666 | "notNull": true | ||
| 667 | }, | ||
| 668 | "scope_id": { | ||
| 669 | "name": "scope_id", | ||
| 670 | "type": "text", | ||
| 671 | "primaryKey": false, | ||
| 672 | "notNull": true | ||
| 673 | }, | ||
| 674 | "name": { | ||
| 675 | "name": "name", | ||
| 676 | "type": "text", | ||
| 677 | "primaryKey": false, | ||
| 678 | "notNull": true | ||
| 679 | }, | ||
| 680 | "config": { | ||
| 681 | "name": "config", | ||
| 682 | "type": "jsonb", | ||
| 683 | "primaryKey": false, | ||
| 684 | "notNull": true | ||
| 685 | }, | ||
| 686 | "created_at": { | ||
| 687 | "name": "created_at", | ||
| 688 | "type": "timestamp", | ||
| 689 | "primaryKey": false, | ||
| 690 | "notNull": true | ||
| 691 | } | ||
| 692 | }, | ||
| 693 | "indexes": { | ||
| 694 | "mcp_source_scope_id_idx": { | ||
| 695 | "name": "mcp_source_scope_id_idx", | ||
| 696 | "columns": [ | ||
| 697 | { | ||
| 698 | "expression": "scope_id", | ||
| 699 | "isExpression": false, | ||
| 700 | "asc": true, | ||
| 701 | "nulls": "last" | ||
| 702 | } | ||
| 703 | ], | ||
| 704 | "isUnique": false, | ||
| 705 | "concurrently": false, | ||
| 706 | "method": "btree", | ||
| 707 | "with": {} | ||
| 708 | } | ||
| 709 | }, | ||
| 710 | "foreignKeys": {}, | ||
| 711 | "compositePrimaryKeys": { | ||
| 712 | "mcp_source_scope_id_id_pk": { | ||
| 713 | "name": "mcp_source_scope_id_id_pk", | ||
| 714 | "columns": ["scope_id", "id"] | ||
| 715 | } | ||
| 716 | }, | ||
| 717 | "uniqueConstraints": {}, | ||
| 718 | "policies": {}, | ||
| 719 | "checkConstraints": {}, | ||
| 720 | "isRLSEnabled": false | ||
| 721 | }, | ||
| 722 | "public.openapi_oauth_session": { | ||
| 723 | "name": "openapi_oauth_session", | ||
| 724 | "schema": "", | ||
| 725 | "columns": { | ||
| 726 | "id": { | ||
| 727 | "name": "id", | ||
| 728 | "type": "text", | ||
| 729 | "primaryKey": false, | ||
| 730 | "notNull": true | ||
| 731 | }, | ||
| 732 | "scope_id": { | ||
| 733 | "name": "scope_id", | ||
| 734 | "type": "text", | ||
| 735 | "primaryKey": false, | ||
| 736 | "notNull": true | ||
| 737 | }, | ||
| 738 | "session": { | ||
| 739 | "name": "session", | ||
| 740 | "type": "jsonb", | ||
| 741 | "primaryKey": false, | ||
| 742 | "notNull": true | ||
| 743 | }, | ||
| 744 | "created_at": { | ||
| 745 | "name": "created_at", | ||
| 746 | "type": "timestamp", | ||
| 747 | "primaryKey": false, | ||
| 748 | "notNull": true | ||
| 749 | } | ||
| 750 | }, | ||
| 751 | "indexes": { | ||
| 752 | "openapi_oauth_session_scope_id_idx": { | ||
| 753 | "name": "openapi_oauth_session_scope_id_idx", | ||
| 754 | "columns": [ | ||
| 755 | { | ||
| 756 | "expression": "scope_id", | ||
| 757 | "isExpression": false, | ||
| 758 | "asc": true, | ||
| 759 | "nulls": "last" | ||
| 760 | } | ||
| 761 | ], | ||
| 762 | "isUnique": false, | ||
| 763 | "concurrently": false, | ||
| 764 | "method": "btree", | ||
| 765 | "with": {} | ||
| 766 | } | ||
| 767 | }, | ||
| 768 | "foreignKeys": {}, | ||
| 769 | "compositePrimaryKeys": { | ||
| 770 | "openapi_oauth_session_scope_id_id_pk": { | ||
| 771 | "name": "openapi_oauth_session_scope_id_id_pk", | ||
| 772 | "columns": ["scope_id", "id"] | ||
| 773 | } | ||
| 774 | }, | ||
| 775 | "uniqueConstraints": {}, | ||
| 776 | "policies": {}, | ||
| 777 | "checkConstraints": {}, | ||
| 778 | "isRLSEnabled": false | ||
| 779 | }, | ||
| 780 | "public.openapi_operation": { | ||
| 781 | "name": "openapi_operation", | ||
| 782 | "schema": "", | ||
| 783 | "columns": { | ||
| 784 | "id": { | ||
| 785 | "name": "id", | ||
| 786 | "type": "text", | ||
| 787 | "primaryKey": false, | ||
| 788 | "notNull": true | ||
| 789 | }, | ||
| 790 | "scope_id": { | ||
| 791 | "name": "scope_id", | ||
| 792 | "type": "text", | ||
| 793 | "primaryKey": false, | ||
| 794 | "notNull": true | ||
| 795 | }, | ||
| 796 | "source_id": { | ||
| 797 | "name": "source_id", | ||
| 798 | "type": "text", | ||
| 799 | "primaryKey": false, | ||
| 800 | "notNull": true | ||
| 801 | }, | ||
| 802 | "binding": { | ||
| 803 | "name": "binding", | ||
| 804 | "type": "jsonb", | ||
| 805 | "primaryKey": false, | ||
| 806 | "notNull": true | ||
| 807 | } | ||
| 808 | }, | ||
| 809 | "indexes": { | ||
| 810 | "openapi_operation_scope_id_idx": { | ||
| 811 | "name": "openapi_operation_scope_id_idx", | ||
| 812 | "columns": [ | ||
| 813 | { | ||
| 814 | "expression": "scope_id", | ||
| 815 | "isExpression": false, | ||
| 816 | "asc": true, | ||
| 817 | "nulls": "last" | ||
| 818 | } | ||
| 819 | ], | ||
| 820 | "isUnique": false, | ||
| 821 | "concurrently": false, | ||
| 822 | "method": "btree", | ||
| 823 | "with": {} | ||
| 824 | }, | ||
| 825 | "openapi_operation_source_id_idx": { | ||
| 826 | "name": "openapi_operation_source_id_idx", | ||
| 827 | "columns": [ | ||
| 828 | { | ||
| 829 | "expression": "source_id", | ||
| 830 | "isExpression": false, | ||
| 831 | "asc": true, | ||
| 832 | "nulls": "last" | ||
| 833 | } | ||
| 834 | ], | ||
| 835 | "isUnique": false, | ||
| 836 | "concurrently": false, | ||
| 837 | "method": "btree", | ||
| 838 | "with": {} | ||
| 839 | } | ||
| 840 | }, | ||
| 841 | "foreignKeys": {}, | ||
| 842 | "compositePrimaryKeys": { | ||
| 843 | "openapi_operation_scope_id_id_pk": { | ||
| 844 | "name": "openapi_operation_scope_id_id_pk", | ||
| 845 | "columns": ["scope_id", "id"] | ||
| 846 | } | ||
| 847 | }, | ||
| 848 | "uniqueConstraints": {}, | ||
| 849 | "policies": {}, | ||
| 850 | "checkConstraints": {}, | ||
| 851 | "isRLSEnabled": false | ||
| 852 | }, | ||
| 853 | "public.openapi_source": { | ||
| 854 | "name": "openapi_source", | ||
| 855 | "schema": "", | ||
| 856 | "columns": { | ||
| 857 | "id": { | ||
| 858 | "name": "id", | ||
| 859 | "type": "text", | ||
| 860 | "primaryKey": false, | ||
| 861 | "notNull": true | ||
| 862 | }, | ||
| 863 | "scope_id": { | ||
| 864 | "name": "scope_id", | ||
| 865 | "type": "text", | ||
| 866 | "primaryKey": false, | ||
| 867 | "notNull": true | ||
| 868 | }, | ||
| 869 | "name": { | ||
| 870 | "name": "name", | ||
| 871 | "type": "text", | ||
| 872 | "primaryKey": false, | ||
| 873 | "notNull": true | ||
| 874 | }, | ||
| 875 | "spec": { | ||
| 876 | "name": "spec", | ||
| 877 | "type": "text", | ||
| 878 | "primaryKey": false, | ||
| 879 | "notNull": true | ||
| 880 | }, | ||
| 881 | "source_url": { | ||
| 882 | "name": "source_url", | ||
| 883 | "type": "text", | ||
| 884 | "primaryKey": false, | ||
| 885 | "notNull": false | ||
| 886 | }, | ||
| 887 | "base_url": { | ||
| 888 | "name": "base_url", | ||
| 889 | "type": "text", | ||
| 890 | "primaryKey": false, | ||
| 891 | "notNull": false | ||
| 892 | }, | ||
| 893 | "headers": { | ||
| 894 | "name": "headers", | ||
| 895 | "type": "jsonb", | ||
| 896 | "primaryKey": false, | ||
| 897 | "notNull": false | ||
| 898 | }, | ||
| 899 | "oauth2": { | ||
| 900 | "name": "oauth2", | ||
| 901 | "type": "jsonb", | ||
| 902 | "primaryKey": false, | ||
| 903 | "notNull": false | ||
| 904 | }, | ||
| 905 | "invocation_config": { | ||
| 906 | "name": "invocation_config", | ||
| 907 | "type": "jsonb", | ||
| 908 | "primaryKey": false, | ||
| 909 | "notNull": true | ||
| 910 | } | ||
| 911 | }, | ||
| 912 | "indexes": { | ||
| 913 | "openapi_source_scope_id_idx": { | ||
| 914 | "name": "openapi_source_scope_id_idx", | ||
| 915 | "columns": [ | ||
| 916 | { | ||
| 917 | "expression": "scope_id", | ||
| 918 | "isExpression": false, | ||
| 919 | "asc": true, | ||
| 920 | "nulls": "last" | ||
| 921 | } | ||
| 922 | ], | ||
| 923 | "isUnique": false, | ||
| 924 | "concurrently": false, | ||
| 925 | "method": "btree", | ||
| 926 | "with": {} | ||
| 927 | } | ||
| 928 | }, | ||
| 929 | "foreignKeys": {}, | ||
| 930 | "compositePrimaryKeys": { | ||
| 931 | "openapi_source_scope_id_id_pk": { | ||
| 932 | "name": "openapi_source_scope_id_id_pk", | ||
| 933 | "columns": ["scope_id", "id"] | ||
| 934 | } | ||
| 935 | }, | ||
| 936 | "uniqueConstraints": {}, | ||
| 937 | "policies": {}, | ||
| 938 | "checkConstraints": {}, | ||
| 939 | "isRLSEnabled": false | ||
| 940 | }, | ||
| 941 | "public.secret": { | ||
| 942 | "name": "secret", | ||
| 943 | "schema": "", | ||
| 944 | "columns": { | ||
| 945 | "id": { | ||
| 946 | "name": "id", | ||
| 947 | "type": "text", | ||
| 948 | "primaryKey": false, | ||
| 949 | "notNull": true | ||
| 950 | }, | ||
| 951 | "scope_id": { | ||
| 952 | "name": "scope_id", | ||
| 953 | "type": "text", | ||
| 954 | "primaryKey": false, | ||
| 955 | "notNull": true | ||
| 956 | }, | ||
| 957 | "name": { | ||
| 958 | "name": "name", | ||
| 959 | "type": "text", | ||
| 960 | "primaryKey": false, | ||
| 961 | "notNull": true | ||
| 962 | }, | ||
| 963 | "provider": { | ||
| 964 | "name": "provider", | ||
| 965 | "type": "text", | ||
| 966 | "primaryKey": false, | ||
| 967 | "notNull": true | ||
| 968 | }, | ||
| 969 | "owned_by_connection_id": { | ||
| 970 | "name": "owned_by_connection_id", | ||
| 971 | "type": "text", | ||
| 972 | "primaryKey": false, | ||
| 973 | "notNull": false | ||
| 974 | }, | ||
| 975 | "created_at": { | ||
| 976 | "name": "created_at", | ||
| 977 | "type": "timestamp", | ||
| 978 | "primaryKey": false, | ||
| 979 | "notNull": true | ||
| 980 | } | ||
| 981 | }, | ||
| 982 | "indexes": { | ||
| 983 | "secret_scope_id_idx": { | ||
| 984 | "name": "secret_scope_id_idx", | ||
| 985 | "columns": [ | ||
| 986 | { | ||
| 987 | "expression": "scope_id", | ||
| 988 | "isExpression": false, | ||
| 989 | "asc": true, | ||
| 990 | "nulls": "last" | ||
| 991 | } | ||
| 992 | ], | ||
| 993 | "isUnique": false, | ||
| 994 | "concurrently": false, | ||
| 995 | "method": "btree", | ||
| 996 | "with": {} | ||
| 997 | }, | ||
| 998 | "secret_provider_idx": { | ||
| 999 | "name": "secret_provider_idx", | ||
| 1000 | "columns": [ | ||
| 1001 | { | ||
| 1002 | "expression": "provider", | ||
| 1003 | "isExpression": false, | ||
| 1004 | "asc": true, | ||
| 1005 | "nulls": "last" | ||
| 1006 | } | ||
| 1007 | ], | ||
| 1008 | "isUnique": false, | ||
| 1009 | "concurrently": false, | ||
| 1010 | "method": "btree", | ||
| 1011 | "with": {} | ||
| 1012 | }, | ||
| 1013 | "secret_owned_by_connection_id_idx": { | ||
| 1014 | "name": "secret_owned_by_connection_id_idx", | ||
| 1015 | "columns": [ | ||
| 1016 | { | ||
| 1017 | "expression": "owned_by_connection_id", | ||
| 1018 | "isExpression": false, | ||
| 1019 | "asc": true, | ||
| 1020 | "nulls": "last" | ||
| 1021 | } | ||
| 1022 | ], | ||
| 1023 | "isUnique": false, | ||
| 1024 | "concurrently": false, | ||
| 1025 | "method": "btree", | ||
| 1026 | "with": {} | ||
| 1027 | } | ||
| 1028 | }, | ||
| 1029 | "foreignKeys": {}, | ||
| 1030 | "compositePrimaryKeys": { | ||
| 1031 | "secret_scope_id_id_pk": { | ||
| 1032 | "name": "secret_scope_id_id_pk", | ||
| 1033 | "columns": ["scope_id", "id"] | ||
| 1034 | } | ||
| 1035 | }, | ||
| 1036 | "uniqueConstraints": {}, | ||
| 1037 | "policies": {}, | ||
| 1038 | "checkConstraints": {}, | ||
| 1039 | "isRLSEnabled": false | ||
| 1040 | }, | ||
| 1041 | "public.source": { | ||
| 1042 | "name": "source", | ||
| 1043 | "schema": "", | ||
| 1044 | "columns": { | ||
| 1045 | "id": { | ||
| 1046 | "name": "id", | ||
| 1047 | "type": "text", | ||
| 1048 | "primaryKey": false, | ||
| 1049 | "notNull": true | ||
| 1050 | }, | ||
| 1051 | "scope_id": { | ||
| 1052 | "name": "scope_id", | ||
| 1053 | "type": "text", | ||
| 1054 | "primaryKey": false, | ||
| 1055 | "notNull": true | ||
| 1056 | }, | ||
| 1057 | "plugin_id": { | ||
| 1058 | "name": "plugin_id", | ||
| 1059 | "type": "text", | ||
| 1060 | "primaryKey": false, | ||
| 1061 | "notNull": true | ||
| 1062 | }, | ||
| 1063 | "kind": { | ||
| 1064 | "name": "kind", | ||
| 1065 | "type": "text", | ||
| 1066 | "primaryKey": false, | ||
| 1067 | "notNull": true | ||
| 1068 | }, | ||
| 1069 | "name": { | ||
| 1070 | "name": "name", | ||
| 1071 | "type": "text", | ||
| 1072 | "primaryKey": false, | ||
| 1073 | "notNull": true | ||
| 1074 | }, | ||
| 1075 | "url": { | ||
| 1076 | "name": "url", | ||
| 1077 | "type": "text", | ||
| 1078 | "primaryKey": false, | ||
| 1079 | "notNull": false | ||
| 1080 | }, | ||
| 1081 | "can_remove": { | ||
| 1082 | "name": "can_remove", | ||
| 1083 | "type": "boolean", | ||
| 1084 | "primaryKey": false, | ||
| 1085 | "notNull": true, | ||
| 1086 | "default": true | ||
| 1087 | }, | ||
| 1088 | "can_refresh": { | ||
| 1089 | "name": "can_refresh", | ||
| 1090 | "type": "boolean", | ||
| 1091 | "primaryKey": false, | ||
| 1092 | "notNull": true, | ||
| 1093 | "default": false | ||
| 1094 | }, | ||
| 1095 | "can_edit": { | ||
| 1096 | "name": "can_edit", | ||
| 1097 | "type": "boolean", | ||
| 1098 | "primaryKey": false, | ||
| 1099 | "notNull": true, | ||
| 1100 | "default": false | ||
| 1101 | }, | ||
| 1102 | "created_at": { | ||
| 1103 | "name": "created_at", | ||
| 1104 | "type": "timestamp", | ||
| 1105 | "primaryKey": false, | ||
| 1106 | "notNull": true | ||
| 1107 | }, | ||
| 1108 | "updated_at": { | ||
| 1109 | "name": "updated_at", | ||
| 1110 | "type": "timestamp", | ||
| 1111 | "primaryKey": false, | ||
| 1112 | "notNull": true | ||
| 1113 | } | ||
| 1114 | }, | ||
| 1115 | "indexes": { | ||
| 1116 | "source_scope_id_idx": { | ||
| 1117 | "name": "source_scope_id_idx", | ||
| 1118 | "columns": [ | ||
| 1119 | { | ||
| 1120 | "expression": "scope_id", | ||
| 1121 | "isExpression": false, | ||
| 1122 | "asc": true, | ||
| 1123 | "nulls": "last" | ||
| 1124 | } | ||
| 1125 | ], | ||
| 1126 | "isUnique": false, | ||
| 1127 | "concurrently": false, | ||
| 1128 | "method": "btree", | ||
| 1129 | "with": {} | ||
| 1130 | }, | ||
| 1131 | "source_plugin_id_idx": { | ||
| 1132 | "name": "source_plugin_id_idx", | ||
| 1133 | "columns": [ | ||
| 1134 | { | ||
| 1135 | "expression": "plugin_id", | ||
| 1136 | "isExpression": false, | ||
| 1137 | "asc": true, | ||
| 1138 | "nulls": "last" | ||
| 1139 | } | ||
| 1140 | ], | ||
| 1141 | "isUnique": false, | ||
| 1142 | "concurrently": false, | ||
| 1143 | "method": "btree", | ||
| 1144 | "with": {} | ||
| 1145 | } | ||
| 1146 | }, | ||
| 1147 | "foreignKeys": {}, | ||
| 1148 | "compositePrimaryKeys": { | ||
| 1149 | "source_scope_id_id_pk": { | ||
| 1150 | "name": "source_scope_id_id_pk", | ||
| 1151 | "columns": ["scope_id", "id"] | ||
| 1152 | } | ||
| 1153 | }, | ||
| 1154 | "uniqueConstraints": {}, | ||
| 1155 | "policies": {}, | ||
| 1156 | "checkConstraints": {}, | ||
| 1157 | "isRLSEnabled": false | ||
| 1158 | }, | ||
| 1159 | "public.tool": { | ||
| 1160 | "name": "tool", | ||
| 1161 | "schema": "", | ||
| 1162 | "columns": { | ||
| 1163 | "id": { | ||
| 1164 | "name": "id", | ||
| 1165 | "type": "text", | ||
| 1166 | "primaryKey": false, | ||
| 1167 | "notNull": true | ||
| 1168 | }, | ||
| 1169 | "scope_id": { | ||
| 1170 | "name": "scope_id", | ||
| 1171 | "type": "text", | ||
| 1172 | "primaryKey": false, | ||
| 1173 | "notNull": true | ||
| 1174 | }, | ||
| 1175 | "source_id": { | ||
| 1176 | "name": "source_id", | ||
| 1177 | "type": "text", | ||
| 1178 | "primaryKey": false, | ||
| 1179 | "notNull": true | ||
| 1180 | }, | ||
| 1181 | "plugin_id": { | ||
| 1182 | "name": "plugin_id", | ||
| 1183 | "type": "text", | ||
| 1184 | "primaryKey": false, | ||
| 1185 | "notNull": true | ||
| 1186 | }, | ||
| 1187 | "name": { | ||
| 1188 | "name": "name", | ||
| 1189 | "type": "text", | ||
| 1190 | "primaryKey": false, | ||
| 1191 | "notNull": true | ||
| 1192 | }, | ||
| 1193 | "description": { | ||
| 1194 | "name": "description", | ||
| 1195 | "type": "text", | ||
| 1196 | "primaryKey": false, | ||
| 1197 | "notNull": true | ||
| 1198 | }, | ||
| 1199 | "input_schema": { | ||
| 1200 | "name": "input_schema", | ||
| 1201 | "type": "jsonb", | ||
| 1202 | "primaryKey": false, | ||
| 1203 | "notNull": false | ||
| 1204 | }, | ||
| 1205 | "output_schema": { | ||
| 1206 | "name": "output_schema", | ||
| 1207 | "type": "jsonb", | ||
| 1208 | "primaryKey": false, | ||
| 1209 | "notNull": false | ||
| 1210 | }, | ||
| 1211 | "created_at": { | ||
| 1212 | "name": "created_at", | ||
| 1213 | "type": "timestamp", | ||
| 1214 | "primaryKey": false, | ||
| 1215 | "notNull": true | ||
| 1216 | }, | ||
| 1217 | "updated_at": { | ||
| 1218 | "name": "updated_at", | ||
| 1219 | "type": "timestamp", | ||
| 1220 | "primaryKey": false, | ||
| 1221 | "notNull": true | ||
| 1222 | } | ||
| 1223 | }, | ||
| 1224 | "indexes": { | ||
| 1225 | "tool_scope_id_idx": { | ||
| 1226 | "name": "tool_scope_id_idx", | ||
| 1227 | "columns": [ | ||
| 1228 | { | ||
| 1229 | "expression": "scope_id", | ||
| 1230 | "isExpression": false, | ||
| 1231 | "asc": true, | ||
| 1232 | "nulls": "last" | ||
| 1233 | } | ||
| 1234 | ], | ||
| 1235 | "isUnique": false, | ||
| 1236 | "concurrently": false, | ||
| 1237 | "method": "btree", | ||
| 1238 | "with": {} | ||
| 1239 | }, | ||
| 1240 | "tool_source_id_idx": { | ||
| 1241 | "name": "tool_source_id_idx", | ||
| 1242 | "columns": [ | ||
| 1243 | { | ||
| 1244 | "expression": "source_id", | ||
| 1245 | "isExpression": false, | ||
| 1246 | "asc": true, | ||
| 1247 | "nulls": "last" | ||
| 1248 | } | ||
| 1249 | ], | ||
| 1250 | "isUnique": false, | ||
| 1251 | "concurrently": false, | ||
| 1252 | "method": "btree", | ||
| 1253 | "with": {} | ||
| 1254 | }, | ||
| 1255 | "tool_plugin_id_idx": { | ||
| 1256 | "name": "tool_plugin_id_idx", | ||
| 1257 | "columns": [ | ||
| 1258 | { | ||
| 1259 | "expression": "plugin_id", | ||
| 1260 | "isExpression": false, | ||
| 1261 | "asc": true, | ||
| 1262 | "nulls": "last" | ||
| 1263 | } | ||
| 1264 | ], | ||
| 1265 | "isUnique": false, | ||
| 1266 | "concurrently": false, | ||
| 1267 | "method": "btree", | ||
| 1268 | "with": {} | ||
| 1269 | } | ||
| 1270 | }, | ||
| 1271 | "foreignKeys": {}, | ||
| 1272 | "compositePrimaryKeys": { | ||
| 1273 | "tool_scope_id_id_pk": { | ||
| 1274 | "name": "tool_scope_id_id_pk", | ||
| 1275 | "columns": ["scope_id", "id"] | ||
| 1276 | } | ||
| 1277 | }, | ||
| 1278 | "uniqueConstraints": {}, | ||
| 1279 | "policies": {}, | ||
| 1280 | "checkConstraints": {}, | ||
| 1281 | "isRLSEnabled": false | ||
| 1282 | }, | ||
| 1283 | "public.workos_vault_metadata": { | ||
| 1284 | "name": "workos_vault_metadata", | ||
| 1285 | "schema": "", | ||
| 1286 | "columns": { | ||
| 1287 | "id": { | ||
| 1288 | "name": "id", | ||
| 1289 | "type": "text", | ||
| 1290 | "primaryKey": false, | ||
| 1291 | "notNull": true | ||
| 1292 | }, | ||
| 1293 | "scope_id": { | ||
| 1294 | "name": "scope_id", | ||
| 1295 | "type": "text", | ||
| 1296 | "primaryKey": false, | ||
| 1297 | "notNull": true | ||
| 1298 | }, | ||
| 1299 | "name": { | ||
| 1300 | "name": "name", | ||
| 1301 | "type": "text", | ||
| 1302 | "primaryKey": false, | ||
| 1303 | "notNull": true | ||
| 1304 | }, | ||
| 1305 | "purpose": { | ||
| 1306 | "name": "purpose", | ||
| 1307 | "type": "text", | ||
| 1308 | "primaryKey": false, | ||
| 1309 | "notNull": false | ||
| 1310 | }, | ||
| 1311 | "created_at": { | ||
| 1312 | "name": "created_at", | ||
| 1313 | "type": "timestamp", | ||
| 1314 | "primaryKey": false, | ||
| 1315 | "notNull": true | ||
| 1316 | } | ||
| 1317 | }, | ||
| 1318 | "indexes": { | ||
| 1319 | "workos_vault_metadata_scope_id_idx": { | ||
| 1320 | "name": "workos_vault_metadata_scope_id_idx", | ||
| 1321 | "columns": [ | ||
| 1322 | { | ||
| 1323 | "expression": "scope_id", | ||
| 1324 | "isExpression": false, | ||
| 1325 | "asc": true, | ||
| 1326 | "nulls": "last" | ||
| 1327 | } | ||
| 1328 | ], | ||
| 1329 | "isUnique": false, | ||
| 1330 | "concurrently": false, | ||
| 1331 | "method": "btree", | ||
| 1332 | "with": {} | ||
| 1333 | } | ||
| 1334 | }, | ||
| 1335 | "foreignKeys": {}, | ||
| 1336 | "compositePrimaryKeys": { | ||
| 1337 | "workos_vault_metadata_scope_id_id_pk": { | ||
| 1338 | "name": "workos_vault_metadata_scope_id_id_pk", | ||
| 1339 | "columns": ["scope_id", "id"] | ||
| 1340 | } | ||
| 1341 | }, | ||
| 1342 | "uniqueConstraints": {}, | ||
| 1343 | "policies": {}, | ||
| 1344 | "checkConstraints": {}, | ||
| 1345 | "isRLSEnabled": false | ||
| 1346 | }, | ||
| 1347 | "public.openapi_source_binding": { | ||
| 1348 | "name": "openapi_source_binding", | ||
| 1349 | "schema": "", | ||
| 1350 | "columns": { | ||
| 1351 | "id": { | ||
| 1352 | "name": "id", | ||
| 1353 | "type": "text", | ||
| 1354 | "primaryKey": true, | ||
| 1355 | "notNull": true | ||
| 1356 | }, | ||
| 1357 | "source_id": { | ||
| 1358 | "name": "source_id", | ||
| 1359 | "type": "text", | ||
| 1360 | "primaryKey": false, | ||
| 1361 | "notNull": true | ||
| 1362 | }, | ||
| 1363 | "source_scope_id": { | ||
| 1364 | "name": "source_scope_id", | ||
| 1365 | "type": "text", | ||
| 1366 | "primaryKey": false, | ||
| 1367 | "notNull": true | ||
| 1368 | }, | ||
| 1369 | "target_scope_id": { | ||
| 1370 | "name": "target_scope_id", | ||
| 1371 | "type": "text", | ||
| 1372 | "primaryKey": false, | ||
| 1373 | "notNull": true | ||
| 1374 | }, | ||
| 1375 | "slot": { | ||
| 1376 | "name": "slot", | ||
| 1377 | "type": "text", | ||
| 1378 | "primaryKey": false, | ||
| 1379 | "notNull": true | ||
| 1380 | }, | ||
| 1381 | "value": { | ||
| 1382 | "name": "value", | ||
| 1383 | "type": "jsonb", | ||
| 1384 | "primaryKey": false, | ||
| 1385 | "notNull": true | ||
| 1386 | }, | ||
| 1387 | "created_at": { | ||
| 1388 | "name": "created_at", | ||
| 1389 | "type": "timestamp", | ||
| 1390 | "primaryKey": false, | ||
| 1391 | "notNull": true | ||
| 1392 | }, | ||
| 1393 | "updated_at": { | ||
| 1394 | "name": "updated_at", | ||
| 1395 | "type": "timestamp", | ||
| 1396 | "primaryKey": false, | ||
| 1397 | "notNull": true | ||
| 1398 | } | ||
| 1399 | }, | ||
| 1400 | "indexes": { | ||
| 1401 | "openapi_source_binding_source_id_idx": { | ||
| 1402 | "name": "openapi_source_binding_source_id_idx", | ||
| 1403 | "columns": [ | ||
| 1404 | { | ||
| 1405 | "expression": "source_id", | ||
| 1406 | "isExpression": false, | ||
| 1407 | "asc": true, | ||
| 1408 | "nulls": "last" | ||
| 1409 | } | ||
| 1410 | ], | ||
| 1411 | "isUnique": false, | ||
| 1412 | "concurrently": false, | ||
| 1413 | "method": "btree", | ||
| 1414 | "with": {} | ||
| 1415 | }, | ||
| 1416 | "openapi_source_binding_source_scope_id_idx": { | ||
| 1417 | "name": "openapi_source_binding_source_scope_id_idx", | ||
| 1418 | "columns": [ | ||
| 1419 | { | ||
| 1420 | "expression": "source_scope_id", | ||
| 1421 | "isExpression": false, | ||
| 1422 | "asc": true, | ||
| 1423 | "nulls": "last" | ||
| 1424 | } | ||
| 1425 | ], | ||
| 1426 | "isUnique": false, | ||
| 1427 | "concurrently": false, | ||
| 1428 | "method": "btree", | ||
| 1429 | "with": {} | ||
| 1430 | }, | ||
| 1431 | "openapi_source_binding_target_scope_id_idx": { | ||
| 1432 | "name": "openapi_source_binding_target_scope_id_idx", | ||
| 1433 | "columns": [ | ||
| 1434 | { | ||
| 1435 | "expression": "target_scope_id", | ||
| 1436 | "isExpression": false, | ||
| 1437 | "asc": true, | ||
| 1438 | "nulls": "last" | ||
| 1439 | } | ||
| 1440 | ], | ||
| 1441 | "isUnique": false, | ||
| 1442 | "concurrently": false, | ||
| 1443 | "method": "btree", | ||
| 1444 | "with": {} | ||
| 1445 | }, | ||
| 1446 | "openapi_source_binding_slot_idx": { | ||
| 1447 | "name": "openapi_source_binding_slot_idx", | ||
| 1448 | "columns": [ | ||
| 1449 | { | ||
| 1450 | "expression": "slot", | ||
| 1451 | "isExpression": false, | ||
| 1452 | "asc": true, | ||
| 1453 | "nulls": "last" | ||
| 1454 | } | ||
| 1455 | ], | ||
| 1456 | "isUnique": false, | ||
| 1457 | "concurrently": false, | ||
| 1458 | "method": "btree", | ||
| 1459 | "with": {} | ||
| 1460 | } | ||
| 1461 | }, | ||
| 1462 | "foreignKeys": {}, | ||
| 1463 | "compositePrimaryKeys": {}, | ||
| 1464 | "uniqueConstraints": {}, | ||
| 1465 | "policies": {}, | ||
| 1466 | "checkConstraints": {}, | ||
| 1467 | "isRLSEnabled": false | ||
| 1468 | } | ||
| 1469 | }, | ||
| 1470 | "enums": {}, | ||
| 1471 | "schemas": {}, | ||
| 1472 | "sequences": {}, | ||
| 1473 | "roles": {}, | ||
| 1474 | "policies": {}, | ||
| 1475 | "views": {}, | ||
| 1476 | "_meta": { | ||
| 1477 | "columns": {}, | ||
| 1478 | "schemas": {}, | ||
| 1479 | "tables": {} | ||
| 1480 | } | ||
| 1481 | } | ||
| @@ -1,1563 +0,0 @@ | |||
| 1 | { | ||
| 2 | "id": "2ab0a02b-4dba-4ea4-bb6a-31ef0926942f", | ||
| 3 | "prevId": "1d422fe0-aa63-4931-80dc-02816df3c4d2", | ||
| 4 | "version": "7", | ||
| 5 | "dialect": "postgresql", | ||
| 6 | "tables": { | ||
| 7 | "public.accounts": { | ||
| 8 | "name": "accounts", | ||
| 9 | "schema": "", | ||
| 10 | "columns": { | ||
| 11 | "id": { | ||
| 12 | "name": "id", | ||
| 13 | "type": "text", | ||
| 14 | "primaryKey": true, | ||
| 15 | "notNull": true | ||
| 16 | }, | ||
| 17 | "created_at": { | ||
| 18 | "name": "created_at", | ||
| 19 | "type": "timestamp with time zone", | ||
| 20 | "primaryKey": false, | ||
| 21 | "notNull": true, | ||
| 22 | "default": "now()" | ||
| 23 | } | ||
| 24 | }, | ||
| 25 | "indexes": {}, | ||
| 26 | "foreignKeys": {}, | ||
| 27 | "compositePrimaryKeys": {}, | ||
| 28 | "uniqueConstraints": {}, | ||
| 29 | "policies": {}, | ||
| 30 | "checkConstraints": {}, | ||
| 31 | "isRLSEnabled": false | ||
| 32 | }, | ||
| 33 | "public.memberships": { | ||
| 34 | "name": "memberships", | ||
| 35 | "schema": "", | ||
| 36 | "columns": { | ||
| 37 | "account_id": { | ||
| 38 | "name": "account_id", | ||
| 39 | "type": "text", | ||
| 40 | "primaryKey": false, | ||
| 41 | "notNull": true | ||
| 42 | }, | ||
| 43 | "organization_id": { | ||
| 44 | "name": "organization_id", | ||
| 45 | "type": "text", | ||
| 46 | "primaryKey": false, | ||
| 47 | "notNull": true | ||
| 48 | }, | ||
| 49 | "created_at": { | ||
| 50 | "name": "created_at", | ||
| 51 | "type": "timestamp with time zone", | ||
| 52 | "primaryKey": false, | ||
| 53 | "notNull": true, | ||
| 54 | "default": "now()" | ||
| 55 | } | ||
| 56 | }, | ||
| 57 | "indexes": {}, | ||
| 58 | "foreignKeys": { | ||
| 59 | "memberships_account_id_accounts_id_fk": { | ||
| 60 | "name": "memberships_account_id_accounts_id_fk", | ||
| 61 | "tableFrom": "memberships", | ||
| 62 | "tableTo": "accounts", | ||
| 63 | "columnsFrom": ["account_id"], | ||
| 64 | "columnsTo": ["id"], | ||
| 65 | "onDelete": "cascade", | ||
| 66 | "onUpdate": "no action" | ||
| 67 | }, | ||
| 68 | "memberships_organization_id_organizations_id_fk": { | ||
| 69 | "name": "memberships_organization_id_organizations_id_fk", | ||
| 70 | "tableFrom": "memberships", | ||
| 71 | "tableTo": "organizations", | ||
| 72 | "columnsFrom": ["organization_id"], | ||
| 73 | "columnsTo": ["id"], | ||
| 74 | "onDelete": "cascade", | ||
| 75 | "onUpdate": "no action" | ||
| 76 | } | ||
| 77 | }, | ||
| 78 | "compositePrimaryKeys": { | ||
| 79 | "memberships_account_id_organization_id_pk": { | ||
| 80 | "name": "memberships_account_id_organization_id_pk", | ||
| 81 | "columns": ["account_id", "organization_id"] | ||
| 82 | } | ||
| 83 | }, | ||
| 84 | "uniqueConstraints": {}, | ||
| 85 | "policies": {}, | ||
| 86 | "checkConstraints": {}, | ||
| 87 | "isRLSEnabled": false | ||
| 88 | }, | ||
| 89 | "public.organizations": { | ||
| 90 | "name": "organizations", | ||
| 91 | "schema": "", | ||
| 92 | "columns": { | ||
| 93 | "id": { | ||
| 94 | "name": "id", | ||
| 95 | "type": "text", | ||
| 96 | "primaryKey": true, | ||
| 97 | "notNull": true | ||
| 98 | }, | ||
| 99 | "name": { | ||
| 100 | "name": "name", | ||
| 101 | "type": "text", | ||
| 102 | "primaryKey": false, | ||
| 103 | "notNull": true | ||
| 104 | }, | ||
| 105 | "created_at": { | ||
| 106 | "name": "created_at", | ||
| 107 | "type": "timestamp with time zone", | ||
| 108 | "primaryKey": false, | ||
| 109 | "notNull": true, | ||
| 110 | "default": "now()" | ||
| 111 | } | ||
| 112 | }, | ||
| 113 | "indexes": {}, | ||
| 114 | "foreignKeys": {}, | ||
| 115 | "compositePrimaryKeys": {}, | ||
| 116 | "uniqueConstraints": {}, | ||
| 117 | "policies": {}, | ||
| 118 | "checkConstraints": {}, | ||
| 119 | "isRLSEnabled": false | ||
| 120 | }, | ||
| 121 | "public.blob": { | ||
| 122 | "name": "blob", | ||
| 123 | "schema": "", | ||
| 124 | "columns": { | ||
| 125 | "namespace": { | ||
| 126 | "name": "namespace", | ||
| 127 | "type": "text", | ||
| 128 | "primaryKey": false, | ||
| 129 | "notNull": true | ||
| 130 | }, | ||
| 131 | "key": { | ||
| 132 | "name": "key", | ||
| 133 | "type": "text", | ||
| 134 | "primaryKey": false, | ||
| 135 | "notNull": true | ||
| 136 | }, | ||
| 137 | "value": { | ||
| 138 | "name": "value", | ||
| 139 | "type": "text", | ||
| 140 | "primaryKey": false, | ||
| 141 | "notNull": true | ||
| 142 | } | ||
| 143 | }, | ||
| 144 | "indexes": {}, | ||
| 145 | "foreignKeys": {}, | ||
| 146 | "compositePrimaryKeys": { | ||
| 147 | "blob_namespace_key_pk": { | ||
| 148 | "name": "blob_namespace_key_pk", | ||
| 149 | "columns": ["namespace", "key"] | ||
| 150 | } | ||
| 151 | }, | ||
| 152 | "uniqueConstraints": {}, | ||
| 153 | "policies": {}, | ||
| 154 | "checkConstraints": {}, | ||
| 155 | "isRLSEnabled": false | ||
| 156 | }, | ||
| 157 | "public.connection": { | ||
| 158 | "name": "connection", | ||
| 159 | "schema": "", | ||
| 160 | "columns": { | ||
| 161 | "id": { | ||
| 162 | "name": "id", | ||
| 163 | "type": "text", | ||
| 164 | "primaryKey": false, | ||
| 165 | "notNull": true | ||
| 166 | }, | ||
| 167 | "scope_id": { | ||
| 168 | "name": "scope_id", | ||
| 169 | "type": "text", | ||
| 170 | "primaryKey": false, | ||
| 171 | "notNull": true | ||
| 172 | }, | ||
| 173 | "provider": { | ||
| 174 | "name": "provider", | ||
| 175 | "type": "text", | ||
| 176 | "primaryKey": false, | ||
| 177 | "notNull": true | ||
| 178 | }, | ||
| 179 | "identity_label": { | ||
| 180 | "name": "identity_label", | ||
| 181 | "type": "text", | ||
| 182 | "primaryKey": false, | ||
| 183 | "notNull": false | ||
| 184 | }, | ||
| 185 | "access_token_secret_id": { | ||
| 186 | "name": "access_token_secret_id", | ||
| 187 | "type": "text", | ||
| 188 | "primaryKey": false, | ||
| 189 | "notNull": true | ||
| 190 | }, | ||
| 191 | "refresh_token_secret_id": { | ||
| 192 | "name": "refresh_token_secret_id", | ||
| 193 | "type": "text", | ||
| 194 | "primaryKey": false, | ||
| 195 | "notNull": false | ||
| 196 | }, | ||
| 197 | "expires_at": { | ||
| 198 | "name": "expires_at", | ||
| 199 | "type": "bigint", | ||
| 200 | "primaryKey": false, | ||
| 201 | "notNull": false | ||
| 202 | }, | ||
| 203 | "scope": { | ||
| 204 | "name": "scope", | ||
| 205 | "type": "text", | ||
| 206 | "primaryKey": false, | ||
| 207 | "notNull": false | ||
| 208 | }, | ||
| 209 | "provider_state": { | ||
| 210 | "name": "provider_state", | ||
| 211 | "type": "jsonb", | ||
| 212 | "primaryKey": false, | ||
| 213 | "notNull": false | ||
| 214 | }, | ||
| 215 | "created_at": { | ||
| 216 | "name": "created_at", | ||
| 217 | "type": "timestamp", | ||
| 218 | "primaryKey": false, | ||
| 219 | "notNull": true | ||
| 220 | }, | ||
| 221 | "updated_at": { | ||
| 222 | "name": "updated_at", | ||
| 223 | "type": "timestamp", | ||
| 224 | "primaryKey": false, | ||
| 225 | "notNull": true | ||
| 226 | } | ||
| 227 | }, | ||
| 228 | "indexes": { | ||
| 229 | "connection_scope_id_idx": { | ||
| 230 | "name": "connection_scope_id_idx", | ||
| 231 | "columns": [ | ||
| 232 | { | ||
| 233 | "expression": "scope_id", | ||
| 234 | "isExpression": false, | ||
| 235 | "asc": true, | ||
| 236 | "nulls": "last" | ||
| 237 | } | ||
| 238 | ], | ||
| 239 | "isUnique": false, | ||
| 240 | "concurrently": false, | ||
| 241 | "method": "btree", | ||
| 242 | "with": {} | ||
| 243 | }, | ||
| 244 | "connection_provider_idx": { | ||
| 245 | "name": "connection_provider_idx", | ||
| 246 | "columns": [ | ||
| 247 | { | ||
| 248 | "expression": "provider", | ||
| 249 | "isExpression": false, | ||
| 250 | "asc": true, | ||
| 251 | "nulls": "last" | ||
| 252 | } | ||
| 253 | ], | ||
| 254 | "isUnique": false, | ||
| 255 | "concurrently": false, | ||
| 256 | "method": "btree", | ||
| 257 | "with": {} | ||
| 258 | } | ||
| 259 | }, | ||
| 260 | "foreignKeys": {}, | ||
| 261 | "compositePrimaryKeys": { | ||
| 262 | "connection_scope_id_id_pk": { | ||
| 263 | "name": "connection_scope_id_id_pk", | ||
| 264 | "columns": ["scope_id", "id"] | ||
| 265 | } | ||
| 266 | }, | ||
| 267 | "uniqueConstraints": {}, | ||
| 268 | "policies": {}, | ||
| 269 | "checkConstraints": {}, | ||
| 270 | "isRLSEnabled": false | ||
| 271 | }, | ||
| 272 | "public.definition": { | ||
| 273 | "name": "definition", | ||
| 274 | "schema": "", | ||
| 275 | "columns": { | ||
| 276 | "id": { | ||
| 277 | "name": "id", | ||
| 278 | "type": "text", | ||
| 279 | "primaryKey": false, | ||
| 280 | "notNull": true | ||
| 281 | }, | ||
| 282 | "scope_id": { | ||
| 283 | "name": "scope_id", | ||
| 284 | "type": "text", | ||
| 285 | "primaryKey": false, | ||
| 286 | "notNull": true | ||
| 287 | }, | ||
| 288 | "source_id": { | ||
| 289 | "name": "source_id", | ||
| 290 | "type": "text", | ||
| 291 | "primaryKey": false, | ||
| 292 | "notNull": true | ||
| 293 | }, | ||
| 294 | "plugin_id": { | ||
| 295 | "name": "plugin_id", | ||
| 296 | "type": "text", | ||
| 297 | "primaryKey": false, | ||
| 298 | "notNull": true | ||
| 299 | }, | ||
| 300 | "name": { | ||
| 301 | "name": "name", | ||
| 302 | "type": "text", | ||
| 303 | "primaryKey": false, | ||
| 304 | "notNull": true | ||
| 305 | }, | ||
| 306 | "schema": { | ||
| 307 | "name": "schema", | ||
| 308 | "type": "jsonb", | ||
| 309 | "primaryKey": false, | ||
| 310 | "notNull": true | ||
| 311 | }, | ||
| 312 | "created_at": { | ||
| 313 | "name": "created_at", | ||
| 314 | "type": "timestamp", | ||
| 315 | "primaryKey": false, | ||
| 316 | "notNull": true | ||
| 317 | } | ||
| 318 | }, | ||
| 319 | "indexes": { | ||
| 320 | "definition_scope_id_idx": { | ||
| 321 | "name": "definition_scope_id_idx", | ||
| 322 | "columns": [ | ||
| 323 | { | ||
| 324 | "expression": "scope_id", | ||
| 325 | "isExpression": false, | ||
| 326 | "asc": true, | ||
| 327 | "nulls": "last" | ||
| 328 | } | ||
| 329 | ], | ||
| 330 | "isUnique": false, | ||
| 331 | "concurrently": false, | ||
| 332 | "method": "btree", | ||
| 333 | "with": {} | ||
| 334 | }, | ||
| 335 | "definition_source_id_idx": { | ||
| 336 | "name": "definition_source_id_idx", | ||
| 337 | "columns": [ | ||
| 338 | { | ||
| 339 | "expression": "source_id", | ||
| 340 | "isExpression": false, | ||
| 341 | "asc": true, | ||
| 342 | "nulls": "last" | ||
| 343 | } | ||
| 344 | ], | ||
| 345 | "isUnique": false, | ||
| 346 | "concurrently": false, | ||
| 347 | "method": "btree", | ||
| 348 | "with": {} | ||
| 349 | }, | ||
| 350 | "definition_plugin_id_idx": { | ||
| 351 | "name": "definition_plugin_id_idx", | ||
| 352 | "columns": [ | ||
| 353 | { | ||
| 354 | "expression": "plugin_id", | ||
| 355 | "isExpression": false, | ||
| 356 | "asc": true, | ||
| 357 | "nulls": "last" | ||
| 358 | } | ||
| 359 | ], | ||
| 360 | "isUnique": false, | ||
| 361 | "concurrently": false, | ||
| 362 | "method": "btree", | ||
| 363 | "with": {} | ||
| 364 | } | ||
| 365 | }, | ||
| 366 | "foreignKeys": {}, | ||
| 367 | "compositePrimaryKeys": { | ||
| 368 | "definition_scope_id_id_pk": { | ||
| 369 | "name": "definition_scope_id_id_pk", | ||
| 370 | "columns": ["scope_id", "id"] | ||
| 371 | } | ||
| 372 | }, | ||
| 373 | "uniqueConstraints": {}, | ||
| 374 | "policies": {}, | ||
| 375 | "checkConstraints": {}, | ||
| 376 | "isRLSEnabled": false | ||
| 377 | }, | ||
| 378 | "public.graphql_operation": { | ||
| 379 | "name": "graphql_operation", | ||
| 380 | "schema": "", | ||
| 381 | "columns": { | ||
| 382 | "id": { | ||
| 383 | "name": "id", | ||
| 384 | "type": "text", | ||
| 385 | "primaryKey": false, | ||
| 386 | "notNull": true | ||
| 387 | }, | ||
| 388 | "scope_id": { | ||
| 389 | "name": "scope_id", | ||
| 390 | "type": "text", | ||
| 391 | "primaryKey": false, | ||
| 392 | "notNull": true | ||
| 393 | }, | ||
| 394 | "source_id": { | ||
| 395 | "name": "source_id", | ||
| 396 | "type": "text", | ||
| 397 | "primaryKey": false, | ||
| 398 | "notNull": true | ||
| 399 | }, | ||
| 400 | "binding": { | ||
| 401 | "name": "binding", | ||
| 402 | "type": "jsonb", | ||
| 403 | "primaryKey": false, | ||
| 404 | "notNull": true | ||
| 405 | } | ||
| 406 | }, | ||
| 407 | "indexes": { | ||
| 408 | "graphql_operation_scope_id_idx": { | ||
| 409 | "name": "graphql_operation_scope_id_idx", | ||
| 410 | "columns": [ | ||
| 411 | { | ||
| 412 | "expression": "scope_id", | ||
| 413 | "isExpression": false, | ||
| 414 | "asc": true, | ||
| 415 | "nulls": "last" | ||
| 416 | } | ||
| 417 | ], | ||
| 418 | "isUnique": false, | ||
| 419 | "concurrently": false, | ||
| 420 | "method": "btree", | ||
| 421 | "with": {} | ||
| 422 | }, | ||
| 423 | "graphql_operation_source_id_idx": { | ||
| 424 | "name": "graphql_operation_source_id_idx", | ||
| 425 | "columns": [ | ||
| 426 | { | ||
| 427 | "expression": "source_id", | ||
| 428 | "isExpression": false, | ||
| 429 | "asc": true, | ||
| 430 | "nulls": "last" | ||
| 431 | } | ||
| 432 | ], | ||
| 433 | "isUnique": false, | ||
| 434 | "concurrently": false, | ||
| 435 | "method": "btree", | ||
| 436 | "with": {} | ||
| 437 | } | ||
| 438 | }, | ||
| 439 | "foreignKeys": {}, | ||
| 440 | "compositePrimaryKeys": { | ||
| 441 | "graphql_operation_scope_id_id_pk": { | ||
| 442 | "name": "graphql_operation_scope_id_id_pk", | ||
| 443 | "columns": ["scope_id", "id"] | ||
| 444 | } | ||
| 445 | }, | ||
| 446 | "uniqueConstraints": {}, | ||
| 447 | "policies": {}, | ||
| 448 | "checkConstraints": {}, | ||
| 449 | "isRLSEnabled": false | ||
| 450 | }, | ||
| 451 | "public.graphql_source": { | ||
| 452 | "name": "graphql_source", | ||
| 453 | "schema": "", | ||
| 454 | "columns": { | ||
| 455 | "id": { | ||
| 456 | "name": "id", | ||
| 457 | "type": "text", | ||
| 458 | "primaryKey": false, | ||
| 459 | "notNull": true | ||
| 460 | }, | ||
| 461 | "scope_id": { | ||
| 462 | "name": "scope_id", | ||
| 463 | "type": "text", | ||
| 464 | "primaryKey": false, | ||
| 465 | "notNull": true | ||
| 466 | }, | ||
| 467 | "name": { | ||
| 468 | "name": "name", | ||
| 469 | "type": "text", | ||
| 470 | "primaryKey": false, | ||
| 471 | "notNull": true | ||
| 472 | }, | ||
| 473 | "endpoint": { | ||
| 474 | "name": "endpoint", | ||
| 475 | "type": "text", | ||
| 476 | "primaryKey": false, | ||
| 477 | "notNull": true | ||
| 478 | }, | ||
| 479 | "headers": { | ||
| 480 | "name": "headers", | ||
| 481 | "type": "jsonb", | ||
| 482 | "primaryKey": false, | ||
| 483 | "notNull": false | ||
| 484 | } | ||
| 485 | }, | ||
| 486 | "indexes": { | ||
| 487 | "graphql_source_scope_id_idx": { | ||
| 488 | "name": "graphql_source_scope_id_idx", | ||
| 489 | "columns": [ | ||
| 490 | { | ||
| 491 | "expression": "scope_id", | ||
| 492 | "isExpression": false, | ||
| 493 | "asc": true, | ||
| 494 | "nulls": "last" | ||
| 495 | } | ||
| 496 | ], | ||
| 497 | "isUnique": false, | ||
| 498 | "concurrently": false, | ||
| 499 | "method": "btree", | ||
| 500 | "with": {} | ||
| 501 | } | ||
| 502 | }, | ||
| 503 | "foreignKeys": {}, | ||
| 504 | "compositePrimaryKeys": { | ||
| 505 | "graphql_source_scope_id_id_pk": { | ||
| 506 | "name": "graphql_source_scope_id_id_pk", | ||
| 507 | "columns": ["scope_id", "id"] | ||
| 508 | } | ||
| 509 | }, | ||
| 510 | "uniqueConstraints": {}, | ||
| 511 | "policies": {}, | ||
| 512 | "checkConstraints": {}, | ||
| 513 | "isRLSEnabled": false | ||
| 514 | }, | ||
| 515 | "public.mcp_binding": { | ||
| 516 | "name": "mcp_binding", | ||
| 517 | "schema": "", | ||
| 518 | "columns": { | ||
| 519 | "id": { | ||
| 520 | "name": "id", | ||
| 521 | "type": "text", | ||
| 522 | "primaryKey": false, | ||
| 523 | "notNull": true | ||
| 524 | }, | ||
| 525 | "scope_id": { | ||
| 526 | "name": "scope_id", | ||
| 527 | "type": "text", | ||
| 528 | "primaryKey": false, | ||
| 529 | "notNull": true | ||
| 530 | }, | ||
| 531 | "source_id": { | ||
| 532 | "name": "source_id", | ||
| 533 | "type": "text", | ||
| 534 | "primaryKey": false, | ||
| 535 | "notNull": true | ||
| 536 | }, | ||
| 537 | "binding": { | ||
| 538 | "name": "binding", | ||
| 539 | "type": "jsonb", | ||
| 540 | "primaryKey": false, | ||
| 541 | "notNull": true | ||
| 542 | }, | ||
| 543 | "created_at": { | ||
| 544 | "name": "created_at", | ||
| 545 | "type": "timestamp", | ||
| 546 | "primaryKey": false, | ||
| 547 | "notNull": true | ||
| 548 | } | ||
| 549 | }, | ||
| 550 | "indexes": { | ||
| 551 | "mcp_binding_scope_id_idx": { | ||
| 552 | "name": "mcp_binding_scope_id_idx", | ||
| 553 | "columns": [ | ||
| 554 | { | ||
| 555 | "expression": "scope_id", | ||
| 556 | "isExpression": false, | ||
| 557 | "asc": true, | ||
| 558 | "nulls": "last" | ||
| 559 | } | ||
| 560 | ], | ||
| 561 | "isUnique": false, | ||
| 562 | "concurrently": false, | ||
| 563 | "method": "btree", | ||
| 564 | "with": {} | ||
| 565 | }, | ||
| 566 | "mcp_binding_source_id_idx": { | ||
| 567 | "name": "mcp_binding_source_id_idx", | ||
| 568 | "columns": [ | ||
| 569 | { | ||
| 570 | "expression": "source_id", | ||
| 571 | "isExpression": false, | ||
| 572 | "asc": true, | ||
| 573 | "nulls": "last" | ||
| 574 | } | ||
| 575 | ], | ||
| 576 | "isUnique": false, | ||
| 577 | "concurrently": false, | ||
| 578 | "method": "btree", | ||
| 579 | "with": {} | ||
| 580 | } | ||
| 581 | }, | ||
| 582 | "foreignKeys": {}, | ||
| 583 | "compositePrimaryKeys": { | ||
| 584 | "mcp_binding_scope_id_id_pk": { | ||
| 585 | "name": "mcp_binding_scope_id_id_pk", | ||
| 586 | "columns": ["scope_id", "id"] | ||
| 587 | } | ||
| 588 | }, | ||
| 589 | "uniqueConstraints": {}, | ||
| 590 | "policies": {}, | ||
| 591 | "checkConstraints": {}, | ||
| 592 | "isRLSEnabled": false | ||
| 593 | }, | ||
| 594 | "public.mcp_oauth_session": { | ||
| 595 | "name": "mcp_oauth_session", | ||
| 596 | "schema": "", | ||
| 597 | "columns": { | ||
| 598 | "id": { | ||
| 599 | "name": "id", | ||
| 600 | "type": "text", | ||
| 601 | "primaryKey": false, | ||
| 602 | "notNull": true | ||
| 603 | }, | ||
| 604 | "scope_id": { | ||
| 605 | "name": "scope_id", | ||
| 606 | "type": "text", | ||
| 607 | "primaryKey": false, | ||
| 608 | "notNull": true | ||
| 609 | }, | ||
| 610 | "session": { | ||
| 611 | "name": "session", | ||
| 612 | "type": "jsonb", | ||
| 613 | "primaryKey": false, | ||
| 614 | "notNull": true | ||
| 615 | }, | ||
| 616 | "expires_at": { | ||
| 617 | "name": "expires_at", | ||
| 618 | "type": "bigint", | ||
| 619 | "primaryKey": false, | ||
| 620 | "notNull": true | ||
| 621 | }, | ||
| 622 | "created_at": { | ||
| 623 | "name": "created_at", | ||
| 624 | "type": "timestamp", | ||
| 625 | "primaryKey": false, | ||
| 626 | "notNull": true | ||
| 627 | } | ||
| 628 | }, | ||
| 629 | "indexes": { | ||
| 630 | "mcp_oauth_session_scope_id_idx": { | ||
| 631 | "name": "mcp_oauth_session_scope_id_idx", | ||
| 632 | "columns": [ | ||
| 633 | { | ||
| 634 | "expression": "scope_id", | ||
| 635 | "isExpression": false, | ||
| 636 | "asc": true, | ||
| 637 | "nulls": "last" | ||
| 638 | } | ||
| 639 | ], | ||
| 640 | "isUnique": false, | ||
| 641 | "concurrently": false, | ||
| 642 | "method": "btree", | ||
| 643 | "with": {} | ||
| 644 | } | ||
| 645 | }, | ||
| 646 | "foreignKeys": {}, | ||
| 647 | "compositePrimaryKeys": { | ||
| 648 | "mcp_oauth_session_scope_id_id_pk": { | ||
| 649 | "name": "mcp_oauth_session_scope_id_id_pk", | ||
| 650 | "columns": ["scope_id", "id"] | ||
| 651 | } | ||
| 652 | }, | ||
| 653 | "uniqueConstraints": {}, | ||
| 654 | "policies": {}, | ||
| 655 | "checkConstraints": {}, | ||
| 656 | "isRLSEnabled": false | ||
| 657 | }, | ||
| 658 | "public.mcp_source": { | ||
| 659 | "name": "mcp_source", | ||
| 660 | "schema": "", | ||
| 661 | "columns": { | ||
| 662 | "id": { | ||
| 663 | "name": "id", | ||
| 664 | "type": "text", | ||
| 665 | "primaryKey": false, | ||
| 666 | "notNull": true | ||
| 667 | }, | ||
| 668 | "scope_id": { | ||
| 669 | "name": "scope_id", | ||
| 670 | "type": "text", | ||
| 671 | "primaryKey": false, | ||
| 672 | "notNull": true | ||
| 673 | }, | ||
| 674 | "name": { | ||
| 675 | "name": "name", | ||
| 676 | "type": "text", | ||
| 677 | "primaryKey": false, | ||
| 678 | "notNull": true | ||
| 679 | }, | ||
| 680 | "config": { | ||
| 681 | "name": "config", | ||
| 682 | "type": "jsonb", | ||
| 683 | "primaryKey": false, | ||
| 684 | "notNull": true | ||
| 685 | }, | ||
| 686 | "created_at": { | ||
| 687 | "name": "created_at", | ||
| 688 | "type": "timestamp", | ||
| 689 | "primaryKey": false, | ||
| 690 | "notNull": true | ||
| 691 | } | ||
| 692 | }, | ||
| 693 | "indexes": { | ||
| 694 | "mcp_source_scope_id_idx": { | ||
| 695 | "name": "mcp_source_scope_id_idx", | ||
| 696 | "columns": [ | ||
| 697 | { | ||
| 698 | "expression": "scope_id", | ||
| 699 | "isExpression": false, | ||
| 700 | "asc": true, | ||
| 701 | "nulls": "last" | ||
| 702 | } | ||
| 703 | ], | ||
| 704 | "isUnique": false, | ||
| 705 | "concurrently": false, | ||
| 706 | "method": "btree", | ||
| 707 | "with": {} | ||
| 708 | } | ||
| 709 | }, | ||
| 710 | "foreignKeys": {}, | ||
| 711 | "compositePrimaryKeys": { | ||
| 712 | "mcp_source_scope_id_id_pk": { | ||
| 713 | "name": "mcp_source_scope_id_id_pk", | ||
| 714 | "columns": ["scope_id", "id"] | ||
| 715 | } | ||
| 716 | }, | ||
| 717 | "uniqueConstraints": {}, | ||
| 718 | "policies": {}, | ||
| 719 | "checkConstraints": {}, | ||
| 720 | "isRLSEnabled": false | ||
| 721 | }, | ||
| 722 | "public.openapi_oauth_session": { | ||
| 723 | "name": "openapi_oauth_session", | ||
| 724 | "schema": "", | ||
| 725 | "columns": { | ||
| 726 | "id": { | ||
| 727 | "name": "id", | ||
| 728 | "type": "text", | ||
| 729 | "primaryKey": false, | ||
| 730 | "notNull": true | ||
| 731 | }, | ||
| 732 | "scope_id": { | ||
| 733 | "name": "scope_id", | ||
| 734 | "type": "text", | ||
| 735 | "primaryKey": false, | ||
| 736 | "notNull": true | ||
| 737 | }, | ||
| 738 | "session": { | ||
| 739 | "name": "session", | ||
| 740 | "type": "jsonb", | ||
| 741 | "primaryKey": false, | ||
| 742 | "notNull": true | ||
| 743 | }, | ||
| 744 | "created_at": { | ||
| 745 | "name": "created_at", | ||
| 746 | "type": "timestamp", | ||
| 747 | "primaryKey": false, | ||
| 748 | "notNull": true | ||
| 749 | } | ||
| 750 | }, | ||
| 751 | "indexes": { | ||
| 752 | "openapi_oauth_session_scope_id_idx": { | ||
| 753 | "name": "openapi_oauth_session_scope_id_idx", | ||
| 754 | "columns": [ | ||
| 755 | { | ||
| 756 | "expression": "scope_id", | ||
| 757 | "isExpression": false, | ||
| 758 | "asc": true, | ||
| 759 | "nulls": "last" | ||
| 760 | } | ||
| 761 | ], | ||
| 762 | "isUnique": false, | ||
| 763 | "concurrently": false, | ||
| 764 | "method": "btree", | ||
| 765 | "with": {} | ||
| 766 | } | ||
| 767 | }, | ||
| 768 | "foreignKeys": {}, | ||
| 769 | "compositePrimaryKeys": { | ||
| 770 | "openapi_oauth_session_scope_id_id_pk": { | ||
| 771 | "name": "openapi_oauth_session_scope_id_id_pk", | ||
| 772 | "columns": ["scope_id", "id"] | ||
| 773 | } | ||
| 774 | }, | ||
| 775 | "uniqueConstraints": {}, | ||
| 776 | "policies": {}, | ||
| 777 | "checkConstraints": {}, | ||
| 778 | "isRLSEnabled": false | ||
| 779 | }, | ||
| 780 | "public.openapi_operation": { | ||
| 781 | "name": "openapi_operation", | ||
| 782 | "schema": "", | ||
| 783 | "columns": { | ||
| 784 | "id": { | ||
| 785 | "name": "id", | ||
| 786 | "type": "text", | ||
| 787 | "primaryKey": false, | ||
| 788 | "notNull": true | ||
| 789 | }, | ||
| 790 | "scope_id": { | ||
| 791 | "name": "scope_id", | ||
| 792 | "type": "text", | ||
| 793 | "primaryKey": false, | ||
| 794 | "notNull": true | ||
| 795 | }, | ||
| 796 | "source_id": { | ||
| 797 | "name": "source_id", | ||
| 798 | "type": "text", | ||
| 799 | "primaryKey": false, | ||
| 800 | "notNull": true | ||
| 801 | }, | ||
| 802 | "binding": { | ||
| 803 | "name": "binding", | ||
| 804 | "type": "jsonb", | ||
| 805 | "primaryKey": false, | ||
| 806 | "notNull": true | ||
| 807 | } | ||
| 808 | }, | ||
| 809 | "indexes": { | ||
| 810 | "openapi_operation_scope_id_idx": { | ||
| 811 | "name": "openapi_operation_scope_id_idx", | ||
| 812 | "columns": [ | ||
| 813 | { | ||
| 814 | "expression": "scope_id", | ||
| 815 | "isExpression": false, | ||
| 816 | "asc": true, | ||
| 817 | "nulls": "last" | ||
| 818 | } | ||
| 819 | ], | ||
| 820 | "isUnique": false, | ||
| 821 | "concurrently": false, | ||
| 822 | "method": "btree", | ||
| 823 | "with": {} | ||
| 824 | }, | ||
| 825 | "openapi_operation_source_id_idx": { | ||
| 826 | "name": "openapi_operation_source_id_idx", | ||
| 827 | "columns": [ | ||
| 828 | { | ||
| 829 | "expression": "source_id", | ||
| 830 | "isExpression": false, | ||
| 831 | "asc": true, | ||
| 832 | "nulls": "last" | ||
| 833 | } | ||
| 834 | ], | ||
| 835 | "isUnique": false, | ||
| 836 | "concurrently": false, | ||
| 837 | "method": "btree", | ||
| 838 | "with": {} | ||
| 839 | } | ||
| 840 | }, | ||
| 841 | "foreignKeys": {}, | ||
| 842 | "compositePrimaryKeys": { | ||
| 843 | "openapi_operation_scope_id_id_pk": { | ||
| 844 | "name": "openapi_operation_scope_id_id_pk", | ||
| 845 | "columns": ["scope_id", "id"] | ||
| 846 | } | ||
| 847 | }, | ||
| 848 | "uniqueConstraints": {}, | ||
| 849 | "policies": {}, | ||
| 850 | "checkConstraints": {}, | ||
| 851 | "isRLSEnabled": false | ||
| 852 | }, | ||
| 853 | "public.openapi_source": { | ||
| 854 | "name": "openapi_source", | ||
| 855 | "schema": "", | ||
| 856 | "columns": { | ||
| 857 | "id": { | ||
| 858 | "name": "id", | ||
| 859 | "type": "text", | ||
| 860 | "primaryKey": false, | ||
| 861 | "notNull": true | ||
| 862 | }, | ||
| 863 | "scope_id": { | ||
| 864 | "name": "scope_id", | ||
| 865 | "type": "text", | ||
| 866 | "primaryKey": false, | ||
| 867 | "notNull": true | ||
| 868 | }, | ||
| 869 | "name": { | ||
| 870 | "name": "name", | ||
| 871 | "type": "text", | ||
| 872 | "primaryKey": false, | ||
| 873 | "notNull": true | ||
| 874 | }, | ||
| 875 | "spec": { | ||
| 876 | "name": "spec", | ||
| 877 | "type": "text", | ||
| 878 | "primaryKey": false, | ||
| 879 | "notNull": true | ||
| 880 | }, | ||
| 881 | "source_url": { | ||
| 882 | "name": "source_url", | ||
| 883 | "type": "text", | ||
| 884 | "primaryKey": false, | ||
| 885 | "notNull": false | ||
| 886 | }, | ||
| 887 | "base_url": { | ||
| 888 | "name": "base_url", | ||
| 889 | "type": "text", | ||
| 890 | "primaryKey": false, | ||
| 891 | "notNull": false | ||
| 892 | }, | ||
| 893 | "headers": { | ||
| 894 | "name": "headers", | ||
| 895 | "type": "jsonb", | ||
| 896 | "primaryKey": false, | ||
| 897 | "notNull": false | ||
| 898 | }, | ||
| 899 | "oauth2": { | ||
| 900 | "name": "oauth2", | ||
| 901 | "type": "jsonb", | ||
| 902 | "primaryKey": false, | ||
| 903 | "notNull": false | ||
| 904 | }, | ||
| 905 | "invocation_config": { | ||
| 906 | "name": "invocation_config", | ||
| 907 | "type": "jsonb", | ||
| 908 | "primaryKey": false, | ||
| 909 | "notNull": true | ||
| 910 | } | ||
| 911 | }, | ||
| 912 | "indexes": { | ||
| 913 | "openapi_source_scope_id_idx": { | ||
| 914 | "name": "openapi_source_scope_id_idx", | ||
| 915 | "columns": [ | ||
| 916 | { | ||
| 917 | "expression": "scope_id", | ||
| 918 | "isExpression": false, | ||
| 919 | "asc": true, | ||
| 920 | "nulls": "last" | ||
| 921 | } | ||
| 922 | ], | ||
| 923 | "isUnique": false, | ||
| 924 | "concurrently": false, | ||
| 925 | "method": "btree", | ||
| 926 | "with": {} | ||
| 927 | } | ||
| 928 | }, | ||
| 929 | "foreignKeys": {}, | ||
| 930 | "compositePrimaryKeys": { | ||
| 931 | "openapi_source_scope_id_id_pk": { | ||
| 932 | "name": "openapi_source_scope_id_id_pk", | ||
| 933 | "columns": ["scope_id", "id"] | ||
| 934 | } | ||
| 935 | }, | ||
| 936 | "uniqueConstraints": {}, | ||
| 937 | "policies": {}, | ||
| 938 | "checkConstraints": {}, | ||
| 939 | "isRLSEnabled": false | ||
| 940 | }, | ||
| 941 | "public.secret": { | ||
| 942 | "name": "secret", | ||
| 943 | "schema": "", | ||
| 944 | "columns": { | ||
| 945 | "id": { | ||
| 946 | "name": "id", | ||
| 947 | "type": "text", | ||
| 948 | "primaryKey": false, | ||
| 949 | "notNull": true | ||
| 950 | }, | ||
| 951 | "scope_id": { | ||
| 952 | "name": "scope_id", | ||
| 953 | "type": "text", | ||
| 954 | "primaryKey": false, | ||
| 955 | "notNull": true | ||
| 956 | }, | ||
| 957 | "name": { | ||
| 958 | "name": "name", | ||
| 959 | "type": "text", | ||
| 960 | "primaryKey": false, | ||
| 961 | "notNull": true | ||
| 962 | }, | ||
| 963 | "provider": { | ||
| 964 | "name": "provider", | ||
| 965 | "type": "text", | ||
| 966 | "primaryKey": false, | ||
| 967 | "notNull": true | ||
| 968 | }, | ||
| 969 | "owned_by_connection_id": { | ||
| 970 | "name": "owned_by_connection_id", | ||
| 971 | "type": "text", | ||
| 972 | "primaryKey": false, | ||
| 973 | "notNull": false | ||
| 974 | }, | ||
| 975 | "created_at": { | ||
| 976 | "name": "created_at", | ||
| 977 | "type": "timestamp", | ||
| 978 | "primaryKey": false, | ||
| 979 | "notNull": true | ||
| 980 | } | ||
| 981 | }, | ||
| 982 | "indexes": { | ||
| 983 | "secret_scope_id_idx": { | ||
| 984 | "name": "secret_scope_id_idx", | ||
| 985 | "columns": [ | ||
| 986 | { | ||
| 987 | "expression": "scope_id", | ||
| 988 | "isExpression": false, | ||
| 989 | "asc": true, | ||
| 990 | "nulls": "last" | ||
| 991 | } | ||
| 992 | ], | ||
| 993 | "isUnique": false, | ||
| 994 | "concurrently": false, | ||
| 995 | "method": "btree", | ||
| 996 | "with": {} | ||
| 997 | }, | ||
| 998 | "secret_provider_idx": { | ||
| 999 | "name": "secret_provider_idx", | ||
| 1000 | "columns": [ | ||
| 1001 | { | ||
| 1002 | "expression": "provider", | ||
| 1003 | "isExpression": false, | ||
| 1004 | "asc": true, | ||
| 1005 | "nulls": "last" | ||
| 1006 | } | ||
| 1007 | ], | ||
| 1008 | "isUnique": false, | ||
| 1009 | "concurrently": false, | ||
| 1010 | "method": "btree", | ||
| 1011 | "with": {} | ||
| 1012 | }, | ||
| 1013 | "secret_owned_by_connection_id_idx": { | ||
| 1014 | "name": "secret_owned_by_connection_id_idx", | ||
| 1015 | "columns": [ | ||
| 1016 | { | ||
| 1017 | "expression": "owned_by_connection_id", | ||
| 1018 | "isExpression": false, | ||
| 1019 | "asc": true, | ||
| 1020 | "nulls": "last" | ||
| 1021 | } | ||
| 1022 | ], | ||
| 1023 | "isUnique": false, | ||
| 1024 | "concurrently": false, | ||
| 1025 | "method": "btree", | ||
| 1026 | "with": {} | ||
| 1027 | } | ||
| 1028 | }, | ||
| 1029 | "foreignKeys": {}, | ||
| 1030 | "compositePrimaryKeys": { | ||
| 1031 | "secret_scope_id_id_pk": { | ||
| 1032 | "name": "secret_scope_id_id_pk", | ||
| 1033 | "columns": ["scope_id", "id"] | ||
| 1034 | } | ||
| 1035 | }, | ||
| 1036 | "uniqueConstraints": {}, | ||
| 1037 | "policies": {}, | ||
| 1038 | "checkConstraints": {}, | ||
| 1039 | "isRLSEnabled": false | ||
| 1040 | }, | ||
| 1041 | "public.source": { | ||
| 1042 | "name": "source", | ||
| 1043 | "schema": "", | ||
| 1044 | "columns": { | ||
| 1045 | "id": { | ||
| 1046 | "name": "id", | ||
| 1047 | "type": "text", | ||
| 1048 | "primaryKey": false, | ||
| 1049 | "notNull": true | ||
| 1050 | }, | ||
| 1051 | "scope_id": { | ||
| 1052 | "name": "scope_id", | ||
| 1053 | "type": "text", | ||
| 1054 | "primaryKey": false, | ||
| 1055 | "notNull": true | ||
| 1056 | }, | ||
| 1057 | "plugin_id": { | ||
| 1058 | "name": "plugin_id", | ||
| 1059 | "type": "text", | ||
| 1060 | "primaryKey": false, | ||
| 1061 | "notNull": true | ||
| 1062 | }, | ||
| 1063 | "kind": { | ||
| 1064 | "name": "kind", | ||
| 1065 | "type": "text", | ||
| 1066 | "primaryKey": false, | ||
| 1067 | "notNull": true | ||
| 1068 | }, | ||
| 1069 | "name": { | ||
| 1070 | "name": "name", | ||
| 1071 | "type": "text", | ||
| 1072 | "primaryKey": false, | ||
| 1073 | "notNull": true | ||
| 1074 | }, | ||
| 1075 | "url": { | ||
| 1076 | "name": "url", | ||
| 1077 | "type": "text", | ||
| 1078 | "primaryKey": false, | ||
| 1079 | "notNull": false | ||
| 1080 | }, | ||
| 1081 | "can_remove": { | ||
| 1082 | "name": "can_remove", | ||
| 1083 | "type": "boolean", | ||
| 1084 | "primaryKey": false, | ||
| 1085 | "notNull": true, | ||
| 1086 | "default": true | ||
| 1087 | }, | ||
| 1088 | "can_refresh": { | ||
| 1089 | "name": "can_refresh", | ||
| 1090 | "type": "boolean", | ||
| 1091 | "primaryKey": false, | ||
| 1092 | "notNull": true, | ||
| 1093 | "default": false | ||
| 1094 | }, | ||
| 1095 | "can_edit": { | ||
| 1096 | "name": "can_edit", | ||
| 1097 | "type": "boolean", | ||
| 1098 | "primaryKey": false, | ||
| 1099 | "notNull": true, | ||
| 1100 | "default": false | ||
| 1101 | }, | ||
| 1102 | "created_at": { | ||
| 1103 | "name": "created_at", | ||
| 1104 | "type": "timestamp", | ||
| 1105 | "primaryKey": false, | ||
| 1106 | "notNull": true | ||
| 1107 | }, | ||
| 1108 | "updated_at": { | ||
| 1109 | "name": "updated_at", | ||
| 1110 | "type": "timestamp", | ||
| 1111 | "primaryKey": false, | ||
| 1112 | "notNull": true | ||
| 1113 | } | ||
| 1114 | }, | ||
| 1115 | "indexes": { | ||
| 1116 | "source_scope_id_idx": { | ||
| 1117 | "name": "source_scope_id_idx", | ||
| 1118 | "columns": [ | ||
| 1119 | { | ||
| 1120 | "expression": "scope_id", | ||
| 1121 | "isExpression": false, | ||
| 1122 | "asc": true, | ||
| 1123 | "nulls": "last" | ||
| 1124 | } | ||
| 1125 | ], | ||
| 1126 | "isUnique": false, | ||
| 1127 | "concurrently": false, | ||
| 1128 | "method": "btree", | ||
| 1129 | "with": {} | ||
| 1130 | }, | ||
| 1131 | "source_plugin_id_idx": { | ||
| 1132 | "name": "source_plugin_id_idx", | ||
| 1133 | "columns": [ | ||
| 1134 | { | ||
| 1135 | "expression": "plugin_id", | ||
| 1136 | "isExpression": false, | ||
| 1137 | "asc": true, | ||
| 1138 | "nulls": "last" | ||
| 1139 | } | ||
| 1140 | ], | ||
| 1141 | "isUnique": false, | ||
| 1142 | "concurrently": false, | ||
| 1143 | "method": "btree", | ||
| 1144 | "with": {} | ||
| 1145 | } | ||
| 1146 | }, | ||
| 1147 | "foreignKeys": {}, | ||
| 1148 | "compositePrimaryKeys": { | ||
| 1149 | "source_scope_id_id_pk": { | ||
| 1150 | "name": "source_scope_id_id_pk", | ||
| 1151 | "columns": ["scope_id", "id"] | ||
| 1152 | } | ||
| 1153 | }, | ||
| 1154 | "uniqueConstraints": {}, | ||
| 1155 | "policies": {}, | ||
| 1156 | "checkConstraints": {}, | ||
| 1157 | "isRLSEnabled": false | ||
| 1158 | }, | ||
| 1159 | "public.tool": { | ||
| 1160 | "name": "tool", | ||
| 1161 | "schema": "", | ||
| 1162 | "columns": { | ||
| 1163 | "id": { | ||
| 1164 | "name": "id", | ||
| 1165 | "type": "text", | ||
| 1166 | "primaryKey": false, | ||
| 1167 | "notNull": true | ||
| 1168 | }, | ||
| 1169 | "scope_id": { | ||
| 1170 | "name": "scope_id", | ||
| 1171 | "type": "text", | ||
| 1172 | "primaryKey": false, | ||
| 1173 | "notNull": true | ||
| 1174 | }, | ||
| 1175 | "source_id": { | ||
| 1176 | "name": "source_id", | ||
| 1177 | "type": "text", | ||
| 1178 | "primaryKey": false, | ||
| 1179 | "notNull": true | ||
| 1180 | }, | ||
| 1181 | "plugin_id": { | ||
| 1182 | "name": "plugin_id", | ||
| 1183 | "type": "text", | ||
| 1184 | "primaryKey": false, | ||
| 1185 | "notNull": true | ||
| 1186 | }, | ||
| 1187 | "name": { | ||
| 1188 | "name": "name", | ||
| 1189 | "type": "text", | ||
| 1190 | "primaryKey": false, | ||
| 1191 | "notNull": true | ||
| 1192 | }, | ||
| 1193 | "description": { | ||
| 1194 | "name": "description", | ||
| 1195 | "type": "text", | ||
| 1196 | "primaryKey": false, | ||
| 1197 | "notNull": true | ||
| 1198 | }, | ||
| 1199 | "input_schema": { | ||
| 1200 | "name": "input_schema", | ||
| 1201 | "type": "jsonb", | ||
| 1202 | "primaryKey": false, | ||
| 1203 | "notNull": false | ||
| 1204 | }, | ||
| 1205 | "output_schema": { | ||
| 1206 | "name": "output_schema", | ||
| 1207 | "type": "jsonb", | ||
| 1208 | "primaryKey": false, | ||
| 1209 | "notNull": false | ||
| 1210 | }, | ||
| 1211 | "created_at": { | ||
| 1212 | "name": "created_at", | ||
| 1213 | "type": "timestamp", | ||
| 1214 | "primaryKey": false, | ||
| 1215 | "notNull": true | ||
| 1216 | }, | ||
| 1217 | "updated_at": { | ||
| 1218 | "name": "updated_at", | ||
| 1219 | "type": "timestamp", | ||
| 1220 | "primaryKey": false, | ||
| 1221 | "notNull": true | ||
| 1222 | } | ||
| 1223 | }, | ||
| 1224 | "indexes": { | ||
| 1225 | "tool_scope_id_idx": { | ||
| 1226 | "name": "tool_scope_id_idx", | ||
| 1227 | "columns": [ | ||
| 1228 | { | ||
| 1229 | "expression": "scope_id", | ||
| 1230 | "isExpression": false, | ||
| 1231 | "asc": true, | ||
| 1232 | "nulls": "last" | ||
| 1233 | } | ||
| 1234 | ], | ||
| 1235 | "isUnique": false, | ||
| 1236 | "concurrently": false, | ||
| 1237 | "method": "btree", | ||
| 1238 | "with": {} | ||
| 1239 | }, | ||
| 1240 | "tool_source_id_idx": { | ||
| 1241 | "name": "tool_source_id_idx", | ||
| 1242 | "columns": [ | ||
| 1243 | { | ||
| 1244 | "expression": "source_id", | ||
| 1245 | "isExpression": false, | ||
| 1246 | "asc": true, | ||
| 1247 | "nulls": "last" | ||
| 1248 | } | ||
| 1249 | ], | ||
| 1250 | "isUnique": false, | ||
| 1251 | "concurrently": false, | ||
| 1252 | "method": "btree", | ||
| 1253 | "with": {} | ||
| 1254 | }, | ||
| 1255 | "tool_plugin_id_idx": { | ||
| 1256 | "name": "tool_plugin_id_idx", | ||
| 1257 | "columns": [ | ||
| 1258 | { | ||
| 1259 | "expression": "plugin_id", | ||
| 1260 | "isExpression": false, | ||
| 1261 | "asc": true, | ||
| 1262 | "nulls": "last" | ||
| 1263 | } | ||
| 1264 | ], | ||
| 1265 | "isUnique": false, | ||
| 1266 | "concurrently": false, | ||
| 1267 | "method": "btree", | ||
| 1268 | "with": {} | ||
| 1269 | } | ||
| 1270 | }, | ||
| 1271 | "foreignKeys": {}, | ||
| 1272 | "compositePrimaryKeys": { | ||
| 1273 | "tool_scope_id_id_pk": { | ||
| 1274 | "name": "tool_scope_id_id_pk", | ||
| 1275 | "columns": ["scope_id", "id"] | ||
| 1276 | } | ||
| 1277 | }, | ||
| 1278 | "uniqueConstraints": {}, | ||
| 1279 | "policies": {}, | ||
| 1280 | "checkConstraints": {}, | ||
| 1281 | "isRLSEnabled": false | ||
| 1282 | }, | ||
| 1283 | "public.workos_vault_metadata": { | ||
| 1284 | "name": "workos_vault_metadata", | ||
| 1285 | "schema": "", | ||
| 1286 | "columns": { | ||
| 1287 | "id": { | ||
| 1288 | "name": "id", | ||
| 1289 | "type": "text", | ||
| 1290 | "primaryKey": false, | ||
| 1291 | "notNull": true | ||
| 1292 | }, | ||
| 1293 | "scope_id": { | ||
| 1294 | "name": "scope_id", | ||
| 1295 | "type": "text", | ||
| 1296 | "primaryKey": false, | ||
| 1297 | "notNull": true | ||
| 1298 | }, | ||
| 1299 | "name": { | ||
| 1300 | "name": "name", | ||
| 1301 | "type": "text", | ||
| 1302 | "primaryKey": false, | ||
| 1303 | "notNull": true | ||
| 1304 | }, | ||
| 1305 | "purpose": { | ||
| 1306 | "name": "purpose", | ||
| 1307 | "type": "text", | ||
| 1308 | "primaryKey": false, | ||
| 1309 | "notNull": false | ||
| 1310 | }, | ||
| 1311 | "created_at": { | ||
| 1312 | "name": "created_at", | ||
| 1313 | "type": "timestamp", | ||
| 1314 | "primaryKey": false, | ||
| 1315 | "notNull": true | ||
| 1316 | } | ||
| 1317 | }, | ||
| 1318 | "indexes": { | ||
| 1319 | "workos_vault_metadata_scope_id_idx": { | ||
| 1320 | "name": "workos_vault_metadata_scope_id_idx", | ||
| 1321 | "columns": [ | ||
| 1322 | { | ||
| 1323 | "expression": "scope_id", | ||
| 1324 | "isExpression": false, | ||
| 1325 | "asc": true, | ||
| 1326 | "nulls": "last" | ||
| 1327 | } | ||
| 1328 | ], | ||
| 1329 | "isUnique": false, | ||
| 1330 | "concurrently": false, | ||
| 1331 | "method": "btree", | ||
| 1332 | "with": {} | ||
| 1333 | } | ||
| 1334 | }, | ||
| 1335 | "foreignKeys": {}, | ||
| 1336 | "compositePrimaryKeys": { | ||
| 1337 | "workos_vault_metadata_scope_id_id_pk": { | ||
| 1338 | "name": "workos_vault_metadata_scope_id_id_pk", | ||
| 1339 | "columns": ["scope_id", "id"] | ||
| 1340 | } | ||
| 1341 | }, | ||
| 1342 | "uniqueConstraints": {}, | ||
| 1343 | "policies": {}, | ||
| 1344 | "checkConstraints": {}, | ||
| 1345 | "isRLSEnabled": false | ||
| 1346 | }, | ||
| 1347 | "public.openapi_source_binding": { | ||
| 1348 | "name": "openapi_source_binding", | ||
| 1349 | "schema": "", | ||
| 1350 | "columns": { | ||
| 1351 | "id": { | ||
| 1352 | "name": "id", | ||
| 1353 | "type": "text", | ||
| 1354 | "primaryKey": true, | ||
| 1355 | "notNull": true | ||
| 1356 | }, | ||
| 1357 | "source_id": { | ||
| 1358 | "name": "source_id", | ||
| 1359 | "type": "text", | ||
| 1360 | "primaryKey": false, | ||
| 1361 | "notNull": true | ||
| 1362 | }, | ||
| 1363 | "source_scope_id": { | ||
| 1364 | "name": "source_scope_id", | ||
| 1365 | "type": "text", | ||
| 1366 | "primaryKey": false, | ||
| 1367 | "notNull": true | ||
| 1368 | }, | ||
| 1369 | "target_scope_id": { | ||
| 1370 | "name": "target_scope_id", | ||
| 1371 | "type": "text", | ||
| 1372 | "primaryKey": false, | ||
| 1373 | "notNull": true | ||
| 1374 | }, | ||
| 1375 | "slot": { | ||
| 1376 | "name": "slot", | ||
| 1377 | "type": "text", | ||
| 1378 | "primaryKey": false, | ||
| 1379 | "notNull": true | ||
| 1380 | }, | ||
| 1381 | "value": { | ||
| 1382 | "name": "value", | ||
| 1383 | "type": "jsonb", | ||
| 1384 | "primaryKey": false, | ||
| 1385 | "notNull": true | ||
| 1386 | }, | ||
| 1387 | "created_at": { | ||
| 1388 | "name": "created_at", | ||
| 1389 | "type": "timestamp", | ||
| 1390 | "primaryKey": false, | ||
| 1391 | "notNull": true | ||
| 1392 | }, | ||
| 1393 | "updated_at": { | ||
| 1394 | "name": "updated_at", | ||
| 1395 | "type": "timestamp", | ||
| 1396 | "primaryKey": false, | ||
| 1397 | "notNull": true | ||
| 1398 | } | ||
| 1399 | }, | ||
| 1400 | "indexes": { | ||
| 1401 | "openapi_source_binding_source_id_idx": { | ||
| 1402 | "name": "openapi_source_binding_source_id_idx", | ||
| 1403 | "columns": [ | ||
| 1404 | { | ||
| 1405 | "expression": "source_id", | ||
| 1406 | "isExpression": false, | ||
| 1407 | "asc": true, | ||
| 1408 | "nulls": "last" | ||
| 1409 | } | ||
| 1410 | ], | ||
| 1411 | "isUnique": false, | ||
| 1412 | "concurrently": false, | ||
| 1413 | "method": "btree", | ||
| 1414 | "with": {} | ||
| 1415 | }, | ||
| 1416 | "openapi_source_binding_source_scope_id_idx": { | ||
| 1417 | "name": "openapi_source_binding_source_scope_id_idx", | ||
| 1418 | "columns": [ | ||
| 1419 | { | ||
| 1420 | "expression": "source_scope_id", | ||
| 1421 | "isExpression": false, | ||
| 1422 | "asc": true, | ||
| 1423 | "nulls": "last" | ||
| 1424 | } | ||
| 1425 | ], | ||
| 1426 | "isUnique": false, | ||
| 1427 | "concurrently": false, | ||
| 1428 | "method": "btree", | ||
| 1429 | "with": {} | ||
| 1430 | }, | ||
| 1431 | "openapi_source_binding_target_scope_id_idx": { | ||
| 1432 | "name": "openapi_source_binding_target_scope_id_idx", | ||
| 1433 | "columns": [ | ||
| 1434 | { | ||
| 1435 | "expression": "target_scope_id", | ||
| 1436 | "isExpression": false, | ||
| 1437 | "asc": true, | ||
| 1438 | "nulls": "last" | ||
| 1439 | } | ||
| 1440 | ], | ||
| 1441 | "isUnique": false, | ||
| 1442 | "concurrently": false, | ||
| 1443 | "method": "btree", | ||
| 1444 | "with": {} | ||
| 1445 | }, | ||
| 1446 | "openapi_source_binding_slot_idx": { | ||
| 1447 | "name": "openapi_source_binding_slot_idx", | ||
| 1448 | "columns": [ | ||
| 1449 | { | ||
| 1450 | "expression": "slot", | ||
| 1451 | "isExpression": false, | ||
| 1452 | "asc": true, | ||
| 1453 | "nulls": "last" | ||
| 1454 | } | ||
| 1455 | ], | ||
| 1456 | "isUnique": false, | ||
| 1457 | "concurrently": false, | ||
| 1458 | "method": "btree", | ||
| 1459 | "with": {} | ||
| 1460 | } | ||
| 1461 | }, | ||
| 1462 | "foreignKeys": {}, | ||
| 1463 | "compositePrimaryKeys": {}, | ||
| 1464 | "uniqueConstraints": {}, | ||
| 1465 | "policies": {}, | ||
| 1466 | "checkConstraints": {}, | ||
| 1467 | "isRLSEnabled": false | ||
| 1468 | }, | ||
| 1469 | "public.tool_policy": { | ||
| 1470 | "name": "tool_policy", | ||
| 1471 | "schema": "", | ||
| 1472 | "columns": { | ||
| 1473 | "id": { | ||
| 1474 | "name": "id", | ||
| 1475 | "type": "text", | ||
| 1476 | "primaryKey": false, | ||
| 1477 | "notNull": true | ||
| 1478 | }, | ||
| 1479 | "scope_id": { | ||
| 1480 | "name": "scope_id", | ||
| 1481 | "type": "text", | ||
| 1482 | "primaryKey": false, | ||
| 1483 | "notNull": true | ||
| 1484 | }, | ||
| 1485 | "pattern": { | ||
| 1486 | "name": "pattern", | ||
| 1487 | "type": "text", | ||
| 1488 | "primaryKey": false, | ||
| 1489 | "notNull": true | ||
| 1490 | }, | ||
| 1491 | "action": { | ||
| 1492 | "name": "action", | ||
| 1493 | "type": "text", | ||
| 1494 | "primaryKey": false, | ||
| 1495 | "notNull": true | ||
| 1496 | }, | ||
| 1497 | "position": { | ||
| 1498 | "name": "position", | ||
| 1499 | "type": "text", | ||
| 1500 | "primaryKey": false, | ||
| 1501 | "notNull": true | ||
| 1502 | }, | ||
| 1503 | "created_at": { | ||
| 1504 | "name": "created_at", | ||
| 1505 | "type": "timestamp", | ||
| 1506 | "primaryKey": false, | ||
| 1507 | "notNull": true | ||
| 1508 | }, | ||
| 1509 | "updated_at": { | ||
| 1510 | "name": "updated_at", | ||
| 1511 | "type": "timestamp", | ||
| 1512 | "primaryKey": false, | ||
| 1513 | "notNull": true | ||
| 1514 | } | ||
| 1515 | }, | ||
| 1516 | "indexes": { | ||
| 1517 | "tool_policy_scope_id_position_idx": { | ||
| 1518 | "name": "tool_policy_scope_id_position_idx", | ||
| 1519 | "columns": [ | ||
| 1520 | { | ||
| 1521 | "expression": "scope_id", | ||
| 1522 | "isExpression": false, | ||
| 1523 | "asc": true, | ||
| 1524 | "nulls": "last" | ||
| 1525 | }, | ||
| 1526 | { | ||
| 1527 | "expression": "position", | ||
| 1528 | "isExpression": false, | ||
| 1529 | "asc": true, | ||
| 1530 | "nulls": "last" | ||
| 1531 | } | ||
| 1532 | ], | ||
| 1533 | "isUnique": false, | ||
| 1534 | "concurrently": false, | ||
| 1535 | "method": "btree", | ||
| 1536 | "with": {} | ||
| 1537 | } | ||
| 1538 | }, | ||
| 1539 | "foreignKeys": {}, | ||
| 1540 | "compositePrimaryKeys": { | ||
| 1541 | "tool_policy_scope_id_id_pk": { | ||
| 1542 | "name": "tool_policy_scope_id_id_pk", | ||
| 1543 | "columns": ["scope_id", "id"] | ||
| 1544 | } | ||
| 1545 | }, | ||
| 1546 | "uniqueConstraints": {}, | ||
| 1547 | "policies": {}, | ||
| 1548 | "checkConstraints": {}, | ||
| 1549 | "isRLSEnabled": false | ||
| 1550 | } | ||
| 1551 | }, | ||
| 1552 | "enums": {}, | ||
| 1553 | "schemas": {}, | ||
| 1554 | "sequences": {}, | ||
| 1555 | "roles": {}, | ||
| 1556 | "policies": {}, | ||
| 1557 | "views": {}, | ||
| 1558 | "_meta": { | ||
| 1559 | "columns": {}, | ||
| 1560 | "schemas": {}, | ||
| 1561 | "tables": {} | ||
| 1562 | } | ||
| 1563 | } | ||
| @@ -1,1583 +0,0 @@ | |||
| 1 | { | ||
| 2 | "id": "f521e4d8-1eb4-4f84-8110-38fb5157aaca", | ||
| 3 | "prevId": "2ab0a02b-4dba-4ea4-bb6a-31ef0926942f", | ||
| 4 | "version": "7", | ||
| 5 | "dialect": "postgresql", | ||
| 6 | "tables": { | ||
| 7 | "public.accounts": { | ||
| 8 | "name": "accounts", | ||
| 9 | "schema": "", | ||
| 10 | "columns": { | ||
| 11 | "id": { | ||
| 12 | "name": "id", | ||
| 13 | "type": "text", | ||
| 14 | "primaryKey": true, | ||
| 15 | "notNull": true | ||
| 16 | }, | ||
| 17 | "created_at": { | ||
| 18 | "name": "created_at", | ||
| 19 | "type": "timestamp with time zone", | ||
| 20 | "primaryKey": false, | ||
| 21 | "notNull": true, | ||
| 22 | "default": "now()" | ||
| 23 | } | ||
| 24 | }, | ||
| 25 | "indexes": {}, | ||
| 26 | "foreignKeys": {}, | ||
| 27 | "compositePrimaryKeys": {}, | ||
| 28 | "uniqueConstraints": {}, | ||
| 29 | "policies": {}, | ||
| 30 | "checkConstraints": {}, | ||
| 31 | "isRLSEnabled": false | ||
| 32 | }, | ||
| 33 | "public.memberships": { | ||
| 34 | "name": "memberships", | ||
| 35 | "schema": "", | ||
| 36 | "columns": { | ||
| 37 | "account_id": { | ||
| 38 | "name": "account_id", | ||
| 39 | "type": "text", | ||
| 40 | "primaryKey": false, | ||
| 41 | "notNull": true | ||
| 42 | }, | ||
| 43 | "organization_id": { | ||
| 44 | "name": "organization_id", | ||
| 45 | "type": "text", | ||
| 46 | "primaryKey": false, | ||
| 47 | "notNull": true | ||
| 48 | }, | ||
| 49 | "created_at": { | ||
| 50 | "name": "created_at", | ||
| 51 | "type": "timestamp with time zone", | ||
| 52 | "primaryKey": false, | ||
| 53 | "notNull": true, | ||
| 54 | "default": "now()" | ||
| 55 | } | ||
| 56 | }, | ||
| 57 | "indexes": {}, | ||
| 58 | "foreignKeys": { | ||
| 59 | "memberships_account_id_accounts_id_fk": { | ||
| 60 | "name": "memberships_account_id_accounts_id_fk", | ||
| 61 | "tableFrom": "memberships", | ||
| 62 | "tableTo": "accounts", | ||
| 63 | "columnsFrom": ["account_id"], | ||
| 64 | "columnsTo": ["id"], | ||
| 65 | "onDelete": "cascade", | ||
| 66 | "onUpdate": "no action" | ||
| 67 | }, | ||
| 68 | "memberships_organization_id_organizations_id_fk": { | ||
| 69 | "name": "memberships_organization_id_organizations_id_fk", | ||
| 70 | "tableFrom": "memberships", | ||
| 71 | "tableTo": "organizations", | ||
| 72 | "columnsFrom": ["organization_id"], | ||
| 73 | "columnsTo": ["id"], | ||
| 74 | "onDelete": "cascade", | ||
| 75 | "onUpdate": "no action" | ||
| 76 | } | ||
| 77 | }, | ||
| 78 | "compositePrimaryKeys": { | ||
| 79 | "memberships_account_id_organization_id_pk": { | ||
| 80 | "name": "memberships_account_id_organization_id_pk", | ||
| 81 | "columns": ["account_id", "organization_id"] | ||
| 82 | } | ||
| 83 | }, | ||
| 84 | "uniqueConstraints": {}, | ||
| 85 | "policies": {}, | ||
| 86 | "checkConstraints": {}, | ||
| 87 | "isRLSEnabled": false | ||
| 88 | }, | ||
| 89 | "public.organizations": { | ||
| 90 | "name": "organizations", | ||
| 91 | "schema": "", | ||
| 92 | "columns": { | ||
| 93 | "id": { | ||
| 94 | "name": "id", | ||
| 95 | "type": "text", | ||
| 96 | "primaryKey": true, | ||
| 97 | "notNull": true | ||
| 98 | }, | ||
| 99 | "name": { | ||
| 100 | "name": "name", | ||
| 101 | "type": "text", | ||
| 102 | "primaryKey": false, | ||
| 103 | "notNull": true | ||
| 104 | }, | ||
| 105 | "created_at": { | ||
| 106 | "name": "created_at", | ||
| 107 | "type": "timestamp with time zone", | ||
| 108 | "primaryKey": false, | ||
| 109 | "notNull": true, | ||
| 110 | "default": "now()" | ||
| 111 | } | ||
| 112 | }, | ||
| 113 | "indexes": {}, | ||
| 114 | "foreignKeys": {}, | ||
| 115 | "compositePrimaryKeys": {}, | ||
| 116 | "uniqueConstraints": {}, | ||
| 117 | "policies": {}, | ||
| 118 | "checkConstraints": {}, | ||
| 119 | "isRLSEnabled": false | ||
| 120 | }, | ||
| 121 | "public.blob": { | ||
| 122 | "name": "blob", | ||
| 123 | "schema": "", | ||
| 124 | "columns": { | ||
| 125 | "namespace": { | ||
| 126 | "name": "namespace", | ||
| 127 | "type": "text", | ||
| 128 | "primaryKey": false, | ||
| 129 | "notNull": true | ||
| 130 | }, | ||
| 131 | "key": { | ||
| 132 | "name": "key", | ||
| 133 | "type": "text", | ||
| 134 | "primaryKey": false, | ||
| 135 | "notNull": true | ||
| 136 | }, | ||
| 137 | "value": { | ||
| 138 | "name": "value", | ||
| 139 | "type": "text", | ||
| 140 | "primaryKey": false, | ||
| 141 | "notNull": true | ||
| 142 | } | ||
| 143 | }, | ||
| 144 | "indexes": {}, | ||
| 145 | "foreignKeys": {}, | ||
| 146 | "compositePrimaryKeys": { | ||
| 147 | "blob_namespace_key_pk": { | ||
| 148 | "name": "blob_namespace_key_pk", | ||
| 149 | "columns": ["namespace", "key"] | ||
| 150 | } | ||
| 151 | }, | ||
| 152 | "uniqueConstraints": {}, | ||
| 153 | "policies": {}, | ||
| 154 | "checkConstraints": {}, | ||
| 155 | "isRLSEnabled": false | ||
| 156 | }, | ||
| 157 | "public.connection": { | ||
| 158 | "name": "connection", | ||
| 159 | "schema": "", | ||
| 160 | "columns": { | ||
| 161 | "id": { | ||
| 162 | "name": "id", | ||
| 163 | "type": "text", | ||
| 164 | "primaryKey": false, | ||
| 165 | "notNull": true | ||
| 166 | }, | ||
| 167 | "scope_id": { | ||
| 168 | "name": "scope_id", | ||
| 169 | "type": "text", | ||
| 170 | "primaryKey": false, | ||
| 171 | "notNull": true | ||
| 172 | }, | ||
| 173 | "provider": { | ||
| 174 | "name": "provider", | ||
| 175 | "type": "text", | ||
| 176 | "primaryKey": false, | ||
| 177 | "notNull": true | ||
| 178 | }, | ||
| 179 | "identity_label": { | ||
| 180 | "name": "identity_label", | ||
| 181 | "type": "text", | ||
| 182 | "primaryKey": false, | ||
| 183 | "notNull": false | ||
| 184 | }, | ||
| 185 | "access_token_secret_id": { | ||
| 186 | "name": "access_token_secret_id", | ||
| 187 | "type": "text", | ||
| 188 | "primaryKey": false, | ||
| 189 | "notNull": true | ||
| 190 | }, | ||
| 191 | "refresh_token_secret_id": { | ||
| 192 | "name": "refresh_token_secret_id", | ||
| 193 | "type": "text", | ||
| 194 | "primaryKey": false, | ||
| 195 | "notNull": false | ||
| 196 | }, | ||
| 197 | "expires_at": { | ||
| 198 | "name": "expires_at", | ||
| 199 | "type": "bigint", | ||
| 200 | "primaryKey": false, | ||
| 201 | "notNull": false | ||
| 202 | }, | ||
| 203 | "scope": { | ||
| 204 | "name": "scope", | ||
| 205 | "type": "text", | ||
| 206 | "primaryKey": false, | ||
| 207 | "notNull": false | ||
| 208 | }, | ||
| 209 | "provider_state": { | ||
| 210 | "name": "provider_state", | ||
| 211 | "type": "jsonb", | ||
| 212 | "primaryKey": false, | ||
| 213 | "notNull": false | ||
| 214 | }, | ||
| 215 | "created_at": { | ||
| 216 | "name": "created_at", | ||
| 217 | "type": "timestamp", | ||
| 218 | "primaryKey": false, | ||
| 219 | "notNull": true | ||
| 220 | }, | ||
| 221 | "updated_at": { | ||
| 222 | "name": "updated_at", | ||
| 223 | "type": "timestamp", | ||
| 224 | "primaryKey": false, | ||
| 225 | "notNull": true | ||
| 226 | } | ||
| 227 | }, | ||
| 228 | "indexes": { | ||
| 229 | "connection_scope_id_idx": { | ||
| 230 | "name": "connection_scope_id_idx", | ||
| 231 | "columns": [ | ||
| 232 | { | ||
| 233 | "expression": "scope_id", | ||
| 234 | "isExpression": false, | ||
| 235 | "asc": true, | ||
| 236 | "nulls": "last" | ||
| 237 | } | ||
| 238 | ], | ||
| 239 | "isUnique": false, | ||
| 240 | "concurrently": false, | ||
| 241 | "method": "btree", | ||
| 242 | "with": {} | ||
| 243 | }, | ||
| 244 | "connection_provider_idx": { | ||
| 245 | "name": "connection_provider_idx", | ||
| 246 | "columns": [ | ||
| 247 | { | ||
| 248 | "expression": "provider", | ||
| 249 | "isExpression": false, | ||
| 250 | "asc": true, | ||
| 251 | "nulls": "last" | ||
| 252 | } | ||
| 253 | ], | ||
| 254 | "isUnique": false, | ||
| 255 | "concurrently": false, | ||
| 256 | "method": "btree", | ||
| 257 | "with": {} | ||
| 258 | } | ||
| 259 | }, | ||
| 260 | "foreignKeys": {}, | ||
| 261 | "compositePrimaryKeys": { | ||
| 262 | "connection_scope_id_id_pk": { | ||
| 263 | "name": "connection_scope_id_id_pk", | ||
| 264 | "columns": ["scope_id", "id"] | ||
| 265 | } | ||
| 266 | }, | ||
| 267 | "uniqueConstraints": {}, | ||
| 268 | "policies": {}, | ||
| 269 | "checkConstraints": {}, | ||
| 270 | "isRLSEnabled": false | ||
| 271 | }, | ||
| 272 | "public.definition": { | ||
| 273 | "name": "definition", | ||
| 274 | "schema": "", | ||
| 275 | "columns": { | ||
| 276 | "id": { | ||
| 277 | "name": "id", | ||
| 278 | "type": "text", | ||
| 279 | "primaryKey": false, | ||
| 280 | "notNull": true | ||
| 281 | }, | ||
| 282 | "scope_id": { | ||
| 283 | "name": "scope_id", | ||
| 284 | "type": "text", | ||
| 285 | "primaryKey": false, | ||
| 286 | "notNull": true | ||
| 287 | }, | ||
| 288 | "source_id": { | ||
| 289 | "name": "source_id", | ||
| 290 | "type": "text", | ||
| 291 | "primaryKey": false, | ||
| 292 | "notNull": true | ||
| 293 | }, | ||
| 294 | "plugin_id": { | ||
| 295 | "name": "plugin_id", | ||
| 296 | "type": "text", | ||
| 297 | "primaryKey": false, | ||
| 298 | "notNull": true | ||
| 299 | }, | ||
| 300 | "name": { | ||
| 301 | "name": "name", | ||
| 302 | "type": "text", | ||
| 303 | "primaryKey": false, | ||
| 304 | "notNull": true | ||
| 305 | }, | ||
| 306 | "schema": { | ||
| 307 | "name": "schema", | ||
| 308 | "type": "jsonb", | ||
| 309 | "primaryKey": false, | ||
| 310 | "notNull": true | ||
| 311 | }, | ||
| 312 | "created_at": { | ||
| 313 | "name": "created_at", | ||
| 314 | "type": "timestamp", | ||
| 315 | "primaryKey": false, | ||
| 316 | "notNull": true | ||
| 317 | } | ||
| 318 | }, | ||
| 319 | "indexes": { | ||
| 320 | "definition_scope_id_idx": { | ||
| 321 | "name": "definition_scope_id_idx", | ||
| 322 | "columns": [ | ||
| 323 | { | ||
| 324 | "expression": "scope_id", | ||
| 325 | "isExpression": false, | ||
| 326 | "asc": true, | ||
| 327 | "nulls": "last" | ||
| 328 | } | ||
| 329 | ], | ||
| 330 | "isUnique": false, | ||
| 331 | "concurrently": false, | ||
| 332 | "method": "btree", | ||
| 333 | "with": {} | ||
| 334 | }, | ||
| 335 | "definition_source_id_idx": { | ||
| 336 | "name": "definition_source_id_idx", | ||
| 337 | "columns": [ | ||
| 338 | { | ||
| 339 | "expression": "source_id", | ||
| 340 | "isExpression": false, | ||
| 341 | "asc": true, | ||
| 342 | "nulls": "last" | ||
| 343 | } | ||
| 344 | ], | ||
| 345 | "isUnique": false, | ||
| 346 | "concurrently": false, | ||
| 347 | "method": "btree", | ||
| 348 | "with": {} | ||
| 349 | }, | ||
| 350 | "definition_plugin_id_idx": { | ||
| 351 | "name": "definition_plugin_id_idx", | ||
| 352 | "columns": [ | ||
| 353 | { | ||
| 354 | "expression": "plugin_id", | ||
| 355 | "isExpression": false, | ||
| 356 | "asc": true, | ||
| 357 | "nulls": "last" | ||
| 358 | } | ||
| 359 | ], | ||
| 360 | "isUnique": false, | ||
| 361 | "concurrently": false, | ||
| 362 | "method": "btree", | ||
| 363 | "with": {} | ||
| 364 | } | ||
| 365 | }, | ||
| 366 | "foreignKeys": {}, | ||
| 367 | "compositePrimaryKeys": { | ||
| 368 | "definition_scope_id_id_pk": { | ||
| 369 | "name": "definition_scope_id_id_pk", | ||
| 370 | "columns": ["scope_id", "id"] | ||
| 371 | } | ||
| 372 | }, | ||
| 373 | "uniqueConstraints": {}, | ||
| 374 | "policies": {}, | ||
| 375 | "checkConstraints": {}, | ||
| 376 | "isRLSEnabled": false | ||
| 377 | }, | ||
| 378 | "public.graphql_operation": { | ||
| 379 | "name": "graphql_operation", | ||
| 380 | "schema": "", | ||
| 381 | "columns": { | ||
| 382 | "id": { | ||
| 383 | "name": "id", | ||
| 384 | "type": "text", | ||
| 385 | "primaryKey": false, | ||
| 386 | "notNull": true | ||
| 387 | }, | ||
| 388 | "scope_id": { | ||
| 389 | "name": "scope_id", | ||
| 390 | "type": "text", | ||
| 391 | "primaryKey": false, | ||
| 392 | "notNull": true | ||
| 393 | }, | ||
| 394 | "source_id": { | ||
| 395 | "name": "source_id", | ||
| 396 | "type": "text", | ||
| 397 | "primaryKey": false, | ||
| 398 | "notNull": true | ||
| 399 | }, | ||
| 400 | "binding": { | ||
| 401 | "name": "binding", | ||
| 402 | "type": "jsonb", | ||
| 403 | "primaryKey": false, | ||
| 404 | "notNull": true | ||
| 405 | } | ||
| 406 | }, | ||
| 407 | "indexes": { | ||
| 408 | "graphql_operation_scope_id_idx": { | ||
| 409 | "name": "graphql_operation_scope_id_idx", | ||
| 410 | "columns": [ | ||
| 411 | { | ||
| 412 | "expression": "scope_id", | ||
| 413 | "isExpression": false, | ||
| 414 | "asc": true, | ||
| 415 | "nulls": "last" | ||
| 416 | } | ||
| 417 | ], | ||
| 418 | "isUnique": false, | ||
| 419 | "concurrently": false, | ||
| 420 | "method": "btree", | ||
| 421 | "with": {} | ||
| 422 | }, | ||
| 423 | "graphql_operation_source_id_idx": { | ||
| 424 | "name": "graphql_operation_source_id_idx", | ||
| 425 | "columns": [ | ||
| 426 | { | ||
| 427 | "expression": "source_id", | ||
| 428 | "isExpression": false, | ||
| 429 | "asc": true, | ||
| 430 | "nulls": "last" | ||
| 431 | } | ||
| 432 | ], | ||
| 433 | "isUnique": false, | ||
| 434 | "concurrently": false, | ||
| 435 | "method": "btree", | ||
| 436 | "with": {} | ||
| 437 | } | ||
| 438 | }, | ||
| 439 | "foreignKeys": {}, | ||
| 440 | "compositePrimaryKeys": { | ||
| 441 | "graphql_operation_scope_id_id_pk": { | ||
| 442 | "name": "graphql_operation_scope_id_id_pk", | ||
| 443 | "columns": ["scope_id", "id"] | ||
| 444 | } | ||
| 445 | }, | ||
| 446 | "uniqueConstraints": {}, | ||
| 447 | "policies": {}, | ||
| 448 | "checkConstraints": {}, | ||
| 449 | "isRLSEnabled": false | ||
| 450 | }, | ||
| 451 | "public.graphql_source": { | ||
| 452 | "name": "graphql_source", | ||
| 453 | "schema": "", | ||
| 454 | "columns": { | ||
| 455 | "id": { | ||
| 456 | "name": "id", | ||
| 457 | "type": "text", | ||
| 458 | "primaryKey": false, | ||
| 459 | "notNull": true | ||
| 460 | }, | ||
| 461 | "scope_id": { | ||
| 462 | "name": "scope_id", | ||
| 463 | "type": "text", | ||
| 464 | "primaryKey": false, | ||
| 465 | "notNull": true | ||
| 466 | }, | ||
| 467 | "name": { | ||
| 468 | "name": "name", | ||
| 469 | "type": "text", | ||
| 470 | "primaryKey": false, | ||
| 471 | "notNull": true | ||
| 472 | }, | ||
| 473 | "endpoint": { | ||
| 474 | "name": "endpoint", | ||
| 475 | "type": "text", | ||
| 476 | "primaryKey": false, | ||
| 477 | "notNull": true | ||
| 478 | }, | ||
| 479 | "headers": { | ||
| 480 | "name": "headers", | ||
| 481 | "type": "jsonb", | ||
| 482 | "primaryKey": false, | ||
| 483 | "notNull": false | ||
| 484 | }, | ||
| 485 | "query_params": { | ||
| 486 | "name": "query_params", | ||
| 487 | "type": "jsonb", | ||
| 488 | "primaryKey": false, | ||
| 489 | "notNull": false | ||
| 490 | }, | ||
| 491 | "auth": { | ||
| 492 | "name": "auth", | ||
| 493 | "type": "jsonb", | ||
| 494 | "primaryKey": false, | ||
| 495 | "notNull": false | ||
| 496 | } | ||
| 497 | }, | ||
| 498 | "indexes": { | ||
| 499 | "graphql_source_scope_id_idx": { | ||
| 500 | "name": "graphql_source_scope_id_idx", | ||
| 501 | "columns": [ | ||
| 502 | { | ||
| 503 | "expression": "scope_id", | ||
| 504 | "isExpression": false, | ||
| 505 | "asc": true, | ||
| 506 | "nulls": "last" | ||
| 507 | } | ||
| 508 | ], | ||
| 509 | "isUnique": false, | ||
| 510 | "concurrently": false, | ||
| 511 | "method": "btree", | ||
| 512 | "with": {} | ||
| 513 | } | ||
| 514 | }, | ||
| 515 | "foreignKeys": {}, | ||
| 516 | "compositePrimaryKeys": { | ||
| 517 | "graphql_source_scope_id_id_pk": { | ||
| 518 | "name": "graphql_source_scope_id_id_pk", | ||
| 519 | "columns": ["scope_id", "id"] | ||
| 520 | } | ||
| 521 | }, | ||
| 522 | "uniqueConstraints": {}, | ||
| 523 | "policies": {}, | ||
| 524 | "checkConstraints": {}, | ||
| 525 | "isRLSEnabled": false | ||
| 526 | }, | ||
| 527 | "public.mcp_binding": { | ||
| 528 | "name": "mcp_binding", | ||
| 529 | "schema": "", | ||
| 530 | "columns": { | ||
| 531 | "id": { | ||
| 532 | "name": "id", | ||
| 533 | "type": "text", | ||
| 534 | "primaryKey": false, | ||
| 535 | "notNull": true | ||
| 536 | }, | ||
| 537 | "scope_id": { | ||
| 538 | "name": "scope_id", | ||
| 539 | "type": "text", | ||
| 540 | "primaryKey": false, | ||
| 541 | "notNull": true | ||
| 542 | }, | ||
| 543 | "source_id": { | ||
| 544 | "name": "source_id", | ||
| 545 | "type": "text", | ||
| 546 | "primaryKey": false, | ||
| 547 | "notNull": true | ||
| 548 | }, | ||
| 549 | "binding": { | ||
| 550 | "name": "binding", | ||
| 551 | "type": "jsonb", | ||
| 552 | "primaryKey": false, | ||
| 553 | "notNull": true | ||
| 554 | }, | ||
| 555 | "created_at": { | ||
| 556 | "name": "created_at", | ||
| 557 | "type": "timestamp", | ||
| 558 | "primaryKey": false, | ||
| 559 | "notNull": true | ||
| 560 | } | ||
| 561 | }, | ||
| 562 | "indexes": { | ||
| 563 | "mcp_binding_scope_id_idx": { | ||
| 564 | "name": "mcp_binding_scope_id_idx", | ||
| 565 | "columns": [ | ||
| 566 | { | ||
| 567 | "expression": "scope_id", | ||
| 568 | "isExpression": false, | ||
| 569 | "asc": true, | ||
| 570 | "nulls": "last" | ||
| 571 | } | ||
| 572 | ], | ||
| 573 | "isUnique": false, | ||
| 574 | "concurrently": false, | ||
| 575 | "method": "btree", | ||
| 576 | "with": {} | ||
| 577 | }, | ||
| 578 | "mcp_binding_source_id_idx": { | ||
| 579 | "name": "mcp_binding_source_id_idx", | ||
| 580 | "columns": [ | ||
| 581 | { | ||
| 582 | "expression": "source_id", | ||
| 583 | "isExpression": false, | ||
| 584 | "asc": true, | ||
| 585 | "nulls": "last" | ||
| 586 | } | ||
| 587 | ], | ||
| 588 | "isUnique": false, | ||
| 589 | "concurrently": false, | ||
| 590 | "method": "btree", | ||
| 591 | "with": {} | ||
| 592 | } | ||
| 593 | }, | ||
| 594 | "foreignKeys": {}, | ||
| 595 | "compositePrimaryKeys": { | ||
| 596 | "mcp_binding_scope_id_id_pk": { | ||
| 597 | "name": "mcp_binding_scope_id_id_pk", | ||
| 598 | "columns": ["scope_id", "id"] | ||
| 599 | } | ||
| 600 | }, | ||
| 601 | "uniqueConstraints": {}, | ||
| 602 | "policies": {}, | ||
| 603 | "checkConstraints": {}, | ||
| 604 | "isRLSEnabled": false | ||
| 605 | }, | ||
| 606 | "public.mcp_source": { | ||
| 607 | "name": "mcp_source", | ||
| 608 | "schema": "", | ||
| 609 | "columns": { | ||
| 610 | "id": { | ||
| 611 | "name": "id", | ||
| 612 | "type": "text", | ||
| 613 | "primaryKey": false, | ||
| 614 | "notNull": true | ||
| 615 | }, | ||
| 616 | "scope_id": { | ||
| 617 | "name": "scope_id", | ||
| 618 | "type": "text", | ||
| 619 | "primaryKey": false, | ||
| 620 | "notNull": true | ||
| 621 | }, | ||
| 622 | "name": { | ||
| 623 | "name": "name", | ||
| 624 | "type": "text", | ||
| 625 | "primaryKey": false, | ||
| 626 | "notNull": true | ||
| 627 | }, | ||
| 628 | "config": { | ||
| 629 | "name": "config", | ||
| 630 | "type": "jsonb", | ||
| 631 | "primaryKey": false, | ||
| 632 | "notNull": true | ||
| 633 | }, | ||
| 634 | "created_at": { | ||
| 635 | "name": "created_at", | ||
| 636 | "type": "timestamp", | ||
| 637 | "primaryKey": false, | ||
| 638 | "notNull": true | ||
| 639 | } | ||
| 640 | }, | ||
| 641 | "indexes": { | ||
| 642 | "mcp_source_scope_id_idx": { | ||
| 643 | "name": "mcp_source_scope_id_idx", | ||
| 644 | "columns": [ | ||
| 645 | { | ||
| 646 | "expression": "scope_id", | ||
| 647 | "isExpression": false, | ||
| 648 | "asc": true, | ||
| 649 | "nulls": "last" | ||
| 650 | } | ||
| 651 | ], | ||
| 652 | "isUnique": false, | ||
| 653 | "concurrently": false, | ||
| 654 | "method": "btree", | ||
| 655 | "with": {} | ||
| 656 | } | ||
| 657 | }, | ||
| 658 | "foreignKeys": {}, | ||
| 659 | "compositePrimaryKeys": { | ||
| 660 | "mcp_source_scope_id_id_pk": { | ||
| 661 | "name": "mcp_source_scope_id_id_pk", | ||
| 662 | "columns": ["scope_id", "id"] | ||
| 663 | } | ||
| 664 | }, | ||
| 665 | "uniqueConstraints": {}, | ||
| 666 | "policies": {}, | ||
| 667 | "checkConstraints": {}, | ||
| 668 | "isRLSEnabled": false | ||
| 669 | }, | ||
| 670 | "public.oauth2_session": { | ||
| 671 | "name": "oauth2_session", | ||
| 672 | "schema": "", | ||
| 673 | "columns": { | ||
| 674 | "id": { | ||
| 675 | "name": "id", | ||
| 676 | "type": "text", | ||
| 677 | "primaryKey": false, | ||
| 678 | "notNull": true | ||
| 679 | }, | ||
| 680 | "scope_id": { | ||
| 681 | "name": "scope_id", | ||
| 682 | "type": "text", | ||
| 683 | "primaryKey": false, | ||
| 684 | "notNull": true | ||
| 685 | }, | ||
| 686 | "plugin_id": { | ||
| 687 | "name": "plugin_id", | ||
| 688 | "type": "text", | ||
| 689 | "primaryKey": false, | ||
| 690 | "notNull": true | ||
| 691 | }, | ||
| 692 | "strategy": { | ||
| 693 | "name": "strategy", | ||
| 694 | "type": "text", | ||
| 695 | "primaryKey": false, | ||
| 696 | "notNull": true | ||
| 697 | }, | ||
| 698 | "connection_id": { | ||
| 699 | "name": "connection_id", | ||
| 700 | "type": "text", | ||
| 701 | "primaryKey": false, | ||
| 702 | "notNull": true | ||
| 703 | }, | ||
| 704 | "token_scope": { | ||
| 705 | "name": "token_scope", | ||
| 706 | "type": "text", | ||
| 707 | "primaryKey": false, | ||
| 708 | "notNull": true | ||
| 709 | }, | ||
| 710 | "redirect_url": { | ||
| 711 | "name": "redirect_url", | ||
| 712 | "type": "text", | ||
| 713 | "primaryKey": false, | ||
| 714 | "notNull": true | ||
| 715 | }, | ||
| 716 | "payload": { | ||
| 717 | "name": "payload", | ||
| 718 | "type": "jsonb", | ||
| 719 | "primaryKey": false, | ||
| 720 | "notNull": true | ||
| 721 | }, | ||
| 722 | "expires_at": { | ||
| 723 | "name": "expires_at", | ||
| 724 | "type": "bigint", | ||
| 725 | "primaryKey": false, | ||
| 726 | "notNull": true | ||
| 727 | }, | ||
| 728 | "created_at": { | ||
| 729 | "name": "created_at", | ||
| 730 | "type": "timestamp", | ||
| 731 | "primaryKey": false, | ||
| 732 | "notNull": true | ||
| 733 | } | ||
| 734 | }, | ||
| 735 | "indexes": { | ||
| 736 | "oauth2_session_scope_id_idx": { | ||
| 737 | "name": "oauth2_session_scope_id_idx", | ||
| 738 | "columns": [ | ||
| 739 | { | ||
| 740 | "expression": "scope_id", | ||
| 741 | "isExpression": false, | ||
| 742 | "asc": true, | ||
| 743 | "nulls": "last" | ||
| 744 | } | ||
| 745 | ], | ||
| 746 | "isUnique": false, | ||
| 747 | "concurrently": false, | ||
| 748 | "method": "btree", | ||
| 749 | "with": {} | ||
| 750 | }, | ||
| 751 | "oauth2_session_plugin_id_idx": { | ||
| 752 | "name": "oauth2_session_plugin_id_idx", | ||
| 753 | "columns": [ | ||
| 754 | { | ||
| 755 | "expression": "plugin_id", | ||
| 756 | "isExpression": false, | ||
| 757 | "asc": true, | ||
| 758 | "nulls": "last" | ||
| 759 | } | ||
| 760 | ], | ||
| 761 | "isUnique": false, | ||
| 762 | "concurrently": false, | ||
| 763 | "method": "btree", | ||
| 764 | "with": {} | ||
| 765 | }, | ||
| 766 | "oauth2_session_connection_id_idx": { | ||
| 767 | "name": "oauth2_session_connection_id_idx", | ||
| 768 | "columns": [ | ||
| 769 | { | ||
| 770 | "expression": "connection_id", | ||
| 771 | "isExpression": false, | ||
| 772 | "asc": true, | ||
| 773 | "nulls": "last" | ||
| 774 | } | ||
| 775 | ], | ||
| 776 | "isUnique": false, | ||
| 777 | "concurrently": false, | ||
| 778 | "method": "btree", | ||
| 779 | "with": {} | ||
| 780 | } | ||
| 781 | }, | ||
| 782 | "foreignKeys": {}, | ||
| 783 | "compositePrimaryKeys": { | ||
| 784 | "oauth2_session_scope_id_id_pk": { | ||
| 785 | "name": "oauth2_session_scope_id_id_pk", | ||
| 786 | "columns": ["scope_id", "id"] | ||
| 787 | } | ||
| 788 | }, | ||
| 789 | "uniqueConstraints": {}, | ||
| 790 | "policies": {}, | ||
| 791 | "checkConstraints": {}, | ||
| 792 | "isRLSEnabled": false | ||
| 793 | }, | ||
| 794 | "public.openapi_operation": { | ||
| 795 | "name": "openapi_operation", | ||
| 796 | "schema": "", | ||
| 797 | "columns": { | ||
| 798 | "id": { | ||
| 799 | "name": "id", | ||
| 800 | "type": "text", | ||
| 801 | "primaryKey": false, | ||
| 802 | "notNull": true | ||
| 803 | }, | ||
| 804 | "scope_id": { | ||
| 805 | "name": "scope_id", | ||
| 806 | "type": "text", | ||
| 807 | "primaryKey": false, | ||
| 808 | "notNull": true | ||
| 809 | }, | ||
| 810 | "source_id": { | ||
| 811 | "name": "source_id", | ||
| 812 | "type": "text", | ||
| 813 | "primaryKey": false, | ||
| 814 | "notNull": true | ||
| 815 | }, | ||
| 816 | "binding": { | ||
| 817 | "name": "binding", | ||
| 818 | "type": "jsonb", | ||
| 819 | "primaryKey": false, | ||
| 820 | "notNull": true | ||
| 821 | } | ||
| 822 | }, | ||
| 823 | "indexes": { | ||
| 824 | "openapi_operation_scope_id_idx": { | ||
| 825 | "name": "openapi_operation_scope_id_idx", | ||
| 826 | "columns": [ | ||
| 827 | { | ||
| 828 | "expression": "scope_id", | ||
| 829 | "isExpression": false, | ||
| 830 | "asc": true, | ||
| 831 | "nulls": "last" | ||
| 832 | } | ||
| 833 | ], | ||
| 834 | "isUnique": false, | ||
| 835 | "concurrently": false, | ||
| 836 | "method": "btree", | ||
| 837 | "with": {} | ||
| 838 | }, | ||
| 839 | "openapi_operation_source_id_idx": { | ||
| 840 | "name": "openapi_operation_source_id_idx", | ||
| 841 | "columns": [ | ||
| 842 | { | ||
| 843 | "expression": "source_id", | ||
| 844 | "isExpression": false, | ||
| 845 | "asc": true, | ||
| 846 | "nulls": "last" | ||
| 847 | } | ||
| 848 | ], | ||
| 849 | "isUnique": false, | ||
| 850 | "concurrently": false, | ||
| 851 | "method": "btree", | ||
| 852 | "with": {} | ||
| 853 | } | ||
| 854 | }, | ||
| 855 | "foreignKeys": {}, | ||
| 856 | "compositePrimaryKeys": { | ||
| 857 | "openapi_operation_scope_id_id_pk": { | ||
| 858 | "name": "openapi_operation_scope_id_id_pk", | ||
| 859 | "columns": ["scope_id", "id"] | ||
| 860 | } | ||
| 861 | }, | ||
| 862 | "uniqueConstraints": {}, | ||
| 863 | "policies": {}, | ||
| 864 | "checkConstraints": {}, | ||
| 865 | "isRLSEnabled": false | ||
| 866 | }, | ||
| 867 | "public.openapi_source": { | ||
| 868 | "name": "openapi_source", | ||
| 869 | "schema": "", | ||
| 870 | "columns": { | ||
| 871 | "id": { | ||
| 872 | "name": "id", | ||
| 873 | "type": "text", | ||
| 874 | "primaryKey": false, | ||
| 875 | "notNull": true | ||
| 876 | }, | ||
| 877 | "scope_id": { | ||
| 878 | "name": "scope_id", | ||
| 879 | "type": "text", | ||
| 880 | "primaryKey": false, | ||
| 881 | "notNull": true | ||
| 882 | }, | ||
| 883 | "name": { | ||
| 884 | "name": "name", | ||
| 885 | "type": "text", | ||
| 886 | "primaryKey": false, | ||
| 887 | "notNull": true | ||
| 888 | }, | ||
| 889 | "spec": { | ||
| 890 | "name": "spec", | ||
| 891 | "type": "text", | ||
| 892 | "primaryKey": false, | ||
| 893 | "notNull": true | ||
| 894 | }, | ||
| 895 | "source_url": { | ||
| 896 | "name": "source_url", | ||
| 897 | "type": "text", | ||
| 898 | "primaryKey": false, | ||
| 899 | "notNull": false | ||
| 900 | }, | ||
| 901 | "base_url": { | ||
| 902 | "name": "base_url", | ||
| 903 | "type": "text", | ||
| 904 | "primaryKey": false, | ||
| 905 | "notNull": false | ||
| 906 | }, | ||
| 907 | "headers": { | ||
| 908 | "name": "headers", | ||
| 909 | "type": "jsonb", | ||
| 910 | "primaryKey": false, | ||
| 911 | "notNull": false | ||
| 912 | }, | ||
| 913 | "query_params": { | ||
| 914 | "name": "query_params", | ||
| 915 | "type": "jsonb", | ||
| 916 | "primaryKey": false, | ||
| 917 | "notNull": false | ||
| 918 | }, | ||
| 919 | "oauth2": { | ||
| 920 | "name": "oauth2", | ||
| 921 | "type": "jsonb", | ||
| 922 | "primaryKey": false, | ||
| 923 | "notNull": false | ||
| 924 | }, | ||
| 925 | "invocation_config": { | ||
| 926 | "name": "invocation_config", | ||
| 927 | "type": "jsonb", | ||
| 928 | "primaryKey": false, | ||
| 929 | "notNull": true | ||
| 930 | } | ||
| 931 | }, | ||
| 932 | "indexes": { | ||
| 933 | "openapi_source_scope_id_idx": { | ||
| 934 | "name": "openapi_source_scope_id_idx", | ||
| 935 | "columns": [ | ||
| 936 | { | ||
| 937 | "expression": "scope_id", | ||
| 938 | "isExpression": false, | ||
| 939 | "asc": true, | ||
| 940 | "nulls": "last" | ||
| 941 | } | ||
| 942 | ], | ||
| 943 | "isUnique": false, | ||
| 944 | "concurrently": false, | ||
| 945 | "method": "btree", | ||
| 946 | "with": {} | ||
| 947 | } | ||
| 948 | }, | ||
| 949 | "foreignKeys": {}, | ||
| 950 | "compositePrimaryKeys": { | ||
| 951 | "openapi_source_scope_id_id_pk": { | ||
| 952 | "name": "openapi_source_scope_id_id_pk", | ||
| 953 | "columns": ["scope_id", "id"] | ||
| 954 | } | ||
| 955 | }, | ||
| 956 | "uniqueConstraints": {}, | ||
| 957 | "policies": {}, | ||
| 958 | "checkConstraints": {}, | ||
| 959 | "isRLSEnabled": false | ||
| 960 | }, | ||
| 961 | "public.openapi_source_binding": { | ||
| 962 | "name": "openapi_source_binding", | ||
| 963 | "schema": "", | ||
| 964 | "columns": { | ||
| 965 | "id": { | ||
| 966 | "name": "id", | ||
| 967 | "type": "text", | ||
| 968 | "primaryKey": true, | ||
| 969 | "notNull": true | ||
| 970 | }, | ||
| 971 | "source_id": { | ||
| 972 | "name": "source_id", | ||
| 973 | "type": "text", | ||
| 974 | "primaryKey": false, | ||
| 975 | "notNull": true | ||
| 976 | }, | ||
| 977 | "source_scope_id": { | ||
| 978 | "name": "source_scope_id", | ||
| 979 | "type": "text", | ||
| 980 | "primaryKey": false, | ||
| 981 | "notNull": true | ||
| 982 | }, | ||
| 983 | "target_scope_id": { | ||
| 984 | "name": "target_scope_id", | ||
| 985 | "type": "text", | ||
| 986 | "primaryKey": false, | ||
| 987 | "notNull": true | ||
| 988 | }, | ||
| 989 | "slot": { | ||
| 990 | "name": "slot", | ||
| 991 | "type": "text", | ||
| 992 | "primaryKey": false, | ||
| 993 | "notNull": true | ||
| 994 | }, | ||
| 995 | "value": { | ||
| 996 | "name": "value", | ||
| 997 | "type": "jsonb", | ||
| 998 | "primaryKey": false, | ||
| 999 | "notNull": true | ||
| 1000 | }, | ||
| 1001 | "created_at": { | ||
| 1002 | "name": "created_at", | ||
| 1003 | "type": "timestamp", | ||
| 1004 | "primaryKey": false, | ||
| 1005 | "notNull": true | ||
| 1006 | }, | ||
| 1007 | "updated_at": { | ||
| 1008 | "name": "updated_at", | ||
| 1009 | "type": "timestamp", | ||
| 1010 | "primaryKey": false, | ||
| 1011 | "notNull": true | ||
| 1012 | } | ||
| 1013 | }, | ||
| 1014 | "indexes": { | ||
| 1015 | "openapi_source_binding_source_id_idx": { | ||
| 1016 | "name": "openapi_source_binding_source_id_idx", | ||
| 1017 | "columns": [ | ||
| 1018 | { | ||
| 1019 | "expression": "source_id", | ||
| 1020 | "isExpression": false, | ||
| 1021 | "asc": true, | ||
| 1022 | "nulls": "last" | ||
| 1023 | } | ||
| 1024 | ], | ||
| 1025 | "isUnique": false, | ||
| 1026 | "concurrently": false, | ||
| 1027 | "method": "btree", | ||
| 1028 | "with": {} | ||
| 1029 | }, | ||
| 1030 | "openapi_source_binding_source_scope_id_idx": { | ||
| 1031 | "name": "openapi_source_binding_source_scope_id_idx", | ||
| 1032 | "columns": [ | ||
| 1033 | { | ||
| 1034 | "expression": "source_scope_id", | ||
| 1035 | "isExpression": false, | ||
| 1036 | "asc": true, | ||
| 1037 | "nulls": "last" | ||
| 1038 | } | ||
| 1039 | ], | ||
| 1040 | "isUnique": false, | ||
| 1041 | "concurrently": false, | ||
| 1042 | "method": "btree", | ||
| 1043 | "with": {} | ||
| 1044 | }, | ||
| 1045 | "openapi_source_binding_target_scope_id_idx": { | ||
| 1046 | "name": "openapi_source_binding_target_scope_id_idx", | ||
| 1047 | "columns": [ | ||
| 1048 | { | ||
| 1049 | "expression": "target_scope_id", | ||
| 1050 | "isExpression": false, | ||
| 1051 | "asc": true, | ||
| 1052 | "nulls": "last" | ||
| 1053 | } | ||
| 1054 | ], | ||
| 1055 | "isUnique": false, | ||
| 1056 | "concurrently": false, | ||
| 1057 | "method": "btree", | ||
| 1058 | "with": {} | ||
| 1059 | }, | ||
| 1060 | "openapi_source_binding_slot_idx": { | ||
| 1061 | "name": "openapi_source_binding_slot_idx", | ||
| 1062 | "columns": [ | ||
| 1063 | { | ||
| 1064 | "expression": "slot", | ||
| 1065 | "isExpression": false, | ||
| 1066 | "asc": true, | ||
| 1067 | "nulls": "last" | ||
| 1068 | } | ||
| 1069 | ], | ||
| 1070 | "isUnique": false, | ||
| 1071 | "concurrently": false, | ||
| 1072 | "method": "btree", | ||
| 1073 | "with": {} | ||
| 1074 | } | ||
| 1075 | }, | ||
| 1076 | "foreignKeys": {}, | ||
| 1077 | "compositePrimaryKeys": {}, | ||
| 1078 | "uniqueConstraints": {}, | ||
| 1079 | "policies": {}, | ||
| 1080 | "checkConstraints": {}, | ||
| 1081 | "isRLSEnabled": false | ||
| 1082 | }, | ||
| 1083 | "public.secret": { | ||
| 1084 | "name": "secret", | ||
| 1085 | "schema": "", | ||
| 1086 | "columns": { | ||
| 1087 | "id": { | ||
| 1088 | "name": "id", | ||
| 1089 | "type": "text", | ||
| 1090 | "primaryKey": false, | ||
| 1091 | "notNull": true | ||
| 1092 | }, | ||
| 1093 | "scope_id": { | ||
| 1094 | "name": "scope_id", | ||
| 1095 | "type": "text", | ||
| 1096 | "primaryKey": false, | ||
| 1097 | "notNull": true | ||
| 1098 | }, | ||
| 1099 | "name": { | ||
| 1100 | "name": "name", | ||
| 1101 | "type": "text", | ||
| 1102 | "primaryKey": false, | ||
| 1103 | "notNull": true | ||
| 1104 | }, | ||
| 1105 | "provider": { | ||
| 1106 | "name": "provider", | ||
| 1107 | "type": "text", | ||
| 1108 | "primaryKey": false, | ||
| 1109 | "notNull": true | ||
| 1110 | }, | ||
| 1111 | "owned_by_connection_id": { | ||
| 1112 | "name": "owned_by_connection_id", | ||
| 1113 | "type": "text", | ||
| 1114 | "primaryKey": false, | ||
| 1115 | "notNull": false | ||
| 1116 | }, | ||
| 1117 | "created_at": { | ||
| 1118 | "name": "created_at", | ||
| 1119 | "type": "timestamp", | ||
| 1120 | "primaryKey": false, | ||
| 1121 | "notNull": true | ||
| 1122 | } | ||
| 1123 | }, | ||
| 1124 | "indexes": { | ||
| 1125 | "secret_scope_id_idx": { | ||
| 1126 | "name": "secret_scope_id_idx", | ||
| 1127 | "columns": [ | ||
| 1128 | { | ||
| 1129 | "expression": "scope_id", | ||
| 1130 | "isExpression": false, | ||
| 1131 | "asc": true, | ||
| 1132 | "nulls": "last" | ||
| 1133 | } | ||
| 1134 | ], | ||
| 1135 | "isUnique": false, | ||
| 1136 | "concurrently": false, | ||
| 1137 | "method": "btree", | ||
| 1138 | "with": {} | ||
| 1139 | }, | ||
| 1140 | "secret_provider_idx": { | ||
| 1141 | "name": "secret_provider_idx", | ||
| 1142 | "columns": [ | ||
| 1143 | { | ||
| 1144 | "expression": "provider", | ||
| 1145 | "isExpression": false, | ||
| 1146 | "asc": true, | ||
| 1147 | "nulls": "last" | ||
| 1148 | } | ||
| 1149 | ], | ||
| 1150 | "isUnique": false, | ||
| 1151 | "concurrently": false, | ||
| 1152 | "method": "btree", | ||
| 1153 | "with": {} | ||
| 1154 | }, | ||
| 1155 | "secret_owned_by_connection_id_idx": { | ||
| 1156 | "name": "secret_owned_by_connection_id_idx", | ||
| 1157 | "columns": [ | ||
| 1158 | { | ||
| 1159 | "expression": "owned_by_connection_id", | ||
| 1160 | "isExpression": false, | ||
| 1161 | "asc": true, | ||
| 1162 | "nulls": "last" | ||
| 1163 | } | ||
| 1164 | ], | ||
| 1165 | "isUnique": false, | ||
| 1166 | "concurrently": false, | ||
| 1167 | "method": "btree", | ||
| 1168 | "with": {} | ||
| 1169 | } | ||
| 1170 | }, | ||
| 1171 | "foreignKeys": {}, | ||
| 1172 | "compositePrimaryKeys": { | ||
| 1173 | "secret_scope_id_id_pk": { | ||
| 1174 | "name": "secret_scope_id_id_pk", | ||
| 1175 | "columns": ["scope_id", "id"] | ||
| 1176 | } | ||
| 1177 | }, | ||
| 1178 | "uniqueConstraints": {}, | ||
| 1179 | "policies": {}, | ||
| 1180 | "checkConstraints": {}, | ||
| 1181 | "isRLSEnabled": false | ||
| 1182 | }, | ||
| 1183 | "public.source": { | ||
| 1184 | "name": "source", | ||
| 1185 | "schema": "", | ||
| 1186 | "columns": { | ||
| 1187 | "id": { | ||
| 1188 | "name": "id", | ||
| 1189 | "type": "text", | ||
| 1190 | "primaryKey": false, | ||
| 1191 | "notNull": true | ||
| 1192 | }, | ||
| 1193 | "scope_id": { | ||
| 1194 | "name": "scope_id", | ||
| 1195 | "type": "text", | ||
| 1196 | "primaryKey": false, | ||
| 1197 | "notNull": true | ||
| 1198 | }, | ||
| 1199 | "plugin_id": { | ||
| 1200 | "name": "plugin_id", | ||
| 1201 | "type": "text", | ||
| 1202 | "primaryKey": false, | ||
| 1203 | "notNull": true | ||
| 1204 | }, | ||
| 1205 | "kind": { | ||
| 1206 | "name": "kind", | ||
| 1207 | "type": "text", | ||
| 1208 | "primaryKey": false, | ||
| 1209 | "notNull": true | ||
| 1210 | }, | ||
| 1211 | "name": { | ||
| 1212 | "name": "name", | ||
| 1213 | "type": "text", | ||
| 1214 | "primaryKey": false, | ||
| 1215 | "notNull": true | ||
| 1216 | }, | ||
| 1217 | "url": { | ||
| 1218 | "name": "url", | ||
| 1219 | "type": "text", | ||
| 1220 | "primaryKey": false, | ||
| 1221 | "notNull": false | ||
| 1222 | }, | ||
| 1223 | "can_remove": { | ||
| 1224 | "name": "can_remove", | ||
| 1225 | "type": "boolean", | ||
| 1226 | "primaryKey": false, | ||
| 1227 | "notNull": true, | ||
| 1228 | "default": true | ||
| 1229 | }, | ||
| 1230 | "can_refresh": { | ||
| 1231 | "name": "can_refresh", | ||
| 1232 | "type": "boolean", | ||
| 1233 | "primaryKey": false, | ||
| 1234 | "notNull": true, | ||
| 1235 | "default": false | ||
| 1236 | }, | ||
| 1237 | "can_edit": { | ||
| 1238 | "name": "can_edit", | ||
| 1239 | "type": "boolean", | ||
| 1240 | "primaryKey": false, | ||
| 1241 | "notNull": true, | ||
| 1242 | "default": false | ||
| 1243 | }, | ||
| 1244 | "created_at": { | ||
| 1245 | "name": "created_at", | ||
| 1246 | "type": "timestamp", | ||
| 1247 | "primaryKey": false, | ||
| 1248 | "notNull": true | ||
| 1249 | }, | ||
| 1250 | "updated_at": { | ||
| 1251 | "name": "updated_at", | ||
| 1252 | "type": "timestamp", | ||
| 1253 | "primaryKey": false, | ||
| 1254 | "notNull": true | ||
| 1255 | } | ||
| 1256 | }, | ||
| 1257 | "indexes": { | ||
| 1258 | "source_scope_id_idx": { | ||
| 1259 | "name": "source_scope_id_idx", | ||
| 1260 | "columns": [ | ||
| 1261 | { | ||
| 1262 | "expression": "scope_id", | ||
| 1263 | "isExpression": false, | ||
| 1264 | "asc": true, | ||
| 1265 | "nulls": "last" | ||
| 1266 | } | ||
| 1267 | ], | ||
| 1268 | "isUnique": false, | ||
| 1269 | "concurrently": false, | ||
| 1270 | "method": "btree", | ||
| 1271 | "with": {} | ||
| 1272 | }, | ||
| 1273 | "source_plugin_id_idx": { | ||
| 1274 | "name": "source_plugin_id_idx", | ||
| 1275 | "columns": [ | ||
| 1276 | { | ||
| 1277 | "expression": "plugin_id", | ||
| 1278 | "isExpression": false, | ||
| 1279 | "asc": true, | ||
| 1280 | "nulls": "last" | ||
| 1281 | } | ||
| 1282 | ], | ||
| 1283 | "isUnique": false, | ||
| 1284 | "concurrently": false, | ||
| 1285 | "method": "btree", | ||
| 1286 | "with": {} | ||
| 1287 | } | ||
| 1288 | }, | ||
| 1289 | "foreignKeys": {}, | ||
| 1290 | "compositePrimaryKeys": { | ||
| 1291 | "source_scope_id_id_pk": { | ||
| 1292 | "name": "source_scope_id_id_pk", | ||
| 1293 | "columns": ["scope_id", "id"] | ||
| 1294 | } | ||
| 1295 | }, | ||
| 1296 | "uniqueConstraints": {}, | ||
| 1297 | "policies": {}, | ||
| 1298 | "checkConstraints": {}, | ||
| 1299 | "isRLSEnabled": false | ||
| 1300 | }, | ||
| 1301 | "public.tool": { | ||
| 1302 | "name": "tool", | ||
| 1303 | "schema": "", | ||
| 1304 | "columns": { | ||
| 1305 | "id": { | ||
| 1306 | "name": "id", | ||
| 1307 | "type": "text", | ||
| 1308 | "primaryKey": false, | ||
| 1309 | "notNull": true | ||
| 1310 | }, | ||
| 1311 | "scope_id": { | ||
| 1312 | "name": "scope_id", | ||
| 1313 | "type": "text", | ||
| 1314 | "primaryKey": false, | ||
| 1315 | "notNull": true | ||
| 1316 | }, | ||
| 1317 | "source_id": { | ||
| 1318 | "name": "source_id", | ||
| 1319 | "type": "text", | ||
| 1320 | "primaryKey": false, | ||
| 1321 | "notNull": true | ||
| 1322 | }, | ||
| 1323 | "plugin_id": { | ||
| 1324 | "name": "plugin_id", | ||
| 1325 | "type": "text", | ||
| 1326 | "primaryKey": false, | ||
| 1327 | "notNull": true | ||
| 1328 | }, | ||
| 1329 | "name": { | ||
| 1330 | "name": "name", | ||
| 1331 | "type": "text", | ||
| 1332 | "primaryKey": false, | ||
| 1333 | "notNull": true | ||
| 1334 | }, | ||
| 1335 | "description": { | ||
| 1336 | "name": "description", | ||
| 1337 | "type": "text", | ||
| 1338 | "primaryKey": false, | ||
| 1339 | "notNull": true | ||
| 1340 | }, | ||
| 1341 | "input_schema": { | ||
| 1342 | "name": "input_schema", | ||
| 1343 | "type": "jsonb", | ||
| 1344 | "primaryKey": false, | ||
| 1345 | "notNull": false | ||
| 1346 | }, | ||
| 1347 | "output_schema": { | ||
| 1348 | "name": "output_schema", | ||
| 1349 | "type": "jsonb", | ||
| 1350 | "primaryKey": false, | ||
| 1351 | "notNull": false | ||
| 1352 | }, | ||
| 1353 | "created_at": { | ||
| 1354 | "name": "created_at", | ||
| 1355 | "type": "timestamp", | ||
| 1356 | "primaryKey": false, | ||
| 1357 | "notNull": true | ||
| 1358 | }, | ||
| 1359 | "updated_at": { | ||
| 1360 | "name": "updated_at", | ||
| 1361 | "type": "timestamp", | ||
| 1362 | "primaryKey": false, | ||
| 1363 | "notNull": true | ||
| 1364 | } | ||
| 1365 | }, | ||
| 1366 | "indexes": { | ||
| 1367 | "tool_scope_id_idx": { | ||
| 1368 | "name": "tool_scope_id_idx", | ||
| 1369 | "columns": [ | ||
| 1370 | { | ||
| 1371 | "expression": "scope_id", | ||
| 1372 | "isExpression": false, | ||
| 1373 | "asc": true, | ||
| 1374 | "nulls": "last" | ||
| 1375 | } | ||
| 1376 | ], | ||
| 1377 | "isUnique": false, | ||
| 1378 | "concurrently": false, | ||
| 1379 | "method": "btree", | ||
| 1380 | "with": {} | ||
| 1381 | }, | ||
| 1382 | "tool_source_id_idx": { | ||
| 1383 | "name": "tool_source_id_idx", | ||
| 1384 | "columns": [ | ||
| 1385 | { | ||
| 1386 | "expression": "source_id", | ||
| 1387 | "isExpression": false, | ||
| 1388 | "asc": true, | ||
| 1389 | "nulls": "last" | ||
| 1390 | } | ||
| 1391 | ], | ||
| 1392 | "isUnique": false, | ||
| 1393 | "concurrently": false, | ||
| 1394 | "method": "btree", | ||
| 1395 | "with": {} | ||
| 1396 | }, | ||
| 1397 | "tool_plugin_id_idx": { | ||
| 1398 | "name": "tool_plugin_id_idx", | ||
| 1399 | "columns": [ | ||
| 1400 | { | ||
| 1401 | "expression": "plugin_id", | ||
| 1402 | "isExpression": false, | ||
| 1403 | "asc": true, | ||
| 1404 | "nulls": "last" | ||
| 1405 | } | ||
| 1406 | ], | ||
| 1407 | "isUnique": false, | ||
| 1408 | "concurrently": false, | ||
| 1409 | "method": "btree", | ||
| 1410 | "with": {} | ||
| 1411 | } | ||
| 1412 | }, | ||
| 1413 | "foreignKeys": {}, | ||
| 1414 | "compositePrimaryKeys": { | ||
| 1415 | "tool_scope_id_id_pk": { | ||
| 1416 | "name": "tool_scope_id_id_pk", | ||
| 1417 | "columns": ["scope_id", "id"] | ||
| 1418 | } | ||
| 1419 | }, | ||
| 1420 | "uniqueConstraints": {}, | ||
| 1421 | "policies": {}, | ||
| 1422 | "checkConstraints": {}, | ||
| 1423 | "isRLSEnabled": false | ||
| 1424 | }, | ||
| 1425 | "public.tool_policy": { | ||
| 1426 | "name": "tool_policy", | ||
| 1427 | "schema": "", | ||
| 1428 | "columns": { | ||
| 1429 | "id": { | ||
| 1430 | "name": "id", | ||
| 1431 | "type": "text", | ||
| 1432 | "primaryKey": false, | ||
| 1433 | "notNull": true | ||
| 1434 | }, | ||
| 1435 | "scope_id": { | ||
| 1436 | "name": "scope_id", | ||
| 1437 | "type": "text", | ||
| 1438 | "primaryKey": false, | ||
| 1439 | "notNull": true | ||
| 1440 | }, | ||
| 1441 | "pattern": { | ||
| 1442 | "name": "pattern", | ||
| 1443 | "type": "text", | ||
| 1444 | "primaryKey": false, | ||
| 1445 | "notNull": true | ||
| 1446 | }, | ||
| 1447 | "action": { | ||
| 1448 | "name": "action", | ||
| 1449 | "type": "text", | ||
| 1450 | "primaryKey": false, | ||
| 1451 | "notNull": true | ||
| 1452 | }, | ||
| 1453 | "position": { | ||
| 1454 | "name": "position", | ||
| 1455 | "type": "text", | ||
| 1456 | "primaryKey": false, | ||
| 1457 | "notNull": true | ||
| 1458 | }, | ||
| 1459 | "created_at": { | ||
| 1460 | "name": "created_at", | ||
| 1461 | "type": "timestamp", | ||
| 1462 | "primaryKey": false, | ||
| 1463 | "notNull": true | ||
| 1464 | }, | ||
| 1465 | "updated_at": { | ||
| 1466 | "name": "updated_at", | ||
| 1467 | "type": "timestamp", | ||
| 1468 | "primaryKey": false, | ||
| 1469 | "notNull": true | ||
| 1470 | } | ||
| 1471 | }, | ||
| 1472 | "indexes": { | ||
| 1473 | "tool_policy_scope_id_position_idx": { | ||
| 1474 | "name": "tool_policy_scope_id_position_idx", | ||
| 1475 | "columns": [ | ||
| 1476 | { | ||
| 1477 | "expression": "scope_id", | ||
| 1478 | "isExpression": false, | ||
| 1479 | "asc": true, | ||
| 1480 | "nulls": "last" | ||
| 1481 | }, | ||
| 1482 | { | ||
| 1483 | "expression": "position", | ||
| 1484 | "isExpression": false, | ||
| 1485 | "asc": true, | ||
| 1486 | "nulls": "last" | ||
| 1487 | } | ||
| 1488 | ], | ||
| 1489 | "isUnique": false, | ||
| 1490 | "concurrently": false, | ||
| 1491 | "method": "btree", | ||
| 1492 | "with": {} | ||
| 1493 | } | ||
| 1494 | }, | ||
| 1495 | "foreignKeys": {}, | ||
| 1496 | "compositePrimaryKeys": { | ||
| 1497 | "tool_policy_scope_id_id_pk": { | ||
| 1498 | "name": "tool_policy_scope_id_id_pk", | ||
| 1499 | "columns": ["scope_id", "id"] | ||
| 1500 | } | ||
| 1501 | }, | ||
| 1502 | "uniqueConstraints": {}, | ||
| 1503 | "policies": {}, | ||
| 1504 | "checkConstraints": {}, | ||
| 1505 | "isRLSEnabled": false | ||
| 1506 | }, | ||
| 1507 | "public.workos_vault_metadata": { | ||
| 1508 | "name": "workos_vault_metadata", | ||
| 1509 | "schema": "", | ||
| 1510 | "columns": { | ||
| 1511 | "id": { | ||
| 1512 | "name": "id", | ||
| 1513 | "type": "text", | ||
| 1514 | "primaryKey": false, | ||
| 1515 | "notNull": true | ||
| 1516 | }, | ||
| 1517 | "scope_id": { | ||
| 1518 | "name": "scope_id", | ||
| 1519 | "type": "text", | ||
| 1520 | "primaryKey": false, | ||
| 1521 | "notNull": true | ||
| 1522 | }, | ||
| 1523 | "name": { | ||
| 1524 | "name": "name", | ||
| 1525 | "type": "text", | ||
| 1526 | "primaryKey": false, | ||
| 1527 | "notNull": true | ||
| 1528 | }, | ||
| 1529 | "purpose": { | ||
| 1530 | "name": "purpose", | ||
| 1531 | "type": "text", | ||
| 1532 | "primaryKey": false, | ||
| 1533 | "notNull": false | ||
| 1534 | }, | ||
| 1535 | "created_at": { | ||
| 1536 | "name": "created_at", | ||
| 1537 | "type": "timestamp", | ||
| 1538 | "primaryKey": false, | ||
| 1539 | "notNull": true | ||
| 1540 | } | ||
| 1541 | }, | ||
| 1542 | "indexes": { | ||
| 1543 | "workos_vault_metadata_scope_id_idx": { | ||
| 1544 | "name": "workos_vault_metadata_scope_id_idx", | ||
| 1545 | "columns": [ | ||
| 1546 | { | ||
| 1547 | "expression": "scope_id", | ||
| 1548 | "isExpression": false, | ||
| 1549 | "asc": true, | ||
| 1550 | "nulls": "last" | ||
| 1551 | } | ||
| 1552 | ], | ||
| 1553 | "isUnique": false, | ||
| 1554 | "concurrently": false, | ||
| 1555 | "method": "btree", | ||
| 1556 | "with": {} | ||
| 1557 | } | ||
| 1558 | }, | ||
| 1559 | "foreignKeys": {}, | ||
| 1560 | "compositePrimaryKeys": { | ||
| 1561 | "workos_vault_metadata_scope_id_id_pk": { | ||
| 1562 | "name": "workos_vault_metadata_scope_id_id_pk", | ||
| 1563 | "columns": ["scope_id", "id"] | ||
| 1564 | } | ||
| 1565 | }, | ||
| 1566 | "uniqueConstraints": {}, | ||
| 1567 | "policies": {}, | ||
| 1568 | "checkConstraints": {}, | ||
| 1569 | "isRLSEnabled": false | ||
| 1570 | } | ||
| 1571 | }, | ||
| 1572 | "enums": {}, | ||
| 1573 | "schemas": {}, | ||
| 1574 | "sequences": {}, | ||
| 1575 | "roles": {}, | ||
| 1576 | "policies": {}, | ||
| 1577 | "views": {}, | ||
| 1578 | "_meta": { | ||
| 1579 | "columns": {}, | ||
| 1580 | "schemas": {}, | ||
| 1581 | "tables": {} | ||
| 1582 | } | ||
| 1583 | } | ||
| @@ -1,2517 +0,0 @@ | |||
| 1 | { | ||
| 2 | "id": "b8d89563-58e1-4e6b-8674-f502338978e2", | ||
| 3 | "prevId": "f521e4d8-1eb4-4f84-8110-38fb5157aaca", | ||
| 4 | "version": "7", | ||
| 5 | "dialect": "postgresql", | ||
| 6 | "tables": { | ||
| 7 | "public.accounts": { | ||
| 8 | "name": "accounts", | ||
| 9 | "schema": "", | ||
| 10 | "columns": { | ||
| 11 | "id": { | ||
| 12 | "name": "id", | ||
| 13 | "type": "text", | ||
| 14 | "primaryKey": true, | ||
| 15 | "notNull": true | ||
| 16 | }, | ||
| 17 | "created_at": { | ||
| 18 | "name": "created_at", | ||
| 19 | "type": "timestamp with time zone", | ||
| 20 | "primaryKey": false, | ||
| 21 | "notNull": true, | ||
| 22 | "default": "now()" | ||
| 23 | } | ||
| 24 | }, | ||
| 25 | "indexes": {}, | ||
| 26 | "foreignKeys": {}, | ||
| 27 | "compositePrimaryKeys": {}, | ||
| 28 | "uniqueConstraints": {}, | ||
| 29 | "policies": {}, | ||
| 30 | "checkConstraints": {}, | ||
| 31 | "isRLSEnabled": false | ||
| 32 | }, | ||
| 33 | "public.memberships": { | ||
| 34 | "name": "memberships", | ||
| 35 | "schema": "", | ||
| 36 | "columns": { | ||
| 37 | "account_id": { | ||
| 38 | "name": "account_id", | ||
| 39 | "type": "text", | ||
| 40 | "primaryKey": false, | ||
| 41 | "notNull": true | ||
| 42 | }, | ||
| 43 | "organization_id": { | ||
| 44 | "name": "organization_id", | ||
| 45 | "type": "text", | ||
| 46 | "primaryKey": false, | ||
| 47 | "notNull": true | ||
| 48 | }, | ||
| 49 | "created_at": { | ||
| 50 | "name": "created_at", | ||
| 51 | "type": "timestamp with time zone", | ||
| 52 | "primaryKey": false, | ||
| 53 | "notNull": true, | ||
| 54 | "default": "now()" | ||
| 55 | } | ||
| 56 | }, | ||
| 57 | "indexes": {}, | ||
| 58 | "foreignKeys": { | ||
| 59 | "memberships_account_id_accounts_id_fk": { | ||
| 60 | "name": "memberships_account_id_accounts_id_fk", | ||
| 61 | "tableFrom": "memberships", | ||
| 62 | "tableTo": "accounts", | ||
| 63 | "columnsFrom": ["account_id"], | ||
| 64 | "columnsTo": ["id"], | ||
| 65 | "onDelete": "cascade", | ||
| 66 | "onUpdate": "no action" | ||
| 67 | }, | ||
| 68 | "memberships_organization_id_organizations_id_fk": { | ||
| 69 | "name": "memberships_organization_id_organizations_id_fk", | ||
| 70 | "tableFrom": "memberships", | ||
| 71 | "tableTo": "organizations", | ||
| 72 | "columnsFrom": ["organization_id"], | ||
| 73 | "columnsTo": ["id"], | ||
| 74 | "onDelete": "cascade", | ||
| 75 | "onUpdate": "no action" | ||
| 76 | } | ||
| 77 | }, | ||
| 78 | "compositePrimaryKeys": { | ||
| 79 | "memberships_account_id_organization_id_pk": { | ||
| 80 | "name": "memberships_account_id_organization_id_pk", | ||
| 81 | "columns": ["account_id", "organization_id"] | ||
| 82 | } | ||
| 83 | }, | ||
| 84 | "uniqueConstraints": {}, | ||
| 85 | "policies": {}, | ||
| 86 | "checkConstraints": {}, | ||
| 87 | "isRLSEnabled": false | ||
| 88 | }, | ||
| 89 | "public.organizations": { | ||
| 90 | "name": "organizations", | ||
| 91 | "schema": "", | ||
| 92 | "columns": { | ||
| 93 | "id": { | ||
| 94 | "name": "id", | ||
| 95 | "type": "text", | ||
| 96 | "primaryKey": true, | ||
| 97 | "notNull": true | ||
| 98 | }, | ||
| 99 | "name": { | ||
| 100 | "name": "name", | ||
| 101 | "type": "text", | ||
| 102 | "primaryKey": false, | ||
| 103 | "notNull": true | ||
| 104 | }, | ||
| 105 | "created_at": { | ||
| 106 | "name": "created_at", | ||
| 107 | "type": "timestamp with time zone", | ||
| 108 | "primaryKey": false, | ||
| 109 | "notNull": true, | ||
| 110 | "default": "now()" | ||
| 111 | } | ||
| 112 | }, | ||
| 113 | "indexes": {}, | ||
| 114 | "foreignKeys": {}, | ||
| 115 | "compositePrimaryKeys": {}, | ||
| 116 | "uniqueConstraints": {}, | ||
| 117 | "policies": {}, | ||
| 118 | "checkConstraints": {}, | ||
| 119 | "isRLSEnabled": false | ||
| 120 | }, | ||
| 121 | "public.blob": { | ||
| 122 | "name": "blob", | ||
| 123 | "schema": "", | ||
| 124 | "columns": { | ||
| 125 | "namespace": { | ||
| 126 | "name": "namespace", | ||
| 127 | "type": "text", | ||
| 128 | "primaryKey": false, | ||
| 129 | "notNull": true | ||
| 130 | }, | ||
| 131 | "key": { | ||
| 132 | "name": "key", | ||
| 133 | "type": "text", | ||
| 134 | "primaryKey": false, | ||
| 135 | "notNull": true | ||
| 136 | }, | ||
| 137 | "value": { | ||
| 138 | "name": "value", | ||
| 139 | "type": "text", | ||
| 140 | "primaryKey": false, | ||
| 141 | "notNull": true | ||
| 142 | } | ||
| 143 | }, | ||
| 144 | "indexes": {}, | ||
| 145 | "foreignKeys": {}, | ||
| 146 | "compositePrimaryKeys": { | ||
| 147 | "blob_namespace_key_pk": { | ||
| 148 | "name": "blob_namespace_key_pk", | ||
| 149 | "columns": ["namespace", "key"] | ||
| 150 | } | ||
| 151 | }, | ||
| 152 | "uniqueConstraints": {}, | ||
| 153 | "policies": {}, | ||
| 154 | "checkConstraints": {}, | ||
| 155 | "isRLSEnabled": false | ||
| 156 | }, | ||
| 157 | "public.connection": { | ||
| 158 | "name": "connection", | ||
| 159 | "schema": "", | ||
| 160 | "columns": { | ||
| 161 | "id": { | ||
| 162 | "name": "id", | ||
| 163 | "type": "text", | ||
| 164 | "primaryKey": false, | ||
| 165 | "notNull": true | ||
| 166 | }, | ||
| 167 | "scope_id": { | ||
| 168 | "name": "scope_id", | ||
| 169 | "type": "text", | ||
| 170 | "primaryKey": false, | ||
| 171 | "notNull": true | ||
| 172 | }, | ||
| 173 | "provider": { | ||
| 174 | "name": "provider", | ||
| 175 | "type": "text", | ||
| 176 | "primaryKey": false, | ||
| 177 | "notNull": true | ||
| 178 | }, | ||
| 179 | "identity_label": { | ||
| 180 | "name": "identity_label", | ||
| 181 | "type": "text", | ||
| 182 | "primaryKey": false, | ||
| 183 | "notNull": false | ||
| 184 | }, | ||
| 185 | "access_token_secret_id": { | ||
| 186 | "name": "access_token_secret_id", | ||
| 187 | "type": "text", | ||
| 188 | "primaryKey": false, | ||
| 189 | "notNull": true | ||
| 190 | }, | ||
| 191 | "refresh_token_secret_id": { | ||
| 192 | "name": "refresh_token_secret_id", | ||
| 193 | "type": "text", | ||
| 194 | "primaryKey": false, | ||
| 195 | "notNull": false | ||
| 196 | }, | ||
| 197 | "expires_at": { | ||
| 198 | "name": "expires_at", | ||
| 199 | "type": "bigint", | ||
| 200 | "primaryKey": false, | ||
| 201 | "notNull": false | ||
| 202 | }, | ||
| 203 | "scope": { | ||
| 204 | "name": "scope", | ||
| 205 | "type": "text", | ||
| 206 | "primaryKey": false, | ||
| 207 | "notNull": false | ||
| 208 | }, | ||
| 209 | "provider_state": { | ||
| 210 | "name": "provider_state", | ||
| 211 | "type": "jsonb", | ||
| 212 | "primaryKey": false, | ||
| 213 | "notNull": false | ||
| 214 | }, | ||
| 215 | "created_at": { | ||
| 216 | "name": "created_at", | ||
| 217 | "type": "timestamp", | ||
| 218 | "primaryKey": false, | ||
| 219 | "notNull": true | ||
| 220 | }, | ||
| 221 | "updated_at": { | ||
| 222 | "name": "updated_at", | ||
| 223 | "type": "timestamp", | ||
| 224 | "primaryKey": false, | ||
| 225 | "notNull": true | ||
| 226 | } | ||
| 227 | }, | ||
| 228 | "indexes": { | ||
| 229 | "connection_scope_id_idx": { | ||
| 230 | "name": "connection_scope_id_idx", | ||
| 231 | "columns": [ | ||
| 232 | { | ||
| 233 | "expression": "scope_id", | ||
| 234 | "isExpression": false, | ||
| 235 | "asc": true, | ||
| 236 | "nulls": "last" | ||
| 237 | } | ||
| 238 | ], | ||
| 239 | "isUnique": false, | ||
| 240 | "concurrently": false, | ||
| 241 | "method": "btree", | ||
| 242 | "with": {} | ||
| 243 | }, | ||
| 244 | "connection_provider_idx": { | ||
| 245 | "name": "connection_provider_idx", | ||
| 246 | "columns": [ | ||
| 247 | { | ||
| 248 | "expression": "provider", | ||
| 249 | "isExpression": false, | ||
| 250 | "asc": true, | ||
| 251 | "nulls": "last" | ||
| 252 | } | ||
| 253 | ], | ||
| 254 | "isUnique": false, | ||
| 255 | "concurrently": false, | ||
| 256 | "method": "btree", | ||
| 257 | "with": {} | ||
| 258 | } | ||
| 259 | }, | ||
| 260 | "foreignKeys": {}, | ||
| 261 | "compositePrimaryKeys": { | ||
| 262 | "connection_scope_id_id_pk": { | ||
| 263 | "name": "connection_scope_id_id_pk", | ||
| 264 | "columns": ["scope_id", "id"] | ||
| 265 | } | ||
| 266 | }, | ||
| 267 | "uniqueConstraints": {}, | ||
| 268 | "policies": {}, | ||
| 269 | "checkConstraints": {}, | ||
| 270 | "isRLSEnabled": false | ||
| 271 | }, | ||
| 272 | "public.definition": { | ||
| 273 | "name": "definition", | ||
| 274 | "schema": "", | ||
| 275 | "columns": { | ||
| 276 | "id": { | ||
| 277 | "name": "id", | ||
| 278 | "type": "text", | ||
| 279 | "primaryKey": false, | ||
| 280 | "notNull": true | ||
| 281 | }, | ||
| 282 | "scope_id": { | ||
| 283 | "name": "scope_id", | ||
| 284 | "type": "text", | ||
| 285 | "primaryKey": false, | ||
| 286 | "notNull": true | ||
| 287 | }, | ||
| 288 | "source_id": { | ||
| 289 | "name": "source_id", | ||
| 290 | "type": "text", | ||
| 291 | "primaryKey": false, | ||
| 292 | "notNull": true | ||
| 293 | }, | ||
| 294 | "plugin_id": { | ||
| 295 | "name": "plugin_id", | ||
| 296 | "type": "text", | ||
| 297 | "primaryKey": false, | ||
| 298 | "notNull": true | ||
| 299 | }, | ||
| 300 | "name": { | ||
| 301 | "name": "name", | ||
| 302 | "type": "text", | ||
| 303 | "primaryKey": false, | ||
| 304 | "notNull": true | ||
| 305 | }, | ||
| 306 | "schema": { | ||
| 307 | "name": "schema", | ||
| 308 | "type": "jsonb", | ||
| 309 | "primaryKey": false, | ||
| 310 | "notNull": true | ||
| 311 | }, | ||
| 312 | "created_at": { | ||
| 313 | "name": "created_at", | ||
| 314 | "type": "timestamp", | ||
| 315 | "primaryKey": false, | ||
| 316 | "notNull": true | ||
| 317 | } | ||
| 318 | }, | ||
| 319 | "indexes": { | ||
| 320 | "definition_scope_id_idx": { | ||
| 321 | "name": "definition_scope_id_idx", | ||
| 322 | "columns": [ | ||
| 323 | { | ||
| 324 | "expression": "scope_id", | ||
| 325 | "isExpression": false, | ||
| 326 | "asc": true, | ||
| 327 | "nulls": "last" | ||
| 328 | } | ||
| 329 | ], | ||
| 330 | "isUnique": false, | ||
| 331 | "concurrently": false, | ||
| 332 | "method": "btree", | ||
| 333 | "with": {} | ||
| 334 | }, | ||
| 335 | "definition_source_id_idx": { | ||
| 336 | "name": "definition_source_id_idx", | ||
| 337 | "columns": [ | ||
| 338 | { | ||
| 339 | "expression": "source_id", | ||
| 340 | "isExpression": false, | ||
| 341 | "asc": true, | ||
| 342 | "nulls": "last" | ||
| 343 | } | ||
| 344 | ], | ||
| 345 | "isUnique": false, | ||
| 346 | "concurrently": false, | ||
| 347 | "method": "btree", | ||
| 348 | "with": {} | ||
| 349 | }, | ||
| 350 | "definition_plugin_id_idx": { | ||
| 351 | "name": "definition_plugin_id_idx", | ||
| 352 | "columns": [ | ||
| 353 | { | ||
| 354 | "expression": "plugin_id", | ||
| 355 | "isExpression": false, | ||
| 356 | "asc": true, | ||
| 357 | "nulls": "last" | ||
| 358 | } | ||
| 359 | ], | ||
| 360 | "isUnique": false, | ||
| 361 | "concurrently": false, | ||
| 362 | "method": "btree", | ||
| 363 | "with": {} | ||
| 364 | } | ||
| 365 | }, | ||
| 366 | "foreignKeys": {}, | ||
| 367 | "compositePrimaryKeys": { | ||
| 368 | "definition_scope_id_id_pk": { | ||
| 369 | "name": "definition_scope_id_id_pk", | ||
| 370 | "columns": ["scope_id", "id"] | ||
| 371 | } | ||
| 372 | }, | ||
| 373 | "uniqueConstraints": {}, | ||
| 374 | "policies": {}, | ||
| 375 | "checkConstraints": {}, | ||
| 376 | "isRLSEnabled": false | ||
| 377 | }, | ||
| 378 | "public.graphql_operation": { | ||
| 379 | "name": "graphql_operation", | ||
| 380 | "schema": "", | ||
| 381 | "columns": { | ||
| 382 | "id": { | ||
| 383 | "name": "id", | ||
| 384 | "type": "text", | ||
| 385 | "primaryKey": false, | ||
| 386 | "notNull": true | ||
| 387 | }, | ||
| 388 | "scope_id": { | ||
| 389 | "name": "scope_id", | ||
| 390 | "type": "text", | ||
| 391 | "primaryKey": false, | ||
| 392 | "notNull": true | ||
| 393 | }, | ||
| 394 | "source_id": { | ||
| 395 | "name": "source_id", | ||
| 396 | "type": "text", | ||
| 397 | "primaryKey": false, | ||
| 398 | "notNull": true | ||
| 399 | }, | ||
| 400 | "binding": { | ||
| 401 | "name": "binding", | ||
| 402 | "type": "jsonb", | ||
| 403 | "primaryKey": false, | ||
| 404 | "notNull": true | ||
| 405 | } | ||
| 406 | }, | ||
| 407 | "indexes": { | ||
| 408 | "graphql_operation_scope_id_idx": { | ||
| 409 | "name": "graphql_operation_scope_id_idx", | ||
| 410 | "columns": [ | ||
| 411 | { | ||
| 412 | "expression": "scope_id", | ||
| 413 | "isExpression": false, | ||
| 414 | "asc": true, | ||
| 415 | "nulls": "last" | ||
| 416 | } | ||
| 417 | ], | ||
| 418 | "isUnique": false, | ||
| 419 | "concurrently": false, | ||
| 420 | "method": "btree", | ||
| 421 | "with": {} | ||
| 422 | }, | ||
| 423 | "graphql_operation_source_id_idx": { | ||
| 424 | "name": "graphql_operation_source_id_idx", | ||
| 425 | "columns": [ | ||
| 426 | { | ||
| 427 | "expression": "source_id", | ||
| 428 | "isExpression": false, | ||
| 429 | "asc": true, | ||
| 430 | "nulls": "last" | ||
| 431 | } | ||
| 432 | ], | ||
| 433 | "isUnique": false, | ||
| 434 | "concurrently": false, | ||
| 435 | "method": "btree", | ||
| 436 | "with": {} | ||
| 437 | } | ||
| 438 | }, | ||
| 439 | "foreignKeys": {}, | ||
| 440 | "compositePrimaryKeys": { | ||
| 441 | "graphql_operation_scope_id_id_pk": { | ||
| 442 | "name": "graphql_operation_scope_id_id_pk", | ||
| 443 | "columns": ["scope_id", "id"] | ||
| 444 | } | ||
| 445 | }, | ||
| 446 | "uniqueConstraints": {}, | ||
| 447 | "policies": {}, | ||
| 448 | "checkConstraints": {}, | ||
| 449 | "isRLSEnabled": false | ||
| 450 | }, | ||
| 451 | "public.graphql_source": { | ||
| 452 | "name": "graphql_source", | ||
| 453 | "schema": "", | ||
| 454 | "columns": { | ||
| 455 | "id": { | ||
| 456 | "name": "id", | ||
| 457 | "type": "text", | ||
| 458 | "primaryKey": false, | ||
| 459 | "notNull": true | ||
| 460 | }, | ||
| 461 | "scope_id": { | ||
| 462 | "name": "scope_id", | ||
| 463 | "type": "text", | ||
| 464 | "primaryKey": false, | ||
| 465 | "notNull": true | ||
| 466 | }, | ||
| 467 | "name": { | ||
| 468 | "name": "name", | ||
| 469 | "type": "text", | ||
| 470 | "primaryKey": false, | ||
| 471 | "notNull": true | ||
| 472 | }, | ||
| 473 | "endpoint": { | ||
| 474 | "name": "endpoint", | ||
| 475 | "type": "text", | ||
| 476 | "primaryKey": false, | ||
| 477 | "notNull": true | ||
| 478 | }, | ||
| 479 | "auth_kind": { | ||
| 480 | "name": "auth_kind", | ||
| 481 | "type": "text", | ||
| 482 | "primaryKey": false, | ||
| 483 | "notNull": true, | ||
| 484 | "default": "none" | ||
| 485 | }, | ||
| 486 | "auth_connection_id": { | ||
| 487 | "name": "auth_connection_id", | ||
| 488 | "type": "text", | ||
| 489 | "primaryKey": false, | ||
| 490 | "notNull": false | ||
| 491 | } | ||
| 492 | }, | ||
| 493 | "indexes": { | ||
| 494 | "graphql_source_scope_id_idx": { | ||
| 495 | "name": "graphql_source_scope_id_idx", | ||
| 496 | "columns": [ | ||
| 497 | { | ||
| 498 | "expression": "scope_id", | ||
| 499 | "isExpression": false, | ||
| 500 | "asc": true, | ||
| 501 | "nulls": "last" | ||
| 502 | } | ||
| 503 | ], | ||
| 504 | "isUnique": false, | ||
| 505 | "concurrently": false, | ||
| 506 | "method": "btree", | ||
| 507 | "with": {} | ||
| 508 | }, | ||
| 509 | "graphql_source_auth_connection_id_idx": { | ||
| 510 | "name": "graphql_source_auth_connection_id_idx", | ||
| 511 | "columns": [ | ||
| 512 | { | ||
| 513 | "expression": "auth_connection_id", | ||
| 514 | "isExpression": false, | ||
| 515 | "asc": true, | ||
| 516 | "nulls": "last" | ||
| 517 | } | ||
| 518 | ], | ||
| 519 | "isUnique": false, | ||
| 520 | "concurrently": false, | ||
| 521 | "method": "btree", | ||
| 522 | "with": {} | ||
| 523 | } | ||
| 524 | }, | ||
| 525 | "foreignKeys": {}, | ||
| 526 | "compositePrimaryKeys": { | ||
| 527 | "graphql_source_scope_id_id_pk": { | ||
| 528 | "name": "graphql_source_scope_id_id_pk", | ||
| 529 | "columns": ["scope_id", "id"] | ||
| 530 | } | ||
| 531 | }, | ||
| 532 | "uniqueConstraints": {}, | ||
| 533 | "policies": {}, | ||
| 534 | "checkConstraints": {}, | ||
| 535 | "isRLSEnabled": false | ||
| 536 | }, | ||
| 537 | "public.mcp_binding": { | ||
| 538 | "name": "mcp_binding", | ||
| 539 | "schema": "", | ||
| 540 | "columns": { | ||
| 541 | "id": { | ||
| 542 | "name": "id", | ||
| 543 | "type": "text", | ||
| 544 | "primaryKey": false, | ||
| 545 | "notNull": true | ||
| 546 | }, | ||
| 547 | "scope_id": { | ||
| 548 | "name": "scope_id", | ||
| 549 | "type": "text", | ||
| 550 | "primaryKey": false, | ||
| 551 | "notNull": true | ||
| 552 | }, | ||
| 553 | "source_id": { | ||
| 554 | "name": "source_id", | ||
| 555 | "type": "text", | ||
| 556 | "primaryKey": false, | ||
| 557 | "notNull": true | ||
| 558 | }, | ||
| 559 | "binding": { | ||
| 560 | "name": "binding", | ||
| 561 | "type": "jsonb", | ||
| 562 | "primaryKey": false, | ||
| 563 | "notNull": true | ||
| 564 | }, | ||
| 565 | "created_at": { | ||
| 566 | "name": "created_at", | ||
| 567 | "type": "timestamp", | ||
| 568 | "primaryKey": false, | ||
| 569 | "notNull": true | ||
| 570 | } | ||
| 571 | }, | ||
| 572 | "indexes": { | ||
| 573 | "mcp_binding_scope_id_idx": { | ||
| 574 | "name": "mcp_binding_scope_id_idx", | ||
| 575 | "columns": [ | ||
| 576 | { | ||
| 577 | "expression": "scope_id", | ||
| 578 | "isExpression": false, | ||
| 579 | "asc": true, | ||
| 580 | "nulls": "last" | ||
| 581 | } | ||
| 582 | ], | ||
| 583 | "isUnique": false, | ||
| 584 | "concurrently": false, | ||
| 585 | "method": "btree", | ||
| 586 | "with": {} | ||
| 587 | }, | ||
| 588 | "mcp_binding_source_id_idx": { | ||
| 589 | "name": "mcp_binding_source_id_idx", | ||
| 590 | "columns": [ | ||
| 591 | { | ||
| 592 | "expression": "source_id", | ||
| 593 | "isExpression": false, | ||
| 594 | "asc": true, | ||
| 595 | "nulls": "last" | ||
| 596 | } | ||
| 597 | ], | ||
| 598 | "isUnique": false, | ||
| 599 | "concurrently": false, | ||
| 600 | "method": "btree", | ||
| 601 | "with": {} | ||
| 602 | } | ||
| 603 | }, | ||
| 604 | "foreignKeys": {}, | ||
| 605 | "compositePrimaryKeys": { | ||
| 606 | "mcp_binding_scope_id_id_pk": { | ||
| 607 | "name": "mcp_binding_scope_id_id_pk", | ||
| 608 | "columns": ["scope_id", "id"] | ||
| 609 | } | ||
| 610 | }, | ||
| 611 | "uniqueConstraints": {}, | ||
| 612 | "policies": {}, | ||
| 613 | "checkConstraints": {}, | ||
| 614 | "isRLSEnabled": false | ||
| 615 | }, | ||
| 616 | "public.mcp_source": { | ||
| 617 | "name": "mcp_source", | ||
| 618 | "schema": "", | ||
| 619 | "columns": { | ||
| 620 | "id": { | ||
| 621 | "name": "id", | ||
| 622 | "type": "text", | ||
| 623 | "primaryKey": false, | ||
| 624 | "notNull": true | ||
| 625 | }, | ||
| 626 | "scope_id": { | ||
| 627 | "name": "scope_id", | ||
| 628 | "type": "text", | ||
| 629 | "primaryKey": false, | ||
| 630 | "notNull": true | ||
| 631 | }, | ||
| 632 | "name": { | ||
| 633 | "name": "name", | ||
| 634 | "type": "text", | ||
| 635 | "primaryKey": false, | ||
| 636 | "notNull": true | ||
| 637 | }, | ||
| 638 | "config": { | ||
| 639 | "name": "config", | ||
| 640 | "type": "jsonb", | ||
| 641 | "primaryKey": false, | ||
| 642 | "notNull": true | ||
| 643 | }, | ||
| 644 | "created_at": { | ||
| 645 | "name": "created_at", | ||
| 646 | "type": "timestamp", | ||
| 647 | "primaryKey": false, | ||
| 648 | "notNull": true | ||
| 649 | }, | ||
| 650 | "auth_kind": { | ||
| 651 | "name": "auth_kind", | ||
| 652 | "type": "text", | ||
| 653 | "primaryKey": false, | ||
| 654 | "notNull": true, | ||
| 655 | "default": "'none'" | ||
| 656 | }, | ||
| 657 | "auth_header_name": { | ||
| 658 | "name": "auth_header_name", | ||
| 659 | "type": "text", | ||
| 660 | "primaryKey": false, | ||
| 661 | "notNull": false | ||
| 662 | }, | ||
| 663 | "auth_secret_id": { | ||
| 664 | "name": "auth_secret_id", | ||
| 665 | "type": "text", | ||
| 666 | "primaryKey": false, | ||
| 667 | "notNull": false | ||
| 668 | }, | ||
| 669 | "auth_secret_prefix": { | ||
| 670 | "name": "auth_secret_prefix", | ||
| 671 | "type": "text", | ||
| 672 | "primaryKey": false, | ||
| 673 | "notNull": false | ||
| 674 | }, | ||
| 675 | "auth_connection_id": { | ||
| 676 | "name": "auth_connection_id", | ||
| 677 | "type": "text", | ||
| 678 | "primaryKey": false, | ||
| 679 | "notNull": false | ||
| 680 | }, | ||
| 681 | "auth_client_id_secret_id": { | ||
| 682 | "name": "auth_client_id_secret_id", | ||
| 683 | "type": "text", | ||
| 684 | "primaryKey": false, | ||
| 685 | "notNull": false | ||
| 686 | }, | ||
| 687 | "auth_client_secret_secret_id": { | ||
| 688 | "name": "auth_client_secret_secret_id", | ||
| 689 | "type": "text", | ||
| 690 | "primaryKey": false, | ||
| 691 | "notNull": false | ||
| 692 | } | ||
| 693 | }, | ||
| 694 | "indexes": { | ||
| 695 | "mcp_source_scope_id_idx": { | ||
| 696 | "name": "mcp_source_scope_id_idx", | ||
| 697 | "columns": [ | ||
| 698 | { | ||
| 699 | "expression": "scope_id", | ||
| 700 | "isExpression": false, | ||
| 701 | "asc": true, | ||
| 702 | "nulls": "last" | ||
| 703 | } | ||
| 704 | ], | ||
| 705 | "isUnique": false, | ||
| 706 | "concurrently": false, | ||
| 707 | "method": "btree", | ||
| 708 | "with": {} | ||
| 709 | }, | ||
| 710 | "mcp_source_auth_secret_id_idx": { | ||
| 711 | "name": "mcp_source_auth_secret_id_idx", | ||
| 712 | "columns": [ | ||
| 713 | { | ||
| 714 | "expression": "auth_secret_id", | ||
| 715 | "isExpression": false, | ||
| 716 | "asc": true, | ||
| 717 | "nulls": "last" | ||
| 718 | } | ||
| 719 | ], | ||
| 720 | "isUnique": false, | ||
| 721 | "concurrently": false, | ||
| 722 | "method": "btree", | ||
| 723 | "with": {} | ||
| 724 | }, | ||
| 725 | "mcp_source_auth_connection_id_idx": { | ||
| 726 | "name": "mcp_source_auth_connection_id_idx", | ||
| 727 | "columns": [ | ||
| 728 | { | ||
| 729 | "expression": "auth_connection_id", | ||
| 730 | "isExpression": false, | ||
| 731 | "asc": true, | ||
| 732 | "nulls": "last" | ||
| 733 | } | ||
| 734 | ], | ||
| 735 | "isUnique": false, | ||
| 736 | "concurrently": false, | ||
| 737 | "method": "btree", | ||
| 738 | "with": {} | ||
| 739 | }, | ||
| 740 | "mcp_source_auth_client_id_secret_id_idx": { | ||
| 741 | "name": "mcp_source_auth_client_id_secret_id_idx", | ||
| 742 | "columns": [ | ||
| 743 | { | ||
| 744 | "expression": "auth_client_id_secret_id", | ||
| 745 | "isExpression": false, | ||
| 746 | "asc": true, | ||
| 747 | "nulls": "last" | ||
| 748 | } | ||
| 749 | ], | ||
| 750 | "isUnique": false, | ||
| 751 | "concurrently": false, | ||
| 752 | "method": "btree", | ||
| 753 | "with": {} | ||
| 754 | }, | ||
| 755 | "mcp_source_auth_client_secret_secret_id_idx": { | ||
| 756 | "name": "mcp_source_auth_client_secret_secret_id_idx", | ||
| 757 | "columns": [ | ||
| 758 | { | ||
| 759 | "expression": "auth_client_secret_secret_id", | ||
| 760 | "isExpression": false, | ||
| 761 | "asc": true, | ||
| 762 | "nulls": "last" | ||
| 763 | } | ||
| 764 | ], | ||
| 765 | "isUnique": false, | ||
| 766 | "concurrently": false, | ||
| 767 | "method": "btree", | ||
| 768 | "with": {} | ||
| 769 | } | ||
| 770 | }, | ||
| 771 | "foreignKeys": {}, | ||
| 772 | "compositePrimaryKeys": { | ||
| 773 | "mcp_source_scope_id_id_pk": { | ||
| 774 | "name": "mcp_source_scope_id_id_pk", | ||
| 775 | "columns": ["scope_id", "id"] | ||
| 776 | } | ||
| 777 | }, | ||
| 778 | "uniqueConstraints": {}, | ||
| 779 | "policies": {}, | ||
| 780 | "checkConstraints": {}, | ||
| 781 | "isRLSEnabled": false | ||
| 782 | }, | ||
| 783 | "public.oauth2_session": { | ||
| 784 | "name": "oauth2_session", | ||
| 785 | "schema": "", | ||
| 786 | "columns": { | ||
| 787 | "id": { | ||
| 788 | "name": "id", | ||
| 789 | "type": "text", | ||
| 790 | "primaryKey": false, | ||
| 791 | "notNull": true | ||
| 792 | }, | ||
| 793 | "scope_id": { | ||
| 794 | "name": "scope_id", | ||
| 795 | "type": "text", | ||
| 796 | "primaryKey": false, | ||
| 797 | "notNull": true | ||
| 798 | }, | ||
| 799 | "plugin_id": { | ||
| 800 | "name": "plugin_id", | ||
| 801 | "type": "text", | ||
| 802 | "primaryKey": false, | ||
| 803 | "notNull": true | ||
| 804 | }, | ||
| 805 | "strategy": { | ||
| 806 | "name": "strategy", | ||
| 807 | "type": "text", | ||
| 808 | "primaryKey": false, | ||
| 809 | "notNull": true | ||
| 810 | }, | ||
| 811 | "connection_id": { | ||
| 812 | "name": "connection_id", | ||
| 813 | "type": "text", | ||
| 814 | "primaryKey": false, | ||
| 815 | "notNull": true | ||
| 816 | }, | ||
| 817 | "token_scope": { | ||
| 818 | "name": "token_scope", | ||
| 819 | "type": "text", | ||
| 820 | "primaryKey": false, | ||
| 821 | "notNull": true | ||
| 822 | }, | ||
| 823 | "redirect_url": { | ||
| 824 | "name": "redirect_url", | ||
| 825 | "type": "text", | ||
| 826 | "primaryKey": false, | ||
| 827 | "notNull": true | ||
| 828 | }, | ||
| 829 | "payload": { | ||
| 830 | "name": "payload", | ||
| 831 | "type": "jsonb", | ||
| 832 | "primaryKey": false, | ||
| 833 | "notNull": true | ||
| 834 | }, | ||
| 835 | "expires_at": { | ||
| 836 | "name": "expires_at", | ||
| 837 | "type": "bigint", | ||
| 838 | "primaryKey": false, | ||
| 839 | "notNull": true | ||
| 840 | }, | ||
| 841 | "created_at": { | ||
| 842 | "name": "created_at", | ||
| 843 | "type": "timestamp", | ||
| 844 | "primaryKey": false, | ||
| 845 | "notNull": true | ||
| 846 | } | ||
| 847 | }, | ||
| 848 | "indexes": { | ||
| 849 | "oauth2_session_scope_id_idx": { | ||
| 850 | "name": "oauth2_session_scope_id_idx", | ||
| 851 | "columns": [ | ||
| 852 | { | ||
| 853 | "expression": "scope_id", | ||
| 854 | "isExpression": false, | ||
| 855 | "asc": true, | ||
| 856 | "nulls": "last" | ||
| 857 | } | ||
| 858 | ], | ||
| 859 | "isUnique": false, | ||
| 860 | "concurrently": false, | ||
| 861 | "method": "btree", | ||
| 862 | "with": {} | ||
| 863 | }, | ||
| 864 | "oauth2_session_plugin_id_idx": { | ||
| 865 | "name": "oauth2_session_plugin_id_idx", | ||
| 866 | "columns": [ | ||
| 867 | { | ||
| 868 | "expression": "plugin_id", | ||
| 869 | "isExpression": false, | ||
| 870 | "asc": true, | ||
| 871 | "nulls": "last" | ||
| 872 | } | ||
| 873 | ], | ||
| 874 | "isUnique": false, | ||
| 875 | "concurrently": false, | ||
| 876 | "method": "btree", | ||
| 877 | "with": {} | ||
| 878 | }, | ||
| 879 | "oauth2_session_connection_id_idx": { | ||
| 880 | "name": "oauth2_session_connection_id_idx", | ||
| 881 | "columns": [ | ||
| 882 | { | ||
| 883 | "expression": "connection_id", | ||
| 884 | "isExpression": false, | ||
| 885 | "asc": true, | ||
| 886 | "nulls": "last" | ||
| 887 | } | ||
| 888 | ], | ||
| 889 | "isUnique": false, | ||
| 890 | "concurrently": false, | ||
| 891 | "method": "btree", | ||
| 892 | "with": {} | ||
| 893 | } | ||
| 894 | }, | ||
| 895 | "foreignKeys": {}, | ||
| 896 | "compositePrimaryKeys": { | ||
| 897 | "oauth2_session_scope_id_id_pk": { | ||
| 898 | "name": "oauth2_session_scope_id_id_pk", | ||
| 899 | "columns": ["scope_id", "id"] | ||
| 900 | } | ||
| 901 | }, | ||
| 902 | "uniqueConstraints": {}, | ||
| 903 | "policies": {}, | ||
| 904 | "checkConstraints": {}, | ||
| 905 | "isRLSEnabled": false | ||
| 906 | }, | ||
| 907 | "public.openapi_operation": { | ||
| 908 | "name": "openapi_operation", | ||
| 909 | "schema": "", | ||
| 910 | "columns": { | ||
| 911 | "id": { | ||
| 912 | "name": "id", | ||
| 913 | "type": "text", | ||
| 914 | "primaryKey": false, | ||
| 915 | "notNull": true | ||
| 916 | }, | ||
| 917 | "scope_id": { | ||
| 918 | "name": "scope_id", | ||
| 919 | "type": "text", | ||
| 920 | "primaryKey": false, | ||
| 921 | "notNull": true | ||
| 922 | }, | ||
| 923 | "source_id": { | ||
| 924 | "name": "source_id", | ||
| 925 | "type": "text", | ||
| 926 | "primaryKey": false, | ||
| 927 | "notNull": true | ||
| 928 | }, | ||
| 929 | "binding": { | ||
| 930 | "name": "binding", | ||
| 931 | "type": "jsonb", | ||
| 932 | "primaryKey": false, | ||
| 933 | "notNull": true | ||
| 934 | } | ||
| 935 | }, | ||
| 936 | "indexes": { | ||
| 937 | "openapi_operation_scope_id_idx": { | ||
| 938 | "name": "openapi_operation_scope_id_idx", | ||
| 939 | "columns": [ | ||
| 940 | { | ||
| 941 | "expression": "scope_id", | ||
| 942 | "isExpression": false, | ||
| 943 | "asc": true, | ||
| 944 | "nulls": "last" | ||
| 945 | } | ||
| 946 | ], | ||
| 947 | "isUnique": false, | ||
| 948 | "concurrently": false, | ||
| 949 | "method": "btree", | ||
| 950 | "with": {} | ||
| 951 | }, | ||
| 952 | "openapi_operation_source_id_idx": { | ||
| 953 | "name": "openapi_operation_source_id_idx", | ||
| 954 | "columns": [ | ||
| 955 | { | ||
| 956 | "expression": "source_id", | ||
| 957 | "isExpression": false, | ||
| 958 | "asc": true, | ||
| 959 | "nulls": "last" | ||
| 960 | } | ||
| 961 | ], | ||
| 962 | "isUnique": false, | ||
| 963 | "concurrently": false, | ||
| 964 | "method": "btree", | ||
| 965 | "with": {} | ||
| 966 | } | ||
| 967 | }, | ||
| 968 | "foreignKeys": {}, | ||
| 969 | "compositePrimaryKeys": { | ||
| 970 | "openapi_operation_scope_id_id_pk": { | ||
| 971 | "name": "openapi_operation_scope_id_id_pk", | ||
| 972 | "columns": ["scope_id", "id"] | ||
| 973 | } | ||
| 974 | }, | ||
| 975 | "uniqueConstraints": {}, | ||
| 976 | "policies": {}, | ||
| 977 | "checkConstraints": {}, | ||
| 978 | "isRLSEnabled": false | ||
| 979 | }, | ||
| 980 | "public.openapi_source": { | ||
| 981 | "name": "openapi_source", | ||
| 982 | "schema": "", | ||
| 983 | "columns": { | ||
| 984 | "id": { | ||
| 985 | "name": "id", | ||
| 986 | "type": "text", | ||
| 987 | "primaryKey": false, | ||
| 988 | "notNull": true | ||
| 989 | }, | ||
| 990 | "scope_id": { | ||
| 991 | "name": "scope_id", | ||
| 992 | "type": "text", | ||
| 993 | "primaryKey": false, | ||
| 994 | "notNull": true | ||
| 995 | }, | ||
| 996 | "name": { | ||
| 997 | "name": "name", | ||
| 998 | "type": "text", | ||
| 999 | "primaryKey": false, | ||
| 1000 | "notNull": true | ||
| 1001 | }, | ||
| 1002 | "spec": { | ||
| 1003 | "name": "spec", | ||
| 1004 | "type": "text", | ||
| 1005 | "primaryKey": false, | ||
| 1006 | "notNull": true | ||
| 1007 | }, | ||
| 1008 | "source_url": { | ||
| 1009 | "name": "source_url", | ||
| 1010 | "type": "text", | ||
| 1011 | "primaryKey": false, | ||
| 1012 | "notNull": false | ||
| 1013 | }, | ||
| 1014 | "base_url": { | ||
| 1015 | "name": "base_url", | ||
| 1016 | "type": "text", | ||
| 1017 | "primaryKey": false, | ||
| 1018 | "notNull": false | ||
| 1019 | }, | ||
| 1020 | "headers": { | ||
| 1021 | "name": "headers", | ||
| 1022 | "type": "jsonb", | ||
| 1023 | "primaryKey": false, | ||
| 1024 | "notNull": false | ||
| 1025 | }, | ||
| 1026 | "oauth2": { | ||
| 1027 | "name": "oauth2", | ||
| 1028 | "type": "jsonb", | ||
| 1029 | "primaryKey": false, | ||
| 1030 | "notNull": false | ||
| 1031 | } | ||
| 1032 | }, | ||
| 1033 | "indexes": { | ||
| 1034 | "openapi_source_scope_id_idx": { | ||
| 1035 | "name": "openapi_source_scope_id_idx", | ||
| 1036 | "columns": [ | ||
| 1037 | { | ||
| 1038 | "expression": "scope_id", | ||
| 1039 | "isExpression": false, | ||
| 1040 | "asc": true, | ||
| 1041 | "nulls": "last" | ||
| 1042 | } | ||
| 1043 | ], | ||
| 1044 | "isUnique": false, | ||
| 1045 | "concurrently": false, | ||
| 1046 | "method": "btree", | ||
| 1047 | "with": {} | ||
| 1048 | } | ||
| 1049 | }, | ||
| 1050 | "foreignKeys": {}, | ||
| 1051 | "compositePrimaryKeys": { | ||
| 1052 | "openapi_source_scope_id_id_pk": { | ||
| 1053 | "name": "openapi_source_scope_id_id_pk", | ||
| 1054 | "columns": ["scope_id", "id"] | ||
| 1055 | } | ||
| 1056 | }, | ||
| 1057 | "uniqueConstraints": {}, | ||
| 1058 | "policies": {}, | ||
| 1059 | "checkConstraints": {}, | ||
| 1060 | "isRLSEnabled": false | ||
| 1061 | }, | ||
| 1062 | "public.openapi_source_binding": { | ||
| 1063 | "name": "openapi_source_binding", | ||
| 1064 | "schema": "", | ||
| 1065 | "columns": { | ||
| 1066 | "id": { | ||
| 1067 | "name": "id", | ||
| 1068 | "type": "text", | ||
| 1069 | "primaryKey": true, | ||
| 1070 | "notNull": true | ||
| 1071 | }, | ||
| 1072 | "source_id": { | ||
| 1073 | "name": "source_id", | ||
| 1074 | "type": "text", | ||
| 1075 | "primaryKey": false, | ||
| 1076 | "notNull": true | ||
| 1077 | }, | ||
| 1078 | "source_scope_id": { | ||
| 1079 | "name": "source_scope_id", | ||
| 1080 | "type": "text", | ||
| 1081 | "primaryKey": false, | ||
| 1082 | "notNull": true | ||
| 1083 | }, | ||
| 1084 | "target_scope_id": { | ||
| 1085 | "name": "target_scope_id", | ||
| 1086 | "type": "text", | ||
| 1087 | "primaryKey": false, | ||
| 1088 | "notNull": true | ||
| 1089 | }, | ||
| 1090 | "slot": { | ||
| 1091 | "name": "slot", | ||
| 1092 | "type": "text", | ||
| 1093 | "primaryKey": false, | ||
| 1094 | "notNull": true | ||
| 1095 | }, | ||
| 1096 | "created_at": { | ||
| 1097 | "name": "created_at", | ||
| 1098 | "type": "timestamp", | ||
| 1099 | "primaryKey": false, | ||
| 1100 | "notNull": true | ||
| 1101 | }, | ||
| 1102 | "updated_at": { | ||
| 1103 | "name": "updated_at", | ||
| 1104 | "type": "timestamp", | ||
| 1105 | "primaryKey": false, | ||
| 1106 | "notNull": true | ||
| 1107 | }, | ||
| 1108 | "kind": { | ||
| 1109 | "name": "kind", | ||
| 1110 | "type": "text", | ||
| 1111 | "primaryKey": false, | ||
| 1112 | "notNull": true, | ||
| 1113 | "default": "'text'" | ||
| 1114 | }, | ||
| 1115 | "secret_id": { | ||
| 1116 | "name": "secret_id", | ||
| 1117 | "type": "text", | ||
| 1118 | "primaryKey": false, | ||
| 1119 | "notNull": false | ||
| 1120 | }, | ||
| 1121 | "connection_id": { | ||
| 1122 | "name": "connection_id", | ||
| 1123 | "type": "text", | ||
| 1124 | "primaryKey": false, | ||
| 1125 | "notNull": false | ||
| 1126 | }, | ||
| 1127 | "text_value": { | ||
| 1128 | "name": "text_value", | ||
| 1129 | "type": "text", | ||
| 1130 | "primaryKey": false, | ||
| 1131 | "notNull": false | ||
| 1132 | } | ||
| 1133 | }, | ||
| 1134 | "indexes": { | ||
| 1135 | "openapi_source_binding_source_id_idx": { | ||
| 1136 | "name": "openapi_source_binding_source_id_idx", | ||
| 1137 | "columns": [ | ||
| 1138 | { | ||
| 1139 | "expression": "source_id", | ||
| 1140 | "isExpression": false, | ||
| 1141 | "asc": true, | ||
| 1142 | "nulls": "last" | ||
| 1143 | } | ||
| 1144 | ], | ||
| 1145 | "isUnique": false, | ||
| 1146 | "concurrently": false, | ||
| 1147 | "method": "btree", | ||
| 1148 | "with": {} | ||
| 1149 | }, | ||
| 1150 | "openapi_source_binding_source_scope_id_idx": { | ||
| 1151 | "name": "openapi_source_binding_source_scope_id_idx", | ||
| 1152 | "columns": [ | ||
| 1153 | { | ||
| 1154 | "expression": "source_scope_id", | ||
| 1155 | "isExpression": false, | ||
| 1156 | "asc": true, | ||
| 1157 | "nulls": "last" | ||
| 1158 | } | ||
| 1159 | ], | ||
| 1160 | "isUnique": false, | ||
| 1161 | "concurrently": false, | ||
| 1162 | "method": "btree", | ||
| 1163 | "with": {} | ||
| 1164 | }, | ||
| 1165 | "openapi_source_binding_target_scope_id_idx": { | ||
| 1166 | "name": "openapi_source_binding_target_scope_id_idx", | ||
| 1167 | "columns": [ | ||
| 1168 | { | ||
| 1169 | "expression": "target_scope_id", | ||
| 1170 | "isExpression": false, | ||
| 1171 | "asc": true, | ||
| 1172 | "nulls": "last" | ||
| 1173 | } | ||
| 1174 | ], | ||
| 1175 | "isUnique": false, | ||
| 1176 | "concurrently": false, | ||
| 1177 | "method": "btree", | ||
| 1178 | "with": {} | ||
| 1179 | }, | ||
| 1180 | "openapi_source_binding_slot_idx": { | ||
| 1181 | "name": "openapi_source_binding_slot_idx", | ||
| 1182 | "columns": [ | ||
| 1183 | { | ||
| 1184 | "expression": "slot", | ||
| 1185 | "isExpression": false, | ||
| 1186 | "asc": true, | ||
| 1187 | "nulls": "last" | ||
| 1188 | } | ||
| 1189 | ], | ||
| 1190 | "isUnique": false, | ||
| 1191 | "concurrently": false, | ||
| 1192 | "method": "btree", | ||
| 1193 | "with": {} | ||
| 1194 | }, | ||
| 1195 | "openapi_source_binding_secret_id_idx": { | ||
| 1196 | "name": "openapi_source_binding_secret_id_idx", | ||
| 1197 | "columns": [ | ||
| 1198 | { | ||
| 1199 | "expression": "secret_id", | ||
| 1200 | "isExpression": false, | ||
| 1201 | "asc": true, | ||
| 1202 | "nulls": "last" | ||
| 1203 | } | ||
| 1204 | ], | ||
| 1205 | "isUnique": false, | ||
| 1206 | "concurrently": false, | ||
| 1207 | "method": "btree", | ||
| 1208 | "with": {} | ||
| 1209 | }, | ||
| 1210 | "openapi_source_binding_connection_id_idx": { | ||
| 1211 | "name": "openapi_source_binding_connection_id_idx", | ||
| 1212 | "columns": [ | ||
| 1213 | { | ||
| 1214 | "expression": "connection_id", | ||
| 1215 | "isExpression": false, | ||
| 1216 | "asc": true, | ||
| 1217 | "nulls": "last" | ||
| 1218 | } | ||
| 1219 | ], | ||
| 1220 | "isUnique": false, | ||
| 1221 | "concurrently": false, | ||
| 1222 | "method": "btree", | ||
| 1223 | "with": {} | ||
| 1224 | } | ||
| 1225 | }, | ||
| 1226 | "foreignKeys": {}, | ||
| 1227 | "compositePrimaryKeys": {}, | ||
| 1228 | "uniqueConstraints": {}, | ||
| 1229 | "policies": {}, | ||
| 1230 | "checkConstraints": {}, | ||
| 1231 | "isRLSEnabled": false | ||
| 1232 | }, | ||
| 1233 | "public.secret": { | ||
| 1234 | "name": "secret", | ||
| 1235 | "schema": "", | ||
| 1236 | "columns": { | ||
| 1237 | "id": { | ||
| 1238 | "name": "id", | ||
| 1239 | "type": "text", | ||
| 1240 | "primaryKey": false, | ||
| 1241 | "notNull": true | ||
| 1242 | }, | ||
| 1243 | "scope_id": { | ||
| 1244 | "name": "scope_id", | ||
| 1245 | "type": "text", | ||
| 1246 | "primaryKey": false, | ||
| 1247 | "notNull": true | ||
| 1248 | }, | ||
| 1249 | "name": { | ||
| 1250 | "name": "name", | ||
| 1251 | "type": "text", | ||
| 1252 | "primaryKey": false, | ||
| 1253 | "notNull": true | ||
| 1254 | }, | ||
| 1255 | "provider": { | ||
| 1256 | "name": "provider", | ||
| 1257 | "type": "text", | ||
| 1258 | "primaryKey": false, | ||
| 1259 | "notNull": true | ||
| 1260 | }, | ||
| 1261 | "owned_by_connection_id": { | ||
| 1262 | "name": "owned_by_connection_id", | ||
| 1263 | "type": "text", | ||
| 1264 | "primaryKey": false, | ||
| 1265 | "notNull": false | ||
| 1266 | }, | ||
| 1267 | "created_at": { | ||
| 1268 | "name": "created_at", | ||
| 1269 | "type": "timestamp", | ||
| 1270 | "primaryKey": false, | ||
| 1271 | "notNull": true | ||
| 1272 | } | ||
| 1273 | }, | ||
| 1274 | "indexes": { | ||
| 1275 | "secret_scope_id_idx": { | ||
| 1276 | "name": "secret_scope_id_idx", | ||
| 1277 | "columns": [ | ||
| 1278 | { | ||
| 1279 | "expression": "scope_id", | ||
| 1280 | "isExpression": false, | ||
| 1281 | "asc": true, | ||
| 1282 | "nulls": "last" | ||
| 1283 | } | ||
| 1284 | ], | ||
| 1285 | "isUnique": false, | ||
| 1286 | "concurrently": false, | ||
| 1287 | "method": "btree", | ||
| 1288 | "with": {} | ||
| 1289 | }, | ||
| 1290 | "secret_provider_idx": { | ||
| 1291 | "name": "secret_provider_idx", | ||
| 1292 | "columns": [ | ||
| 1293 | { | ||
| 1294 | "expression": "provider", | ||
| 1295 | "isExpression": false, | ||
| 1296 | "asc": true, | ||
| 1297 | "nulls": "last" | ||
| 1298 | } | ||
| 1299 | ], | ||
| 1300 | "isUnique": false, | ||
| 1301 | "concurrently": false, | ||
| 1302 | "method": "btree", | ||
| 1303 | "with": {} | ||
| 1304 | }, | ||
| 1305 | "secret_owned_by_connection_id_idx": { | ||
| 1306 | "name": "secret_owned_by_connection_id_idx", | ||
| 1307 | "columns": [ | ||
| 1308 | { | ||
| 1309 | "expression": "owned_by_connection_id", | ||
| 1310 | "isExpression": false, | ||
| 1311 | "asc": true, | ||
| 1312 | "nulls": "last" | ||
| 1313 | } | ||
| 1314 | ], | ||
| 1315 | "isUnique": false, | ||
| 1316 | "concurrently": false, | ||
| 1317 | "method": "btree", | ||
| 1318 | "with": {} | ||
| 1319 | } | ||
| 1320 | }, | ||
| 1321 | "foreignKeys": {}, | ||
| 1322 | "compositePrimaryKeys": { | ||
| 1323 | "secret_scope_id_id_pk": { | ||
| 1324 | "name": "secret_scope_id_id_pk", | ||
| 1325 | "columns": ["scope_id", "id"] | ||
| 1326 | } | ||
| 1327 | }, | ||
| 1328 | "uniqueConstraints": {}, | ||
| 1329 | "policies": {}, | ||
| 1330 | "checkConstraints": {}, | ||
| 1331 | "isRLSEnabled": false | ||
| 1332 | }, | ||
| 1333 | "public.source": { | ||
| 1334 | "name": "source", | ||
| 1335 | "schema": "", | ||
| 1336 | "columns": { | ||
| 1337 | "id": { | ||
| 1338 | "name": "id", | ||
| 1339 | "type": "text", | ||
| 1340 | "primaryKey": false, | ||
| 1341 | "notNull": true | ||
| 1342 | }, | ||
| 1343 | "scope_id": { | ||
| 1344 | "name": "scope_id", | ||
| 1345 | "type": "text", | ||
| 1346 | "primaryKey": false, | ||
| 1347 | "notNull": true | ||
| 1348 | }, | ||
| 1349 | "plugin_id": { | ||
| 1350 | "name": "plugin_id", | ||
| 1351 | "type": "text", | ||
| 1352 | "primaryKey": false, | ||
| 1353 | "notNull": true | ||
| 1354 | }, | ||
| 1355 | "kind": { | ||
| 1356 | "name": "kind", | ||
| 1357 | "type": "text", | ||
| 1358 | "primaryKey": false, | ||
| 1359 | "notNull": true | ||
| 1360 | }, | ||
| 1361 | "name": { | ||
| 1362 | "name": "name", | ||
| 1363 | "type": "text", | ||
| 1364 | "primaryKey": false, | ||
| 1365 | "notNull": true | ||
| 1366 | }, | ||
| 1367 | "url": { | ||
| 1368 | "name": "url", | ||
| 1369 | "type": "text", | ||
| 1370 | "primaryKey": false, | ||
| 1371 | "notNull": false | ||
| 1372 | }, | ||
| 1373 | "can_remove": { | ||
| 1374 | "name": "can_remove", | ||
| 1375 | "type": "boolean", | ||
| 1376 | "primaryKey": false, | ||
| 1377 | "notNull": true, | ||
| 1378 | "default": true | ||
| 1379 | }, | ||
| 1380 | "can_refresh": { | ||
| 1381 | "name": "can_refresh", | ||
| 1382 | "type": "boolean", | ||
| 1383 | "primaryKey": false, | ||
| 1384 | "notNull": true, | ||
| 1385 | "default": false | ||
| 1386 | }, | ||
| 1387 | "can_edit": { | ||
| 1388 | "name": "can_edit", | ||
| 1389 | "type": "boolean", | ||
| 1390 | "primaryKey": false, | ||
| 1391 | "notNull": true, | ||
| 1392 | "default": false | ||
| 1393 | }, | ||
| 1394 | "created_at": { | ||
| 1395 | "name": "created_at", | ||
| 1396 | "type": "timestamp", | ||
| 1397 | "primaryKey": false, | ||
| 1398 | "notNull": true | ||
| 1399 | }, | ||
| 1400 | "updated_at": { | ||
| 1401 | "name": "updated_at", | ||
| 1402 | "type": "timestamp", | ||
| 1403 | "primaryKey": false, | ||
| 1404 | "notNull": true | ||
| 1405 | } | ||
| 1406 | }, | ||
| 1407 | "indexes": { | ||
| 1408 | "source_scope_id_idx": { | ||
| 1409 | "name": "source_scope_id_idx", | ||
| 1410 | "columns": [ | ||
| 1411 | { | ||
| 1412 | "expression": "scope_id", | ||
| 1413 | "isExpression": false, | ||
| 1414 | "asc": true, | ||
| 1415 | "nulls": "last" | ||
| 1416 | } | ||
| 1417 | ], | ||
| 1418 | "isUnique": false, | ||
| 1419 | "concurrently": false, | ||
| 1420 | "method": "btree", | ||
| 1421 | "with": {} | ||
| 1422 | }, | ||
| 1423 | "source_plugin_id_idx": { | ||
| 1424 | "name": "source_plugin_id_idx", | ||
| 1425 | "columns": [ | ||
| 1426 | { | ||
| 1427 | "expression": "plugin_id", | ||
| 1428 | "isExpression": false, | ||
| 1429 | "asc": true, | ||
| 1430 | "nulls": "last" | ||
| 1431 | } | ||
| 1432 | ], | ||
| 1433 | "isUnique": false, | ||
| 1434 | "concurrently": false, | ||
| 1435 | "method": "btree", | ||
| 1436 | "with": {} | ||
| 1437 | } | ||
| 1438 | }, | ||
| 1439 | "foreignKeys": {}, | ||
| 1440 | "compositePrimaryKeys": { | ||
| 1441 | "source_scope_id_id_pk": { | ||
| 1442 | "name": "source_scope_id_id_pk", | ||
| 1443 | "columns": ["scope_id", "id"] | ||
| 1444 | } | ||
| 1445 | }, | ||
| 1446 | "uniqueConstraints": {}, | ||
| 1447 | "policies": {}, | ||
| 1448 | "checkConstraints": {}, | ||
| 1449 | "isRLSEnabled": false | ||
| 1450 | }, | ||
| 1451 | "public.tool": { | ||
| 1452 | "name": "tool", | ||
| 1453 | "schema": "", | ||
| 1454 | "columns": { | ||
| 1455 | "id": { | ||
| 1456 | "name": "id", | ||
| 1457 | "type": "text", | ||
| 1458 | "primaryKey": false, | ||
| 1459 | "notNull": true | ||
| 1460 | }, | ||
| 1461 | "scope_id": { | ||
| 1462 | "name": "scope_id", | ||
| 1463 | "type": "text", | ||
| 1464 | "primaryKey": false, | ||
| 1465 | "notNull": true | ||
| 1466 | }, | ||
| 1467 | "source_id": { | ||
| 1468 | "name": "source_id", | ||
| 1469 | "type": "text", | ||
| 1470 | "primaryKey": false, | ||
| 1471 | "notNull": true | ||
| 1472 | }, | ||
| 1473 | "plugin_id": { | ||
| 1474 | "name": "plugin_id", | ||
| 1475 | "type": "text", | ||
| 1476 | "primaryKey": false, | ||
| 1477 | "notNull": true | ||
| 1478 | }, | ||
| 1479 | "name": { | ||
| 1480 | "name": "name", | ||
| 1481 | "type": "text", | ||
| 1482 | "primaryKey": false, | ||
| 1483 | "notNull": true | ||
| 1484 | }, | ||
| 1485 | "description": { | ||
| 1486 | "name": "description", | ||
| 1487 | "type": "text", | ||
| 1488 | "primaryKey": false, | ||
| 1489 | "notNull": true | ||
| 1490 | }, | ||
| 1491 | "input_schema": { | ||
| 1492 | "name": "input_schema", | ||
| 1493 | "type": "jsonb", | ||
| 1494 | "primaryKey": false, | ||
| 1495 | "notNull": false | ||
| 1496 | }, | ||
| 1497 | "output_schema": { | ||
| 1498 | "name": "output_schema", | ||
| 1499 | "type": "jsonb", | ||
| 1500 | "primaryKey": false, | ||
| 1501 | "notNull": false | ||
| 1502 | }, | ||
| 1503 | "created_at": { | ||
| 1504 | "name": "created_at", | ||
| 1505 | "type": "timestamp", | ||
| 1506 | "primaryKey": false, | ||
| 1507 | "notNull": true | ||
| 1508 | }, | ||
| 1509 | "updated_at": { | ||
| 1510 | "name": "updated_at", | ||
| 1511 | "type": "timestamp", | ||
| 1512 | "primaryKey": false, | ||
| 1513 | "notNull": true | ||
| 1514 | } | ||
| 1515 | }, | ||
| 1516 | "indexes": { | ||
| 1517 | "tool_scope_id_idx": { | ||
| 1518 | "name": "tool_scope_id_idx", | ||
| 1519 | "columns": [ | ||
| 1520 | { | ||
| 1521 | "expression": "scope_id", | ||
| 1522 | "isExpression": false, | ||
| 1523 | "asc": true, | ||
| 1524 | "nulls": "last" | ||
| 1525 | } | ||
| 1526 | ], | ||
| 1527 | "isUnique": false, | ||
| 1528 | "concurrently": false, | ||
| 1529 | "method": "btree", | ||
| 1530 | "with": {} | ||
| 1531 | }, | ||
| 1532 | "tool_source_id_idx": { | ||
| 1533 | "name": "tool_source_id_idx", | ||
| 1534 | "columns": [ | ||
| 1535 | { | ||
| 1536 | "expression": "source_id", | ||
| 1537 | "isExpression": false, | ||
| 1538 | "asc": true, | ||
| 1539 | "nulls": "last" | ||
| 1540 | } | ||
| 1541 | ], | ||
| 1542 | "isUnique": false, | ||
| 1543 | "concurrently": false, | ||
| 1544 | "method": "btree", | ||
| 1545 | "with": {} | ||
| 1546 | }, | ||
| 1547 | "tool_plugin_id_idx": { | ||
| 1548 | "name": "tool_plugin_id_idx", | ||
| 1549 | "columns": [ | ||
| 1550 | { | ||
| 1551 | "expression": "plugin_id", | ||
| 1552 | "isExpression": false, | ||
| 1553 | "asc": true, | ||
| 1554 | "nulls": "last" | ||
| 1555 | } | ||
| 1556 | ], | ||
| 1557 | "isUnique": false, | ||
| 1558 | "concurrently": false, | ||
| 1559 | "method": "btree", | ||
| 1560 | "with": {} | ||
| 1561 | } | ||
| 1562 | }, | ||
| 1563 | "foreignKeys": {}, | ||
| 1564 | "compositePrimaryKeys": { | ||
| 1565 | "tool_scope_id_id_pk": { | ||
| 1566 | "name": "tool_scope_id_id_pk", | ||
| 1567 | "columns": ["scope_id", "id"] | ||
| 1568 | } | ||
| 1569 | }, | ||
| 1570 | "uniqueConstraints": {}, | ||
| 1571 | "policies": {}, | ||
| 1572 | "checkConstraints": {}, | ||
| 1573 | "isRLSEnabled": false | ||
| 1574 | }, | ||
| 1575 | "public.tool_policy": { | ||
| 1576 | "name": "tool_policy", | ||
| 1577 | "schema": "", | ||
| 1578 | "columns": { | ||
| 1579 | "id": { | ||
| 1580 | "name": "id", | ||
| 1581 | "type": "text", | ||
| 1582 | "primaryKey": false, | ||
| 1583 | "notNull": true | ||
| 1584 | }, | ||
| 1585 | "scope_id": { | ||
| 1586 | "name": "scope_id", | ||
| 1587 | "type": "text", | ||
| 1588 | "primaryKey": false, | ||
| 1589 | "notNull": true | ||
| 1590 | }, | ||
| 1591 | "pattern": { | ||
| 1592 | "name": "pattern", | ||
| 1593 | "type": "text", | ||
| 1594 | "primaryKey": false, | ||
| 1595 | "notNull": true | ||
| 1596 | }, | ||
| 1597 | "action": { | ||
| 1598 | "name": "action", | ||
| 1599 | "type": "text", | ||
| 1600 | "primaryKey": false, | ||
| 1601 | "notNull": true | ||
| 1602 | }, | ||
| 1603 | "position": { | ||
| 1604 | "name": "position", | ||
| 1605 | "type": "text", | ||
| 1606 | "primaryKey": false, | ||
| 1607 | "notNull": true | ||
| 1608 | }, | ||
| 1609 | "created_at": { | ||
| 1610 | "name": "created_at", | ||
| 1611 | "type": "timestamp", | ||
| 1612 | "primaryKey": false, | ||
| 1613 | "notNull": true | ||
| 1614 | }, | ||
| 1615 | "updated_at": { | ||
| 1616 | "name": "updated_at", | ||
| 1617 | "type": "timestamp", | ||
| 1618 | "primaryKey": false, | ||
| 1619 | "notNull": true | ||
| 1620 | } | ||
| 1621 | }, | ||
| 1622 | "indexes": { | ||
| 1623 | "tool_policy_scope_id_position_idx": { | ||
| 1624 | "name": "tool_policy_scope_id_position_idx", | ||
| 1625 | "columns": [ | ||
| 1626 | { | ||
| 1627 | "expression": "scope_id", | ||
| 1628 | "isExpression": false, | ||
| 1629 | "asc": true, | ||
| 1630 | "nulls": "last" | ||
| 1631 | }, | ||
| 1632 | { | ||
| 1633 | "expression": "position", | ||
| 1634 | "isExpression": false, | ||
| 1635 | "asc": true, | ||
| 1636 | "nulls": "last" | ||
| 1637 | } | ||
| 1638 | ], | ||
| 1639 | "isUnique": false, | ||
| 1640 | "concurrently": false, | ||
| 1641 | "method": "btree", | ||
| 1642 | "with": {} | ||
| 1643 | } | ||
| 1644 | }, | ||
| 1645 | "foreignKeys": {}, | ||
| 1646 | "compositePrimaryKeys": { | ||
| 1647 | "tool_policy_scope_id_id_pk": { | ||
| 1648 | "name": "tool_policy_scope_id_id_pk", | ||
| 1649 | "columns": ["scope_id", "id"] | ||
| 1650 | } | ||
| 1651 | }, | ||
| 1652 | "uniqueConstraints": {}, | ||
| 1653 | "policies": {}, | ||
| 1654 | "checkConstraints": {}, | ||
| 1655 | "isRLSEnabled": false | ||
| 1656 | }, | ||
| 1657 | "public.workos_vault_metadata": { | ||
| 1658 | "name": "workos_vault_metadata", | ||
| 1659 | "schema": "", | ||
| 1660 | "columns": { | ||
| 1661 | "id": { | ||
| 1662 | "name": "id", | ||
| 1663 | "type": "text", | ||
| 1664 | "primaryKey": false, | ||
| 1665 | "notNull": true | ||
| 1666 | }, | ||
| 1667 | "scope_id": { | ||
| 1668 | "name": "scope_id", | ||
| 1669 | "type": "text", | ||
| 1670 | "primaryKey": false, | ||
| 1671 | "notNull": true | ||
| 1672 | }, | ||
| 1673 | "name": { | ||
| 1674 | "name": "name", | ||
| 1675 | "type": "text", | ||
| 1676 | "primaryKey": false, | ||
| 1677 | "notNull": true | ||
| 1678 | }, | ||
| 1679 | "purpose": { | ||
| 1680 | "name": "purpose", | ||
| 1681 | "type": "text", | ||
| 1682 | "primaryKey": false, | ||
| 1683 | "notNull": false | ||
| 1684 | }, | ||
| 1685 | "created_at": { | ||
| 1686 | "name": "created_at", | ||
| 1687 | "type": "timestamp", | ||
| 1688 | "primaryKey": false, | ||
| 1689 | "notNull": true | ||
| 1690 | } | ||
| 1691 | }, | ||
| 1692 | "indexes": { | ||
| 1693 | "workos_vault_metadata_scope_id_idx": { | ||
| 1694 | "name": "workos_vault_metadata_scope_id_idx", | ||
| 1695 | "columns": [ | ||
| 1696 | { | ||
| 1697 | "expression": "scope_id", | ||
| 1698 | "isExpression": false, | ||
| 1699 | "asc": true, | ||
| 1700 | "nulls": "last" | ||
| 1701 | } | ||
| 1702 | ], | ||
| 1703 | "isUnique": false, | ||
| 1704 | "concurrently": false, | ||
| 1705 | "method": "btree", | ||
| 1706 | "with": {} | ||
| 1707 | } | ||
| 1708 | }, | ||
| 1709 | "foreignKeys": {}, | ||
| 1710 | "compositePrimaryKeys": { | ||
| 1711 | "workos_vault_metadata_scope_id_id_pk": { | ||
| 1712 | "name": "workos_vault_metadata_scope_id_id_pk", | ||
| 1713 | "columns": ["scope_id", "id"] | ||
| 1714 | } | ||
| 1715 | }, | ||
| 1716 | "uniqueConstraints": {}, | ||
| 1717 | "policies": {}, | ||
| 1718 | "checkConstraints": {}, | ||
| 1719 | "isRLSEnabled": false | ||
| 1720 | }, | ||
| 1721 | "public.graphql_source_header": { | ||
| 1722 | "name": "graphql_source_header", | ||
| 1723 | "schema": "", | ||
| 1724 | "columns": { | ||
| 1725 | "id": { | ||
| 1726 | "name": "id", | ||
| 1727 | "type": "text", | ||
| 1728 | "primaryKey": false, | ||
| 1729 | "notNull": true | ||
| 1730 | }, | ||
| 1731 | "scope_id": { | ||
| 1732 | "name": "scope_id", | ||
| 1733 | "type": "text", | ||
| 1734 | "primaryKey": false, | ||
| 1735 | "notNull": true | ||
| 1736 | }, | ||
| 1737 | "source_id": { | ||
| 1738 | "name": "source_id", | ||
| 1739 | "type": "text", | ||
| 1740 | "primaryKey": false, | ||
| 1741 | "notNull": true | ||
| 1742 | }, | ||
| 1743 | "name": { | ||
| 1744 | "name": "name", | ||
| 1745 | "type": "text", | ||
| 1746 | "primaryKey": false, | ||
| 1747 | "notNull": true | ||
| 1748 | }, | ||
| 1749 | "kind": { | ||
| 1750 | "name": "kind", | ||
| 1751 | "type": "text", | ||
| 1752 | "primaryKey": false, | ||
| 1753 | "notNull": true | ||
| 1754 | }, | ||
| 1755 | "text_value": { | ||
| 1756 | "name": "text_value", | ||
| 1757 | "type": "text", | ||
| 1758 | "primaryKey": false, | ||
| 1759 | "notNull": false | ||
| 1760 | }, | ||
| 1761 | "secret_id": { | ||
| 1762 | "name": "secret_id", | ||
| 1763 | "type": "text", | ||
| 1764 | "primaryKey": false, | ||
| 1765 | "notNull": false | ||
| 1766 | }, | ||
| 1767 | "secret_prefix": { | ||
| 1768 | "name": "secret_prefix", | ||
| 1769 | "type": "text", | ||
| 1770 | "primaryKey": false, | ||
| 1771 | "notNull": false | ||
| 1772 | } | ||
| 1773 | }, | ||
| 1774 | "indexes": { | ||
| 1775 | "graphql_source_header_scope_id_idx": { | ||
| 1776 | "name": "graphql_source_header_scope_id_idx", | ||
| 1777 | "columns": [ | ||
| 1778 | { | ||
| 1779 | "expression": "scope_id", | ||
| 1780 | "isExpression": false, | ||
| 1781 | "asc": true, | ||
| 1782 | "nulls": "last" | ||
| 1783 | } | ||
| 1784 | ], | ||
| 1785 | "isUnique": false, | ||
| 1786 | "concurrently": false, | ||
| 1787 | "method": "btree", | ||
| 1788 | "with": {} | ||
| 1789 | }, | ||
| 1790 | "graphql_source_header_source_id_idx": { | ||
| 1791 | "name": "graphql_source_header_source_id_idx", | ||
| 1792 | "columns": [ | ||
| 1793 | { | ||
| 1794 | "expression": "source_id", | ||
| 1795 | "isExpression": false, | ||
| 1796 | "asc": true, | ||
| 1797 | "nulls": "last" | ||
| 1798 | } | ||
| 1799 | ], | ||
| 1800 | "isUnique": false, | ||
| 1801 | "concurrently": false, | ||
| 1802 | "method": "btree", | ||
| 1803 | "with": {} | ||
| 1804 | }, | ||
| 1805 | "graphql_source_header_secret_id_idx": { | ||
| 1806 | "name": "graphql_source_header_secret_id_idx", | ||
| 1807 | "columns": [ | ||
| 1808 | { | ||
| 1809 | "expression": "secret_id", | ||
| 1810 | "isExpression": false, | ||
| 1811 | "asc": true, | ||
| 1812 | "nulls": "last" | ||
| 1813 | } | ||
| 1814 | ], | ||
| 1815 | "isUnique": false, | ||
| 1816 | "concurrently": false, | ||
| 1817 | "method": "btree", | ||
| 1818 | "with": {} | ||
| 1819 | } | ||
| 1820 | }, | ||
| 1821 | "foreignKeys": {}, | ||
| 1822 | "compositePrimaryKeys": { | ||
| 1823 | "graphql_source_header_scope_id_id_pk": { | ||
| 1824 | "name": "graphql_source_header_scope_id_id_pk", | ||
| 1825 | "columns": ["scope_id", "id"] | ||
| 1826 | } | ||
| 1827 | }, | ||
| 1828 | "uniqueConstraints": {}, | ||
| 1829 | "policies": {}, | ||
| 1830 | "checkConstraints": {}, | ||
| 1831 | "isRLSEnabled": false | ||
| 1832 | }, | ||
| 1833 | "public.graphql_source_query_param": { | ||
| 1834 | "name": "graphql_source_query_param", | ||
| 1835 | "schema": "", | ||
| 1836 | "columns": { | ||
| 1837 | "id": { | ||
| 1838 | "name": "id", | ||
| 1839 | "type": "text", | ||
| 1840 | "primaryKey": false, | ||
| 1841 | "notNull": true | ||
| 1842 | }, | ||
| 1843 | "scope_id": { | ||
| 1844 | "name": "scope_id", | ||
| 1845 | "type": "text", | ||
| 1846 | "primaryKey": false, | ||
| 1847 | "notNull": true | ||
| 1848 | }, | ||
| 1849 | "source_id": { | ||
| 1850 | "name": "source_id", | ||
| 1851 | "type": "text", | ||
| 1852 | "primaryKey": false, | ||
| 1853 | "notNull": true | ||
| 1854 | }, | ||
| 1855 | "name": { | ||
| 1856 | "name": "name", | ||
| 1857 | "type": "text", | ||
| 1858 | "primaryKey": false, | ||
| 1859 | "notNull": true | ||
| 1860 | }, | ||
| 1861 | "kind": { | ||
| 1862 | "name": "kind", | ||
| 1863 | "type": "text", | ||
| 1864 | "primaryKey": false, | ||
| 1865 | "notNull": true | ||
| 1866 | }, | ||
| 1867 | "text_value": { | ||
| 1868 | "name": "text_value", | ||
| 1869 | "type": "text", | ||
| 1870 | "primaryKey": false, | ||
| 1871 | "notNull": false | ||
| 1872 | }, | ||
| 1873 | "secret_id": { | ||
| 1874 | "name": "secret_id", | ||
| 1875 | "type": "text", | ||
| 1876 | "primaryKey": false, | ||
| 1877 | "notNull": false | ||
| 1878 | }, | ||
| 1879 | "secret_prefix": { | ||
| 1880 | "name": "secret_prefix", | ||
| 1881 | "type": "text", | ||
| 1882 | "primaryKey": false, | ||
| 1883 | "notNull": false | ||
| 1884 | } | ||
| 1885 | }, | ||
| 1886 | "indexes": { | ||
| 1887 | "graphql_source_query_param_scope_id_idx": { | ||
| 1888 | "name": "graphql_source_query_param_scope_id_idx", | ||
| 1889 | "columns": [ | ||
| 1890 | { | ||
| 1891 | "expression": "scope_id", | ||
| 1892 | "isExpression": false, | ||
| 1893 | "asc": true, | ||
| 1894 | "nulls": "last" | ||
| 1895 | } | ||
| 1896 | ], | ||
| 1897 | "isUnique": false, | ||
| 1898 | "concurrently": false, | ||
| 1899 | "method": "btree", | ||
| 1900 | "with": {} | ||
| 1901 | }, | ||
| 1902 | "graphql_source_query_param_source_id_idx": { | ||
| 1903 | "name": "graphql_source_query_param_source_id_idx", | ||
| 1904 | "columns": [ | ||
| 1905 | { | ||
| 1906 | "expression": "source_id", | ||
| 1907 | "isExpression": false, | ||
| 1908 | "asc": true, | ||
| 1909 | "nulls": "last" | ||
| 1910 | } | ||
| 1911 | ], | ||
| 1912 | "isUnique": false, | ||
| 1913 | "concurrently": false, | ||
| 1914 | "method": "btree", | ||
| 1915 | "with": {} | ||
| 1916 | }, | ||
| 1917 | "graphql_source_query_param_secret_id_idx": { | ||
| 1918 | "name": "graphql_source_query_param_secret_id_idx", | ||
| 1919 | "columns": [ | ||
| 1920 | { | ||
| 1921 | "expression": "secret_id", | ||
| 1922 | "isExpression": false, | ||
| 1923 | "asc": true, | ||
| 1924 | "nulls": "last" | ||
| 1925 | } | ||
| 1926 | ], | ||
| 1927 | "isUnique": false, | ||
| 1928 | "concurrently": false, | ||
| 1929 | "method": "btree", | ||
| 1930 | "with": {} | ||
| 1931 | } | ||
| 1932 | }, | ||
| 1933 | "foreignKeys": {}, | ||
| 1934 | "compositePrimaryKeys": { | ||
| 1935 | "graphql_source_query_param_scope_id_id_pk": { | ||
| 1936 | "name": "graphql_source_query_param_scope_id_id_pk", | ||
| 1937 | "columns": ["scope_id", "id"] | ||
| 1938 | } | ||
| 1939 | }, | ||
| 1940 | "uniqueConstraints": {}, | ||
| 1941 | "policies": {}, | ||
| 1942 | "checkConstraints": {}, | ||
| 1943 | "isRLSEnabled": false | ||
| 1944 | }, | ||
| 1945 | "public.openapi_source_query_param": { | ||
| 1946 | "name": "openapi_source_query_param", | ||
| 1947 | "schema": "", | ||
| 1948 | "columns": { | ||
| 1949 | "id": { | ||
| 1950 | "name": "id", | ||
| 1951 | "type": "text", | ||
| 1952 | "primaryKey": false, | ||
| 1953 | "notNull": true | ||
| 1954 | }, | ||
| 1955 | "scope_id": { | ||
| 1956 | "name": "scope_id", | ||
| 1957 | "type": "text", | ||
| 1958 | "primaryKey": false, | ||
| 1959 | "notNull": true | ||
| 1960 | }, | ||
| 1961 | "source_id": { | ||
| 1962 | "name": "source_id", | ||
| 1963 | "type": "text", | ||
| 1964 | "primaryKey": false, | ||
| 1965 | "notNull": true | ||
| 1966 | }, | ||
| 1967 | "name": { | ||
| 1968 | "name": "name", | ||
| 1969 | "type": "text", | ||
| 1970 | "primaryKey": false, | ||
| 1971 | "notNull": true | ||
| 1972 | }, | ||
| 1973 | "kind": { | ||
| 1974 | "name": "kind", | ||
| 1975 | "type": "text", | ||
| 1976 | "primaryKey": false, | ||
| 1977 | "notNull": true | ||
| 1978 | }, | ||
| 1979 | "text_value": { | ||
| 1980 | "name": "text_value", | ||
| 1981 | "type": "text", | ||
| 1982 | "primaryKey": false, | ||
| 1983 | "notNull": false | ||
| 1984 | }, | ||
| 1985 | "secret_id": { | ||
| 1986 | "name": "secret_id", | ||
| 1987 | "type": "text", | ||
| 1988 | "primaryKey": false, | ||
| 1989 | "notNull": false | ||
| 1990 | }, | ||
| 1991 | "secret_prefix": { | ||
| 1992 | "name": "secret_prefix", | ||
| 1993 | "type": "text", | ||
| 1994 | "primaryKey": false, | ||
| 1995 | "notNull": false | ||
| 1996 | } | ||
| 1997 | }, | ||
| 1998 | "indexes": { | ||
| 1999 | "openapi_source_query_param_scope_id_idx": { | ||
| 2000 | "name": "openapi_source_query_param_scope_id_idx", | ||
| 2001 | "columns": [ | ||
| 2002 | { | ||
| 2003 | "expression": "scope_id", | ||
| 2004 | "isExpression": false, | ||
| 2005 | "asc": true, | ||
| 2006 | "nulls": "last" | ||
| 2007 | } | ||
| 2008 | ], | ||
| 2009 | "isUnique": false, | ||
| 2010 | "concurrently": false, | ||
| 2011 | "method": "btree", | ||
| 2012 | "with": {} | ||
| 2013 | }, | ||
| 2014 | "openapi_source_query_param_source_id_idx": { | ||
| 2015 | "name": "openapi_source_query_param_source_id_idx", | ||
| 2016 | "columns": [ | ||
| 2017 | { | ||
| 2018 | "expression": "source_id", | ||
| 2019 | "isExpression": false, | ||
| 2020 | "asc": true, | ||
| 2021 | "nulls": "last" | ||
| 2022 | } | ||
| 2023 | ], | ||
| 2024 | "isUnique": false, | ||
| 2025 | "concurrently": false, | ||
| 2026 | "method": "btree", | ||
| 2027 | "with": {} | ||
| 2028 | }, | ||
| 2029 | "openapi_source_query_param_secret_id_idx": { | ||
| 2030 | "name": "openapi_source_query_param_secret_id_idx", | ||
| 2031 | "columns": [ | ||
| 2032 | { | ||
| 2033 | "expression": "secret_id", | ||
| 2034 | "isExpression": false, | ||
| 2035 | "asc": true, | ||
| 2036 | "nulls": "last" | ||
| 2037 | } | ||
| 2038 | ], | ||
| 2039 | "isUnique": false, | ||
| 2040 | "concurrently": false, | ||
| 2041 | "method": "btree", | ||
| 2042 | "with": {} | ||
| 2043 | } | ||
| 2044 | }, | ||
| 2045 | "foreignKeys": {}, | ||
| 2046 | "compositePrimaryKeys": { | ||
| 2047 | "openapi_source_query_param_scope_id_id_pk": { | ||
| 2048 | "name": "openapi_source_query_param_scope_id_id_pk", | ||
| 2049 | "columns": ["scope_id", "id"] | ||
| 2050 | } | ||
| 2051 | }, | ||
| 2052 | "uniqueConstraints": {}, | ||
| 2053 | "policies": {}, | ||
| 2054 | "checkConstraints": {}, | ||
| 2055 | "isRLSEnabled": false | ||
| 2056 | }, | ||
| 2057 | "public.openapi_source_spec_fetch_header": { | ||
| 2058 | "name": "openapi_source_spec_fetch_header", | ||
| 2059 | "schema": "", | ||
| 2060 | "columns": { | ||
| 2061 | "id": { | ||
| 2062 | "name": "id", | ||
| 2063 | "type": "text", | ||
| 2064 | "primaryKey": false, | ||
| 2065 | "notNull": true | ||
| 2066 | }, | ||
| 2067 | "scope_id": { | ||
| 2068 | "name": "scope_id", | ||
| 2069 | "type": "text", | ||
| 2070 | "primaryKey": false, | ||
| 2071 | "notNull": true | ||
| 2072 | }, | ||
| 2073 | "source_id": { | ||
| 2074 | "name": "source_id", | ||
| 2075 | "type": "text", | ||
| 2076 | "primaryKey": false, | ||
| 2077 | "notNull": true | ||
| 2078 | }, | ||
| 2079 | "name": { | ||
| 2080 | "name": "name", | ||
| 2081 | "type": "text", | ||
| 2082 | "primaryKey": false, | ||
| 2083 | "notNull": true | ||
| 2084 | }, | ||
| 2085 | "kind": { | ||
| 2086 | "name": "kind", | ||
| 2087 | "type": "text", | ||
| 2088 | "primaryKey": false, | ||
| 2089 | "notNull": true | ||
| 2090 | }, | ||
| 2091 | "text_value": { | ||
| 2092 | "name": "text_value", | ||
| 2093 | "type": "text", | ||
| 2094 | "primaryKey": false, | ||
| 2095 | "notNull": false | ||
| 2096 | }, | ||
| 2097 | "secret_id": { | ||
| 2098 | "name": "secret_id", | ||
| 2099 | "type": "text", | ||
| 2100 | "primaryKey": false, | ||
| 2101 | "notNull": false | ||
| 2102 | }, | ||
| 2103 | "secret_prefix": { | ||
| 2104 | "name": "secret_prefix", | ||
| 2105 | "type": "text", | ||
| 2106 | "primaryKey": false, | ||
| 2107 | "notNull": false | ||
| 2108 | } | ||
| 2109 | }, | ||
| 2110 | "indexes": { | ||
| 2111 | "openapi_source_spec_fetch_header_scope_id_idx": { | ||
| 2112 | "name": "openapi_source_spec_fetch_header_scope_id_idx", | ||
| 2113 | "columns": [ | ||
| 2114 | { | ||
| 2115 | "expression": "scope_id", | ||
| 2116 | "isExpression": false, | ||
| 2117 | "asc": true, | ||
| 2118 | "nulls": "last" | ||
| 2119 | } | ||
| 2120 | ], | ||
| 2121 | "isUnique": false, | ||
| 2122 | "concurrently": false, | ||
| 2123 | "method": "btree", | ||
| 2124 | "with": {} | ||
| 2125 | }, | ||
| 2126 | "openapi_source_spec_fetch_header_source_id_idx": { | ||
| 2127 | "name": "openapi_source_spec_fetch_header_source_id_idx", | ||
| 2128 | "columns": [ | ||
| 2129 | { | ||
| 2130 | "expression": "source_id", | ||
| 2131 | "isExpression": false, | ||
| 2132 | "asc": true, | ||
| 2133 | "nulls": "last" | ||
| 2134 | } | ||
| 2135 | ], | ||
| 2136 | "isUnique": false, | ||
| 2137 | "concurrently": false, | ||
| 2138 | "method": "btree", | ||
| 2139 | "with": {} | ||
| 2140 | }, | ||
| 2141 | "openapi_source_spec_fetch_header_secret_id_idx": { | ||
| 2142 | "name": "openapi_source_spec_fetch_header_secret_id_idx", | ||
| 2143 | "columns": [ | ||
| 2144 | { | ||
| 2145 | "expression": "secret_id", | ||
| 2146 | "isExpression": false, | ||
| 2147 | "asc": true, | ||
| 2148 | "nulls": "last" | ||
| 2149 | } | ||
| 2150 | ], | ||
| 2151 | "isUnique": false, | ||
| 2152 | "concurrently": false, | ||
| 2153 | "method": "btree", | ||
| 2154 | "with": {} | ||
| 2155 | } | ||
| 2156 | }, | ||
| 2157 | "foreignKeys": {}, | ||
| 2158 | "compositePrimaryKeys": { | ||
| 2159 | "openapi_source_spec_fetch_header_scope_id_id_pk": { | ||
| 2160 | "name": "openapi_source_spec_fetch_header_scope_id_id_pk", | ||
| 2161 | "columns": ["scope_id", "id"] | ||
| 2162 | } | ||
| 2163 | }, | ||
| 2164 | "uniqueConstraints": {}, | ||
| 2165 | "policies": {}, | ||
| 2166 | "checkConstraints": {}, | ||
| 2167 | "isRLSEnabled": false | ||
| 2168 | }, | ||
| 2169 | "public.openapi_source_spec_fetch_query_param": { | ||
| 2170 | "name": "openapi_source_spec_fetch_query_param", | ||
| 2171 | "schema": "", | ||
| 2172 | "columns": { | ||
| 2173 | "id": { | ||
| 2174 | "name": "id", | ||
| 2175 | "type": "text", | ||
| 2176 | "primaryKey": false, | ||
| 2177 | "notNull": true | ||
| 2178 | }, | ||
| 2179 | "scope_id": { | ||
| 2180 | "name": "scope_id", | ||
| 2181 | "type": "text", | ||
| 2182 | "primaryKey": false, | ||
| 2183 | "notNull": true | ||
| 2184 | }, | ||
| 2185 | "source_id": { | ||
| 2186 | "name": "source_id", | ||
| 2187 | "type": "text", | ||
| 2188 | "primaryKey": false, | ||
| 2189 | "notNull": true | ||
| 2190 | }, | ||
| 2191 | "name": { | ||
| 2192 | "name": "name", | ||
| 2193 | "type": "text", | ||
| 2194 | "primaryKey": false, | ||
| 2195 | "notNull": true | ||
| 2196 | }, | ||
| 2197 | "kind": { | ||
| 2198 | "name": "kind", | ||
| 2199 | "type": "text", | ||
| 2200 | "primaryKey": false, | ||
| 2201 | "notNull": true | ||
| 2202 | }, | ||
| 2203 | "text_value": { | ||
| 2204 | "name": "text_value", | ||
| 2205 | "type": "text", | ||
| 2206 | "primaryKey": false, | ||
| 2207 | "notNull": false | ||
| 2208 | }, | ||
| 2209 | "secret_id": { | ||
| 2210 | "name": "secret_id", | ||
| 2211 | "type": "text", | ||
| 2212 | "primaryKey": false, | ||
| 2213 | "notNull": false | ||
| 2214 | }, | ||
| 2215 | "secret_prefix": { | ||
| 2216 | "name": "secret_prefix", | ||
| 2217 | "type": "text", | ||
| 2218 | "primaryKey": false, | ||
| 2219 | "notNull": false | ||
| 2220 | } | ||
| 2221 | }, | ||
| 2222 | "indexes": { | ||
| 2223 | "openapi_source_spec_fetch_query_param_scope_id_idx": { | ||
| 2224 | "name": "openapi_source_spec_fetch_query_param_scope_id_idx", | ||
| 2225 | "columns": [ | ||
| 2226 | { | ||
| 2227 | "expression": "scope_id", | ||
| 2228 | "isExpression": false, | ||
| 2229 | "asc": true, | ||
| 2230 | "nulls": "last" | ||
| 2231 | } | ||
| 2232 | ], | ||
| 2233 | "isUnique": false, | ||
| 2234 | "concurrently": false, | ||
| 2235 | "method": "btree", | ||
| 2236 | "with": {} | ||
| 2237 | }, | ||
| 2238 | "openapi_source_spec_fetch_query_param_source_id_idx": { | ||
| 2239 | "name": "openapi_source_spec_fetch_query_param_source_id_idx", | ||
| 2240 | "columns": [ | ||
| 2241 | { | ||
| 2242 | "expression": "source_id", | ||
| 2243 | "isExpression": false, | ||
| 2244 | "asc": true, | ||
| 2245 | "nulls": "last" | ||
| 2246 | } | ||
| 2247 | ], | ||
| 2248 | "isUnique": false, | ||
| 2249 | "concurrently": false, | ||
| 2250 | "method": "btree", | ||
| 2251 | "with": {} | ||
| 2252 | }, | ||
| 2253 | "openapi_source_spec_fetch_query_param_secret_id_idx": { | ||
| 2254 | "name": "openapi_source_spec_fetch_query_param_secret_id_idx", | ||
| 2255 | "columns": [ | ||
| 2256 | { | ||
| 2257 | "expression": "secret_id", | ||
| 2258 | "isExpression": false, | ||
| 2259 | "asc": true, | ||
| 2260 | "nulls": "last" | ||
| 2261 | } | ||
| 2262 | ], | ||
| 2263 | "isUnique": false, | ||
| 2264 | "concurrently": false, | ||
| 2265 | "method": "btree", | ||
| 2266 | "with": {} | ||
| 2267 | } | ||
| 2268 | }, | ||
| 2269 | "foreignKeys": {}, | ||
| 2270 | "compositePrimaryKeys": { | ||
| 2271 | "openapi_source_spec_fetch_query_param_scope_id_id_pk": { | ||
| 2272 | "name": "openapi_source_spec_fetch_query_param_scope_id_id_pk", | ||
| 2273 | "columns": ["scope_id", "id"] | ||
| 2274 | } | ||
| 2275 | }, | ||
| 2276 | "uniqueConstraints": {}, | ||
| 2277 | "policies": {}, | ||
| 2278 | "checkConstraints": {}, | ||
| 2279 | "isRLSEnabled": false | ||
| 2280 | }, | ||
| 2281 | "public.mcp_source_header": { | ||
| 2282 | "name": "mcp_source_header", | ||
| 2283 | "schema": "", | ||
| 2284 | "columns": { | ||
| 2285 | "id": { | ||
| 2286 | "name": "id", | ||
| 2287 | "type": "text", | ||
| 2288 | "primaryKey": false, | ||
| 2289 | "notNull": true | ||
| 2290 | }, | ||
| 2291 | "scope_id": { | ||
| 2292 | "name": "scope_id", | ||
| 2293 | "type": "text", | ||
| 2294 | "primaryKey": false, | ||
| 2295 | "notNull": true | ||
| 2296 | }, | ||
| 2297 | "source_id": { | ||
| 2298 | "name": "source_id", | ||
| 2299 | "type": "text", | ||
| 2300 | "primaryKey": false, | ||
| 2301 | "notNull": true | ||
| 2302 | }, | ||
| 2303 | "name": { | ||
| 2304 | "name": "name", | ||
| 2305 | "type": "text", | ||
| 2306 | "primaryKey": false, | ||
| 2307 | "notNull": true | ||
| 2308 | }, | ||
| 2309 | "kind": { | ||
| 2310 | "name": "kind", | ||
| 2311 | "type": "text", | ||
| 2312 | "primaryKey": false, | ||
| 2313 | "notNull": true | ||
| 2314 | }, | ||
| 2315 | "text_value": { | ||
| 2316 | "name": "text_value", | ||
| 2317 | "type": "text", | ||
| 2318 | "primaryKey": false, | ||
| 2319 | "notNull": false | ||
| 2320 | }, | ||
| 2321 | "secret_id": { | ||
| 2322 | "name": "secret_id", | ||
| 2323 | "type": "text", | ||
| 2324 | "primaryKey": false, | ||
| 2325 | "notNull": false | ||
| 2326 | }, | ||
| 2327 | "secret_prefix": { | ||
| 2328 | "name": "secret_prefix", | ||
| 2329 | "type": "text", | ||
| 2330 | "primaryKey": false, | ||
| 2331 | "notNull": false | ||
| 2332 | } | ||
| 2333 | }, | ||
| 2334 | "indexes": { | ||
| 2335 | "mcp_source_header_scope_id_idx": { | ||
| 2336 | "name": "mcp_source_header_scope_id_idx", | ||
| 2337 | "columns": [ | ||
| 2338 | { | ||
| 2339 | "expression": "scope_id", | ||
| 2340 | "isExpression": false, | ||
| 2341 | "asc": true, | ||
| 2342 | "nulls": "last" | ||
| 2343 | } | ||
| 2344 | ], | ||
| 2345 | "isUnique": false, | ||
| 2346 | "concurrently": false, | ||
| 2347 | "method": "btree", | ||
| 2348 | "with": {} | ||
| 2349 | }, | ||
| 2350 | "mcp_source_header_source_id_idx": { | ||
| 2351 | "name": "mcp_source_header_source_id_idx", | ||
| 2352 | "columns": [ | ||
| 2353 | { | ||
| 2354 | "expression": "source_id", | ||
| 2355 | "isExpression": false, | ||
| 2356 | "asc": true, | ||
| 2357 | "nulls": "last" | ||
| 2358 | } | ||
| 2359 | ], | ||
| 2360 | "isUnique": false, | ||
| 2361 | "concurrently": false, | ||
| 2362 | "method": "btree", | ||
| 2363 | "with": {} | ||
| 2364 | }, | ||
| 2365 | "mcp_source_header_secret_id_idx": { | ||
| 2366 | "name": "mcp_source_header_secret_id_idx", | ||
| 2367 | "columns": [ | ||
| 2368 | { | ||
| 2369 | "expression": "secret_id", | ||
| 2370 | "isExpression": false, | ||
| 2371 | "asc": true, | ||
| 2372 | "nulls": "last" | ||
| 2373 | } | ||
| 2374 | ], | ||
| 2375 | "isUnique": false, | ||
| 2376 | "concurrently": false, | ||
| 2377 | "method": "btree", | ||
| 2378 | "with": {} | ||
| 2379 | } | ||
| 2380 | }, | ||
| 2381 | "foreignKeys": {}, | ||
| 2382 | "compositePrimaryKeys": { | ||
| 2383 | "mcp_source_header_scope_id_id_pk": { | ||
| 2384 | "name": "mcp_source_header_scope_id_id_pk", | ||
| 2385 | "columns": ["scope_id", "id"] | ||
| 2386 | } | ||
| 2387 | }, | ||
| 2388 | "uniqueConstraints": {}, | ||
| 2389 | "policies": {}, | ||
| 2390 | "checkConstraints": {}, | ||
| 2391 | "isRLSEnabled": false | ||
| 2392 | }, | ||
| 2393 | "public.mcp_source_query_param": { | ||
| 2394 | "name": "mcp_source_query_param", | ||
| 2395 | "schema": "", | ||
| 2396 | "columns": { | ||
| 2397 | "id": { | ||
| 2398 | "name": "id", | ||
| 2399 | "type": "text", | ||
| 2400 | "primaryKey": false, | ||
| 2401 | "notNull": true | ||
| 2402 | }, | ||
| 2403 | "scope_id": { | ||
| 2404 | "name": "scope_id", | ||
| 2405 | "type": "text", | ||
| 2406 | "primaryKey": false, | ||
| 2407 | "notNull": true | ||
| 2408 | }, | ||
| 2409 | "source_id": { | ||
| 2410 | "name": "source_id", | ||
| 2411 | "type": "text", | ||
| 2412 | "primaryKey": false, | ||
| 2413 | "notNull": true | ||
| 2414 | }, | ||
| 2415 | "name": { | ||
| 2416 | "name": "name", | ||
| 2417 | "type": "text", | ||
| 2418 | "primaryKey": false, | ||
| 2419 | "notNull": true | ||
| 2420 | }, | ||
| 2421 | "kind": { | ||
| 2422 | "name": "kind", | ||
| 2423 | "type": "text", | ||
| 2424 | "primaryKey": false, | ||
| 2425 | "notNull": true | ||
| 2426 | }, | ||
| 2427 | "text_value": { | ||
| 2428 | "name": "text_value", | ||
| 2429 | "type": "text", | ||
| 2430 | "primaryKey": false, | ||
| 2431 | "notNull": false | ||
| 2432 | }, | ||
| 2433 | "secret_id": { | ||
| 2434 | "name": "secret_id", | ||
| 2435 | "type": "text", | ||
| 2436 | "primaryKey": false, | ||
| 2437 | "notNull": false | ||
| 2438 | }, | ||
| 2439 | "secret_prefix": { | ||
| 2440 | "name": "secret_prefix", | ||
| 2441 | "type": "text", | ||
| 2442 | "primaryKey": false, | ||
| 2443 | "notNull": false | ||
| 2444 | } | ||
| 2445 | }, | ||
| 2446 | "indexes": { | ||
| 2447 | "mcp_source_query_param_scope_id_idx": { | ||
| 2448 | "name": "mcp_source_query_param_scope_id_idx", | ||
| 2449 | "columns": [ | ||
| 2450 | { | ||
| 2451 | "expression": "scope_id", | ||
| 2452 | "isExpression": false, | ||
| 2453 | "asc": true, | ||
| 2454 | "nulls": "last" | ||
| 2455 | } | ||
| 2456 | ], | ||
| 2457 | "isUnique": false, | ||
| 2458 | "concurrently": false, | ||
| 2459 | "method": "btree", | ||
| 2460 | "with": {} | ||
| 2461 | }, | ||
| 2462 | "mcp_source_query_param_source_id_idx": { | ||
| 2463 | "name": "mcp_source_query_param_source_id_idx", | ||
| 2464 | "columns": [ | ||
| 2465 | { | ||
| 2466 | "expression": "source_id", | ||
| 2467 | "isExpression": false, | ||
| 2468 | "asc": true, | ||
| 2469 | "nulls": "last" | ||
| 2470 | } | ||
| 2471 | ], | ||
| 2472 | "isUnique": false, | ||
| 2473 | "concurrently": false, | ||
| 2474 | "method": "btree", | ||
| 2475 | "with": {} | ||
| 2476 | }, | ||
| 2477 | "mcp_source_query_param_secret_id_idx": { | ||
| 2478 | "name": "mcp_source_query_param_secret_id_idx", | ||
| 2479 | "columns": [ | ||
| 2480 | { | ||
| 2481 | "expression": "secret_id", | ||
| 2482 | "isExpression": false, | ||
| 2483 | "asc": true, | ||
| 2484 | "nulls": "last" | ||
| 2485 | } | ||
| 2486 | ], | ||
| 2487 | "isUnique": false, | ||
| 2488 | "concurrently": false, | ||
| 2489 | "method": "btree", | ||
| 2490 | "with": {} | ||
| 2491 | } | ||
| 2492 | }, | ||
| 2493 | "foreignKeys": {}, | ||
| 2494 | "compositePrimaryKeys": { | ||
| 2495 | "mcp_source_query_param_scope_id_id_pk": { | ||
| 2496 | "name": "mcp_source_query_param_scope_id_id_pk", | ||
| 2497 | "columns": ["scope_id", "id"] | ||
| 2498 | } | ||
| 2499 | }, | ||
| 2500 | "uniqueConstraints": {}, | ||
| 2501 | "policies": {}, | ||
| 2502 | "checkConstraints": {}, | ||
| 2503 | "isRLSEnabled": false | ||
| 2504 | } | ||
| 2505 | }, | ||
| 2506 | "enums": {}, | ||
| 2507 | "schemas": {}, | ||
| 2508 | "sequences": {}, | ||
| 2509 | "roles": {}, | ||
| 2510 | "policies": {}, | ||
| 2511 | "views": {}, | ||
| 2512 | "_meta": { | ||
| 2513 | "columns": {}, | ||
| 2514 | "schemas": {}, | ||
| 2515 | "tables": {} | ||
| 2516 | } | ||
| 2517 | } | ||
| @@ -1,2468 +0,0 @@ | |||
| 1 | { | ||
| 2 | "id": "3b53ed57-f0b1-40a4-9929-dd399180a17a", | ||
| 3 | "prevId": "b8d89563-58e1-4e6b-8674-f502338978e2", | ||
| 4 | "version": "7", | ||
| 5 | "dialect": "postgresql", | ||
| 6 | "tables": { | ||
| 7 | "public.accounts": { | ||
| 8 | "name": "accounts", | ||
| 9 | "schema": "", | ||
| 10 | "columns": { | ||
| 11 | "id": { | ||
| 12 | "name": "id", | ||
| 13 | "type": "text", | ||
| 14 | "primaryKey": true, | ||
| 15 | "notNull": true | ||
| 16 | }, | ||
| 17 | "created_at": { | ||
| 18 | "name": "created_at", | ||
| 19 | "type": "timestamp with time zone", | ||
| 20 | "primaryKey": false, | ||
| 21 | "notNull": true, | ||
| 22 | "default": "now()" | ||
| 23 | } | ||
| 24 | }, | ||
| 25 | "indexes": {}, | ||
| 26 | "foreignKeys": {}, | ||
| 27 | "compositePrimaryKeys": {}, | ||
| 28 | "uniqueConstraints": {}, | ||
| 29 | "policies": {}, | ||
| 30 | "checkConstraints": {}, | ||
| 31 | "isRLSEnabled": false | ||
| 32 | }, | ||
| 33 | "public.memberships": { | ||
| 34 | "name": "memberships", | ||
| 35 | "schema": "", | ||
| 36 | "columns": { | ||
| 37 | "account_id": { | ||
| 38 | "name": "account_id", | ||
| 39 | "type": "text", | ||
| 40 | "primaryKey": false, | ||
| 41 | "notNull": true | ||
| 42 | }, | ||
| 43 | "organization_id": { | ||
| 44 | "name": "organization_id", | ||
| 45 | "type": "text", | ||
| 46 | "primaryKey": false, | ||
| 47 | "notNull": true | ||
| 48 | }, | ||
| 49 | "created_at": { | ||
| 50 | "name": "created_at", | ||
| 51 | "type": "timestamp with time zone", | ||
| 52 | "primaryKey": false, | ||
| 53 | "notNull": true, | ||
| 54 | "default": "now()" | ||
| 55 | } | ||
| 56 | }, | ||
| 57 | "indexes": {}, | ||
| 58 | "foreignKeys": { | ||
| 59 | "memberships_account_id_accounts_id_fk": { | ||
| 60 | "name": "memberships_account_id_accounts_id_fk", | ||
| 61 | "tableFrom": "memberships", | ||
| 62 | "tableTo": "accounts", | ||
| 63 | "columnsFrom": ["account_id"], | ||
| 64 | "columnsTo": ["id"], | ||
| 65 | "onDelete": "cascade", | ||
| 66 | "onUpdate": "no action" | ||
| 67 | }, | ||
| 68 | "memberships_organization_id_organizations_id_fk": { | ||
| 69 | "name": "memberships_organization_id_organizations_id_fk", | ||
| 70 | "tableFrom": "memberships", | ||
| 71 | "tableTo": "organizations", | ||
| 72 | "columnsFrom": ["organization_id"], | ||
| 73 | "columnsTo": ["id"], | ||
| 74 | "onDelete": "cascade", | ||
| 75 | "onUpdate": "no action" | ||
| 76 | } | ||
| 77 | }, | ||
| 78 | "compositePrimaryKeys": { | ||
| 79 | "memberships_account_id_organization_id_pk": { | ||
| 80 | "name": "memberships_account_id_organization_id_pk", | ||
| 81 | "columns": ["account_id", "organization_id"] | ||
| 82 | } | ||
| 83 | }, | ||
| 84 | "uniqueConstraints": {}, | ||
| 85 | "policies": {}, | ||
| 86 | "checkConstraints": {}, | ||
| 87 | "isRLSEnabled": false | ||
| 88 | }, | ||
| 89 | "public.organizations": { | ||
| 90 | "name": "organizations", | ||
| 91 | "schema": "", | ||
| 92 | "columns": { | ||
| 93 | "id": { | ||
| 94 | "name": "id", | ||
| 95 | "type": "text", | ||
| 96 | "primaryKey": true, | ||
| 97 | "notNull": true | ||
| 98 | }, | ||
| 99 | "name": { | ||
| 100 | "name": "name", | ||
| 101 | "type": "text", | ||
| 102 | "primaryKey": false, | ||
| 103 | "notNull": true | ||
| 104 | }, | ||
| 105 | "created_at": { | ||
| 106 | "name": "created_at", | ||
| 107 | "type": "timestamp with time zone", | ||
| 108 | "primaryKey": false, | ||
| 109 | "notNull": true, | ||
| 110 | "default": "now()" | ||
| 111 | } | ||
| 112 | }, | ||
| 113 | "indexes": {}, | ||
| 114 | "foreignKeys": {}, | ||
| 115 | "compositePrimaryKeys": {}, | ||
| 116 | "uniqueConstraints": {}, | ||
| 117 | "policies": {}, | ||
| 118 | "checkConstraints": {}, | ||
| 119 | "isRLSEnabled": false | ||
| 120 | }, | ||
| 121 | "public.blob": { | ||
| 122 | "name": "blob", | ||
| 123 | "schema": "", | ||
| 124 | "columns": { | ||
| 125 | "namespace": { | ||
| 126 | "name": "namespace", | ||
| 127 | "type": "text", | ||
| 128 | "primaryKey": false, | ||
| 129 | "notNull": true | ||
| 130 | }, | ||
| 131 | "key": { | ||
| 132 | "name": "key", | ||
| 133 | "type": "text", | ||
| 134 | "primaryKey": false, | ||
| 135 | "notNull": true | ||
| 136 | }, | ||
| 137 | "value": { | ||
| 138 | "name": "value", | ||
| 139 | "type": "text", | ||
| 140 | "primaryKey": false, | ||
| 141 | "notNull": true | ||
| 142 | } | ||
| 143 | }, | ||
| 144 | "indexes": {}, | ||
| 145 | "foreignKeys": {}, | ||
| 146 | "compositePrimaryKeys": { | ||
| 147 | "blob_namespace_key_pk": { | ||
| 148 | "name": "blob_namespace_key_pk", | ||
| 149 | "columns": ["namespace", "key"] | ||
| 150 | } | ||
| 151 | }, | ||
| 152 | "uniqueConstraints": {}, | ||
| 153 | "policies": {}, | ||
| 154 | "checkConstraints": {}, | ||
| 155 | "isRLSEnabled": false | ||
| 156 | }, | ||
| 157 | "public.connection": { | ||
| 158 | "name": "connection", | ||
| 159 | "schema": "", | ||
| 160 | "columns": { | ||
| 161 | "id": { | ||
| 162 | "name": "id", | ||
| 163 | "type": "text", | ||
| 164 | "primaryKey": false, | ||
| 165 | "notNull": true | ||
| 166 | }, | ||
| 167 | "scope_id": { | ||
| 168 | "name": "scope_id", | ||
| 169 | "type": "text", | ||
| 170 | "primaryKey": false, | ||
| 171 | "notNull": true | ||
| 172 | }, | ||
| 173 | "provider": { | ||
| 174 | "name": "provider", | ||
| 175 | "type": "text", | ||
| 176 | "primaryKey": false, | ||
| 177 | "notNull": true | ||
| 178 | }, | ||
| 179 | "identity_label": { | ||
| 180 | "name": "identity_label", | ||
| 181 | "type": "text", | ||
| 182 | "primaryKey": false, | ||
| 183 | "notNull": false | ||
| 184 | }, | ||
| 185 | "access_token_secret_id": { | ||
| 186 | "name": "access_token_secret_id", | ||
| 187 | "type": "text", | ||
| 188 | "primaryKey": false, | ||
| 189 | "notNull": true | ||
| 190 | }, | ||
| 191 | "refresh_token_secret_id": { | ||
| 192 | "name": "refresh_token_secret_id", | ||
| 193 | "type": "text", | ||
| 194 | "primaryKey": false, | ||
| 195 | "notNull": false | ||
| 196 | }, | ||
| 197 | "expires_at": { | ||
| 198 | "name": "expires_at", | ||
| 199 | "type": "bigint", | ||
| 200 | "primaryKey": false, | ||
| 201 | "notNull": false | ||
| 202 | }, | ||
| 203 | "scope": { | ||
| 204 | "name": "scope", | ||
| 205 | "type": "text", | ||
| 206 | "primaryKey": false, | ||
| 207 | "notNull": false | ||
| 208 | }, | ||
| 209 | "provider_state": { | ||
| 210 | "name": "provider_state", | ||
| 211 | "type": "jsonb", | ||
| 212 | "primaryKey": false, | ||
| 213 | "notNull": false | ||
| 214 | }, | ||
| 215 | "created_at": { | ||
| 216 | "name": "created_at", | ||
| 217 | "type": "timestamp", | ||
| 218 | "primaryKey": false, | ||
| 219 | "notNull": true | ||
| 220 | }, | ||
| 221 | "updated_at": { | ||
| 222 | "name": "updated_at", | ||
| 223 | "type": "timestamp", | ||
| 224 | "primaryKey": false, | ||
| 225 | "notNull": true | ||
| 226 | } | ||
| 227 | }, | ||
| 228 | "indexes": { | ||
| 229 | "connection_scope_id_idx": { | ||
| 230 | "name": "connection_scope_id_idx", | ||
| 231 | "columns": [ | ||
| 232 | { | ||
| 233 | "expression": "scope_id", | ||
| 234 | "isExpression": false, | ||
| 235 | "asc": true, | ||
| 236 | "nulls": "last" | ||
| 237 | } | ||
| 238 | ], | ||
| 239 | "isUnique": false, | ||
| 240 | "concurrently": false, | ||
| 241 | "method": "btree", | ||
| 242 | "with": {} | ||
| 243 | }, | ||
| 244 | "connection_provider_idx": { | ||
| 245 | "name": "connection_provider_idx", | ||
| 246 | "columns": [ | ||
| 247 | { | ||
| 248 | "expression": "provider", | ||
| 249 | "isExpression": false, | ||
| 250 | "asc": true, | ||
| 251 | "nulls": "last" | ||
| 252 | } | ||
| 253 | ], | ||
| 254 | "isUnique": false, | ||
| 255 | "concurrently": false, | ||
| 256 | "method": "btree", | ||
| 257 | "with": {} | ||
| 258 | } | ||
| 259 | }, | ||
| 260 | "foreignKeys": {}, | ||
| 261 | "compositePrimaryKeys": { | ||
| 262 | "connection_scope_id_id_pk": { | ||
| 263 | "name": "connection_scope_id_id_pk", | ||
| 264 | "columns": ["scope_id", "id"] | ||
| 265 | } | ||
| 266 | }, | ||
| 267 | "uniqueConstraints": {}, | ||
| 268 | "policies": {}, | ||
| 269 | "checkConstraints": {}, | ||
| 270 | "isRLSEnabled": false | ||
| 271 | }, | ||
| 272 | "public.credential_binding": { | ||
| 273 | "name": "credential_binding", | ||
| 274 | "schema": "", | ||
| 275 | "columns": { | ||
| 276 | "id": { | ||
| 277 | "name": "id", | ||
| 278 | "type": "text", | ||
| 279 | "primaryKey": false, | ||
| 280 | "notNull": true | ||
| 281 | }, | ||
| 282 | "scope_id": { | ||
| 283 | "name": "scope_id", | ||
| 284 | "type": "text", | ||
| 285 | "primaryKey": false, | ||
| 286 | "notNull": true | ||
| 287 | }, | ||
| 288 | "plugin_id": { | ||
| 289 | "name": "plugin_id", | ||
| 290 | "type": "text", | ||
| 291 | "primaryKey": false, | ||
| 292 | "notNull": true | ||
| 293 | }, | ||
| 294 | "source_id": { | ||
| 295 | "name": "source_id", | ||
| 296 | "type": "text", | ||
| 297 | "primaryKey": false, | ||
| 298 | "notNull": true | ||
| 299 | }, | ||
| 300 | "source_scope_id": { | ||
| 301 | "name": "source_scope_id", | ||
| 302 | "type": "text", | ||
| 303 | "primaryKey": false, | ||
| 304 | "notNull": true | ||
| 305 | }, | ||
| 306 | "slot_key": { | ||
| 307 | "name": "slot_key", | ||
| 308 | "type": "text", | ||
| 309 | "primaryKey": false, | ||
| 310 | "notNull": true | ||
| 311 | }, | ||
| 312 | "kind": { | ||
| 313 | "name": "kind", | ||
| 314 | "type": "text", | ||
| 315 | "primaryKey": false, | ||
| 316 | "notNull": true | ||
| 317 | }, | ||
| 318 | "text_value": { | ||
| 319 | "name": "text_value", | ||
| 320 | "type": "text", | ||
| 321 | "primaryKey": false, | ||
| 322 | "notNull": false | ||
| 323 | }, | ||
| 324 | "secret_id": { | ||
| 325 | "name": "secret_id", | ||
| 326 | "type": "text", | ||
| 327 | "primaryKey": false, | ||
| 328 | "notNull": false | ||
| 329 | }, | ||
| 330 | "connection_id": { | ||
| 331 | "name": "connection_id", | ||
| 332 | "type": "text", | ||
| 333 | "primaryKey": false, | ||
| 334 | "notNull": false | ||
| 335 | }, | ||
| 336 | "created_at": { | ||
| 337 | "name": "created_at", | ||
| 338 | "type": "timestamp", | ||
| 339 | "primaryKey": false, | ||
| 340 | "notNull": true | ||
| 341 | }, | ||
| 342 | "updated_at": { | ||
| 343 | "name": "updated_at", | ||
| 344 | "type": "timestamp", | ||
| 345 | "primaryKey": false, | ||
| 346 | "notNull": true | ||
| 347 | } | ||
| 348 | }, | ||
| 349 | "indexes": { | ||
| 350 | "credential_binding_scope_id_idx": { | ||
| 351 | "name": "credential_binding_scope_id_idx", | ||
| 352 | "columns": [ | ||
| 353 | { | ||
| 354 | "expression": "scope_id", | ||
| 355 | "isExpression": false, | ||
| 356 | "asc": true, | ||
| 357 | "nulls": "last" | ||
| 358 | } | ||
| 359 | ], | ||
| 360 | "isUnique": false, | ||
| 361 | "concurrently": false, | ||
| 362 | "method": "btree", | ||
| 363 | "with": {} | ||
| 364 | }, | ||
| 365 | "credential_binding_plugin_id_idx": { | ||
| 366 | "name": "credential_binding_plugin_id_idx", | ||
| 367 | "columns": [ | ||
| 368 | { | ||
| 369 | "expression": "plugin_id", | ||
| 370 | "isExpression": false, | ||
| 371 | "asc": true, | ||
| 372 | "nulls": "last" | ||
| 373 | } | ||
| 374 | ], | ||
| 375 | "isUnique": false, | ||
| 376 | "concurrently": false, | ||
| 377 | "method": "btree", | ||
| 378 | "with": {} | ||
| 379 | }, | ||
| 380 | "credential_binding_source_id_idx": { | ||
| 381 | "name": "credential_binding_source_id_idx", | ||
| 382 | "columns": [ | ||
| 383 | { | ||
| 384 | "expression": "source_id", | ||
| 385 | "isExpression": false, | ||
| 386 | "asc": true, | ||
| 387 | "nulls": "last" | ||
| 388 | } | ||
| 389 | ], | ||
| 390 | "isUnique": false, | ||
| 391 | "concurrently": false, | ||
| 392 | "method": "btree", | ||
| 393 | "with": {} | ||
| 394 | }, | ||
| 395 | "credential_binding_source_scope_id_idx": { | ||
| 396 | "name": "credential_binding_source_scope_id_idx", | ||
| 397 | "columns": [ | ||
| 398 | { | ||
| 399 | "expression": "source_scope_id", | ||
| 400 | "isExpression": false, | ||
| 401 | "asc": true, | ||
| 402 | "nulls": "last" | ||
| 403 | } | ||
| 404 | ], | ||
| 405 | "isUnique": false, | ||
| 406 | "concurrently": false, | ||
| 407 | "method": "btree", | ||
| 408 | "with": {} | ||
| 409 | }, | ||
| 410 | "credential_binding_slot_key_idx": { | ||
| 411 | "name": "credential_binding_slot_key_idx", | ||
| 412 | "columns": [ | ||
| 413 | { | ||
| 414 | "expression": "slot_key", | ||
| 415 | "isExpression": false, | ||
| 416 | "asc": true, | ||
| 417 | "nulls": "last" | ||
| 418 | } | ||
| 419 | ], | ||
| 420 | "isUnique": false, | ||
| 421 | "concurrently": false, | ||
| 422 | "method": "btree", | ||
| 423 | "with": {} | ||
| 424 | }, | ||
| 425 | "credential_binding_kind_idx": { | ||
| 426 | "name": "credential_binding_kind_idx", | ||
| 427 | "columns": [ | ||
| 428 | { | ||
| 429 | "expression": "kind", | ||
| 430 | "isExpression": false, | ||
| 431 | "asc": true, | ||
| 432 | "nulls": "last" | ||
| 433 | } | ||
| 434 | ], | ||
| 435 | "isUnique": false, | ||
| 436 | "concurrently": false, | ||
| 437 | "method": "btree", | ||
| 438 | "with": {} | ||
| 439 | }, | ||
| 440 | "credential_binding_secret_id_idx": { | ||
| 441 | "name": "credential_binding_secret_id_idx", | ||
| 442 | "columns": [ | ||
| 443 | { | ||
| 444 | "expression": "secret_id", | ||
| 445 | "isExpression": false, | ||
| 446 | "asc": true, | ||
| 447 | "nulls": "last" | ||
| 448 | } | ||
| 449 | ], | ||
| 450 | "isUnique": false, | ||
| 451 | "concurrently": false, | ||
| 452 | "method": "btree", | ||
| 453 | "with": {} | ||
| 454 | }, | ||
| 455 | "credential_binding_connection_id_idx": { | ||
| 456 | "name": "credential_binding_connection_id_idx", | ||
| 457 | "columns": [ | ||
| 458 | { | ||
| 459 | "expression": "connection_id", | ||
| 460 | "isExpression": false, | ||
| 461 | "asc": true, | ||
| 462 | "nulls": "last" | ||
| 463 | } | ||
| 464 | ], | ||
| 465 | "isUnique": false, | ||
| 466 | "concurrently": false, | ||
| 467 | "method": "btree", | ||
| 468 | "with": {} | ||
| 469 | } | ||
| 470 | }, | ||
| 471 | "foreignKeys": {}, | ||
| 472 | "compositePrimaryKeys": { | ||
| 473 | "credential_binding_scope_id_id_pk": { | ||
| 474 | "name": "credential_binding_scope_id_id_pk", | ||
| 475 | "columns": ["scope_id", "id"] | ||
| 476 | } | ||
| 477 | }, | ||
| 478 | "uniqueConstraints": {}, | ||
| 479 | "policies": {}, | ||
| 480 | "checkConstraints": {}, | ||
| 481 | "isRLSEnabled": false | ||
| 482 | }, | ||
| 483 | "public.definition": { | ||
| 484 | "name": "definition", | ||
| 485 | "schema": "", | ||
| 486 | "columns": { | ||
| 487 | "id": { | ||
| 488 | "name": "id", | ||
| 489 | "type": "text", | ||
| 490 | "primaryKey": false, | ||
| 491 | "notNull": true | ||
| 492 | }, | ||
| 493 | "scope_id": { | ||
| 494 | "name": "scope_id", | ||
| 495 | "type": "text", | ||
| 496 | "primaryKey": false, | ||
| 497 | "notNull": true | ||
| 498 | }, | ||
| 499 | "source_id": { | ||
| 500 | "name": "source_id", | ||
| 501 | "type": "text", | ||
| 502 | "primaryKey": false, | ||
| 503 | "notNull": true | ||
| 504 | }, | ||
| 505 | "plugin_id": { | ||
| 506 | "name": "plugin_id", | ||
| 507 | "type": "text", | ||
| 508 | "primaryKey": false, | ||
| 509 | "notNull": true | ||
| 510 | }, | ||
| 511 | "name": { | ||
| 512 | "name": "name", | ||
| 513 | "type": "text", | ||
| 514 | "primaryKey": false, | ||
| 515 | "notNull": true | ||
| 516 | }, | ||
| 517 | "schema": { | ||
| 518 | "name": "schema", | ||
| 519 | "type": "jsonb", | ||
| 520 | "primaryKey": false, | ||
| 521 | "notNull": true | ||
| 522 | }, | ||
| 523 | "created_at": { | ||
| 524 | "name": "created_at", | ||
| 525 | "type": "timestamp", | ||
| 526 | "primaryKey": false, | ||
| 527 | "notNull": true | ||
| 528 | } | ||
| 529 | }, | ||
| 530 | "indexes": { | ||
| 531 | "definition_scope_id_idx": { | ||
| 532 | "name": "definition_scope_id_idx", | ||
| 533 | "columns": [ | ||
| 534 | { | ||
| 535 | "expression": "scope_id", | ||
| 536 | "isExpression": false, | ||
| 537 | "asc": true, | ||
| 538 | "nulls": "last" | ||
| 539 | } | ||
| 540 | ], | ||
| 541 | "isUnique": false, | ||
| 542 | "concurrently": false, | ||
| 543 | "method": "btree", | ||
| 544 | "with": {} | ||
| 545 | }, | ||
| 546 | "definition_source_id_idx": { | ||
| 547 | "name": "definition_source_id_idx", | ||
| 548 | "columns": [ | ||
| 549 | { | ||
| 550 | "expression": "source_id", | ||
| 551 | "isExpression": false, | ||
| 552 | "asc": true, | ||
| 553 | "nulls": "last" | ||
| 554 | } | ||
| 555 | ], | ||
| 556 | "isUnique": false, | ||
| 557 | "concurrently": false, | ||
| 558 | "method": "btree", | ||
| 559 | "with": {} | ||
| 560 | }, | ||
| 561 | "definition_plugin_id_idx": { | ||
| 562 | "name": "definition_plugin_id_idx", | ||
| 563 | "columns": [ | ||
| 564 | { | ||
| 565 | "expression": "plugin_id", | ||
| 566 | "isExpression": false, | ||
| 567 | "asc": true, | ||
| 568 | "nulls": "last" | ||
| 569 | } | ||
| 570 | ], | ||
| 571 | "isUnique": false, | ||
| 572 | "concurrently": false, | ||
| 573 | "method": "btree", | ||
| 574 | "with": {} | ||
| 575 | } | ||
| 576 | }, | ||
| 577 | "foreignKeys": {}, | ||
| 578 | "compositePrimaryKeys": { | ||
| 579 | "definition_scope_id_id_pk": { | ||
| 580 | "name": "definition_scope_id_id_pk", | ||
| 581 | "columns": ["scope_id", "id"] | ||
| 582 | } | ||
| 583 | }, | ||
| 584 | "uniqueConstraints": {}, | ||
| 585 | "policies": {}, | ||
| 586 | "checkConstraints": {}, | ||
| 587 | "isRLSEnabled": false | ||
| 588 | }, | ||
| 589 | "public.graphql_operation": { | ||
| 590 | "name": "graphql_operation", | ||
| 591 | "schema": "", | ||
| 592 | "columns": { | ||
| 593 | "id": { | ||
| 594 | "name": "id", | ||
| 595 | "type": "text", | ||
| 596 | "primaryKey": false, | ||
| 597 | "notNull": true | ||
| 598 | }, | ||
| 599 | "scope_id": { | ||
| 600 | "name": "scope_id", | ||
| 601 | "type": "text", | ||
| 602 | "primaryKey": false, | ||
| 603 | "notNull": true | ||
| 604 | }, | ||
| 605 | "source_id": { | ||
| 606 | "name": "source_id", | ||
| 607 | "type": "text", | ||
| 608 | "primaryKey": false, | ||
| 609 | "notNull": true | ||
| 610 | }, | ||
| 611 | "binding": { | ||
| 612 | "name": "binding", | ||
| 613 | "type": "jsonb", | ||
| 614 | "primaryKey": false, | ||
| 615 | "notNull": true | ||
| 616 | } | ||
| 617 | }, | ||
| 618 | "indexes": { | ||
| 619 | "graphql_operation_scope_id_idx": { | ||
| 620 | "name": "graphql_operation_scope_id_idx", | ||
| 621 | "columns": [ | ||
| 622 | { | ||
| 623 | "expression": "scope_id", | ||
| 624 | "isExpression": false, | ||
| 625 | "asc": true, | ||
| 626 | "nulls": "last" | ||
| 627 | } | ||
| 628 | ], | ||
| 629 | "isUnique": false, | ||
| 630 | "concurrently": false, | ||
| 631 | "method": "btree", | ||
| 632 | "with": {} | ||
| 633 | }, | ||
| 634 | "graphql_operation_source_id_idx": { | ||
| 635 | "name": "graphql_operation_source_id_idx", | ||
| 636 | "columns": [ | ||
| 637 | { | ||
| 638 | "expression": "source_id", | ||
| 639 | "isExpression": false, | ||
| 640 | "asc": true, | ||
| 641 | "nulls": "last" | ||
| 642 | } | ||
| 643 | ], | ||
| 644 | "isUnique": false, | ||
| 645 | "concurrently": false, | ||
| 646 | "method": "btree", | ||
| 647 | "with": {} | ||
| 648 | } | ||
| 649 | }, | ||
| 650 | "foreignKeys": {}, | ||
| 651 | "compositePrimaryKeys": { | ||
| 652 | "graphql_operation_scope_id_id_pk": { | ||
| 653 | "name": "graphql_operation_scope_id_id_pk", | ||
| 654 | "columns": ["scope_id", "id"] | ||
| 655 | } | ||
| 656 | }, | ||
| 657 | "uniqueConstraints": {}, | ||
| 658 | "policies": {}, | ||
| 659 | "checkConstraints": {}, | ||
| 660 | "isRLSEnabled": false | ||
| 661 | }, | ||
| 662 | "public.graphql_source": { | ||
| 663 | "name": "graphql_source", | ||
| 664 | "schema": "", | ||
| 665 | "columns": { | ||
| 666 | "id": { | ||
| 667 | "name": "id", | ||
| 668 | "type": "text", | ||
| 669 | "primaryKey": false, | ||
| 670 | "notNull": true | ||
| 671 | }, | ||
| 672 | "scope_id": { | ||
| 673 | "name": "scope_id", | ||
| 674 | "type": "text", | ||
| 675 | "primaryKey": false, | ||
| 676 | "notNull": true | ||
| 677 | }, | ||
| 678 | "name": { | ||
| 679 | "name": "name", | ||
| 680 | "type": "text", | ||
| 681 | "primaryKey": false, | ||
| 682 | "notNull": true | ||
| 683 | }, | ||
| 684 | "endpoint": { | ||
| 685 | "name": "endpoint", | ||
| 686 | "type": "text", | ||
| 687 | "primaryKey": false, | ||
| 688 | "notNull": true | ||
| 689 | }, | ||
| 690 | "auth_kind": { | ||
| 691 | "name": "auth_kind", | ||
| 692 | "type": "text", | ||
| 693 | "primaryKey": false, | ||
| 694 | "notNull": true, | ||
| 695 | "default": "'none'" | ||
| 696 | }, | ||
| 697 | "auth_connection_slot": { | ||
| 698 | "name": "auth_connection_slot", | ||
| 699 | "type": "text", | ||
| 700 | "primaryKey": false, | ||
| 701 | "notNull": false | ||
| 702 | } | ||
| 703 | }, | ||
| 704 | "indexes": { | ||
| 705 | "graphql_source_scope_id_idx": { | ||
| 706 | "name": "graphql_source_scope_id_idx", | ||
| 707 | "columns": [ | ||
| 708 | { | ||
| 709 | "expression": "scope_id", | ||
| 710 | "isExpression": false, | ||
| 711 | "asc": true, | ||
| 712 | "nulls": "last" | ||
| 713 | } | ||
| 714 | ], | ||
| 715 | "isUnique": false, | ||
| 716 | "concurrently": false, | ||
| 717 | "method": "btree", | ||
| 718 | "with": {} | ||
| 719 | } | ||
| 720 | }, | ||
| 721 | "foreignKeys": {}, | ||
| 722 | "compositePrimaryKeys": { | ||
| 723 | "graphql_source_scope_id_id_pk": { | ||
| 724 | "name": "graphql_source_scope_id_id_pk", | ||
| 725 | "columns": ["scope_id", "id"] | ||
| 726 | } | ||
| 727 | }, | ||
| 728 | "uniqueConstraints": {}, | ||
| 729 | "policies": {}, | ||
| 730 | "checkConstraints": {}, | ||
| 731 | "isRLSEnabled": false | ||
| 732 | }, | ||
| 733 | "public.graphql_source_header": { | ||
| 734 | "name": "graphql_source_header", | ||
| 735 | "schema": "", | ||
| 736 | "columns": { | ||
| 737 | "id": { | ||
| 738 | "name": "id", | ||
| 739 | "type": "text", | ||
| 740 | "primaryKey": false, | ||
| 741 | "notNull": true | ||
| 742 | }, | ||
| 743 | "scope_id": { | ||
| 744 | "name": "scope_id", | ||
| 745 | "type": "text", | ||
| 746 | "primaryKey": false, | ||
| 747 | "notNull": true | ||
| 748 | }, | ||
| 749 | "source_id": { | ||
| 750 | "name": "source_id", | ||
| 751 | "type": "text", | ||
| 752 | "primaryKey": false, | ||
| 753 | "notNull": true | ||
| 754 | }, | ||
| 755 | "name": { | ||
| 756 | "name": "name", | ||
| 757 | "type": "text", | ||
| 758 | "primaryKey": false, | ||
| 759 | "notNull": true | ||
| 760 | }, | ||
| 761 | "kind": { | ||
| 762 | "name": "kind", | ||
| 763 | "type": "text", | ||
| 764 | "primaryKey": false, | ||
| 765 | "notNull": true | ||
| 766 | }, | ||
| 767 | "text_value": { | ||
| 768 | "name": "text_value", | ||
| 769 | "type": "text", | ||
| 770 | "primaryKey": false, | ||
| 771 | "notNull": false | ||
| 772 | }, | ||
| 773 | "slot_key": { | ||
| 774 | "name": "slot_key", | ||
| 775 | "type": "text", | ||
| 776 | "primaryKey": false, | ||
| 777 | "notNull": false | ||
| 778 | }, | ||
| 779 | "prefix": { | ||
| 780 | "name": "prefix", | ||
| 781 | "type": "text", | ||
| 782 | "primaryKey": false, | ||
| 783 | "notNull": false | ||
| 784 | } | ||
| 785 | }, | ||
| 786 | "indexes": { | ||
| 787 | "graphql_source_header_scope_id_idx": { | ||
| 788 | "name": "graphql_source_header_scope_id_idx", | ||
| 789 | "columns": [ | ||
| 790 | { | ||
| 791 | "expression": "scope_id", | ||
| 792 | "isExpression": false, | ||
| 793 | "asc": true, | ||
| 794 | "nulls": "last" | ||
| 795 | } | ||
| 796 | ], | ||
| 797 | "isUnique": false, | ||
| 798 | "concurrently": false, | ||
| 799 | "method": "btree", | ||
| 800 | "with": {} | ||
| 801 | }, | ||
| 802 | "graphql_source_header_source_id_idx": { | ||
| 803 | "name": "graphql_source_header_source_id_idx", | ||
| 804 | "columns": [ | ||
| 805 | { | ||
| 806 | "expression": "source_id", | ||
| 807 | "isExpression": false, | ||
| 808 | "asc": true, | ||
| 809 | "nulls": "last" | ||
| 810 | } | ||
| 811 | ], | ||
| 812 | "isUnique": false, | ||
| 813 | "concurrently": false, | ||
| 814 | "method": "btree", | ||
| 815 | "with": {} | ||
| 816 | } | ||
| 817 | }, | ||
| 818 | "foreignKeys": {}, | ||
| 819 | "compositePrimaryKeys": { | ||
| 820 | "graphql_source_header_scope_id_id_pk": { | ||
| 821 | "name": "graphql_source_header_scope_id_id_pk", | ||
| 822 | "columns": ["scope_id", "id"] | ||
| 823 | } | ||
| 824 | }, | ||
| 825 | "uniqueConstraints": {}, | ||
| 826 | "policies": {}, | ||
| 827 | "checkConstraints": {}, | ||
| 828 | "isRLSEnabled": false | ||
| 829 | }, | ||
| 830 | "public.graphql_source_query_param": { | ||
| 831 | "name": "graphql_source_query_param", | ||
| 832 | "schema": "", | ||
| 833 | "columns": { | ||
| 834 | "id": { | ||
| 835 | "name": "id", | ||
| 836 | "type": "text", | ||
| 837 | "primaryKey": false, | ||
| 838 | "notNull": true | ||
| 839 | }, | ||
| 840 | "scope_id": { | ||
| 841 | "name": "scope_id", | ||
| 842 | "type": "text", | ||
| 843 | "primaryKey": false, | ||
| 844 | "notNull": true | ||
| 845 | }, | ||
| 846 | "source_id": { | ||
| 847 | "name": "source_id", | ||
| 848 | "type": "text", | ||
| 849 | "primaryKey": false, | ||
| 850 | "notNull": true | ||
| 851 | }, | ||
| 852 | "name": { | ||
| 853 | "name": "name", | ||
| 854 | "type": "text", | ||
| 855 | "primaryKey": false, | ||
| 856 | "notNull": true | ||
| 857 | }, | ||
| 858 | "kind": { | ||
| 859 | "name": "kind", | ||
| 860 | "type": "text", | ||
| 861 | "primaryKey": false, | ||
| 862 | "notNull": true | ||
| 863 | }, | ||
| 864 | "text_value": { | ||
| 865 | "name": "text_value", | ||
| 866 | "type": "text", | ||
| 867 | "primaryKey": false, | ||
| 868 | "notNull": false | ||
| 869 | }, | ||
| 870 | "slot_key": { | ||
| 871 | "name": "slot_key", | ||
| 872 | "type": "text", | ||
| 873 | "primaryKey": false, | ||
| 874 | "notNull": false | ||
| 875 | }, | ||
| 876 | "prefix": { | ||
| 877 | "name": "prefix", | ||
| 878 | "type": "text", | ||
| 879 | "primaryKey": false, | ||
| 880 | "notNull": false | ||
| 881 | } | ||
| 882 | }, | ||
| 883 | "indexes": { | ||
| 884 | "graphql_source_query_param_scope_id_idx": { | ||
| 885 | "name": "graphql_source_query_param_scope_id_idx", | ||
| 886 | "columns": [ | ||
| 887 | { | ||
| 888 | "expression": "scope_id", | ||
| 889 | "isExpression": false, | ||
| 890 | "asc": true, | ||
| 891 | "nulls": "last" | ||
| 892 | } | ||
| 893 | ], | ||
| 894 | "isUnique": false, | ||
| 895 | "concurrently": false, | ||
| 896 | "method": "btree", | ||
| 897 | "with": {} | ||
| 898 | }, | ||
| 899 | "graphql_source_query_param_source_id_idx": { | ||
| 900 | "name": "graphql_source_query_param_source_id_idx", | ||
| 901 | "columns": [ | ||
| 902 | { | ||
| 903 | "expression": "source_id", | ||
| 904 | "isExpression": false, | ||
| 905 | "asc": true, | ||
| 906 | "nulls": "last" | ||
| 907 | } | ||
| 908 | ], | ||
| 909 | "isUnique": false, | ||
| 910 | "concurrently": false, | ||
| 911 | "method": "btree", | ||
| 912 | "with": {} | ||
| 913 | } | ||
| 914 | }, | ||
| 915 | "foreignKeys": {}, | ||
| 916 | "compositePrimaryKeys": { | ||
| 917 | "graphql_source_query_param_scope_id_id_pk": { | ||
| 918 | "name": "graphql_source_query_param_scope_id_id_pk", | ||
| 919 | "columns": ["scope_id", "id"] | ||
| 920 | } | ||
| 921 | }, | ||
| 922 | "uniqueConstraints": {}, | ||
| 923 | "policies": {}, | ||
| 924 | "checkConstraints": {}, | ||
| 925 | "isRLSEnabled": false | ||
| 926 | }, | ||
| 927 | "public.mcp_binding": { | ||
| 928 | "name": "mcp_binding", | ||
| 929 | "schema": "", | ||
| 930 | "columns": { | ||
| 931 | "id": { | ||
| 932 | "name": "id", | ||
| 933 | "type": "text", | ||
| 934 | "primaryKey": false, | ||
| 935 | "notNull": true | ||
| 936 | }, | ||
| 937 | "scope_id": { | ||
| 938 | "name": "scope_id", | ||
| 939 | "type": "text", | ||
| 940 | "primaryKey": false, | ||
| 941 | "notNull": true | ||
| 942 | }, | ||
| 943 | "source_id": { | ||
| 944 | "name": "source_id", | ||
| 945 | "type": "text", | ||
| 946 | "primaryKey": false, | ||
| 947 | "notNull": true | ||
| 948 | }, | ||
| 949 | "binding": { | ||
| 950 | "name": "binding", | ||
| 951 | "type": "jsonb", | ||
| 952 | "primaryKey": false, | ||
| 953 | "notNull": true | ||
| 954 | }, | ||
| 955 | "created_at": { | ||
| 956 | "name": "created_at", | ||
| 957 | "type": "timestamp", | ||
| 958 | "primaryKey": false, | ||
| 959 | "notNull": true | ||
| 960 | } | ||
| 961 | }, | ||
| 962 | "indexes": { | ||
| 963 | "mcp_binding_scope_id_idx": { | ||
| 964 | "name": "mcp_binding_scope_id_idx", | ||
| 965 | "columns": [ | ||
| 966 | { | ||
| 967 | "expression": "scope_id", | ||
| 968 | "isExpression": false, | ||
| 969 | "asc": true, | ||
| 970 | "nulls": "last" | ||
| 971 | } | ||
| 972 | ], | ||
| 973 | "isUnique": false, | ||
| 974 | "concurrently": false, | ||
| 975 | "method": "btree", | ||
| 976 | "with": {} | ||
| 977 | }, | ||
| 978 | "mcp_binding_source_id_idx": { | ||
| 979 | "name": "mcp_binding_source_id_idx", | ||
| 980 | "columns": [ | ||
| 981 | { | ||
| 982 | "expression": "source_id", | ||
| 983 | "isExpression": false, | ||
| 984 | "asc": true, | ||
| 985 | "nulls": "last" | ||
| 986 | } | ||
| 987 | ], | ||
| 988 | "isUnique": false, | ||
| 989 | "concurrently": false, | ||
| 990 | "method": "btree", | ||
| 991 | "with": {} | ||
| 992 | } | ||
| 993 | }, | ||
| 994 | "foreignKeys": {}, | ||
| 995 | "compositePrimaryKeys": { | ||
| 996 | "mcp_binding_scope_id_id_pk": { | ||
| 997 | "name": "mcp_binding_scope_id_id_pk", | ||
| 998 | "columns": ["scope_id", "id"] | ||
| 999 | } | ||
| 1000 | }, | ||
| 1001 | "uniqueConstraints": {}, | ||
| 1002 | "policies": {}, | ||
| 1003 | "checkConstraints": {}, | ||
| 1004 | "isRLSEnabled": false | ||
| 1005 | }, | ||
| 1006 | "public.mcp_source": { | ||
| 1007 | "name": "mcp_source", | ||
| 1008 | "schema": "", | ||
| 1009 | "columns": { | ||
| 1010 | "id": { | ||
| 1011 | "name": "id", | ||
| 1012 | "type": "text", | ||
| 1013 | "primaryKey": false, | ||
| 1014 | "notNull": true | ||
| 1015 | }, | ||
| 1016 | "scope_id": { | ||
| 1017 | "name": "scope_id", | ||
| 1018 | "type": "text", | ||
| 1019 | "primaryKey": false, | ||
| 1020 | "notNull": true | ||
| 1021 | }, | ||
| 1022 | "name": { | ||
| 1023 | "name": "name", | ||
| 1024 | "type": "text", | ||
| 1025 | "primaryKey": false, | ||
| 1026 | "notNull": true | ||
| 1027 | }, | ||
| 1028 | "config": { | ||
| 1029 | "name": "config", | ||
| 1030 | "type": "jsonb", | ||
| 1031 | "primaryKey": false, | ||
| 1032 | "notNull": true | ||
| 1033 | }, | ||
| 1034 | "auth_kind": { | ||
| 1035 | "name": "auth_kind", | ||
| 1036 | "type": "text", | ||
| 1037 | "primaryKey": false, | ||
| 1038 | "notNull": true, | ||
| 1039 | "default": "'none'" | ||
| 1040 | }, | ||
| 1041 | "auth_header_name": { | ||
| 1042 | "name": "auth_header_name", | ||
| 1043 | "type": "text", | ||
| 1044 | "primaryKey": false, | ||
| 1045 | "notNull": false | ||
| 1046 | }, | ||
| 1047 | "auth_header_slot": { | ||
| 1048 | "name": "auth_header_slot", | ||
| 1049 | "type": "text", | ||
| 1050 | "primaryKey": false, | ||
| 1051 | "notNull": false | ||
| 1052 | }, | ||
| 1053 | "auth_header_prefix": { | ||
| 1054 | "name": "auth_header_prefix", | ||
| 1055 | "type": "text", | ||
| 1056 | "primaryKey": false, | ||
| 1057 | "notNull": false | ||
| 1058 | }, | ||
| 1059 | "auth_connection_slot": { | ||
| 1060 | "name": "auth_connection_slot", | ||
| 1061 | "type": "text", | ||
| 1062 | "primaryKey": false, | ||
| 1063 | "notNull": false | ||
| 1064 | }, | ||
| 1065 | "auth_client_id_slot": { | ||
| 1066 | "name": "auth_client_id_slot", | ||
| 1067 | "type": "text", | ||
| 1068 | "primaryKey": false, | ||
| 1069 | "notNull": false | ||
| 1070 | }, | ||
| 1071 | "auth_client_secret_slot": { | ||
| 1072 | "name": "auth_client_secret_slot", | ||
| 1073 | "type": "text", | ||
| 1074 | "primaryKey": false, | ||
| 1075 | "notNull": false | ||
| 1076 | }, | ||
| 1077 | "created_at": { | ||
| 1078 | "name": "created_at", | ||
| 1079 | "type": "timestamp", | ||
| 1080 | "primaryKey": false, | ||
| 1081 | "notNull": true | ||
| 1082 | } | ||
| 1083 | }, | ||
| 1084 | "indexes": { | ||
| 1085 | "mcp_source_scope_id_idx": { | ||
| 1086 | "name": "mcp_source_scope_id_idx", | ||
| 1087 | "columns": [ | ||
| 1088 | { | ||
| 1089 | "expression": "scope_id", | ||
| 1090 | "isExpression": false, | ||
| 1091 | "asc": true, | ||
| 1092 | "nulls": "last" | ||
| 1093 | } | ||
| 1094 | ], | ||
| 1095 | "isUnique": false, | ||
| 1096 | "concurrently": false, | ||
| 1097 | "method": "btree", | ||
| 1098 | "with": {} | ||
| 1099 | } | ||
| 1100 | }, | ||
| 1101 | "foreignKeys": {}, | ||
| 1102 | "compositePrimaryKeys": { | ||
| 1103 | "mcp_source_scope_id_id_pk": { | ||
| 1104 | "name": "mcp_source_scope_id_id_pk", | ||
| 1105 | "columns": ["scope_id", "id"] | ||
| 1106 | } | ||
| 1107 | }, | ||
| 1108 | "uniqueConstraints": {}, | ||
| 1109 | "policies": {}, | ||
| 1110 | "checkConstraints": {}, | ||
| 1111 | "isRLSEnabled": false | ||
| 1112 | }, | ||
| 1113 | "public.mcp_source_header": { | ||
| 1114 | "name": "mcp_source_header", | ||
| 1115 | "schema": "", | ||
| 1116 | "columns": { | ||
| 1117 | "id": { | ||
| 1118 | "name": "id", | ||
| 1119 | "type": "text", | ||
| 1120 | "primaryKey": false, | ||
| 1121 | "notNull": true | ||
| 1122 | }, | ||
| 1123 | "scope_id": { | ||
| 1124 | "name": "scope_id", | ||
| 1125 | "type": "text", | ||
| 1126 | "primaryKey": false, | ||
| 1127 | "notNull": true | ||
| 1128 | }, | ||
| 1129 | "source_id": { | ||
| 1130 | "name": "source_id", | ||
| 1131 | "type": "text", | ||
| 1132 | "primaryKey": false, | ||
| 1133 | "notNull": true | ||
| 1134 | }, | ||
| 1135 | "name": { | ||
| 1136 | "name": "name", | ||
| 1137 | "type": "text", | ||
| 1138 | "primaryKey": false, | ||
| 1139 | "notNull": true | ||
| 1140 | }, | ||
| 1141 | "kind": { | ||
| 1142 | "name": "kind", | ||
| 1143 | "type": "text", | ||
| 1144 | "primaryKey": false, | ||
| 1145 | "notNull": true | ||
| 1146 | }, | ||
| 1147 | "text_value": { | ||
| 1148 | "name": "text_value", | ||
| 1149 | "type": "text", | ||
| 1150 | "primaryKey": false, | ||
| 1151 | "notNull": false | ||
| 1152 | }, | ||
| 1153 | "slot_key": { | ||
| 1154 | "name": "slot_key", | ||
| 1155 | "type": "text", | ||
| 1156 | "primaryKey": false, | ||
| 1157 | "notNull": false | ||
| 1158 | }, | ||
| 1159 | "prefix": { | ||
| 1160 | "name": "prefix", | ||
| 1161 | "type": "text", | ||
| 1162 | "primaryKey": false, | ||
| 1163 | "notNull": false | ||
| 1164 | } | ||
| 1165 | }, | ||
| 1166 | "indexes": { | ||
| 1167 | "mcp_source_header_scope_id_idx": { | ||
| 1168 | "name": "mcp_source_header_scope_id_idx", | ||
| 1169 | "columns": [ | ||
| 1170 | { | ||
| 1171 | "expression": "scope_id", | ||
| 1172 | "isExpression": false, | ||
| 1173 | "asc": true, | ||
| 1174 | "nulls": "last" | ||
| 1175 | } | ||
| 1176 | ], | ||
| 1177 | "isUnique": false, | ||
| 1178 | "concurrently": false, | ||
| 1179 | "method": "btree", | ||
| 1180 | "with": {} | ||
| 1181 | }, | ||
| 1182 | "mcp_source_header_source_id_idx": { | ||
| 1183 | "name": "mcp_source_header_source_id_idx", | ||
| 1184 | "columns": [ | ||
| 1185 | { | ||
| 1186 | "expression": "source_id", | ||
| 1187 | "isExpression": false, | ||
| 1188 | "asc": true, | ||
| 1189 | "nulls": "last" | ||
| 1190 | } | ||
| 1191 | ], | ||
| 1192 | "isUnique": false, | ||
| 1193 | "concurrently": false, | ||
| 1194 | "method": "btree", | ||
| 1195 | "with": {} | ||
| 1196 | } | ||
| 1197 | }, | ||
| 1198 | "foreignKeys": {}, | ||
| 1199 | "compositePrimaryKeys": { | ||
| 1200 | "mcp_source_header_scope_id_id_pk": { | ||
| 1201 | "name": "mcp_source_header_scope_id_id_pk", | ||
| 1202 | "columns": ["scope_id", "id"] | ||
| 1203 | } | ||
| 1204 | }, | ||
| 1205 | "uniqueConstraints": {}, | ||
| 1206 | "policies": {}, | ||
| 1207 | "checkConstraints": {}, | ||
| 1208 | "isRLSEnabled": false | ||
| 1209 | }, | ||
| 1210 | "public.mcp_source_query_param": { | ||
| 1211 | "name": "mcp_source_query_param", | ||
| 1212 | "schema": "", | ||
| 1213 | "columns": { | ||
| 1214 | "id": { | ||
| 1215 | "name": "id", | ||
| 1216 | "type": "text", | ||
| 1217 | "primaryKey": false, | ||
| 1218 | "notNull": true | ||
| 1219 | }, | ||
| 1220 | "scope_id": { | ||
| 1221 | "name": "scope_id", | ||
| 1222 | "type": "text", | ||
| 1223 | "primaryKey": false, | ||
| 1224 | "notNull": true | ||
| 1225 | }, | ||
| 1226 | "source_id": { | ||
| 1227 | "name": "source_id", | ||
| 1228 | "type": "text", | ||
| 1229 | "primaryKey": false, | ||
| 1230 | "notNull": true | ||
| 1231 | }, | ||
| 1232 | "name": { | ||
| 1233 | "name": "name", | ||
| 1234 | "type": "text", | ||
| 1235 | "primaryKey": false, | ||
| 1236 | "notNull": true | ||
| 1237 | }, | ||
| 1238 | "kind": { | ||
| 1239 | "name": "kind", | ||
| 1240 | "type": "text", | ||
| 1241 | "primaryKey": false, | ||
| 1242 | "notNull": true | ||
| 1243 | }, | ||
| 1244 | "text_value": { | ||
| 1245 | "name": "text_value", | ||
| 1246 | "type": "text", | ||
| 1247 | "primaryKey": false, | ||
| 1248 | "notNull": false | ||
| 1249 | }, | ||
| 1250 | "slot_key": { | ||
| 1251 | "name": "slot_key", | ||
| 1252 | "type": "text", | ||
| 1253 | "primaryKey": false, | ||
| 1254 | "notNull": false | ||
| 1255 | }, | ||
| 1256 | "prefix": { | ||
| 1257 | "name": "prefix", | ||
| 1258 | "type": "text", | ||
| 1259 | "primaryKey": false, | ||
| 1260 | "notNull": false | ||
| 1261 | } | ||
| 1262 | }, | ||
| 1263 | "indexes": { | ||
| 1264 | "mcp_source_query_param_scope_id_idx": { | ||
| 1265 | "name": "mcp_source_query_param_scope_id_idx", | ||
| 1266 | "columns": [ | ||
| 1267 | { | ||
| 1268 | "expression": "scope_id", | ||
| 1269 | "isExpression": false, | ||
| 1270 | "asc": true, | ||
| 1271 | "nulls": "last" | ||
| 1272 | } | ||
| 1273 | ], | ||
| 1274 | "isUnique": false, | ||
| 1275 | "concurrently": false, | ||
| 1276 | "method": "btree", | ||
| 1277 | "with": {} | ||
| 1278 | }, | ||
| 1279 | "mcp_source_query_param_source_id_idx": { | ||
| 1280 | "name": "mcp_source_query_param_source_id_idx", | ||
| 1281 | "columns": [ | ||
| 1282 | { | ||
| 1283 | "expression": "source_id", | ||
| 1284 | "isExpression": false, | ||
| 1285 | "asc": true, | ||
| 1286 | "nulls": "last" | ||
| 1287 | } | ||
| 1288 | ], | ||
| 1289 | "isUnique": false, | ||
| 1290 | "concurrently": false, | ||
| 1291 | "method": "btree", | ||
| 1292 | "with": {} | ||
| 1293 | } | ||
| 1294 | }, | ||
| 1295 | "foreignKeys": {}, | ||
| 1296 | "compositePrimaryKeys": { | ||
| 1297 | "mcp_source_query_param_scope_id_id_pk": { | ||
| 1298 | "name": "mcp_source_query_param_scope_id_id_pk", | ||
| 1299 | "columns": ["scope_id", "id"] | ||
| 1300 | } | ||
| 1301 | }, | ||
| 1302 | "uniqueConstraints": {}, | ||
| 1303 | "policies": {}, | ||
| 1304 | "checkConstraints": {}, | ||
| 1305 | "isRLSEnabled": false | ||
| 1306 | }, | ||
| 1307 | "public.oauth2_session": { | ||
| 1308 | "name": "oauth2_session", | ||
| 1309 | "schema": "", | ||
| 1310 | "columns": { | ||
| 1311 | "id": { | ||
| 1312 | "name": "id", | ||
| 1313 | "type": "text", | ||
| 1314 | "primaryKey": false, | ||
| 1315 | "notNull": true | ||
| 1316 | }, | ||
| 1317 | "scope_id": { | ||
| 1318 | "name": "scope_id", | ||
| 1319 | "type": "text", | ||
| 1320 | "primaryKey": false, | ||
| 1321 | "notNull": true | ||
| 1322 | }, | ||
| 1323 | "plugin_id": { | ||
| 1324 | "name": "plugin_id", | ||
| 1325 | "type": "text", | ||
| 1326 | "primaryKey": false, | ||
| 1327 | "notNull": true | ||
| 1328 | }, | ||
| 1329 | "strategy": { | ||
| 1330 | "name": "strategy", | ||
| 1331 | "type": "text", | ||
| 1332 | "primaryKey": false, | ||
| 1333 | "notNull": true | ||
| 1334 | }, | ||
| 1335 | "connection_id": { | ||
| 1336 | "name": "connection_id", | ||
| 1337 | "type": "text", | ||
| 1338 | "primaryKey": false, | ||
| 1339 | "notNull": true | ||
| 1340 | }, | ||
| 1341 | "token_scope": { | ||
| 1342 | "name": "token_scope", | ||
| 1343 | "type": "text", | ||
| 1344 | "primaryKey": false, | ||
| 1345 | "notNull": true | ||
| 1346 | }, | ||
| 1347 | "redirect_url": { | ||
| 1348 | "name": "redirect_url", | ||
| 1349 | "type": "text", | ||
| 1350 | "primaryKey": false, | ||
| 1351 | "notNull": true | ||
| 1352 | }, | ||
| 1353 | "payload": { | ||
| 1354 | "name": "payload", | ||
| 1355 | "type": "jsonb", | ||
| 1356 | "primaryKey": false, | ||
| 1357 | "notNull": true | ||
| 1358 | }, | ||
| 1359 | "expires_at": { | ||
| 1360 | "name": "expires_at", | ||
| 1361 | "type": "bigint", | ||
| 1362 | "primaryKey": false, | ||
| 1363 | "notNull": true | ||
| 1364 | }, | ||
| 1365 | "created_at": { | ||
| 1366 | "name": "created_at", | ||
| 1367 | "type": "timestamp", | ||
| 1368 | "primaryKey": false, | ||
| 1369 | "notNull": true | ||
| 1370 | } | ||
| 1371 | }, | ||
| 1372 | "indexes": { | ||
| 1373 | "oauth2_session_scope_id_idx": { | ||
| 1374 | "name": "oauth2_session_scope_id_idx", | ||
| 1375 | "columns": [ | ||
| 1376 | { | ||
| 1377 | "expression": "scope_id", | ||
| 1378 | "isExpression": false, | ||
| 1379 | "asc": true, | ||
| 1380 | "nulls": "last" | ||
| 1381 | } | ||
| 1382 | ], | ||
| 1383 | "isUnique": false, | ||
| 1384 | "concurrently": false, | ||
| 1385 | "method": "btree", | ||
| 1386 | "with": {} | ||
| 1387 | }, | ||
| 1388 | "oauth2_session_plugin_id_idx": { | ||
| 1389 | "name": "oauth2_session_plugin_id_idx", | ||
| 1390 | "columns": [ | ||
| 1391 | { | ||
| 1392 | "expression": "plugin_id", | ||
| 1393 | "isExpression": false, | ||
| 1394 | "asc": true, | ||
| 1395 | "nulls": "last" | ||
| 1396 | } | ||
| 1397 | ], | ||
| 1398 | "isUnique": false, | ||
| 1399 | "concurrently": false, | ||
| 1400 | "method": "btree", | ||
| 1401 | "with": {} | ||
| 1402 | }, | ||
| 1403 | "oauth2_session_connection_id_idx": { | ||
| 1404 | "name": "oauth2_session_connection_id_idx", | ||
| 1405 | "columns": [ | ||
| 1406 | { | ||
| 1407 | "expression": "connection_id", | ||
| 1408 | "isExpression": false, | ||
| 1409 | "asc": true, | ||
| 1410 | "nulls": "last" | ||
| 1411 | } | ||
| 1412 | ], | ||
| 1413 | "isUnique": false, | ||
| 1414 | "concurrently": false, | ||
| 1415 | "method": "btree", | ||
| 1416 | "with": {} | ||
| 1417 | } | ||
| 1418 | }, | ||
| 1419 | "foreignKeys": {}, | ||
| 1420 | "compositePrimaryKeys": { | ||
| 1421 | "oauth2_session_scope_id_id_pk": { | ||
| 1422 | "name": "oauth2_session_scope_id_id_pk", | ||
| 1423 | "columns": ["scope_id", "id"] | ||
| 1424 | } | ||
| 1425 | }, | ||
| 1426 | "uniqueConstraints": {}, | ||
| 1427 | "policies": {}, | ||
| 1428 | "checkConstraints": {}, | ||
| 1429 | "isRLSEnabled": false | ||
| 1430 | }, | ||
| 1431 | "public.openapi_operation": { | ||
| 1432 | "name": "openapi_operation", | ||
| 1433 | "schema": "", | ||
| 1434 | "columns": { | ||
| 1435 | "id": { | ||
| 1436 | "name": "id", | ||
| 1437 | "type": "text", | ||
| 1438 | "primaryKey": false, | ||
| 1439 | "notNull": true | ||
| 1440 | }, | ||
| 1441 | "scope_id": { | ||
| 1442 | "name": "scope_id", | ||
| 1443 | "type": "text", | ||
| 1444 | "primaryKey": false, | ||
| 1445 | "notNull": true | ||
| 1446 | }, | ||
| 1447 | "source_id": { | ||
| 1448 | "name": "source_id", | ||
| 1449 | "type": "text", | ||
| 1450 | "primaryKey": false, | ||
| 1451 | "notNull": true | ||
| 1452 | }, | ||
| 1453 | "binding": { | ||
| 1454 | "name": "binding", | ||
| 1455 | "type": "jsonb", | ||
| 1456 | "primaryKey": false, | ||
| 1457 | "notNull": true | ||
| 1458 | } | ||
| 1459 | }, | ||
| 1460 | "indexes": { | ||
| 1461 | "openapi_operation_scope_id_idx": { | ||
| 1462 | "name": "openapi_operation_scope_id_idx", | ||
| 1463 | "columns": [ | ||
| 1464 | { | ||
| 1465 | "expression": "scope_id", | ||
| 1466 | "isExpression": false, | ||
| 1467 | "asc": true, | ||
| 1468 | "nulls": "last" | ||
| 1469 | } | ||
| 1470 | ], | ||
| 1471 | "isUnique": false, | ||
| 1472 | "concurrently": false, | ||
| 1473 | "method": "btree", | ||
| 1474 | "with": {} | ||
| 1475 | }, | ||
| 1476 | "openapi_operation_source_id_idx": { | ||
| 1477 | "name": "openapi_operation_source_id_idx", | ||
| 1478 | "columns": [ | ||
| 1479 | { | ||
| 1480 | "expression": "source_id", | ||
| 1481 | "isExpression": false, | ||
| 1482 | "asc": true, | ||
| 1483 | "nulls": "last" | ||
| 1484 | } | ||
| 1485 | ], | ||
| 1486 | "isUnique": false, | ||
| 1487 | "concurrently": false, | ||
| 1488 | "method": "btree", | ||
| 1489 | "with": {} | ||
| 1490 | } | ||
| 1491 | }, | ||
| 1492 | "foreignKeys": {}, | ||
| 1493 | "compositePrimaryKeys": { | ||
| 1494 | "openapi_operation_scope_id_id_pk": { | ||
| 1495 | "name": "openapi_operation_scope_id_id_pk", | ||
| 1496 | "columns": ["scope_id", "id"] | ||
| 1497 | } | ||
| 1498 | }, | ||
| 1499 | "uniqueConstraints": {}, | ||
| 1500 | "policies": {}, | ||
| 1501 | "checkConstraints": {}, | ||
| 1502 | "isRLSEnabled": false | ||
| 1503 | }, | ||
| 1504 | "public.openapi_source": { | ||
| 1505 | "name": "openapi_source", | ||
| 1506 | "schema": "", | ||
| 1507 | "columns": { | ||
| 1508 | "id": { | ||
| 1509 | "name": "id", | ||
| 1510 | "type": "text", | ||
| 1511 | "primaryKey": false, | ||
| 1512 | "notNull": true | ||
| 1513 | }, | ||
| 1514 | "scope_id": { | ||
| 1515 | "name": "scope_id", | ||
| 1516 | "type": "text", | ||
| 1517 | "primaryKey": false, | ||
| 1518 | "notNull": true | ||
| 1519 | }, | ||
| 1520 | "name": { | ||
| 1521 | "name": "name", | ||
| 1522 | "type": "text", | ||
| 1523 | "primaryKey": false, | ||
| 1524 | "notNull": true | ||
| 1525 | }, | ||
| 1526 | "spec": { | ||
| 1527 | "name": "spec", | ||
| 1528 | "type": "text", | ||
| 1529 | "primaryKey": false, | ||
| 1530 | "notNull": true | ||
| 1531 | }, | ||
| 1532 | "source_url": { | ||
| 1533 | "name": "source_url", | ||
| 1534 | "type": "text", | ||
| 1535 | "primaryKey": false, | ||
| 1536 | "notNull": false | ||
| 1537 | }, | ||
| 1538 | "base_url": { | ||
| 1539 | "name": "base_url", | ||
| 1540 | "type": "text", | ||
| 1541 | "primaryKey": false, | ||
| 1542 | "notNull": false | ||
| 1543 | }, | ||
| 1544 | "oauth2": { | ||
| 1545 | "name": "oauth2", | ||
| 1546 | "type": "jsonb", | ||
| 1547 | "primaryKey": false, | ||
| 1548 | "notNull": false | ||
| 1549 | } | ||
| 1550 | }, | ||
| 1551 | "indexes": { | ||
| 1552 | "openapi_source_scope_id_idx": { | ||
| 1553 | "name": "openapi_source_scope_id_idx", | ||
| 1554 | "columns": [ | ||
| 1555 | { | ||
| 1556 | "expression": "scope_id", | ||
| 1557 | "isExpression": false, | ||
| 1558 | "asc": true, | ||
| 1559 | "nulls": "last" | ||
| 1560 | } | ||
| 1561 | ], | ||
| 1562 | "isUnique": false, | ||
| 1563 | "concurrently": false, | ||
| 1564 | "method": "btree", | ||
| 1565 | "with": {} | ||
| 1566 | } | ||
| 1567 | }, | ||
| 1568 | "foreignKeys": {}, | ||
| 1569 | "compositePrimaryKeys": { | ||
| 1570 | "openapi_source_scope_id_id_pk": { | ||
| 1571 | "name": "openapi_source_scope_id_id_pk", | ||
| 1572 | "columns": ["scope_id", "id"] | ||
| 1573 | } | ||
| 1574 | }, | ||
| 1575 | "uniqueConstraints": {}, | ||
| 1576 | "policies": {}, | ||
| 1577 | "checkConstraints": {}, | ||
| 1578 | "isRLSEnabled": false | ||
| 1579 | }, | ||
| 1580 | "public.openapi_source_header": { | ||
| 1581 | "name": "openapi_source_header", | ||
| 1582 | "schema": "", | ||
| 1583 | "columns": { | ||
| 1584 | "id": { | ||
| 1585 | "name": "id", | ||
| 1586 | "type": "text", | ||
| 1587 | "primaryKey": false, | ||
| 1588 | "notNull": true | ||
| 1589 | }, | ||
| 1590 | "scope_id": { | ||
| 1591 | "name": "scope_id", | ||
| 1592 | "type": "text", | ||
| 1593 | "primaryKey": false, | ||
| 1594 | "notNull": true | ||
| 1595 | }, | ||
| 1596 | "source_id": { | ||
| 1597 | "name": "source_id", | ||
| 1598 | "type": "text", | ||
| 1599 | "primaryKey": false, | ||
| 1600 | "notNull": true | ||
| 1601 | }, | ||
| 1602 | "name": { | ||
| 1603 | "name": "name", | ||
| 1604 | "type": "text", | ||
| 1605 | "primaryKey": false, | ||
| 1606 | "notNull": true | ||
| 1607 | }, | ||
| 1608 | "kind": { | ||
| 1609 | "name": "kind", | ||
| 1610 | "type": "text", | ||
| 1611 | "primaryKey": false, | ||
| 1612 | "notNull": true | ||
| 1613 | }, | ||
| 1614 | "text_value": { | ||
| 1615 | "name": "text_value", | ||
| 1616 | "type": "text", | ||
| 1617 | "primaryKey": false, | ||
| 1618 | "notNull": false | ||
| 1619 | }, | ||
| 1620 | "slot_key": { | ||
| 1621 | "name": "slot_key", | ||
| 1622 | "type": "text", | ||
| 1623 | "primaryKey": false, | ||
| 1624 | "notNull": false | ||
| 1625 | }, | ||
| 1626 | "prefix": { | ||
| 1627 | "name": "prefix", | ||
| 1628 | "type": "text", | ||
| 1629 | "primaryKey": false, | ||
| 1630 | "notNull": false | ||
| 1631 | } | ||
| 1632 | }, | ||
| 1633 | "indexes": { | ||
| 1634 | "openapi_source_header_scope_id_idx": { | ||
| 1635 | "name": "openapi_source_header_scope_id_idx", | ||
| 1636 | "columns": [ | ||
| 1637 | { | ||
| 1638 | "expression": "scope_id", | ||
| 1639 | "isExpression": false, | ||
| 1640 | "asc": true, | ||
| 1641 | "nulls": "last" | ||
| 1642 | } | ||
| 1643 | ], | ||
| 1644 | "isUnique": false, | ||
| 1645 | "concurrently": false, | ||
| 1646 | "method": "btree", | ||
| 1647 | "with": {} | ||
| 1648 | }, | ||
| 1649 | "openapi_source_header_source_id_idx": { | ||
| 1650 | "name": "openapi_source_header_source_id_idx", | ||
| 1651 | "columns": [ | ||
| 1652 | { | ||
| 1653 | "expression": "source_id", | ||
| 1654 | "isExpression": false, | ||
| 1655 | "asc": true, | ||
| 1656 | "nulls": "last" | ||
| 1657 | } | ||
| 1658 | ], | ||
| 1659 | "isUnique": false, | ||
| 1660 | "concurrently": false, | ||
| 1661 | "method": "btree", | ||
| 1662 | "with": {} | ||
| 1663 | } | ||
| 1664 | }, | ||
| 1665 | "foreignKeys": {}, | ||
| 1666 | "compositePrimaryKeys": { | ||
| 1667 | "openapi_source_header_scope_id_id_pk": { | ||
| 1668 | "name": "openapi_source_header_scope_id_id_pk", | ||
| 1669 | "columns": ["scope_id", "id"] | ||
| 1670 | } | ||
| 1671 | }, | ||
| 1672 | "uniqueConstraints": {}, | ||
| 1673 | "policies": {}, | ||
| 1674 | "checkConstraints": {}, | ||
| 1675 | "isRLSEnabled": false | ||
| 1676 | }, | ||
| 1677 | "public.openapi_source_query_param": { | ||
| 1678 | "name": "openapi_source_query_param", | ||
| 1679 | "schema": "", | ||
| 1680 | "columns": { | ||
| 1681 | "id": { | ||
| 1682 | "name": "id", | ||
| 1683 | "type": "text", | ||
| 1684 | "primaryKey": false, | ||
| 1685 | "notNull": true | ||
| 1686 | }, | ||
| 1687 | "scope_id": { | ||
| 1688 | "name": "scope_id", | ||
| 1689 | "type": "text", | ||
| 1690 | "primaryKey": false, | ||
| 1691 | "notNull": true | ||
| 1692 | }, | ||
| 1693 | "source_id": { | ||
| 1694 | "name": "source_id", | ||
| 1695 | "type": "text", | ||
| 1696 | "primaryKey": false, | ||
| 1697 | "notNull": true | ||
| 1698 | }, | ||
| 1699 | "name": { | ||
| 1700 | "name": "name", | ||
| 1701 | "type": "text", | ||
| 1702 | "primaryKey": false, | ||
| 1703 | "notNull": true | ||
| 1704 | }, | ||
| 1705 | "kind": { | ||
| 1706 | "name": "kind", | ||
| 1707 | "type": "text", | ||
| 1708 | "primaryKey": false, | ||
| 1709 | "notNull": true | ||
| 1710 | }, | ||
| 1711 | "text_value": { | ||
| 1712 | "name": "text_value", | ||
| 1713 | "type": "text", | ||
| 1714 | "primaryKey": false, | ||
| 1715 | "notNull": false | ||
| 1716 | }, | ||
| 1717 | "slot_key": { | ||
| 1718 | "name": "slot_key", | ||
| 1719 | "type": "text", | ||
| 1720 | "primaryKey": false, | ||
| 1721 | "notNull": false | ||
| 1722 | }, | ||
| 1723 | "prefix": { | ||
| 1724 | "name": "prefix", | ||
| 1725 | "type": "text", | ||
| 1726 | "primaryKey": false, | ||
| 1727 | "notNull": false | ||
| 1728 | } | ||
| 1729 | }, | ||
| 1730 | "indexes": { | ||
| 1731 | "openapi_source_query_param_scope_id_idx": { | ||
| 1732 | "name": "openapi_source_query_param_scope_id_idx", | ||
| 1733 | "columns": [ | ||
| 1734 | { | ||
| 1735 | "expression": "scope_id", | ||
| 1736 | "isExpression": false, | ||
| 1737 | "asc": true, | ||
| 1738 | "nulls": "last" | ||
| 1739 | } | ||
| 1740 | ], | ||
| 1741 | "isUnique": false, | ||
| 1742 | "concurrently": false, | ||
| 1743 | "method": "btree", | ||
| 1744 | "with": {} | ||
| 1745 | }, | ||
| 1746 | "openapi_source_query_param_source_id_idx": { | ||
| 1747 | "name": "openapi_source_query_param_source_id_idx", | ||
| 1748 | "columns": [ | ||
| 1749 | { | ||
| 1750 | "expression": "source_id", | ||
| 1751 | "isExpression": false, | ||
| 1752 | "asc": true, | ||
| 1753 | "nulls": "last" | ||
| 1754 | } | ||
| 1755 | ], | ||
| 1756 | "isUnique": false, | ||
| 1757 | "concurrently": false, | ||
| 1758 | "method": "btree", | ||
| 1759 | "with": {} | ||
| 1760 | } | ||
| 1761 | }, | ||
| 1762 | "foreignKeys": {}, | ||
| 1763 | "compositePrimaryKeys": { | ||
| 1764 | "openapi_source_query_param_scope_id_id_pk": { | ||
| 1765 | "name": "openapi_source_query_param_scope_id_id_pk", | ||
| 1766 | "columns": ["scope_id", "id"] | ||
| 1767 | } | ||
| 1768 | }, | ||
| 1769 | "uniqueConstraints": {}, | ||
| 1770 | "policies": {}, | ||
| 1771 | "checkConstraints": {}, | ||
| 1772 | "isRLSEnabled": false | ||
| 1773 | }, | ||
| 1774 | "public.openapi_source_spec_fetch_header": { | ||
| 1775 | "name": "openapi_source_spec_fetch_header", | ||
| 1776 | "schema": "", | ||
| 1777 | "columns": { | ||
| 1778 | "id": { | ||
| 1779 | "name": "id", | ||
| 1780 | "type": "text", | ||
| 1781 | "primaryKey": false, | ||
| 1782 | "notNull": true | ||
| 1783 | }, | ||
| 1784 | "scope_id": { | ||
| 1785 | "name": "scope_id", | ||
| 1786 | "type": "text", | ||
| 1787 | "primaryKey": false, | ||
| 1788 | "notNull": true | ||
| 1789 | }, | ||
| 1790 | "source_id": { | ||
| 1791 | "name": "source_id", | ||
| 1792 | "type": "text", | ||
| 1793 | "primaryKey": false, | ||
| 1794 | "notNull": true | ||
| 1795 | }, | ||
| 1796 | "name": { | ||
| 1797 | "name": "name", | ||
| 1798 | "type": "text", | ||
| 1799 | "primaryKey": false, | ||
| 1800 | "notNull": true | ||
| 1801 | }, | ||
| 1802 | "kind": { | ||
| 1803 | "name": "kind", | ||
| 1804 | "type": "text", | ||
| 1805 | "primaryKey": false, | ||
| 1806 | "notNull": true | ||
| 1807 | }, | ||
| 1808 | "text_value": { | ||
| 1809 | "name": "text_value", | ||
| 1810 | "type": "text", | ||
| 1811 | "primaryKey": false, | ||
| 1812 | "notNull": false | ||
| 1813 | }, | ||
| 1814 | "slot_key": { | ||
| 1815 | "name": "slot_key", | ||
| 1816 | "type": "text", | ||
| 1817 | "primaryKey": false, | ||
| 1818 | "notNull": false | ||
| 1819 | }, | ||
| 1820 | "prefix": { | ||
| 1821 | "name": "prefix", | ||
| 1822 | "type": "text", | ||
| 1823 | "primaryKey": false, | ||
| 1824 | "notNull": false | ||
| 1825 | } | ||
| 1826 | }, | ||
| 1827 | "indexes": { | ||
| 1828 | "openapi_source_spec_fetch_header_scope_id_idx": { | ||
| 1829 | "name": "openapi_source_spec_fetch_header_scope_id_idx", | ||
| 1830 | "columns": [ | ||
| 1831 | { | ||
| 1832 | "expression": "scope_id", | ||
| 1833 | "isExpression": false, | ||
| 1834 | "asc": true, | ||
| 1835 | "nulls": "last" | ||
| 1836 | } | ||
| 1837 | ], | ||
| 1838 | "isUnique": false, | ||
| 1839 | "concurrently": false, | ||
| 1840 | "method": "btree", | ||
| 1841 | "with": {} | ||
| 1842 | }, | ||
| 1843 | "openapi_source_spec_fetch_header_source_id_idx": { | ||
| 1844 | "name": "openapi_source_spec_fetch_header_source_id_idx", | ||
| 1845 | "columns": [ | ||
| 1846 | { | ||
| 1847 | "expression": "source_id", | ||
| 1848 | "isExpression": false, | ||
| 1849 | "asc": true, | ||
| 1850 | "nulls": "last" | ||
| 1851 | } | ||
| 1852 | ], | ||
| 1853 | "isUnique": false, | ||
| 1854 | "concurrently": false, | ||
| 1855 | "method": "btree", | ||
| 1856 | "with": {} | ||
| 1857 | } | ||
| 1858 | }, | ||
| 1859 | "foreignKeys": {}, | ||
| 1860 | "compositePrimaryKeys": { | ||
| 1861 | "openapi_source_spec_fetch_header_scope_id_id_pk": { | ||
| 1862 | "name": "openapi_source_spec_fetch_header_scope_id_id_pk", | ||
| 1863 | "columns": ["scope_id", "id"] | ||
| 1864 | } | ||
| 1865 | }, | ||
| 1866 | "uniqueConstraints": {}, | ||
| 1867 | "policies": {}, | ||
| 1868 | "checkConstraints": {}, | ||
| 1869 | "isRLSEnabled": false | ||
| 1870 | }, | ||
| 1871 | "public.openapi_source_spec_fetch_query_param": { | ||
| 1872 | "name": "openapi_source_spec_fetch_query_param", | ||
| 1873 | "schema": "", | ||
| 1874 | "columns": { | ||
| 1875 | "id": { | ||
| 1876 | "name": "id", | ||
| 1877 | "type": "text", | ||
| 1878 | "primaryKey": false, | ||
| 1879 | "notNull": true | ||
| 1880 | }, | ||
| 1881 | "scope_id": { | ||
| 1882 | "name": "scope_id", | ||
| 1883 | "type": "text", | ||
| 1884 | "primaryKey": false, | ||
| 1885 | "notNull": true | ||
| 1886 | }, | ||
| 1887 | "source_id": { | ||
| 1888 | "name": "source_id", | ||
| 1889 | "type": "text", | ||
| 1890 | "primaryKey": false, | ||
| 1891 | "notNull": true | ||
| 1892 | }, | ||
| 1893 | "name": { | ||
| 1894 | "name": "name", | ||
| 1895 | "type": "text", | ||
| 1896 | "primaryKey": false, | ||
| 1897 | "notNull": true | ||
| 1898 | }, | ||
| 1899 | "kind": { | ||
| 1900 | "name": "kind", | ||
| 1901 | "type": "text", | ||
| 1902 | "primaryKey": false, | ||
| 1903 | "notNull": true | ||
| 1904 | }, | ||
| 1905 | "text_value": { | ||
| 1906 | "name": "text_value", | ||
| 1907 | "type": "text", | ||
| 1908 | "primaryKey": false, | ||
| 1909 | "notNull": false | ||
| 1910 | }, | ||
| 1911 | "slot_key": { | ||
| 1912 | "name": "slot_key", | ||
| 1913 | "type": "text", | ||
| 1914 | "primaryKey": false, | ||
| 1915 | "notNull": false | ||
| 1916 | }, | ||
| 1917 | "prefix": { | ||
| 1918 | "name": "prefix", | ||
| 1919 | "type": "text", | ||
| 1920 | "primaryKey": false, | ||
| 1921 | "notNull": false | ||
| 1922 | } | ||
| 1923 | }, | ||
| 1924 | "indexes": { | ||
| 1925 | "openapi_source_spec_fetch_query_param_scope_id_idx": { | ||
| 1926 | "name": "openapi_source_spec_fetch_query_param_scope_id_idx", | ||
| 1927 | "columns": [ | ||
| 1928 | { | ||
| 1929 | "expression": "scope_id", | ||
| 1930 | "isExpression": false, | ||
| 1931 | "asc": true, | ||
| 1932 | "nulls": "last" | ||
| 1933 | } | ||
| 1934 | ], | ||
| 1935 | "isUnique": false, | ||
| 1936 | "concurrently": false, | ||
| 1937 | "method": "btree", | ||
| 1938 | "with": {} | ||
| 1939 | }, | ||
| 1940 | "openapi_source_spec_fetch_query_param_source_id_idx": { | ||
| 1941 | "name": "openapi_source_spec_fetch_query_param_source_id_idx", | ||
| 1942 | "columns": [ | ||
| 1943 | { | ||
| 1944 | "expression": "source_id", | ||
| 1945 | "isExpression": false, | ||
| 1946 | "asc": true, | ||
| 1947 | "nulls": "last" | ||
| 1948 | } | ||
| 1949 | ], | ||
| 1950 | "isUnique": false, | ||
| 1951 | "concurrently": false, | ||
| 1952 | "method": "btree", | ||
| 1953 | "with": {} | ||
| 1954 | } | ||
| 1955 | }, | ||
| 1956 | "foreignKeys": {}, | ||
| 1957 | "compositePrimaryKeys": { | ||
| 1958 | "openapi_source_spec_fetch_query_param_scope_id_id_pk": { | ||
| 1959 | "name": "openapi_source_spec_fetch_query_param_scope_id_id_pk", | ||
| 1960 | "columns": ["scope_id", "id"] | ||
| 1961 | } | ||
| 1962 | }, | ||
| 1963 | "uniqueConstraints": {}, | ||
| 1964 | "policies": {}, | ||
| 1965 | "checkConstraints": {}, | ||
| 1966 | "isRLSEnabled": false | ||
| 1967 | }, | ||
| 1968 | "public.secret": { | ||
| 1969 | "name": "secret", | ||
| 1970 | "schema": "", | ||
| 1971 | "columns": { | ||
| 1972 | "id": { | ||
| 1973 | "name": "id", | ||
| 1974 | "type": "text", | ||
| 1975 | "primaryKey": false, | ||
| 1976 | "notNull": true | ||
| 1977 | }, | ||
| 1978 | "scope_id": { | ||
| 1979 | "name": "scope_id", | ||
| 1980 | "type": "text", | ||
| 1981 | "primaryKey": false, | ||
| 1982 | "notNull": true | ||
| 1983 | }, | ||
| 1984 | "name": { | ||
| 1985 | "name": "name", | ||
| 1986 | "type": "text", | ||
| 1987 | "primaryKey": false, | ||
| 1988 | "notNull": true | ||
| 1989 | }, | ||
| 1990 | "provider": { | ||
| 1991 | "name": "provider", | ||
| 1992 | "type": "text", | ||
| 1993 | "primaryKey": false, | ||
| 1994 | "notNull": true | ||
| 1995 | }, | ||
| 1996 | "owned_by_connection_id": { | ||
| 1997 | "name": "owned_by_connection_id", | ||
| 1998 | "type": "text", | ||
| 1999 | "primaryKey": false, | ||
| 2000 | "notNull": false | ||
| 2001 | }, | ||
| 2002 | "created_at": { | ||
| 2003 | "name": "created_at", | ||
| 2004 | "type": "timestamp", | ||
| 2005 | "primaryKey": false, | ||
| 2006 | "notNull": true | ||
| 2007 | } | ||
| 2008 | }, | ||
| 2009 | "indexes": { | ||
| 2010 | "secret_scope_id_idx": { | ||
| 2011 | "name": "secret_scope_id_idx", | ||
| 2012 | "columns": [ | ||
| 2013 | { | ||
| 2014 | "expression": "scope_id", | ||
| 2015 | "isExpression": false, | ||
| 2016 | "asc": true, | ||
| 2017 | "nulls": "last" | ||
| 2018 | } | ||
| 2019 | ], | ||
| 2020 | "isUnique": false, | ||
| 2021 | "concurrently": false, | ||
| 2022 | "method": "btree", | ||
| 2023 | "with": {} | ||
| 2024 | }, | ||
| 2025 | "secret_provider_idx": { | ||
| 2026 | "name": "secret_provider_idx", | ||
| 2027 | "columns": [ | ||
| 2028 | { | ||
| 2029 | "expression": "provider", | ||
| 2030 | "isExpression": false, | ||
| 2031 | "asc": true, | ||
| 2032 | "nulls": "last" | ||
| 2033 | } | ||
| 2034 | ], | ||
| 2035 | "isUnique": false, | ||
| 2036 | "concurrently": false, | ||
| 2037 | "method": "btree", | ||
| 2038 | "with": {} | ||
| 2039 | }, | ||
| 2040 | "secret_owned_by_connection_id_idx": { | ||
| 2041 | "name": "secret_owned_by_connection_id_idx", | ||
| 2042 | "columns": [ | ||
| 2043 | { | ||
| 2044 | "expression": "owned_by_connection_id", | ||
| 2045 | "isExpression": false, | ||
| 2046 | "asc": true, | ||
| 2047 | "nulls": "last" | ||
| 2048 | } | ||
| 2049 | ], | ||
| 2050 | "isUnique": false, | ||
| 2051 | "concurrently": false, | ||
| 2052 | "method": "btree", | ||
| 2053 | "with": {} | ||
| 2054 | } | ||
| 2055 | }, | ||
| 2056 | "foreignKeys": {}, | ||
| 2057 | "compositePrimaryKeys": { | ||
| 2058 | "secret_scope_id_id_pk": { | ||
| 2059 | "name": "secret_scope_id_id_pk", | ||
| 2060 | "columns": ["scope_id", "id"] | ||
| 2061 | } | ||
| 2062 | }, | ||
| 2063 | "uniqueConstraints": {}, | ||
| 2064 | "policies": {}, | ||
| 2065 | "checkConstraints": {}, | ||
| 2066 | "isRLSEnabled": false | ||
| 2067 | }, | ||
| 2068 | "public.source": { | ||
| 2069 | "name": "source", | ||
| 2070 | "schema": "", | ||
| 2071 | "columns": { | ||
| 2072 | "id": { | ||
| 2073 | "name": "id", | ||
| 2074 | "type": "text", | ||
| 2075 | "primaryKey": false, | ||
| 2076 | "notNull": true | ||
| 2077 | }, | ||
| 2078 | "scope_id": { | ||
| 2079 | "name": "scope_id", | ||
| 2080 | "type": "text", | ||
| 2081 | "primaryKey": false, | ||
| 2082 | "notNull": true | ||
| 2083 | }, | ||
| 2084 | "plugin_id": { | ||
| 2085 | "name": "plugin_id", | ||
| 2086 | "type": "text", | ||
| 2087 | "primaryKey": false, | ||
| 2088 | "notNull": true | ||
| 2089 | }, | ||
| 2090 | "kind": { | ||
| 2091 | "name": "kind", | ||
| 2092 | "type": "text", | ||
| 2093 | "primaryKey": false, | ||
| 2094 | "notNull": true | ||
| 2095 | }, | ||
| 2096 | "name": { | ||
| 2097 | "name": "name", | ||
| 2098 | "type": "text", | ||
| 2099 | "primaryKey": false, | ||
| 2100 | "notNull": true | ||
| 2101 | }, | ||
| 2102 | "url": { | ||
| 2103 | "name": "url", | ||
| 2104 | "type": "text", | ||
| 2105 | "primaryKey": false, | ||
| 2106 | "notNull": false | ||
| 2107 | }, | ||
| 2108 | "can_remove": { | ||
| 2109 | "name": "can_remove", | ||
| 2110 | "type": "boolean", | ||
| 2111 | "primaryKey": false, | ||
| 2112 | "notNull": true, | ||
| 2113 | "default": true | ||
| 2114 | }, | ||
| 2115 | "can_refresh": { | ||
| 2116 | "name": "can_refresh", | ||
| 2117 | "type": "boolean", | ||
| 2118 | "primaryKey": false, | ||
| 2119 | "notNull": true, | ||
| 2120 | "default": false | ||
| 2121 | }, | ||
| 2122 | "can_edit": { | ||
| 2123 | "name": "can_edit", | ||
| 2124 | "type": "boolean", | ||
| 2125 | "primaryKey": false, | ||
| 2126 | "notNull": true, | ||
| 2127 | "default": false | ||
| 2128 | }, | ||
| 2129 | "created_at": { | ||
| 2130 | "name": "created_at", | ||
| 2131 | "type": "timestamp", | ||
| 2132 | "primaryKey": false, | ||
| 2133 | "notNull": true | ||
| 2134 | }, | ||
| 2135 | "updated_at": { | ||
| 2136 | "name": "updated_at", | ||
| 2137 | "type": "timestamp", | ||
| 2138 | "primaryKey": false, | ||
| 2139 | "notNull": true | ||
| 2140 | } | ||
| 2141 | }, | ||
| 2142 | "indexes": { | ||
| 2143 | "source_scope_id_idx": { | ||
| 2144 | "name": "source_scope_id_idx", | ||
| 2145 | "columns": [ | ||
| 2146 | { | ||
| 2147 | "expression": "scope_id", | ||
| 2148 | "isExpression": false, | ||
| 2149 | "asc": true, | ||
| 2150 | "nulls": "last" | ||
| 2151 | } | ||
| 2152 | ], | ||
| 2153 | "isUnique": false, | ||
| 2154 | "concurrently": false, | ||
| 2155 | "method": "btree", | ||
| 2156 | "with": {} | ||
| 2157 | }, | ||
| 2158 | "source_plugin_id_idx": { | ||
| 2159 | "name": "source_plugin_id_idx", | ||
| 2160 | "columns": [ | ||
| 2161 | { | ||
| 2162 | "expression": "plugin_id", | ||
| 2163 | "isExpression": false, | ||
| 2164 | "asc": true, | ||
| 2165 | "nulls": "last" | ||
| 2166 | } | ||
| 2167 | ], | ||
| 2168 | "isUnique": false, | ||
| 2169 | "concurrently": false, | ||
| 2170 | "method": "btree", | ||
| 2171 | "with": {} | ||
| 2172 | } | ||
| 2173 | }, | ||
| 2174 | "foreignKeys": {}, | ||
| 2175 | "compositePrimaryKeys": { | ||
| 2176 | "source_scope_id_id_pk": { | ||
| 2177 | "name": "source_scope_id_id_pk", | ||
| 2178 | "columns": ["scope_id", "id"] | ||
| 2179 | } | ||
| 2180 | }, | ||
| 2181 | "uniqueConstraints": {}, | ||
| 2182 | "policies": {}, | ||
| 2183 | "checkConstraints": {}, | ||
| 2184 | "isRLSEnabled": false | ||
| 2185 | }, | ||
| 2186 | "public.tool": { | ||
| 2187 | "name": "tool", | ||
| 2188 | "schema": "", | ||
| 2189 | "columns": { | ||
| 2190 | "id": { | ||
| 2191 | "name": "id", | ||
| 2192 | "type": "text", | ||
| 2193 | "primaryKey": false, | ||
| 2194 | "notNull": true | ||
| 2195 | }, | ||
| 2196 | "scope_id": { | ||
| 2197 | "name": "scope_id", | ||
| 2198 | "type": "text", | ||
| 2199 | "primaryKey": false, | ||
| 2200 | "notNull": true | ||
| 2201 | }, | ||
| 2202 | "source_id": { | ||
| 2203 | "name": "source_id", | ||
| 2204 | "type": "text", | ||
| 2205 | "primaryKey": false, | ||
| 2206 | "notNull": true | ||
| 2207 | }, | ||
| 2208 | "plugin_id": { | ||
| 2209 | "name": "plugin_id", | ||
| 2210 | "type": "text", | ||
| 2211 | "primaryKey": false, | ||
| 2212 | "notNull": true | ||
| 2213 | }, | ||
| 2214 | "name": { | ||
| 2215 | "name": "name", | ||
| 2216 | "type": "text", | ||
| 2217 | "primaryKey": false, | ||
| 2218 | "notNull": true | ||
| 2219 | }, | ||
| 2220 | "description": { | ||
| 2221 | "name": "description", | ||
| 2222 | "type": "text", | ||
| 2223 | "primaryKey": false, | ||
| 2224 | "notNull": true | ||
| 2225 | }, | ||
| 2226 | "input_schema": { | ||
| 2227 | "name": "input_schema", | ||
| 2228 | "type": "jsonb", | ||
| 2229 | "primaryKey": false, | ||
| 2230 | "notNull": false | ||
| 2231 | }, | ||
| 2232 | "output_schema": { | ||
| 2233 | "name": "output_schema", | ||
| 2234 | "type": "jsonb", | ||
| 2235 | "primaryKey": false, | ||
| 2236 | "notNull": false | ||
| 2237 | }, | ||
| 2238 | "created_at": { | ||
| 2239 | "name": "created_at", | ||
| 2240 | "type": "timestamp", | ||
| 2241 | "primaryKey": false, | ||
| 2242 | "notNull": true | ||
| 2243 | }, | ||
| 2244 | "updated_at": { | ||
| 2245 | "name": "updated_at", | ||
| 2246 | "type": "timestamp", | ||
| 2247 | "primaryKey": false, | ||
| 2248 | "notNull": true | ||
| 2249 | } | ||
| 2250 | }, | ||
| 2251 | "indexes": { | ||
| 2252 | "tool_scope_id_idx": { | ||
| 2253 | "name": "tool_scope_id_idx", | ||
| 2254 | "columns": [ | ||
| 2255 | { | ||
| 2256 | "expression": "scope_id", | ||
| 2257 | "isExpression": false, | ||
| 2258 | "asc": true, | ||
| 2259 | "nulls": "last" | ||
| 2260 | } | ||
| 2261 | ], | ||
| 2262 | "isUnique": false, | ||
| 2263 | "concurrently": false, | ||
| 2264 | "method": "btree", | ||
| 2265 | "with": {} | ||
| 2266 | }, | ||
| 2267 | "tool_source_id_idx": { | ||
| 2268 | "name": "tool_source_id_idx", | ||
| 2269 | "columns": [ | ||
| 2270 | { | ||
| 2271 | "expression": "source_id", | ||
| 2272 | "isExpression": false, | ||
| 2273 | "asc": true, | ||
| 2274 | "nulls": "last" | ||
| 2275 | } | ||
| 2276 | ], | ||
| 2277 | "isUnique": false, | ||
| 2278 | "concurrently": false, | ||
| 2279 | "method": "btree", | ||
| 2280 | "with": {} | ||
| 2281 | }, | ||
| 2282 | "tool_plugin_id_idx": { | ||
| 2283 | "name": "tool_plugin_id_idx", | ||
| 2284 | "columns": [ | ||
| 2285 | { | ||
| 2286 | "expression": "plugin_id", | ||
| 2287 | "isExpression": false, | ||
| 2288 | "asc": true, | ||
| 2289 | "nulls": "last" | ||
| 2290 | } | ||
| 2291 | ], | ||
| 2292 | "isUnique": false, | ||
| 2293 | "concurrently": false, | ||
| 2294 | "method": "btree", | ||
| 2295 | "with": {} | ||
| 2296 | } | ||
| 2297 | }, | ||
| 2298 | "foreignKeys": {}, | ||
| 2299 | "compositePrimaryKeys": { | ||
| 2300 | "tool_scope_id_id_pk": { | ||
| 2301 | "name": "tool_scope_id_id_pk", | ||
| 2302 | "columns": ["scope_id", "id"] | ||
| 2303 | } | ||
| 2304 | }, | ||
| 2305 | "uniqueConstraints": {}, | ||
| 2306 | "policies": {}, | ||
| 2307 | "checkConstraints": {}, | ||
| 2308 | "isRLSEnabled": false | ||
| 2309 | }, | ||
| 2310 | "public.tool_policy": { | ||
| 2311 | "name": "tool_policy", | ||
| 2312 | "schema": "", | ||
| 2313 | "columns": { | ||
| 2314 | "id": { | ||
| 2315 | "name": "id", | ||
| 2316 | "type": "text", | ||
| 2317 | "primaryKey": false, | ||
| 2318 | "notNull": true | ||
| 2319 | }, | ||
| 2320 | "scope_id": { | ||
| 2321 | "name": "scope_id", | ||
| 2322 | "type": "text", | ||
| 2323 | "primaryKey": false, | ||
| 2324 | "notNull": true | ||
| 2325 | }, | ||
| 2326 | "pattern": { | ||
| 2327 | "name": "pattern", | ||
| 2328 | "type": "text", | ||
| 2329 | "primaryKey": false, | ||
| 2330 | "notNull": true | ||
| 2331 | }, | ||
| 2332 | "action": { | ||
| 2333 | "name": "action", | ||
| 2334 | "type": "text", | ||
| 2335 | "primaryKey": false, | ||
| 2336 | "notNull": true | ||
| 2337 | }, | ||
| 2338 | "position": { | ||
| 2339 | "name": "position", | ||
| 2340 | "type": "text", | ||
| 2341 | "primaryKey": false, | ||
| 2342 | "notNull": true | ||
| 2343 | }, | ||
| 2344 | "created_at": { | ||
| 2345 | "name": "created_at", | ||
| 2346 | "type": "timestamp", | ||
| 2347 | "primaryKey": false, | ||
| 2348 | "notNull": true | ||
| 2349 | }, | ||
| 2350 | "updated_at": { | ||
| 2351 | "name": "updated_at", | ||
| 2352 | "type": "timestamp", | ||
| 2353 | "primaryKey": false, | ||
| 2354 | "notNull": true | ||
| 2355 | } | ||
| 2356 | }, | ||
| 2357 | "indexes": { | ||
| 2358 | "tool_policy_scope_id_position_idx": { | ||
| 2359 | "name": "tool_policy_scope_id_position_idx", | ||
| 2360 | "columns": [ | ||
| 2361 | { | ||
| 2362 | "expression": "scope_id", | ||
| 2363 | "isExpression": false, | ||
| 2364 | "asc": true, | ||
| 2365 | "nulls": "last" | ||
| 2366 | }, | ||
| 2367 | { | ||
| 2368 | "expression": "position", | ||
| 2369 | "isExpression": false, | ||
| 2370 | "asc": true, | ||
| 2371 | "nulls": "last" | ||
| 2372 | } | ||
| 2373 | ], | ||
| 2374 | "isUnique": false, | ||
| 2375 | "concurrently": false, | ||
| 2376 | "method": "btree", | ||
| 2377 | "with": {} | ||
| 2378 | } | ||
| 2379 | }, | ||
| 2380 | "foreignKeys": {}, | ||
| 2381 | "compositePrimaryKeys": { | ||
| 2382 | "tool_policy_scope_id_id_pk": { | ||
| 2383 | "name": "tool_policy_scope_id_id_pk", | ||
| 2384 | "columns": ["scope_id", "id"] | ||
| 2385 | } | ||
| 2386 | }, | ||
| 2387 | "uniqueConstraints": {}, | ||
| 2388 | "policies": {}, | ||
| 2389 | "checkConstraints": {}, | ||
| 2390 | "isRLSEnabled": false | ||
| 2391 | }, | ||
| 2392 | "public.workos_vault_metadata": { | ||
| 2393 | "name": "workos_vault_metadata", | ||
| 2394 | "schema": "", | ||
| 2395 | "columns": { | ||
| 2396 | "id": { | ||
| 2397 | "name": "id", | ||
| 2398 | "type": "text", | ||
| 2399 | "primaryKey": false, | ||
| 2400 | "notNull": true | ||
| 2401 | }, | ||
| 2402 | "scope_id": { | ||
| 2403 | "name": "scope_id", | ||
| 2404 | "type": "text", | ||
| 2405 | "primaryKey": false, | ||
| 2406 | "notNull": true | ||
| 2407 | }, | ||
| 2408 | "name": { | ||
| 2409 | "name": "name", | ||
| 2410 | "type": "text", | ||
| 2411 | "primaryKey": false, | ||
| 2412 | "notNull": true | ||
| 2413 | }, | ||
| 2414 | "purpose": { | ||
| 2415 | "name": "purpose", | ||
| 2416 | "type": "text", | ||
| 2417 | "primaryKey": false, | ||
| 2418 | "notNull": false | ||
| 2419 | }, | ||
| 2420 | "created_at": { | ||
| 2421 | "name": "created_at", | ||
| 2422 | "type": "timestamp", | ||
| 2423 | "primaryKey": false, | ||
| 2424 | "notNull": true | ||
| 2425 | } | ||
| 2426 | }, | ||
| 2427 | "indexes": { | ||
| 2428 | "workos_vault_metadata_scope_id_idx": { | ||
| 2429 | "name": "workos_vault_metadata_scope_id_idx", | ||
| 2430 | "columns": [ | ||
| 2431 | { | ||
| 2432 | "expression": "scope_id", | ||
| 2433 | "isExpression": false, | ||
| 2434 | "asc": true, | ||
| 2435 | "nulls": "last" | ||
| 2436 | } | ||
| 2437 | ], | ||
| 2438 | "isUnique": false, | ||
| 2439 | "concurrently": false, | ||
| 2440 | "method": "btree", | ||
| 2441 | "with": {} | ||
| 2442 | } | ||
| 2443 | }, | ||
| 2444 | "foreignKeys": {}, | ||
| 2445 | "compositePrimaryKeys": { | ||
| 2446 | "workos_vault_metadata_scope_id_id_pk": { | ||
| 2447 | "name": "workos_vault_metadata_scope_id_id_pk", | ||
| 2448 | "columns": ["scope_id", "id"] | ||
| 2449 | } | ||
| 2450 | }, | ||
| 2451 | "uniqueConstraints": {}, | ||
| 2452 | "policies": {}, | ||
| 2453 | "checkConstraints": {}, | ||
| 2454 | "isRLSEnabled": false | ||
| 2455 | } | ||
| 2456 | }, | ||
| 2457 | "enums": {}, | ||
| 2458 | "schemas": {}, | ||
| 2459 | "sequences": {}, | ||
| 2460 | "roles": {}, | ||
| 2461 | "policies": {}, | ||
| 2462 | "views": {}, | ||
| 2463 | "_meta": { | ||
| 2464 | "columns": {}, | ||
| 2465 | "schemas": {}, | ||
| 2466 | "tables": {} | ||
| 2467 | } | ||
| 2468 | } | ||
| @@ -1,2258 +0,0 @@ | |||
| 1 | { | ||
| 2 | "id": "77c36b81-283e-4a48-989b-a12cce8d0651", | ||
| 3 | "prevId": "3b53ed57-f0b1-40a4-9929-dd399180a17a", | ||
| 4 | "version": "7", | ||
| 5 | "dialect": "postgresql", | ||
| 6 | "tables": { | ||
| 7 | "public.accounts": { | ||
| 8 | "name": "accounts", | ||
| 9 | "schema": "", | ||
| 10 | "columns": { | ||
| 11 | "id": { | ||
| 12 | "name": "id", | ||
| 13 | "type": "text", | ||
| 14 | "primaryKey": true, | ||
| 15 | "notNull": true | ||
| 16 | }, | ||
| 17 | "created_at": { | ||
| 18 | "name": "created_at", | ||
| 19 | "type": "timestamp with time zone", | ||
| 20 | "primaryKey": false, | ||
| 21 | "notNull": true, | ||
| 22 | "default": "now()" | ||
| 23 | } | ||
| 24 | }, | ||
| 25 | "indexes": {}, | ||
| 26 | "foreignKeys": {}, | ||
| 27 | "compositePrimaryKeys": {}, | ||
| 28 | "uniqueConstraints": {}, | ||
| 29 | "policies": {}, | ||
| 30 | "checkConstraints": {}, | ||
| 31 | "isRLSEnabled": false | ||
| 32 | }, | ||
| 33 | "public.memberships": { | ||
| 34 | "name": "memberships", | ||
| 35 | "schema": "", | ||
| 36 | "columns": { | ||
| 37 | "account_id": { | ||
| 38 | "name": "account_id", | ||
| 39 | "type": "text", | ||
| 40 | "primaryKey": false, | ||
| 41 | "notNull": true | ||
| 42 | }, | ||
| 43 | "organization_id": { | ||
| 44 | "name": "organization_id", | ||
| 45 | "type": "text", | ||
| 46 | "primaryKey": false, | ||
| 47 | "notNull": true | ||
| 48 | }, | ||
| 49 | "created_at": { | ||
| 50 | "name": "created_at", | ||
| 51 | "type": "timestamp with time zone", | ||
| 52 | "primaryKey": false, | ||
| 53 | "notNull": true, | ||
| 54 | "default": "now()" | ||
| 55 | } | ||
| 56 | }, | ||
| 57 | "indexes": {}, | ||
| 58 | "foreignKeys": { | ||
| 59 | "memberships_account_id_accounts_id_fk": { | ||
| 60 | "name": "memberships_account_id_accounts_id_fk", | ||
| 61 | "tableFrom": "memberships", | ||
| 62 | "tableTo": "accounts", | ||
| 63 | "columnsFrom": ["account_id"], | ||
| 64 | "columnsTo": ["id"], | ||
| 65 | "onDelete": "cascade", | ||
| 66 | "onUpdate": "no action" | ||
| 67 | }, | ||
| 68 | "memberships_organization_id_organizations_id_fk": { | ||
| 69 | "name": "memberships_organization_id_organizations_id_fk", | ||
| 70 | "tableFrom": "memberships", | ||
| 71 | "tableTo": "organizations", | ||
| 72 | "columnsFrom": ["organization_id"], | ||
| 73 | "columnsTo": ["id"], | ||
| 74 | "onDelete": "cascade", | ||
| 75 | "onUpdate": "no action" | ||
| 76 | } | ||
| 77 | }, | ||
| 78 | "compositePrimaryKeys": { | ||
| 79 | "memberships_account_id_organization_id_pk": { | ||
| 80 | "name": "memberships_account_id_organization_id_pk", | ||
| 81 | "columns": ["account_id", "organization_id"] | ||
| 82 | } | ||
| 83 | }, | ||
| 84 | "uniqueConstraints": {}, | ||
| 85 | "policies": {}, | ||
| 86 | "checkConstraints": {}, | ||
| 87 | "isRLSEnabled": false | ||
| 88 | }, | ||
| 89 | "public.organizations": { | ||
| 90 | "name": "organizations", | ||
| 91 | "schema": "", | ||
| 92 | "columns": { | ||
| 93 | "id": { | ||
| 94 | "name": "id", | ||
| 95 | "type": "text", | ||
| 96 | "primaryKey": true, | ||
| 97 | "notNull": true | ||
| 98 | }, | ||
| 99 | "name": { | ||
| 100 | "name": "name", | ||
| 101 | "type": "text", | ||
| 102 | "primaryKey": false, | ||
| 103 | "notNull": true | ||
| 104 | }, | ||
| 105 | "created_at": { | ||
| 106 | "name": "created_at", | ||
| 107 | "type": "timestamp with time zone", | ||
| 108 | "primaryKey": false, | ||
| 109 | "notNull": true, | ||
| 110 | "default": "now()" | ||
| 111 | } | ||
| 112 | }, | ||
| 113 | "indexes": {}, | ||
| 114 | "foreignKeys": {}, | ||
| 115 | "compositePrimaryKeys": {}, | ||
| 116 | "uniqueConstraints": {}, | ||
| 117 | "policies": {}, | ||
| 118 | "checkConstraints": {}, | ||
| 119 | "isRLSEnabled": false | ||
| 120 | }, | ||
| 121 | "public.blob": { | ||
| 122 | "name": "blob", | ||
| 123 | "schema": "", | ||
| 124 | "columns": { | ||
| 125 | "row_id": { | ||
| 126 | "name": "row_id", | ||
| 127 | "type": "varchar(255)", | ||
| 128 | "primaryKey": true, | ||
| 129 | "notNull": true | ||
| 130 | }, | ||
| 131 | "id": { | ||
| 132 | "name": "id", | ||
| 133 | "type": "varchar(255)", | ||
| 134 | "primaryKey": false, | ||
| 135 | "notNull": true | ||
| 136 | }, | ||
| 137 | "namespace": { | ||
| 138 | "name": "namespace", | ||
| 139 | "type": "text", | ||
| 140 | "primaryKey": false, | ||
| 141 | "notNull": true | ||
| 142 | }, | ||
| 143 | "key": { | ||
| 144 | "name": "key", | ||
| 145 | "type": "text", | ||
| 146 | "primaryKey": false, | ||
| 147 | "notNull": true | ||
| 148 | }, | ||
| 149 | "value": { | ||
| 150 | "name": "value", | ||
| 151 | "type": "text", | ||
| 152 | "primaryKey": false, | ||
| 153 | "notNull": true | ||
| 154 | } | ||
| 155 | }, | ||
| 156 | "indexes": { | ||
| 157 | "blob_id_uidx": { | ||
| 158 | "name": "blob_id_uidx", | ||
| 159 | "columns": [ | ||
| 160 | { | ||
| 161 | "expression": "id", | ||
| 162 | "isExpression": false, | ||
| 163 | "asc": true, | ||
| 164 | "nulls": "last" | ||
| 165 | } | ||
| 166 | ], | ||
| 167 | "isUnique": true, | ||
| 168 | "concurrently": false, | ||
| 169 | "method": "btree", | ||
| 170 | "with": {} | ||
| 171 | } | ||
| 172 | }, | ||
| 173 | "foreignKeys": {}, | ||
| 174 | "compositePrimaryKeys": {}, | ||
| 175 | "uniqueConstraints": {}, | ||
| 176 | "policies": {}, | ||
| 177 | "checkConstraints": {}, | ||
| 178 | "isRLSEnabled": false | ||
| 179 | }, | ||
| 180 | "public.connection": { | ||
| 181 | "name": "connection", | ||
| 182 | "schema": "", | ||
| 183 | "columns": { | ||
| 184 | "row_id": { | ||
| 185 | "name": "row_id", | ||
| 186 | "type": "varchar(255)", | ||
| 187 | "primaryKey": true, | ||
| 188 | "notNull": true | ||
| 189 | }, | ||
| 190 | "id": { | ||
| 191 | "name": "id", | ||
| 192 | "type": "varchar(255)", | ||
| 193 | "primaryKey": false, | ||
| 194 | "notNull": true | ||
| 195 | }, | ||
| 196 | "scope_id": { | ||
| 197 | "name": "scope_id", | ||
| 198 | "type": "varchar(255)", | ||
| 199 | "primaryKey": false, | ||
| 200 | "notNull": true | ||
| 201 | }, | ||
| 202 | "provider": { | ||
| 203 | "name": "provider", | ||
| 204 | "type": "text", | ||
| 205 | "primaryKey": false, | ||
| 206 | "notNull": true | ||
| 207 | }, | ||
| 208 | "identity_label": { | ||
| 209 | "name": "identity_label", | ||
| 210 | "type": "text", | ||
| 211 | "primaryKey": false, | ||
| 212 | "notNull": false | ||
| 213 | }, | ||
| 214 | "access_token_secret_id": { | ||
| 215 | "name": "access_token_secret_id", | ||
| 216 | "type": "text", | ||
| 217 | "primaryKey": false, | ||
| 218 | "notNull": true | ||
| 219 | }, | ||
| 220 | "refresh_token_secret_id": { | ||
| 221 | "name": "refresh_token_secret_id", | ||
| 222 | "type": "text", | ||
| 223 | "primaryKey": false, | ||
| 224 | "notNull": false | ||
| 225 | }, | ||
| 226 | "expires_at": { | ||
| 227 | "name": "expires_at", | ||
| 228 | "type": "bigint", | ||
| 229 | "primaryKey": false, | ||
| 230 | "notNull": false | ||
| 231 | }, | ||
| 232 | "scope": { | ||
| 233 | "name": "scope", | ||
| 234 | "type": "text", | ||
| 235 | "primaryKey": false, | ||
| 236 | "notNull": false | ||
| 237 | }, | ||
| 238 | "provider_state": { | ||
| 239 | "name": "provider_state", | ||
| 240 | "type": "json", | ||
| 241 | "primaryKey": false, | ||
| 242 | "notNull": false | ||
| 243 | }, | ||
| 244 | "created_at": { | ||
| 245 | "name": "created_at", | ||
| 246 | "type": "timestamp", | ||
| 247 | "primaryKey": false, | ||
| 248 | "notNull": true | ||
| 249 | }, | ||
| 250 | "updated_at": { | ||
| 251 | "name": "updated_at", | ||
| 252 | "type": "timestamp", | ||
| 253 | "primaryKey": false, | ||
| 254 | "notNull": true | ||
| 255 | } | ||
| 256 | }, | ||
| 257 | "indexes": { | ||
| 258 | "connection_scope_id_id_uidx": { | ||
| 259 | "name": "connection_scope_id_id_uidx", | ||
| 260 | "columns": [ | ||
| 261 | { | ||
| 262 | "expression": "scope_id", | ||
| 263 | "isExpression": false, | ||
| 264 | "asc": true, | ||
| 265 | "nulls": "last" | ||
| 266 | }, | ||
| 267 | { | ||
| 268 | "expression": "id", | ||
| 269 | "isExpression": false, | ||
| 270 | "asc": true, | ||
| 271 | "nulls": "last" | ||
| 272 | } | ||
| 273 | ], | ||
| 274 | "isUnique": true, | ||
| 275 | "concurrently": false, | ||
| 276 | "method": "btree", | ||
| 277 | "with": {} | ||
| 278 | } | ||
| 279 | }, | ||
| 280 | "foreignKeys": {}, | ||
| 281 | "compositePrimaryKeys": {}, | ||
| 282 | "uniqueConstraints": {}, | ||
| 283 | "policies": {}, | ||
| 284 | "checkConstraints": {}, | ||
| 285 | "isRLSEnabled": false | ||
| 286 | }, | ||
| 287 | "public.credential_binding": { | ||
| 288 | "name": "credential_binding", | ||
| 289 | "schema": "", | ||
| 290 | "columns": { | ||
| 291 | "row_id": { | ||
| 292 | "name": "row_id", | ||
| 293 | "type": "varchar(255)", | ||
| 294 | "primaryKey": true, | ||
| 295 | "notNull": true | ||
| 296 | }, | ||
| 297 | "id": { | ||
| 298 | "name": "id", | ||
| 299 | "type": "varchar(255)", | ||
| 300 | "primaryKey": false, | ||
| 301 | "notNull": true | ||
| 302 | }, | ||
| 303 | "scope_id": { | ||
| 304 | "name": "scope_id", | ||
| 305 | "type": "varchar(255)", | ||
| 306 | "primaryKey": false, | ||
| 307 | "notNull": true | ||
| 308 | }, | ||
| 309 | "plugin_id": { | ||
| 310 | "name": "plugin_id", | ||
| 311 | "type": "text", | ||
| 312 | "primaryKey": false, | ||
| 313 | "notNull": true | ||
| 314 | }, | ||
| 315 | "source_id": { | ||
| 316 | "name": "source_id", | ||
| 317 | "type": "text", | ||
| 318 | "primaryKey": false, | ||
| 319 | "notNull": true | ||
| 320 | }, | ||
| 321 | "source_scope_id": { | ||
| 322 | "name": "source_scope_id", | ||
| 323 | "type": "text", | ||
| 324 | "primaryKey": false, | ||
| 325 | "notNull": true | ||
| 326 | }, | ||
| 327 | "slot_key": { | ||
| 328 | "name": "slot_key", | ||
| 329 | "type": "text", | ||
| 330 | "primaryKey": false, | ||
| 331 | "notNull": true | ||
| 332 | }, | ||
| 333 | "kind": { | ||
| 334 | "name": "kind", | ||
| 335 | "type": "text", | ||
| 336 | "primaryKey": false, | ||
| 337 | "notNull": true | ||
| 338 | }, | ||
| 339 | "text_value": { | ||
| 340 | "name": "text_value", | ||
| 341 | "type": "text", | ||
| 342 | "primaryKey": false, | ||
| 343 | "notNull": false | ||
| 344 | }, | ||
| 345 | "secret_id": { | ||
| 346 | "name": "secret_id", | ||
| 347 | "type": "text", | ||
| 348 | "primaryKey": false, | ||
| 349 | "notNull": false | ||
| 350 | }, | ||
| 351 | "secret_scope_id": { | ||
| 352 | "name": "secret_scope_id", | ||
| 353 | "type": "text", | ||
| 354 | "primaryKey": false, | ||
| 355 | "notNull": false | ||
| 356 | }, | ||
| 357 | "connection_id": { | ||
| 358 | "name": "connection_id", | ||
| 359 | "type": "text", | ||
| 360 | "primaryKey": false, | ||
| 361 | "notNull": false | ||
| 362 | }, | ||
| 363 | "created_at": { | ||
| 364 | "name": "created_at", | ||
| 365 | "type": "timestamp", | ||
| 366 | "primaryKey": false, | ||
| 367 | "notNull": true | ||
| 368 | }, | ||
| 369 | "updated_at": { | ||
| 370 | "name": "updated_at", | ||
| 371 | "type": "timestamp", | ||
| 372 | "primaryKey": false, | ||
| 373 | "notNull": true | ||
1885 more lines aren’t shown here.
This diff is large: its 151 lines aren’t shown here.
This diff is large: its 1207 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 282 lines aren’t shown here.
This diff is large: its 997 lines aren’t shown here.
This diff is large: its 216 lines aren’t shown here.
This diff is large: its 456 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 341 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 309 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 310 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 353 lines aren’t shown here.
This diff is large: its 122 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 100 lines aren’t shown here.
This diff is large: its 146 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 194 lines aren’t shown here.
This diff is large: its 145 lines aren’t shown here.
This diff is large: its 122 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 181 lines aren’t shown here.
This diff is large: its 141 lines aren’t shown here.
This diff is large: its 2 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 580 lines aren’t shown here.
This diff is large: its 1221 lines aren’t shown here.
This diff is large: its 254 lines aren’t shown here.
This diff is large: its 3 lines aren’t shown here.
This diff is large: its 216 lines aren’t shown here.
This diff is large: its 2 lines aren’t shown here.
This diff is large: its 1368 lines aren’t shown here.
This diff is large: its 1046 lines aren’t shown here.
This diff is large: its 1168 lines aren’t shown here.
This diff is large: its 1248 lines aren’t shown here.
This diff is large: its 1318 lines aren’t shown here.
This diff is large: its 1318 lines aren’t shown here.
This diff is large: its 1286 lines aren’t shown here.
This diff is large: its 2207 lines aren’t shown here.
This diff is large: its 2243 lines aren’t shown here.
This diff is large: its 95 lines aren’t shown here.
This diff is large: its 164 lines aren’t shown here.
This diff is large: its 256 lines aren’t shown here.
This diff is large: its 118 lines aren’t shown here.
This diff is large: its 437 lines aren’t shown here.
This diff is large: its 351 lines aren’t shown here.
This diff is large: its 595 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 213 lines aren’t shown here.
This diff is large: its 323 lines aren’t shown here.
This diff is large: its 277 lines aren’t shown here.
This diff is large: its 329 lines aren’t shown here.
This diff is large: its 470 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 601 lines aren’t shown here.
This diff is large: its 253 lines aren’t shown here.
This diff is large: its 890 lines aren’t shown here.
This diff is large: its 789 lines aren’t shown here.
This diff is large: its 733 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 207 lines aren’t shown here.
This diff is large: its 101 lines aren’t shown here.
This diff is large: its 141 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 77 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 450 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 100 lines aren’t shown here.
This diff is large: its 234 lines aren’t shown here.
This diff is large: its 230 lines aren’t shown here.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 183 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 215 lines aren’t shown here.
This diff is large: its 349 lines aren’t shown here.
This diff is large: its 316 lines aren’t shown here.
This diff is large: its 150 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 285 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 86 lines aren’t shown here.
This diff is large: its 143 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 129 lines aren’t shown here.
This diff is large: its 170 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 375 lines aren’t shown here.
This diff is large: its 95 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 403 lines aren’t shown here.
This diff is large: its 102 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 169 lines aren’t shown here.
This diff is large: its 176 lines aren’t shown here.
This diff is large: its 107 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 148 lines aren’t shown here.
This diff is large: its 118 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 192 lines aren’t shown here.
This diff is large: its 976 lines aren’t shown here.
This diff is large: its 422 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 131 lines aren’t shown here.
This diff is large: its 148 lines aren’t shown here.
This diff is large: its 147 lines aren’t shown here.
This diff is large: its 91 lines aren’t shown here.
This diff is large: its 1275 lines aren’t shown here.
This diff is large: its 202 lines aren’t shown here.
This diff is large: its 519 lines aren’t shown here.
This diff is large: its 1526 lines aren’t shown here.
This diff is large: its 848 lines aren’t shown here.
This diff is large: its 243 lines aren’t shown here.
This diff is large: its 94 lines aren’t shown here.
This diff is large: its 270 lines aren’t shown here.
This diff is large: its 1214 lines aren’t shown here.
This diff is large: its 6327 lines aren’t shown here.
This diff is large: its 211 lines aren’t shown here.
This diff is large: its 86 lines aren’t shown here.
This diff is large: its 421 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 1200 lines aren’t shown here.
This diff is large: its 1619 lines aren’t shown here.
This diff is large: its 204 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 433 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 138 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 129 lines aren’t shown here.
This diff is large: its 179 lines aren’t shown here.
This diff is large: its 252 lines aren’t shown here.
This diff is large: its 2192 lines aren’t shown here.
This diff is large: its 403 lines aren’t shown here.
This diff is large: its 136 lines aren’t shown here.
This diff is large: its 169 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 874 lines aren’t shown here.
This diff is large: its 794 lines aren’t shown here.
This diff is large: its 308 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 128 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 151 lines aren’t shown here.
This diff is large: its 77 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 107 lines aren’t shown here.
This diff is large: its 228 lines aren’t shown here.
This diff is large: its 191 lines aren’t shown here.
This diff is large: its 316 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 206 lines aren’t shown here.
This diff is large: its 146 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 179 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
Binary file not shown.
This diff is large: its 128 lines aren’t shown here.
This diff is large: its 191 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 71 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 253 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 344 lines aren’t shown here.
This diff is large: its 148 lines aren’t shown here.
This diff is large: its 513 lines aren’t shown here.
This diff is large: its 731 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 148 lines aren’t shown here.
This diff is large: its 259 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 179 lines aren’t shown here.
This diff is large: its 206 lines aren’t shown here.
This diff is large: its 106 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 392 lines aren’t shown here.
This diff is large: its 510 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 160 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 121 lines aren’t shown here.
This diff is large: its 112 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 151 lines aren’t shown here.
This diff is large: its 135 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 1760 lines aren’t shown here.
This diff is large: its 1858 lines aren’t shown here.
This diff is large: its 325 lines aren’t shown here.
This diff is large: its 143 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 80 lines aren’t shown here.
This diff is large: its 2 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 224 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 210 lines aren’t shown here.
This diff is large: its 405 lines aren’t shown here.
This diff is large: its 143 lines aren’t shown here.
This diff is large: its 135 lines aren’t shown here.
This diff is large: its 114 lines aren’t shown here.
This diff is large: its 107 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 142 lines aren’t shown here.
This diff is large: its 89 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 211 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 175 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 807 lines aren’t shown here.
This diff is large: its 496 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 155 lines aren’t shown here.
This diff is large: its 159 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 225 lines aren’t shown here.
This diff is large: its 194 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 132 lines aren’t shown here.
This diff is large: its 104 lines aren’t shown here.
This diff is large: its 344 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 221 lines aren’t shown here.
This diff is large: its 119 lines aren’t shown here.
This diff is large: its 329 lines aren’t shown here.
This diff is large: its 1097 lines aren’t shown here.
This diff is large: its 2715 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 190 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 101 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 236 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 145 lines aren’t shown here.
This diff is large: its 421 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 280 lines aren’t shown here.
This diff is large: its 167 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 3011 lines aren’t shown here.
This diff is large: its 1055 lines aren’t shown here.
This diff is large: its 367 lines aren’t shown here.
This diff is large: its 121 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 216 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 112 lines aren’t shown here.
This diff is large: its 223 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 340 lines aren’t shown here.
This diff is large: its 146 lines aren’t shown here.
This diff is large: its 252 lines aren’t shown here.
This diff is large: its 138 lines aren’t shown here.
This diff is large: its 113 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 271 lines aren’t shown here.
This diff is large: its 182 lines aren’t shown here.
This diff is large: its 198 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 123 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 1076 lines aren’t shown here.
This diff is large: its 760 lines aren’t shown here.
This diff is large: its 421 lines aren’t shown here.
This diff is large: its 409 lines aren’t shown here.
This diff is large: its 1862 lines aren’t shown here.
This diff is large: its 2369 lines aren’t shown here.
This diff is large: its 103 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 411 lines aren’t shown here.
This diff is large: its 110 lines aren’t shown here.
This diff is large: its 217 lines aren’t shown here.
This diff is large: its 221 lines aren’t shown here.
This diff is large: its 219 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 912 lines aren’t shown here.
This diff is large: its 518 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 610 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 132 lines aren’t shown here.
This diff is large: its 353 lines aren’t shown here.
This diff is large: its 325 lines aren’t shown here.
This diff is large: its 1198 lines aren’t shown here.
This diff is large: its 129 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 217 lines aren’t shown here.
This diff is large: its 165 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 65 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 151 lines aren’t shown here.
This diff is large: its 716 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 453 lines aren’t shown here.
This diff is large: its 103 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 234 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 401 lines aren’t shown here.
This diff is large: its 110 lines aren’t shown here.
This diff is large: its 371 lines aren’t shown here.
This diff is large: its 2 lines aren’t shown here.
This diff is large: its 111 lines aren’t shown here.
This diff is large: its 2 lines aren’t shown here.
This diff is large: its 93 lines aren’t shown here.
This diff is large: its 186 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 126 lines aren’t shown here.
This diff is large: its 495 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 642 lines aren’t shown here.
This diff is large: its 364 lines aren’t shown here.
This diff is large: its 118 lines aren’t shown here.
This diff is large: its 489 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 421 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 522 lines aren’t shown here.
This diff is large: its 338 lines aren’t shown here.
This diff is large: its 123 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 196 lines aren’t shown here.
This diff is large: its 89 lines aren’t shown here.
This diff is large: its 254 lines aren’t shown here.
This diff is large: its 334 lines aren’t shown here.
This diff is large: its 65 lines aren’t shown here.
This diff is large: its 431 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 92 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 101 lines aren’t shown here.
This diff is large: its 358 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 175 lines aren’t shown here.
This diff is large: its 91 lines aren’t shown here.
This diff is large: its 599 lines aren’t shown here.
This diff is large: its 136 lines aren’t shown here.
This diff is large: its 159 lines aren’t shown here.
This diff is large: its 80 lines aren’t shown here.
This diff is large: its 89 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 141 lines aren’t shown here.
This diff is large: its 118 lines aren’t shown here.
This diff is large: its 195 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.