@rudderhq/db 0.5.2-canary.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.test.js +12 -0
- package/dist/client.test.js.map +1 -1
- package/dist/mcp-connections-schema.test.d.ts +2 -0
- package/dist/mcp-connections-schema.test.d.ts.map +1 -0
- package/dist/mcp-connections-schema.test.js +117 -0
- package/dist/mcp-connections-schema.test.js.map +1 -0
- package/dist/migrations/0111_nostalgic_scarecrow.sql +176 -0
- package/dist/migrations/0112_yielding_starhawk.sql +1 -0
- package/dist/migrations/0113_nosy_doomsday.sql +16 -0
- package/dist/migrations/0114_nervous_firebird.sql +10 -0
- package/dist/migrations/0115_chubby_wraith.sql +2 -0
- package/dist/migrations/0116_dark_skreet.sql +1 -0
- package/dist/migrations/managed-mcp-connections.test.ts +67 -0
- package/dist/migrations/meta/0111_snapshot.json +21839 -0
- package/dist/migrations/meta/0112_snapshot.json +21861 -0
- package/dist/migrations/meta/0113_snapshot.json +21889 -0
- package/dist/migrations/meta/0114_snapshot.json +21898 -0
- package/dist/migrations/meta/0115_snapshot.json +21910 -0
- package/dist/migrations/meta/0116_snapshot.json +21917 -0
- package/dist/migrations/meta/_journal.json +42 -0
- package/dist/migrations/organization-secret-purpose.test.ts +27 -0
- package/dist/schema/custom_integrations.d.ts +181 -3
- package/dist/schema/custom_integrations.d.ts.map +1 -1
- package/dist/schema/custom_integrations.js +28 -4
- package/dist/schema/custom_integrations.js.map +1 -1
- package/dist/schema/index.d.ts +1 -0
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +1 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/mcp_connections.d.ts +916 -0
- package/dist/schema/mcp_connections.d.ts.map +1 -0
- package/dist/schema/mcp_connections.js +97 -0
- package/dist/schema/mcp_connections.js.map +1 -0
- package/dist/schema/organization_secrets.d.ts +19 -0
- package/dist/schema/organization_secrets.d.ts.map +1 -1
- package/dist/schema/organization_secrets.js +2 -0
- package/dist/schema/organization_secrets.js.map +1 -1
- package/package.json +2 -2
package/dist/client.test.js
CHANGED
|
@@ -396,6 +396,12 @@ describe("applyPendingMigrations", () => {
|
|
|
396
396
|
"0108_atomic_chat_first_turn_cleanup.sql",
|
|
397
397
|
"0109_many_carmella_unuscione.sql",
|
|
398
398
|
"0110_supreme_mathemanic.sql",
|
|
399
|
+
"0111_nostalgic_scarecrow.sql",
|
|
400
|
+
"0112_yielding_starhawk.sql",
|
|
401
|
+
"0113_nosy_doomsday.sql",
|
|
402
|
+
"0114_nervous_firebird.sql",
|
|
403
|
+
"0115_chubby_wraith.sql",
|
|
404
|
+
"0116_dark_skreet.sql",
|
|
399
405
|
],
|
|
400
406
|
reason: "pending-migrations",
|
|
401
407
|
});
|
|
@@ -520,6 +526,12 @@ describe("applyPendingMigrations", () => {
|
|
|
520
526
|
"0108_atomic_chat_first_turn_cleanup.sql",
|
|
521
527
|
"0109_many_carmella_unuscione.sql",
|
|
522
528
|
"0110_supreme_mathemanic.sql",
|
|
529
|
+
"0111_nostalgic_scarecrow.sql",
|
|
530
|
+
"0112_yielding_starhawk.sql",
|
|
531
|
+
"0113_nosy_doomsday.sql",
|
|
532
|
+
"0114_nervous_firebird.sql",
|
|
533
|
+
"0115_chubby_wraith.sql",
|
|
534
|
+
"0116_dark_skreet.sql",
|
|
523
535
|
],
|
|
524
536
|
reason: "pending-migrations",
|
|
525
537
|
});
|
package/dist/client.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-connections-schema.test.d.ts","sourceRoot":"","sources":["../src/mcp-connections-schema.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { getTableConfig } from "drizzle-orm/pg-core";
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
import * as schema from "./schema/index.js";
|
|
4
|
+
function exportedTable(name) {
|
|
5
|
+
const value = schema[name];
|
|
6
|
+
expect(value, `${name} must be exported from the database schema`).toBeDefined();
|
|
7
|
+
return value ? value : null;
|
|
8
|
+
}
|
|
9
|
+
function columnNames(table) {
|
|
10
|
+
return getTableConfig(table).columns.map((column) => column.name);
|
|
11
|
+
}
|
|
12
|
+
describe("managed MCP connection schema", () => {
|
|
13
|
+
it("defines organization-owned connection, OAuth grant, and one-time session tables", () => {
|
|
14
|
+
const connections = exportedTable("mcpConnections");
|
|
15
|
+
const grants = exportedTable("mcpOAuthGrants");
|
|
16
|
+
const sessions = exportedTable("mcpOAuthSessions");
|
|
17
|
+
if (!connections || !grants || !sessions)
|
|
18
|
+
return;
|
|
19
|
+
expect(getTableConfig(connections).name).toBe("mcp_connections");
|
|
20
|
+
expect(columnNames(connections)).toEqual(expect.arrayContaining([
|
|
21
|
+
"org_id",
|
|
22
|
+
"legacy_custom_integration_id",
|
|
23
|
+
"credential_secret_id",
|
|
24
|
+
"name",
|
|
25
|
+
"display_name",
|
|
26
|
+
"provider",
|
|
27
|
+
"transport",
|
|
28
|
+
"external_scope",
|
|
29
|
+
"access_mode",
|
|
30
|
+
"status",
|
|
31
|
+
"safe_config",
|
|
32
|
+
"startup_timeout_ms",
|
|
33
|
+
"tool_timeout_ms",
|
|
34
|
+
"enabled",
|
|
35
|
+
"required",
|
|
36
|
+
"last_discovered_at",
|
|
37
|
+
"activated_at",
|
|
38
|
+
"disabled_at",
|
|
39
|
+
"revoked_at",
|
|
40
|
+
"created_at",
|
|
41
|
+
"updated_at",
|
|
42
|
+
]));
|
|
43
|
+
expect(columnNames(connections)).not.toContain("connect_timeout_ms");
|
|
44
|
+
expect(getTableConfig(grants).name).toBe("mcp_oauth_grants");
|
|
45
|
+
expect(columnNames(grants)).toEqual(expect.arrayContaining([
|
|
46
|
+
"org_id",
|
|
47
|
+
"connection_id",
|
|
48
|
+
"authorizing_user_id",
|
|
49
|
+
"provider_subject",
|
|
50
|
+
"provider_scopes",
|
|
51
|
+
"external_scope_metadata",
|
|
52
|
+
"credential_secret_id",
|
|
53
|
+
"status",
|
|
54
|
+
"status_metadata",
|
|
55
|
+
"expires_at",
|
|
56
|
+
"last_refreshed_at",
|
|
57
|
+
"revoked_at",
|
|
58
|
+
"created_at",
|
|
59
|
+
"updated_at",
|
|
60
|
+
]));
|
|
61
|
+
expect(getTableConfig(sessions).name).toBe("mcp_oauth_sessions");
|
|
62
|
+
expect(columnNames(sessions)).toEqual(expect.arrayContaining([
|
|
63
|
+
"org_id",
|
|
64
|
+
"connection_id",
|
|
65
|
+
"authorizing_user_id",
|
|
66
|
+
"state_hash",
|
|
67
|
+
"credential_secret_id",
|
|
68
|
+
"redirect_uri",
|
|
69
|
+
"status",
|
|
70
|
+
"status_metadata",
|
|
71
|
+
"expires_at",
|
|
72
|
+
"consumed_at",
|
|
73
|
+
"created_at",
|
|
74
|
+
]));
|
|
75
|
+
});
|
|
76
|
+
it("declares connection uniqueness and explicit lifecycle indexes", () => {
|
|
77
|
+
const connections = exportedTable("mcpConnections");
|
|
78
|
+
if (!connections)
|
|
79
|
+
return;
|
|
80
|
+
const config = getTableConfig(connections);
|
|
81
|
+
const indexNames = config.indexes.map((index) => index.config.name);
|
|
82
|
+
expect(indexNames).toEqual(expect.arrayContaining([
|
|
83
|
+
"mcp_connections_org_name_uq",
|
|
84
|
+
"mcp_connections_org_provider_scope_uq",
|
|
85
|
+
"mcp_connections_org_status_idx",
|
|
86
|
+
"mcp_connections_legacy_integration_uq",
|
|
87
|
+
]));
|
|
88
|
+
expect(config.foreignKeys).toHaveLength(3);
|
|
89
|
+
});
|
|
90
|
+
it("extends existing tool, binding, and audit rows for discovered managed MCP tools", () => {
|
|
91
|
+
expect(columnNames(schema.customIntegrationTools)).toEqual(expect.arrayContaining([
|
|
92
|
+
"connection_id",
|
|
93
|
+
"raw_input_schema",
|
|
94
|
+
"input_schema",
|
|
95
|
+
"raw_output_schema",
|
|
96
|
+
"output_schema",
|
|
97
|
+
"enabled",
|
|
98
|
+
"discovered_at",
|
|
99
|
+
"removed_at",
|
|
100
|
+
]));
|
|
101
|
+
expect(columnNames(schema.agentCustomIntegrationBindings)).toContain("connection_id");
|
|
102
|
+
expect(columnNames(schema.customIntegrationToolCalls)).toEqual(expect.arrayContaining([
|
|
103
|
+
"connection_id",
|
|
104
|
+
"redacted_dispatch_outcome",
|
|
105
|
+
]));
|
|
106
|
+
expect(getTableConfig(schema.customIntegrationTools).indexes.map((index) => index.config.name)).toContain("custom_integration_tools_connection_external_name_uq");
|
|
107
|
+
});
|
|
108
|
+
it("keeps legacy custom integration references nullable for backward-compatible managed rows", () => {
|
|
109
|
+
const toolColumns = getTableConfig(schema.customIntegrationTools).columns;
|
|
110
|
+
const bindingColumns = getTableConfig(schema.agentCustomIntegrationBindings).columns;
|
|
111
|
+
const callColumns = getTableConfig(schema.customIntegrationToolCalls).columns;
|
|
112
|
+
expect(toolColumns.find((column) => column.name === "integration_id")?.notNull).toBe(false);
|
|
113
|
+
expect(bindingColumns.find((column) => column.name === "integration_id")?.notNull).toBe(false);
|
|
114
|
+
expect(callColumns.find((column) => column.name === "integration_id")?.notNull).toBe(false);
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
//# sourceMappingURL=mcp-connections-schema.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-connections-schema.test.js","sourceRoot":"","sources":["../src/mcp-connections-schema.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
CREATE TABLE "mcp_connections" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"org_id" uuid NOT NULL,
|
|
4
|
+
"legacy_custom_integration_id" uuid,
|
|
5
|
+
"credential_secret_id" uuid,
|
|
6
|
+
"name" text NOT NULL,
|
|
7
|
+
"display_name" text NOT NULL,
|
|
8
|
+
"provider" text NOT NULL,
|
|
9
|
+
"transport" text NOT NULL,
|
|
10
|
+
"external_scope" text,
|
|
11
|
+
"access_mode" text DEFAULT 'provider_default' NOT NULL,
|
|
12
|
+
"status" text DEFAULT 'draft' NOT NULL,
|
|
13
|
+
"safe_config" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
14
|
+
"startup_timeout_ms" integer DEFAULT 10000 NOT NULL,
|
|
15
|
+
"tool_timeout_ms" integer DEFAULT 60000 NOT NULL,
|
|
16
|
+
"enabled" boolean DEFAULT true NOT NULL,
|
|
17
|
+
"required" boolean DEFAULT false NOT NULL,
|
|
18
|
+
"last_discovered_at" timestamp with time zone,
|
|
19
|
+
"activated_at" timestamp with time zone,
|
|
20
|
+
"disabled_at" timestamp with time zone,
|
|
21
|
+
"revoked_at" timestamp with time zone,
|
|
22
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
23
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
24
|
+
CONSTRAINT "mcp_connections_legacy_manual_disabled_check" CHECK ("mcp_connections"."transport" <> 'legacy_manual' or "mcp_connections"."enabled" = false),
|
|
25
|
+
CONSTRAINT "mcp_connections_positive_timeouts_check" CHECK ("mcp_connections"."startup_timeout_ms" > 0 and "mcp_connections"."tool_timeout_ms" > 0)
|
|
26
|
+
);
|
|
27
|
+
--> statement-breakpoint
|
|
28
|
+
CREATE TABLE "mcp_oauth_grants" (
|
|
29
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
30
|
+
"org_id" uuid NOT NULL,
|
|
31
|
+
"connection_id" uuid NOT NULL,
|
|
32
|
+
"authorizing_user_id" text,
|
|
33
|
+
"provider_subject" text,
|
|
34
|
+
"provider_scopes" jsonb DEFAULT '[]'::jsonb NOT NULL,
|
|
35
|
+
"external_scope_metadata" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
36
|
+
"credential_secret_id" uuid NOT NULL,
|
|
37
|
+
"status" text DEFAULT 'active' NOT NULL,
|
|
38
|
+
"status_metadata" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
39
|
+
"expires_at" timestamp with time zone,
|
|
40
|
+
"last_refreshed_at" timestamp with time zone,
|
|
41
|
+
"revoked_at" timestamp with time zone,
|
|
42
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
43
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
44
|
+
);
|
|
45
|
+
--> statement-breakpoint
|
|
46
|
+
CREATE TABLE "mcp_oauth_sessions" (
|
|
47
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
48
|
+
"org_id" uuid NOT NULL,
|
|
49
|
+
"connection_id" uuid NOT NULL,
|
|
50
|
+
"authorizing_user_id" text,
|
|
51
|
+
"state_hash" text NOT NULL,
|
|
52
|
+
"credential_secret_id" uuid NOT NULL,
|
|
53
|
+
"redirect_uri" text NOT NULL,
|
|
54
|
+
"status" text DEFAULT 'authorizing' NOT NULL,
|
|
55
|
+
"status_metadata" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
56
|
+
"expires_at" timestamp with time zone DEFAULT now() + interval '10 minutes' NOT NULL,
|
|
57
|
+
"consumed_at" timestamp with time zone,
|
|
58
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
59
|
+
CONSTRAINT "mcp_oauth_sessions_ten_minute_lifetime_check" CHECK ("mcp_oauth_sessions"."expires_at" <= "mcp_oauth_sessions"."created_at" + interval '10 minutes'),
|
|
60
|
+
CONSTRAINT "mcp_oauth_sessions_consumed_after_create_check" CHECK ("mcp_oauth_sessions"."consumed_at" is null or "mcp_oauth_sessions"."consumed_at" >= "mcp_oauth_sessions"."created_at")
|
|
61
|
+
);
|
|
62
|
+
--> statement-breakpoint
|
|
63
|
+
ALTER TABLE "agent_custom_integration_bindings" ALTER COLUMN "integration_id" DROP NOT NULL;--> statement-breakpoint
|
|
64
|
+
ALTER TABLE "custom_integration_tool_calls" ALTER COLUMN "integration_id" DROP NOT NULL;--> statement-breakpoint
|
|
65
|
+
ALTER TABLE "custom_integration_tools" ALTER COLUMN "integration_id" DROP NOT NULL;--> statement-breakpoint
|
|
66
|
+
ALTER TABLE "agent_custom_integration_bindings" ADD COLUMN "connection_id" uuid;--> statement-breakpoint
|
|
67
|
+
ALTER TABLE "custom_integration_tool_calls" ADD COLUMN "connection_id" uuid;--> statement-breakpoint
|
|
68
|
+
ALTER TABLE "custom_integration_tool_calls" ADD COLUMN "redacted_dispatch_outcome" jsonb;--> statement-breakpoint
|
|
69
|
+
ALTER TABLE "custom_integration_tools" ADD COLUMN "connection_id" uuid;--> statement-breakpoint
|
|
70
|
+
ALTER TABLE "custom_integration_tools" ADD COLUMN "raw_input_schema" jsonb;--> statement-breakpoint
|
|
71
|
+
ALTER TABLE "custom_integration_tools" ADD COLUMN "raw_output_schema" jsonb;--> statement-breakpoint
|
|
72
|
+
ALTER TABLE "custom_integration_tools" ADD COLUMN "output_schema" jsonb;--> statement-breakpoint
|
|
73
|
+
ALTER TABLE "custom_integration_tools" ADD COLUMN "enabled" boolean DEFAULT true NOT NULL;--> statement-breakpoint
|
|
74
|
+
ALTER TABLE "custom_integration_tools" ADD COLUMN "discovered_at" timestamp with time zone;--> statement-breakpoint
|
|
75
|
+
ALTER TABLE "custom_integration_tools" ADD COLUMN "removed_at" timestamp with time zone;--> statement-breakpoint
|
|
76
|
+
ALTER TABLE "mcp_connections" ADD CONSTRAINT "mcp_connections_org_id_organizations_id_fk" FOREIGN KEY ("org_id") REFERENCES "public"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
77
|
+
ALTER TABLE "mcp_connections" ADD CONSTRAINT "mcp_connections_legacy_custom_integration_id_custom_integrations_id_fk" FOREIGN KEY ("legacy_custom_integration_id") REFERENCES "public"."custom_integrations"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
78
|
+
ALTER TABLE "mcp_connections" ADD CONSTRAINT "mcp_connections_credential_secret_id_organization_secrets_id_fk" FOREIGN KEY ("credential_secret_id") REFERENCES "public"."organization_secrets"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
79
|
+
ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_org_id_organizations_id_fk" FOREIGN KEY ("org_id") REFERENCES "public"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
80
|
+
ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_connection_id_mcp_connections_id_fk" FOREIGN KEY ("connection_id") REFERENCES "public"."mcp_connections"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
81
|
+
ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_authorizing_user_id_user_id_fk" FOREIGN KEY ("authorizing_user_id") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
82
|
+
ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_credential_secret_id_organization_secrets_id_fk" FOREIGN KEY ("credential_secret_id") REFERENCES "public"."organization_secrets"("id") ON DELETE restrict ON UPDATE no action;--> statement-breakpoint
|
|
83
|
+
ALTER TABLE "mcp_oauth_sessions" ADD CONSTRAINT "mcp_oauth_sessions_org_id_organizations_id_fk" FOREIGN KEY ("org_id") REFERENCES "public"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
84
|
+
ALTER TABLE "mcp_oauth_sessions" ADD CONSTRAINT "mcp_oauth_sessions_connection_id_mcp_connections_id_fk" FOREIGN KEY ("connection_id") REFERENCES "public"."mcp_connections"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
85
|
+
ALTER TABLE "mcp_oauth_sessions" ADD CONSTRAINT "mcp_oauth_sessions_authorizing_user_id_user_id_fk" FOREIGN KEY ("authorizing_user_id") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
86
|
+
ALTER TABLE "mcp_oauth_sessions" ADD CONSTRAINT "mcp_oauth_sessions_credential_secret_id_organization_secrets_id_fk" FOREIGN KEY ("credential_secret_id") REFERENCES "public"."organization_secrets"("id") ON DELETE restrict ON UPDATE no action;--> statement-breakpoint
|
|
87
|
+
INSERT INTO "mcp_connections" (
|
|
88
|
+
"id",
|
|
89
|
+
"org_id",
|
|
90
|
+
"legacy_custom_integration_id",
|
|
91
|
+
"credential_secret_id",
|
|
92
|
+
"name",
|
|
93
|
+
"display_name",
|
|
94
|
+
"provider",
|
|
95
|
+
"transport",
|
|
96
|
+
"access_mode",
|
|
97
|
+
"status",
|
|
98
|
+
"safe_config",
|
|
99
|
+
"enabled",
|
|
100
|
+
"required",
|
|
101
|
+
"disabled_at",
|
|
102
|
+
"revoked_at",
|
|
103
|
+
"created_at",
|
|
104
|
+
"updated_at"
|
|
105
|
+
)
|
|
106
|
+
SELECT
|
|
107
|
+
"id",
|
|
108
|
+
"org_id",
|
|
109
|
+
"id",
|
|
110
|
+
"credential_secret_id",
|
|
111
|
+
"slug",
|
|
112
|
+
"display_name",
|
|
113
|
+
'custom',
|
|
114
|
+
'legacy_manual',
|
|
115
|
+
'provider_default',
|
|
116
|
+
'disabled',
|
|
117
|
+
'{"legacyConfigRetained":true}'::jsonb,
|
|
118
|
+
false,
|
|
119
|
+
false,
|
|
120
|
+
"updated_at",
|
|
121
|
+
"revoked_at",
|
|
122
|
+
"created_at",
|
|
123
|
+
"updated_at"
|
|
124
|
+
FROM "custom_integrations"
|
|
125
|
+
WHERE "kind" = 'mcp_server'
|
|
126
|
+
ON CONFLICT DO NOTHING;--> statement-breakpoint
|
|
127
|
+
UPDATE "custom_integration_tools" AS "tool"
|
|
128
|
+
SET
|
|
129
|
+
"connection_id" = "tool"."integration_id",
|
|
130
|
+
"raw_input_schema" = "tool"."input_schema",
|
|
131
|
+
"discovered_at" = COALESCE("tool"."discovered_at", "tool"."created_at")
|
|
132
|
+
FROM "custom_integrations" AS "integration"
|
|
133
|
+
WHERE
|
|
134
|
+
"integration"."id" = "tool"."integration_id"
|
|
135
|
+
AND "integration"."kind" = 'mcp_server';--> statement-breakpoint
|
|
136
|
+
UPDATE "agent_custom_integration_bindings" AS "binding"
|
|
137
|
+
SET "connection_id" = "binding"."integration_id"
|
|
138
|
+
FROM "custom_integrations" AS "integration"
|
|
139
|
+
WHERE
|
|
140
|
+
"integration"."id" = "binding"."integration_id"
|
|
141
|
+
AND "integration"."kind" = 'mcp_server';--> statement-breakpoint
|
|
142
|
+
UPDATE "custom_integration_tool_calls" AS "call"
|
|
143
|
+
SET
|
|
144
|
+
"connection_id" = "call"."integration_id",
|
|
145
|
+
"redacted_dispatch_outcome" = jsonb_strip_nulls(jsonb_build_object(
|
|
146
|
+
'status', "call"."status",
|
|
147
|
+
'errorCode', "call"."error_code"
|
|
148
|
+
))
|
|
149
|
+
FROM "custom_integrations" AS "integration"
|
|
150
|
+
WHERE
|
|
151
|
+
"integration"."id" = "call"."integration_id"
|
|
152
|
+
AND "integration"."kind" = 'mcp_server';--> statement-breakpoint
|
|
153
|
+
CREATE UNIQUE INDEX "mcp_connections_org_name_uq" ON "mcp_connections" USING btree ("org_id","name");--> statement-breakpoint
|
|
154
|
+
CREATE UNIQUE INDEX "mcp_connections_org_provider_scope_uq" ON "mcp_connections" USING btree ("org_id","provider","external_scope") WHERE "mcp_connections"."provider" <> 'custom' and "mcp_connections"."external_scope" is not null;--> statement-breakpoint
|
|
155
|
+
CREATE INDEX "mcp_connections_org_status_idx" ON "mcp_connections" USING btree ("org_id","status");--> statement-breakpoint
|
|
156
|
+
CREATE INDEX "mcp_connections_org_provider_idx" ON "mcp_connections" USING btree ("org_id","provider");--> statement-breakpoint
|
|
157
|
+
CREATE UNIQUE INDEX "mcp_connections_legacy_integration_uq" ON "mcp_connections" USING btree ("legacy_custom_integration_id") WHERE "mcp_connections"."legacy_custom_integration_id" is not null;--> statement-breakpoint
|
|
158
|
+
CREATE INDEX "mcp_connections_credential_secret_idx" ON "mcp_connections" USING btree ("credential_secret_id");--> statement-breakpoint
|
|
159
|
+
CREATE UNIQUE INDEX "mcp_oauth_grants_connection_uq" ON "mcp_oauth_grants" USING btree ("connection_id");--> statement-breakpoint
|
|
160
|
+
CREATE INDEX "mcp_oauth_grants_org_status_idx" ON "mcp_oauth_grants" USING btree ("org_id","status");--> statement-breakpoint
|
|
161
|
+
CREATE INDEX "mcp_oauth_grants_authorizing_user_idx" ON "mcp_oauth_grants" USING btree ("authorizing_user_id");--> statement-breakpoint
|
|
162
|
+
CREATE INDEX "mcp_oauth_grants_credential_secret_idx" ON "mcp_oauth_grants" USING btree ("credential_secret_id");--> statement-breakpoint
|
|
163
|
+
CREATE UNIQUE INDEX "mcp_oauth_sessions_state_hash_uq" ON "mcp_oauth_sessions" USING btree ("state_hash");--> statement-breakpoint
|
|
164
|
+
CREATE INDEX "mcp_oauth_sessions_org_connection_idx" ON "mcp_oauth_sessions" USING btree ("org_id","connection_id");--> statement-breakpoint
|
|
165
|
+
CREATE INDEX "mcp_oauth_sessions_expiry_idx" ON "mcp_oauth_sessions" USING btree ("expires_at");--> statement-breakpoint
|
|
166
|
+
CREATE INDEX "mcp_oauth_sessions_credential_secret_idx" ON "mcp_oauth_sessions" USING btree ("credential_secret_id");--> statement-breakpoint
|
|
167
|
+
ALTER TABLE "agent_custom_integration_bindings" ADD CONSTRAINT "agent_custom_integration_bindings_connection_id_mcp_connections_id_fk" FOREIGN KEY ("connection_id") REFERENCES "public"."mcp_connections"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
168
|
+
ALTER TABLE "custom_integration_tool_calls" ADD CONSTRAINT "custom_integration_tool_calls_connection_id_mcp_connections_id_fk" FOREIGN KEY ("connection_id") REFERENCES "public"."mcp_connections"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
169
|
+
ALTER TABLE "custom_integration_tools" ADD CONSTRAINT "custom_integration_tools_connection_id_mcp_connections_id_fk" FOREIGN KEY ("connection_id") REFERENCES "public"."mcp_connections"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
170
|
+
CREATE INDEX "agent_custom_integration_bindings_org_connection_idx" ON "agent_custom_integration_bindings" USING btree ("org_id","connection_id");--> statement-breakpoint
|
|
171
|
+
CREATE UNIQUE INDEX "agent_custom_integration_bindings_agent_connection_uq" ON "agent_custom_integration_bindings" USING btree ("org_id","agent_id","connection_id") WHERE "agent_custom_integration_bindings"."connection_id" is not null;--> statement-breakpoint
|
|
172
|
+
CREATE INDEX "custom_integration_tool_calls_org_connection_started_idx" ON "custom_integration_tool_calls" USING btree ("org_id","connection_id","started_at");--> statement-breakpoint
|
|
173
|
+
CREATE INDEX "custom_integration_tools_org_connection_idx" ON "custom_integration_tools" USING btree ("org_id","connection_id");--> statement-breakpoint
|
|
174
|
+
ALTER TABLE "agent_custom_integration_bindings" ADD CONSTRAINT "agent_custom_integration_bindings_owner_check" CHECK ("agent_custom_integration_bindings"."integration_id" is not null or "agent_custom_integration_bindings"."connection_id" is not null);--> statement-breakpoint
|
|
175
|
+
ALTER TABLE "custom_integration_tool_calls" ADD CONSTRAINT "custom_integration_tool_calls_owner_check" CHECK ("custom_integration_tool_calls"."integration_id" is not null or "custom_integration_tool_calls"."connection_id" is not null);--> statement-breakpoint
|
|
176
|
+
ALTER TABLE "custom_integration_tools" ADD CONSTRAINT "custom_integration_tools_owner_check" CHECK ("custom_integration_tools"."integration_id" is not null or "custom_integration_tools"."connection_id" is not null);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
CREATE UNIQUE INDEX "custom_integration_tools_connection_external_name_uq" ON "custom_integration_tools" USING btree ("connection_id","external_tool_name") WHERE "custom_integration_tools"."connection_id" is not null;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
ALTER TABLE "organization_secrets" ADD COLUMN "purpose" text DEFAULT 'user_managed' NOT NULL;--> statement-breakpoint
|
|
2
|
+
UPDATE "organization_secrets"
|
|
3
|
+
SET "purpose" = 'managed_mcp_connection'
|
|
4
|
+
WHERE "id" IN (
|
|
5
|
+
SELECT "credential_secret_id"
|
|
6
|
+
FROM "mcp_connections"
|
|
7
|
+
WHERE "credential_secret_id" IS NOT NULL
|
|
8
|
+
);--> statement-breakpoint
|
|
9
|
+
UPDATE "organization_secrets"
|
|
10
|
+
SET "purpose" = 'managed_mcp_oauth'
|
|
11
|
+
WHERE "id" IN (
|
|
12
|
+
SELECT "credential_secret_id" FROM "mcp_oauth_grants"
|
|
13
|
+
UNION
|
|
14
|
+
SELECT "credential_secret_id" FROM "mcp_oauth_sessions"
|
|
15
|
+
);--> statement-breakpoint
|
|
16
|
+
CREATE INDEX "organization_secrets_org_purpose_idx" ON "organization_secrets" USING btree ("org_id","purpose");
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
ALTER TABLE "mcp_oauth_grants" DROP CONSTRAINT "mcp_oauth_grants_credential_secret_id_organization_secrets_id_fk";
|
|
2
|
+
--> statement-breakpoint
|
|
3
|
+
ALTER TABLE "mcp_oauth_sessions" DROP CONSTRAINT "mcp_oauth_sessions_credential_secret_id_organization_secrets_id_fk";
|
|
4
|
+
--> statement-breakpoint
|
|
5
|
+
ALTER TABLE "mcp_oauth_grants" ALTER COLUMN "credential_secret_id" DROP NOT NULL;--> statement-breakpoint
|
|
6
|
+
ALTER TABLE "mcp_oauth_sessions" ALTER COLUMN "credential_secret_id" DROP NOT NULL;--> statement-breakpoint
|
|
7
|
+
ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_credential_secret_id_organization_secrets_id_fk" FOREIGN KEY ("credential_secret_id") REFERENCES "public"."organization_secrets"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
8
|
+
ALTER TABLE "mcp_oauth_sessions" ADD CONSTRAINT "mcp_oauth_sessions_credential_secret_id_organization_secrets_id_fk" FOREIGN KEY ("credential_secret_id") REFERENCES "public"."organization_secrets"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
9
|
+
ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_active_credential_check" CHECK ("mcp_oauth_grants"."status" <> 'active' or "mcp_oauth_grants"."credential_secret_id" is not null);--> statement-breakpoint
|
|
10
|
+
ALTER TABLE "mcp_oauth_sessions" ADD CONSTRAINT "mcp_oauth_sessions_authorizing_credential_check" CHECK ("mcp_oauth_sessions"."status" <> 'authorizing' or "mcp_oauth_sessions"."credential_secret_id" is not null);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE "mcp_connections" ADD COLUMN "lifecycle_revision" integer DEFAULT 0 NOT NULL;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { describe, expect, it } from "vitest";
|
|
4
|
+
|
|
5
|
+
const migrationsDirectory = path.dirname(new URL(import.meta.url).pathname);
|
|
6
|
+
const migrationFilename = fs.readdirSync(migrationsDirectory)
|
|
7
|
+
.find((filename) => /^0111_.*\.sql$/.test(filename));
|
|
8
|
+
if (!migrationFilename) throw new Error("Expected generated 0111 managed MCP migration");
|
|
9
|
+
const migrationPath = path.join(migrationsDirectory, migrationFilename);
|
|
10
|
+
const oauthLifecycleMigrationFilename = fs.readdirSync(migrationsDirectory)
|
|
11
|
+
.find((filename) => /^0114_.*\.sql$/.test(filename));
|
|
12
|
+
if (!oauthLifecycleMigrationFilename) {
|
|
13
|
+
throw new Error("Expected generated 0114 managed MCP OAuth lifecycle migration");
|
|
14
|
+
}
|
|
15
|
+
const oauthLifecycleMigrationPath = path.join(
|
|
16
|
+
migrationsDirectory,
|
|
17
|
+
oauthLifecycleMigrationFilename,
|
|
18
|
+
);
|
|
19
|
+
const oauthRefreshLeaseMigrationFilename = fs.readdirSync(migrationsDirectory)
|
|
20
|
+
.find((filename) => /^0115_.*\.sql$/.test(filename));
|
|
21
|
+
if (!oauthRefreshLeaseMigrationFilename) {
|
|
22
|
+
throw new Error("Expected generated 0115 managed MCP OAuth refresh lease migration");
|
|
23
|
+
}
|
|
24
|
+
const oauthRefreshLeaseMigrationPath = path.join(
|
|
25
|
+
migrationsDirectory,
|
|
26
|
+
oauthRefreshLeaseMigrationFilename,
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
describe("managed MCP connection migration", () => {
|
|
30
|
+
it("backfills legacy MCP definitions as disabled non-executable connections", () => {
|
|
31
|
+
const sql = fs.readFileSync(migrationPath, "utf8");
|
|
32
|
+
|
|
33
|
+
expect(sql).toMatch(/INSERT INTO "mcp_connections"/);
|
|
34
|
+
expect(sql).toMatch(/WHERE "kind" = 'mcp_server'/);
|
|
35
|
+
expect(sql).toMatch(/'legacy_manual'/);
|
|
36
|
+
expect(sql).toMatch(/false,\s*false/);
|
|
37
|
+
expect(sql).toMatch(/ON CONFLICT DO NOTHING/);
|
|
38
|
+
expect(sql).toMatch(/"startup_timeout_ms" integer DEFAULT 10000 NOT NULL/);
|
|
39
|
+
expect(sql).not.toContain("connect_timeout_ms");
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it("links legacy tools, bindings, and audit rows to their backfilled connection", () => {
|
|
43
|
+
const sql = fs.readFileSync(migrationPath, "utf8");
|
|
44
|
+
|
|
45
|
+
expect(sql).toMatch(/UPDATE "custom_integration_tools" AS "tool"[\s\S]*SET\s+"connection_id" = "tool"\."integration_id"/);
|
|
46
|
+
expect(sql).toMatch(/UPDATE "agent_custom_integration_bindings" AS "binding"[\s\S]*SET "connection_id" = "binding"\."integration_id"/);
|
|
47
|
+
expect(sql).toMatch(/UPDATE "custom_integration_tool_calls" AS "call"[\s\S]*SET\s+"connection_id" = "call"\."integration_id"/);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it("allows consumed and revoked rows to delete secrets while requiring live credentials", () => {
|
|
51
|
+
const sql = fs.readFileSync(oauthLifecycleMigrationPath, "utf8");
|
|
52
|
+
|
|
53
|
+
expect(sql).toMatch(/"mcp_oauth_grants" ALTER COLUMN "credential_secret_id" DROP NOT NULL/);
|
|
54
|
+
expect(sql).toMatch(/"mcp_oauth_sessions" ALTER COLUMN "credential_secret_id" DROP NOT NULL/);
|
|
55
|
+
expect(sql).toMatch(/mcp_oauth_grants_credential_secret_id_organization_secrets_id_fk[\s\S]*ON DELETE set null/);
|
|
56
|
+
expect(sql).toMatch(/mcp_oauth_sessions_credential_secret_id_organization_secrets_id_fk[\s\S]*ON DELETE set null/);
|
|
57
|
+
expect(sql).toMatch(/mcp_oauth_grants_active_credential_check/);
|
|
58
|
+
expect(sql).toMatch(/mcp_oauth_sessions_authorizing_credential_check/);
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it("persists a cross-process OAuth refresh lease nonce and expiry", () => {
|
|
62
|
+
const sql = fs.readFileSync(oauthRefreshLeaseMigrationPath, "utf8");
|
|
63
|
+
|
|
64
|
+
expect(sql).toMatch(/ADD COLUMN "refresh_lease_nonce" text/);
|
|
65
|
+
expect(sql).toMatch(/ADD COLUMN "refresh_lease_expires_at" timestamp with time zone/);
|
|
66
|
+
});
|
|
67
|
+
});
|