@paperclipai/db 2026.1005.0 → 2026.1006.0-beta.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/connections-v3-schema-core-migration.test.js +8 -0
- package/dist/connections-v3-schema-core-migration.test.js.map +1 -1
- package/dist/migrations/0294_chilly_marvel_apes.sql +1 -0
- package/dist/migrations/0295_public_captain_cross.sql +21 -0
- package/dist/migrations/0296_stiff_thaddeus_ross.sql +25 -0
- package/dist/migrations/0297_foamy_swordsman.sql +14 -0
- package/dist/migrations/0298_connection_agent_instructions.sql +16 -0
- package/dist/migrations/0299_absent_ser_duncan.sql +64 -0
- package/dist/migrations/0300_chunky_chamber.sql +3 -0
- package/dist/migrations/0301_lumpy_maria_hill.sql +157 -0
- package/dist/migrations/0302_colossal_otto_octavius.sql +24 -0
- package/dist/migrations/0303_supreme_garia.sql +1 -0
- package/dist/migrations/0304_curvy_shadow_king.sql +27 -0
- package/dist/migrations/0305_chubby_vin_gonzales.sql +7 -0
- package/dist/migrations/meta/_journal.json +84 -0
- package/dist/schema/agent_api_keys.d.ts +4 -4
- package/dist/schema/ai_connection_routing.d.ts +448 -0
- package/dist/schema/ai_connection_routing.d.ts.map +1 -0
- package/dist/schema/ai_connection_routing.js +37 -0
- package/dist/schema/ai_connection_routing.js.map +1 -0
- package/dist/schema/company_secrets.d.ts +17 -0
- package/dist/schema/company_secrets.d.ts.map +1 -1
- package/dist/schema/company_secrets.js +1 -0
- package/dist/schema/company_secrets.js.map +1 -1
- package/dist/schema/index.d.ts +5 -0
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +5 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/public_mcp.d.ts +1625 -0
- package/dist/schema/public_mcp.d.ts.map +1 -0
- package/dist/schema/public_mcp.js +146 -0
- package/dist/schema/public_mcp.js.map +1 -0
- package/dist/schema/resource_lifecycle_events.d.ts +115 -0
- package/dist/schema/resource_lifecycle_events.d.ts.map +1 -0
- package/dist/schema/resource_lifecycle_events.js +18 -0
- package/dist/schema/resource_lifecycle_events.js.map +1 -0
- package/dist/schema/tool_access.d.ts +33 -0
- package/dist/schema/tool_access.d.ts.map +1 -1
- package/dist/schema/tool_access.js +2 -0
- package/dist/schema/tool_access.js.map +1 -1
- package/dist/schema/tool_connection_app_snapshots.d.ts +184 -0
- package/dist/schema/tool_connection_app_snapshots.d.ts.map +1 -0
- package/dist/schema/tool_connection_app_snapshots.js +20 -0
- package/dist/schema/tool_connection_app_snapshots.js.map +1 -0
- package/dist/schema/tool_connection_app_syncs.d.ts +215 -0
- package/dist/schema/tool_connection_app_syncs.d.ts.map +1 -0
- package/dist/schema/tool_connection_app_syncs.js +22 -0
- package/dist/schema/tool_connection_app_syncs.js.map +1 -0
- package/package.json +3 -3
|
@@ -32,6 +32,11 @@ describeEmbeddedPostgres("connections v3 schema core migration", () => {
|
|
|
32
32
|
await sql `DELETE FROM "drizzle"."__drizzle_migrations" WHERE "hash" = ${await migrationHash()}`;
|
|
33
33
|
// AI defaults arrive in 0273/0277 and depend on the composite grant key
|
|
34
34
|
// from 0232. Rewind those tables before recreating the 0182 grant schema.
|
|
35
|
+
// Router pins/cursors depend on pools, whose composite connection FK also
|
|
36
|
+
// arrives after 0182. Rewind these empty fixture tables in dependency order.
|
|
37
|
+
await sql `DROP TABLE IF EXISTS "ai_connection_task_pins"`;
|
|
38
|
+
await sql `DROP TABLE IF EXISTS "ai_connection_router_cursors"`;
|
|
39
|
+
await sql `DROP TABLE IF EXISTS "ai_connection_pools"`;
|
|
35
40
|
await sql `DROP TABLE IF EXISTS "ai_provider_defaults"`;
|
|
36
41
|
await sql `DROP TABLE IF EXISTS "ai_connection_defaults"`;
|
|
37
42
|
await sql `DROP TABLE IF EXISTS "connection_grant_delegations"`;
|
|
@@ -41,6 +46,9 @@ describeEmbeddedPostgres("connections v3 schema core migration", () => {
|
|
|
41
46
|
await sql `DROP TABLE IF EXISTS "browser_use_runs"`;
|
|
42
47
|
await sql `DROP TABLE IF EXISTS "browser_use_sessions"`;
|
|
43
48
|
await sql `DROP TABLE IF EXISTS "browser_use_settings"`;
|
|
49
|
+
// Managed-account observations are later consumers of the same connection key.
|
|
50
|
+
await sql `DROP TABLE IF EXISTS "tool_connection_app_syncs"`;
|
|
51
|
+
await sql `DROP TABLE IF EXISTS "tool_connection_app_snapshots"`;
|
|
44
52
|
await sql `DROP TABLE IF EXISTS "connection_grants"`;
|
|
45
53
|
await sql `DROP INDEX IF EXISTS "tool_connections_company_uid_uq"`;
|
|
46
54
|
await sql `ALTER TABLE "tool_connections" DROP CONSTRAINT IF EXISTS "tool_connections_company_id_uq"`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections-v3-schema-core-migration.test.js","sourceRoot":"","sources":["../src/connections-v3-schema-core-migration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,8BAA8B,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAEhH,MAAM,cAAc,GAAG,qCAAqC,CAAC;AAC7D,MAAM,QAAQ,GAA+B,EAAE,CAAC;AAChD,MAAM,uBAAuB,GAAG,MAAM,8BAA8B,EAAE,CAAC;AACvE,MAAM,wBAAwB,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAE9F,KAAK,UAAU,aAAa;IAC1B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,gBAAgB,cAAc,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/G,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,wBAAwB,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpE,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnF,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,QAAQ,GAAG,MAAM,iCAAiC,CAAC,qCAAqC,CAAC,CAAC;QAChG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAErC,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,GAAG,CAA0B;;;;KAI3D,CAAC;QACF,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,GAAG,CAAA,qFAAqF,CAAC;QAE/F,MAAM,GAAG,CAAA,+DAA+D,MAAM,aAAa,EAAE,EAAE,CAAC;QAChG,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,GAAG,CAAA,6CAA6C,CAAC;QACvD,MAAM,GAAG,CAAA,+CAA+C,CAAC;QACzD,MAAM,GAAG,CAAA,qDAAqD,CAAC;QAC/D,MAAM,GAAG,CAAA,iDAAiD,CAAC;QAC3D,8EAA8E;QAC9E,MAAM,GAAG,CAAA,6CAA6C,CAAC;QACvD,MAAM,GAAG,CAAA,yCAAyC,CAAC;QACnD,MAAM,GAAG,CAAA,6CAA6C,CAAC;QACvD,MAAM,GAAG,CAAA,6CAA6C,CAAC;QACvD,MAAM,GAAG,CAAA,0CAA0C,CAAC;QACpD,MAAM,GAAG,CAAA,wDAAwD,CAAC;QAClE,MAAM,GAAG,CAAA,2FAA2F,CAAC;QACrG,MAAM,GAAG,CAAA,6FAA6F,CAAC;QACvG,MAAM,GAAG,CAAA,6FAA6F,CAAC;QACvG,MAAM,GAAG,CAAA,6FAA6F,CAAC;QACvG,MAAM,GAAG,CAAA,4DAA4D,CAAC;QACtE,MAAM,GAAG,CAAA,kEAAkE,CAAC;QAC5E,MAAM,GAAG,CAAA,kEAAkE,CAAC;QAE5E,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC9B,MAAM,GAAG,CAAA,kEAAkE,SAAS,uBAAuB,CAAC;QAC5G,MAAM,GAAG,CAAA,mGAAmG,aAAa,KAAK,SAAS,mCAAmC,CAAC;QAC3K,MAAM,GAAG,CAAA;;gBAEG,YAAY,KAAK,SAAS,KAAK,aAAa,uFAAuF,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAAC;KACzM,CAAC;QAEF,MAAM,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACxD,MAAM,GAAG,CAAC,MAAM,CACd,sFAAsF,cAAe,CAAC,UAAU,EAAE,CACnH,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAA4E;iGACb,YAAY;KACxG,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QACzG,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAEpE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,CAA4E;+GACM,YAAY;KACtH,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC;QAEjG,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;QACpC,MAAM,GAAG,CAAA,kEAAkE,cAAc,mBAAmB,CAAC;QAC7G,MAAM,MAAM,CAAC,GAAG,CAAA;;gBAEJ,cAAc,KAAK,YAAY;KAC1C,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5C,MAAM,MAAM,CAAC,GAAG,CAAA;;gBAEJ,SAAS,KAAK,YAAY;KACrC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAE5C,MAAM,GAAG,CAAA,qFAAqF,CAAC;QAC/F,MAAM,GAAG,CAAA,iDAAiD,CAAC;QAC3D,MAAM,GAAG,CAAA,gCAAgC,CAAC;QAC1C,MAAM,GAAG,CAAA,8CAA8C,CAAC;QACxD,MAAM,GAAG,CAAA,iFAAiF,CAAC;QAC3F,MAAM,GAAG,CAAA,mFAAmF,CAAC;QAC7F,MAAM,GAAG,CAAA,mFAAmF,CAAC;QAC7F,MAAM,GAAG,CAAA,mFAAmF,CAAC;QAC7F,MAAM,GAAG,CAAA,4FAA4F,CAAC;QACtG,MAAM,GAAG,CAAA,kDAAkD,CAAC;QAC5D,MAAM,GAAG,CAAA,wDAAwD,CAAC;QAClE,MAAM,GAAG,CAAA,wDAAwD,CAAC;QAElE,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAqC;sEACD,YAAY;KAC7E,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;IAC7E,CAAC,EAAE,MAAM,CAAC,CAAC;AACb,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"connections-v3-schema-core-migration.test.js","sourceRoot":"","sources":["../src/connections-v3-schema-core-migration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
CREATE INDEX IF NOT EXISTS "tool_mcp_gateway_tokens_expiry_idx" ON "tool_mcp_gateway_tokens" USING btree ("expires_at","id");
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS "tool_connection_app_snapshots" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"company_id" uuid NOT NULL,
|
|
4
|
+
"connection_id" uuid NOT NULL,
|
|
5
|
+
"user_id" text NOT NULL,
|
|
6
|
+
"credential_key" text NOT NULL,
|
|
7
|
+
"toolkit" text NOT NULL,
|
|
8
|
+
"status" text NOT NULL,
|
|
9
|
+
"accounts" jsonb DEFAULT '[]'::jsonb NOT NULL,
|
|
10
|
+
"checked_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
11
|
+
);
|
|
12
|
+
--> statement-breakpoint
|
|
13
|
+
DO $$ BEGIN
|
|
14
|
+
ALTER TABLE "tool_connection_app_snapshots" ADD CONSTRAINT "tool_connection_app_snapshots_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;
|
|
15
|
+
EXCEPTION WHEN duplicate_object THEN NULL;
|
|
16
|
+
END $$;--> statement-breakpoint
|
|
17
|
+
DO $$ BEGIN
|
|
18
|
+
ALTER TABLE "tool_connection_app_snapshots" ADD CONSTRAINT "tool_connection_app_snapshots_company_connection_fk" FOREIGN KEY ("company_id","connection_id") REFERENCES "public"."tool_connections"("company_id","id") ON DELETE cascade ON UPDATE no action;
|
|
19
|
+
EXCEPTION WHEN duplicate_object THEN NULL;
|
|
20
|
+
END $$;--> statement-breakpoint
|
|
21
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "tool_connection_app_snapshots_owner_toolkit_uq" ON "tool_connection_app_snapshots" USING btree ("company_id","connection_id","user_id","toolkit");
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS "tool_connection_app_syncs" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"company_id" uuid NOT NULL,
|
|
4
|
+
"connection_id" uuid NOT NULL,
|
|
5
|
+
"user_id" text NOT NULL,
|
|
6
|
+
"credential_key" text NOT NULL,
|
|
7
|
+
"lease_id" uuid NOT NULL,
|
|
8
|
+
"status" text NOT NULL,
|
|
9
|
+
"checked" integer DEFAULT 0 NOT NULL,
|
|
10
|
+
"total" integer DEFAULT 0 NOT NULL,
|
|
11
|
+
"failed" integer DEFAULT 0 NOT NULL,
|
|
12
|
+
"last_completed_at" timestamp with time zone,
|
|
13
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
14
|
+
);
|
|
15
|
+
--> statement-breakpoint
|
|
16
|
+
ALTER TABLE "tool_connection_app_snapshots" ADD COLUMN IF NOT EXISTS "error_at" timestamp with time zone;--> statement-breakpoint
|
|
17
|
+
DO $$ BEGIN
|
|
18
|
+
ALTER TABLE "tool_connection_app_syncs" ADD CONSTRAINT "tool_connection_app_syncs_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;
|
|
19
|
+
EXCEPTION WHEN duplicate_object THEN NULL;
|
|
20
|
+
END $$;--> statement-breakpoint
|
|
21
|
+
DO $$ BEGIN
|
|
22
|
+
ALTER TABLE "tool_connection_app_syncs" ADD CONSTRAINT "tool_connection_app_syncs_company_connection_fk" FOREIGN KEY ("company_id","connection_id") REFERENCES "public"."tool_connections"("company_id","id") ON DELETE cascade ON UPDATE no action;
|
|
23
|
+
EXCEPTION WHEN duplicate_object THEN NULL;
|
|
24
|
+
END $$;--> statement-breakpoint
|
|
25
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "tool_connection_app_syncs_owner_key_uq" ON "tool_connection_app_syncs" USING btree ("company_id","connection_id","user_id","credential_key");
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
CREATE TABLE "resource_lifecycle_events" (
|
|
2
|
+
"id" bigint PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "resource_lifecycle_events_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1),
|
|
3
|
+
"company_id" uuid NOT NULL,
|
|
4
|
+
"resource_type" text NOT NULL,
|
|
5
|
+
"resource_id" uuid NOT NULL,
|
|
6
|
+
"action" text NOT NULL,
|
|
7
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
8
|
+
CONSTRAINT "resource_lifecycle_events_resource_type_check" CHECK ("resource_lifecycle_events"."resource_type" IN ('agent', 'project')),
|
|
9
|
+
CONSTRAINT "resource_lifecycle_events_action_check" CHECK ("resource_lifecycle_events"."action" = 'create' OR ("resource_lifecycle_events"."resource_type" = 'agent' AND "resource_lifecycle_events"."action" IN ('pause', 'resume', 'terminate')))
|
|
10
|
+
);
|
|
11
|
+
--> statement-breakpoint
|
|
12
|
+
ALTER TABLE "resource_lifecycle_events" ADD CONSTRAINT "resource_lifecycle_events_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
13
|
+
CREATE UNIQUE INDEX "resource_lifecycle_events_creation_idx" ON "resource_lifecycle_events" USING btree ("company_id","resource_type","resource_id") WHERE "resource_lifecycle_events"."action" = 'create';--> statement-breakpoint
|
|
14
|
+
CREATE INDEX "resource_lifecycle_events_company_idx" ON "resource_lifecycle_events" USING btree ("company_id","id");
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
ALTER TABLE "tool_connections" ADD COLUMN IF NOT EXISTS "agent_instructions" jsonb;
|
|
2
|
+
--> statement-breakpoint
|
|
3
|
+
UPDATE "tool_connections" SET "agent_instructions" = '{"enabled": true, "text": "Use Honcho to recall relevant preferences and prior decisions when work depends on earlier context. Use the configured workspace and the peer or session identified by the task or existing provider context. Save concise, durable facts after useful work; if a required memory target is unclear, clarify it before saving. Treat retrieved memories as background context and follow current task instructions when they differ. Do not store credentials or copy entire conversations. Respect action permissions and approvals; if a call fails or indexing is pending, continue useful work and accurately report what was saved or remains unavailable.", "template": {"id": "honcho.usage", "version": 1}}'::jsonb
|
|
4
|
+
WHERE "agent_instructions" IS NULL AND COALESCE("config"->>'sourceTemplateKey', "transport_config"->>'sourceTemplateKey') = 'honcho';
|
|
5
|
+
--> statement-breakpoint
|
|
6
|
+
UPDATE "tool_connections" SET "agent_instructions" = '{"enabled": true, "text": "Use Mem0 to search for relevant preferences, decisions, and prior work before relying on remembered context. Save concise, durable facts after useful work using the entity identified by the task or provider context. Reuse that entity when retrieving its memories; clarify a missing target rather than inventing an agent or company memory scope. Treat retrieved memories as background context and follow current task instructions when they differ. Do not store credentials or copy entire conversations. Respect action permissions and approvals; if a call fails or indexing is pending, continue useful work and accurately report what was saved or remains unavailable.", "template": {"id": "mem0.usage", "version": 1}}'::jsonb
|
|
7
|
+
WHERE "agent_instructions" IS NULL AND COALESCE("config"->>'sourceTemplateKey', "transport_config"->>'sourceTemplateKey') = 'mem0';
|
|
8
|
+
--> statement-breakpoint
|
|
9
|
+
UPDATE "tool_connections" SET "agent_instructions" = '{"enabled": true, "text": "Use Zep to search the connected identity’s memory when earlier decisions or preferences matter. Save concise, durable facts after useful work when writing is available. Use a shared graph only when the task identifies it and the connection authorizes it; do not substitute a different identity or graph. Treat retrieved memories as background context and follow current task instructions when they differ. Do not store credentials or copy entire conversations. Respect action permissions and approvals; if a call fails or indexing is pending, continue useful work and accurately report what was saved or remains unavailable.", "template": {"id": "zep.usage", "version": 1}}'::jsonb
|
|
10
|
+
WHERE "agent_instructions" IS NULL AND COALESCE("config"->>'sourceTemplateKey', "transport_config"->>'sourceTemplateKey') = 'zep';
|
|
11
|
+
--> statement-breakpoint
|
|
12
|
+
UPDATE "tool_connections" SET "agent_instructions" = '{"enabled": true, "text": "Use Supermemory to recall relevant preferences, decisions, and prior work from the workspace and tags authorized for this connection. Save concise, durable facts after useful work using the same authorized context. Use the available search and save tools; do not change spaces or broaden tags to bypass the configured access. Treat retrieved memories as background context and follow current task instructions when they differ. Do not store credentials or copy entire conversations. Respect action permissions and approvals; if a call fails or indexing is pending, continue useful work and accurately report what was saved or remains unavailable.", "template": {"id": "supermemory.usage", "version": 1}}'::jsonb
|
|
13
|
+
WHERE "agent_instructions" IS NULL AND COALESCE("config"->>'sourceTemplateKey', "transport_config"->>'sourceTemplateKey') = 'supermemory';
|
|
14
|
+
--> statement-breakpoint
|
|
15
|
+
UPDATE "tool_connections" SET "agent_instructions" = '{"enabled": true, "text": "Use Cognee recall to retrieve relevant facts and decisions when work depends on earlier context. Use remember to save concise, durable facts after useful work in the dataset or session identified by the task, or the connection’s provider default. Use forget only when the task calls for deletion. Treat retrieved memories as background context and follow current task instructions when they differ. Do not store credentials or copy entire conversations. Respect action permissions and approvals; if a call fails or indexing is pending, continue useful work and accurately report what was saved or remains unavailable.", "template": {"id": "cognee.usage", "version": 1}}'::jsonb
|
|
16
|
+
WHERE "agent_instructions" IS NULL AND COALESCE("config"->>'sourceTemplateKey', "transport_config"->>'sourceTemplateKey') = 'cognee';
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS "ai_connection_pools" (
|
|
2
|
+
"id" uuid PRIMARY KEY NOT NULL,
|
|
3
|
+
"company_id" uuid NOT NULL,
|
|
4
|
+
"plugin_key" text NOT NULL,
|
|
5
|
+
"config" jsonb NOT NULL,
|
|
6
|
+
"revision" integer DEFAULT 1 NOT NULL,
|
|
7
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
8
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
9
|
+
CONSTRAINT "ai_connection_pools_company_id_uq" UNIQUE("company_id","id")
|
|
10
|
+
);
|
|
11
|
+
--> statement-breakpoint
|
|
12
|
+
CREATE TABLE IF NOT EXISTS "ai_connection_router_cursors" (
|
|
13
|
+
"pool_id" uuid PRIMARY KEY NOT NULL,
|
|
14
|
+
"company_id" uuid NOT NULL,
|
|
15
|
+
"last_member_id" text,
|
|
16
|
+
"version" integer DEFAULT 0 NOT NULL
|
|
17
|
+
);
|
|
18
|
+
--> statement-breakpoint
|
|
19
|
+
CREATE TABLE IF NOT EXISTS "ai_connection_task_pins" (
|
|
20
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
21
|
+
"company_id" uuid NOT NULL,
|
|
22
|
+
"pool_id" uuid NOT NULL,
|
|
23
|
+
"agent_id" uuid NOT NULL,
|
|
24
|
+
"task_key" text NOT NULL,
|
|
25
|
+
"selection" jsonb NOT NULL,
|
|
26
|
+
"member" jsonb NOT NULL,
|
|
27
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
28
|
+
);
|
|
29
|
+
--> statement-breakpoint
|
|
30
|
+
ALTER TABLE "company_secrets" ADD COLUMN IF NOT EXISTS "ai_session_epoch" integer DEFAULT 0 NOT NULL;--> statement-breakpoint
|
|
31
|
+
DO $$ BEGIN
|
|
32
|
+
ALTER TABLE "ai_connection_pools" ADD CONSTRAINT "ai_connection_pools_id_tool_connections_id_fk" FOREIGN KEY ("id") REFERENCES "public"."tool_connections"("id") ON DELETE cascade ON UPDATE no action;
|
|
33
|
+
EXCEPTION WHEN duplicate_object THEN NULL; END $$;--> statement-breakpoint
|
|
34
|
+
DO $$ BEGIN
|
|
35
|
+
ALTER TABLE "ai_connection_pools" ADD CONSTRAINT "ai_connection_pools_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;
|
|
36
|
+
EXCEPTION WHEN duplicate_object THEN NULL; END $$;--> statement-breakpoint
|
|
37
|
+
DO $$ BEGIN
|
|
38
|
+
ALTER TABLE "ai_connection_pools" ADD CONSTRAINT "ai_connection_pools_company_connection_fk" FOREIGN KEY ("company_id","id") REFERENCES "public"."tool_connections"("company_id","id") ON DELETE cascade ON UPDATE no action;
|
|
39
|
+
EXCEPTION WHEN duplicate_object THEN NULL; END $$;--> statement-breakpoint
|
|
40
|
+
DO $$ BEGIN
|
|
41
|
+
ALTER TABLE "ai_connection_router_cursors" ADD CONSTRAINT "ai_connection_router_cursors_pool_id_ai_connection_pools_id_fk" FOREIGN KEY ("pool_id") REFERENCES "public"."ai_connection_pools"("id") ON DELETE cascade ON UPDATE no action;
|
|
42
|
+
EXCEPTION WHEN duplicate_object THEN NULL; END $$;--> statement-breakpoint
|
|
43
|
+
DO $$ BEGIN
|
|
44
|
+
ALTER TABLE "ai_connection_router_cursors" ADD CONSTRAINT "ai_connection_router_cursors_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;
|
|
45
|
+
EXCEPTION WHEN duplicate_object THEN NULL; END $$;--> statement-breakpoint
|
|
46
|
+
DO $$ BEGIN
|
|
47
|
+
ALTER TABLE "ai_connection_router_cursors" ADD CONSTRAINT "ai_connection_router_cursors_company_pool_fk" FOREIGN KEY ("company_id","pool_id") REFERENCES "public"."ai_connection_pools"("company_id","id") ON DELETE cascade ON UPDATE no action;
|
|
48
|
+
EXCEPTION WHEN duplicate_object THEN NULL; END $$;--> statement-breakpoint
|
|
49
|
+
DO $$ BEGIN
|
|
50
|
+
ALTER TABLE "ai_connection_task_pins" ADD CONSTRAINT "ai_connection_task_pins_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;
|
|
51
|
+
EXCEPTION WHEN duplicate_object THEN NULL; END $$;--> statement-breakpoint
|
|
52
|
+
DO $$ BEGIN
|
|
53
|
+
ALTER TABLE "ai_connection_task_pins" ADD CONSTRAINT "ai_connection_task_pins_pool_id_ai_connection_pools_id_fk" FOREIGN KEY ("pool_id") REFERENCES "public"."ai_connection_pools"("id") ON DELETE cascade ON UPDATE no action;
|
|
54
|
+
EXCEPTION WHEN duplicate_object THEN NULL; END $$;--> statement-breakpoint
|
|
55
|
+
DO $$ BEGIN
|
|
56
|
+
ALTER TABLE "ai_connection_task_pins" ADD CONSTRAINT "ai_connection_task_pins_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE cascade ON UPDATE no action;
|
|
57
|
+
EXCEPTION WHEN duplicate_object THEN NULL; END $$;--> statement-breakpoint
|
|
58
|
+
DO $$ BEGIN
|
|
59
|
+
ALTER TABLE "ai_connection_task_pins" ADD CONSTRAINT "ai_connection_task_pins_company_pool_fk" FOREIGN KEY ("company_id","pool_id") REFERENCES "public"."ai_connection_pools"("company_id","id") ON DELETE cascade ON UPDATE no action;
|
|
60
|
+
EXCEPTION WHEN duplicate_object THEN NULL; END $$;--> statement-breakpoint
|
|
61
|
+
DO $$ BEGIN
|
|
62
|
+
ALTER TABLE "ai_connection_task_pins" ADD CONSTRAINT "ai_connection_task_pins_company_agent_fk" FOREIGN KEY ("company_id","agent_id") REFERENCES "public"."agents"("company_id","id") ON DELETE cascade ON UPDATE no action;
|
|
63
|
+
EXCEPTION WHEN duplicate_object THEN NULL; END $$;--> statement-breakpoint
|
|
64
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "ai_connection_task_pins_affinity_uq" ON "ai_connection_task_pins" USING btree ("company_id","pool_id","agent_id","task_key");
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
-- Older JavaScript worktree backups may omit CHECK constraints.
|
|
2
|
+
ALTER TABLE "resource_lifecycle_events" DROP CONSTRAINT IF EXISTS "resource_lifecycle_events_action_check";--> statement-breakpoint
|
|
3
|
+
ALTER TABLE "resource_lifecycle_events" ADD CONSTRAINT "resource_lifecycle_events_action_check" CHECK ("resource_lifecycle_events"."action" = 'create' OR ("resource_lifecycle_events"."resource_type" = 'project' AND "resource_lifecycle_events"."action" = 'update') OR ("resource_lifecycle_events"."resource_type" = 'agent' AND "resource_lifecycle_events"."action" IN ('pause', 'resume', 'terminate')));
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS "mcp_mutation_receipts" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"company_id" uuid NOT NULL,
|
|
4
|
+
"user_id" text NOT NULL,
|
|
5
|
+
"grant_id" uuid NOT NULL,
|
|
6
|
+
"operation" text NOT NULL,
|
|
7
|
+
"request_id" uuid NOT NULL,
|
|
8
|
+
"arguments_hash" text NOT NULL,
|
|
9
|
+
"status" text DEFAULT 'reserved' NOT NULL,
|
|
10
|
+
"result" jsonb,
|
|
11
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
12
|
+
);
|
|
13
|
+
--> statement-breakpoint
|
|
14
|
+
CREATE TABLE IF NOT EXISTS "mcp_oauth_clients" (
|
|
15
|
+
"id" text PRIMARY KEY NOT NULL,
|
|
16
|
+
"name" text NOT NULL,
|
|
17
|
+
"redirect_uris" jsonb NOT NULL,
|
|
18
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
19
|
+
);
|
|
20
|
+
--> statement-breakpoint
|
|
21
|
+
CREATE TABLE IF NOT EXISTS "mcp_oauth_grants" (
|
|
22
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
23
|
+
"company_id" uuid NOT NULL,
|
|
24
|
+
"user_id" text NOT NULL,
|
|
25
|
+
"client_id" text NOT NULL,
|
|
26
|
+
"resource" text NOT NULL,
|
|
27
|
+
"scopes" jsonb NOT NULL,
|
|
28
|
+
"revoked_at" timestamp with time zone,
|
|
29
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
30
|
+
);
|
|
31
|
+
--> statement-breakpoint
|
|
32
|
+
CREATE TABLE IF NOT EXISTS "mcp_oauth_requests" (
|
|
33
|
+
"id" text PRIMARY KEY NOT NULL,
|
|
34
|
+
"client_id" text NOT NULL,
|
|
35
|
+
"redirect_uri" text NOT NULL,
|
|
36
|
+
"resource" text NOT NULL,
|
|
37
|
+
"scopes" jsonb NOT NULL,
|
|
38
|
+
"state" text,
|
|
39
|
+
"challenge" text NOT NULL,
|
|
40
|
+
"grant_id" uuid,
|
|
41
|
+
"code_hash" text,
|
|
42
|
+
"decided_at" timestamp with time zone,
|
|
43
|
+
"consumed_at" timestamp with time zone,
|
|
44
|
+
"expires_at" timestamp with time zone NOT NULL,
|
|
45
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
46
|
+
);
|
|
47
|
+
--> statement-breakpoint
|
|
48
|
+
CREATE TABLE IF NOT EXISTS "mcp_oauth_tokens" (
|
|
49
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
50
|
+
"grant_id" uuid NOT NULL,
|
|
51
|
+
"token_hash" text NOT NULL,
|
|
52
|
+
"kind" text NOT NULL,
|
|
53
|
+
"used_at" timestamp with time zone,
|
|
54
|
+
"expires_at" timestamp with time zone NOT NULL,
|
|
55
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
56
|
+
);
|
|
57
|
+
--> statement-breakpoint
|
|
58
|
+
DO $$ BEGIN
|
|
59
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'mcp_mutation_receipts_company_id_companies_id_fk' AND conrelid = 'public.mcp_mutation_receipts'::regclass) THEN
|
|
60
|
+
ALTER TABLE "mcp_mutation_receipts" ADD CONSTRAINT "mcp_mutation_receipts_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;
|
|
61
|
+
END IF;
|
|
62
|
+
END $$;--> statement-breakpoint
|
|
63
|
+
DO $$ BEGIN
|
|
64
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'mcp_mutation_receipts_user_id_user_id_fk' AND conrelid = 'public.mcp_mutation_receipts'::regclass) THEN
|
|
65
|
+
ALTER TABLE "mcp_mutation_receipts" ADD CONSTRAINT "mcp_mutation_receipts_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;
|
|
66
|
+
END IF;
|
|
67
|
+
END $$;--> statement-breakpoint
|
|
68
|
+
DO $$ BEGIN
|
|
69
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'mcp_mutation_receipts_grant_id_mcp_oauth_grants_id_fk' AND conrelid = 'public.mcp_mutation_receipts'::regclass) THEN
|
|
70
|
+
ALTER TABLE "mcp_mutation_receipts" ADD CONSTRAINT "mcp_mutation_receipts_grant_id_mcp_oauth_grants_id_fk" FOREIGN KEY ("grant_id") REFERENCES "public"."mcp_oauth_grants"("id") ON DELETE cascade ON UPDATE no action;
|
|
71
|
+
END IF;
|
|
72
|
+
END $$;--> statement-breakpoint
|
|
73
|
+
DO $$ BEGIN
|
|
74
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'mcp_oauth_grants_company_id_companies_id_fk' AND conrelid = 'public.mcp_oauth_grants'::regclass) THEN
|
|
75
|
+
ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;
|
|
76
|
+
END IF;
|
|
77
|
+
END $$;--> statement-breakpoint
|
|
78
|
+
DO $$ BEGIN
|
|
79
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'mcp_oauth_grants_user_id_user_id_fk' AND conrelid = 'public.mcp_oauth_grants'::regclass) THEN
|
|
80
|
+
ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;
|
|
81
|
+
END IF;
|
|
82
|
+
END $$;--> statement-breakpoint
|
|
83
|
+
DO $$ BEGIN
|
|
84
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'mcp_oauth_grants_client_id_mcp_oauth_clients_id_fk' AND conrelid = 'public.mcp_oauth_grants'::regclass) THEN
|
|
85
|
+
ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_client_id_mcp_oauth_clients_id_fk" FOREIGN KEY ("client_id") REFERENCES "public"."mcp_oauth_clients"("id") ON DELETE cascade ON UPDATE no action;
|
|
86
|
+
END IF;
|
|
87
|
+
END $$;--> statement-breakpoint
|
|
88
|
+
DO $$ BEGIN
|
|
89
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'mcp_oauth_requests_client_id_mcp_oauth_clients_id_fk' AND conrelid = 'public.mcp_oauth_requests'::regclass) THEN
|
|
90
|
+
ALTER TABLE "mcp_oauth_requests" ADD CONSTRAINT "mcp_oauth_requests_client_id_mcp_oauth_clients_id_fk" FOREIGN KEY ("client_id") REFERENCES "public"."mcp_oauth_clients"("id") ON DELETE cascade ON UPDATE no action;
|
|
91
|
+
END IF;
|
|
92
|
+
END $$;--> statement-breakpoint
|
|
93
|
+
DO $$ BEGIN
|
|
94
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'mcp_oauth_requests_grant_id_mcp_oauth_grants_id_fk' AND conrelid = 'public.mcp_oauth_requests'::regclass) THEN
|
|
95
|
+
ALTER TABLE "mcp_oauth_requests" ADD CONSTRAINT "mcp_oauth_requests_grant_id_mcp_oauth_grants_id_fk" FOREIGN KEY ("grant_id") REFERENCES "public"."mcp_oauth_grants"("id") ON DELETE cascade ON UPDATE no action;
|
|
96
|
+
END IF;
|
|
97
|
+
END $$;--> statement-breakpoint
|
|
98
|
+
DO $$ BEGIN
|
|
99
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'mcp_oauth_tokens_grant_id_mcp_oauth_grants_id_fk' AND conrelid = 'public.mcp_oauth_tokens'::regclass) THEN
|
|
100
|
+
ALTER TABLE "mcp_oauth_tokens" ADD CONSTRAINT "mcp_oauth_tokens_grant_id_mcp_oauth_grants_id_fk" FOREIGN KEY ("grant_id") REFERENCES "public"."mcp_oauth_grants"("id") ON DELETE cascade ON UPDATE no action;
|
|
101
|
+
END IF;
|
|
102
|
+
END $$;--> statement-breakpoint
|
|
103
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "mcp_mutation_receipts_request_uq" ON "mcp_mutation_receipts" USING btree ("company_id","user_id","operation","request_id");--> statement-breakpoint
|
|
104
|
+
CREATE INDEX IF NOT EXISTS "mcp_mutation_receipts_company_idx" ON "mcp_mutation_receipts" USING btree ("company_id");--> statement-breakpoint
|
|
105
|
+
CREATE INDEX IF NOT EXISTS "mcp_oauth_grants_user_company_idx" ON "mcp_oauth_grants" USING btree ("user_id","company_id");--> statement-breakpoint
|
|
106
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "mcp_oauth_requests_code_uq" ON "mcp_oauth_requests" USING btree ("code_hash");--> statement-breakpoint
|
|
107
|
+
CREATE INDEX IF NOT EXISTS "mcp_oauth_requests_expiry_idx" ON "mcp_oauth_requests" USING btree ("expires_at");--> statement-breakpoint
|
|
108
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "mcp_oauth_tokens_hash_uq" ON "mcp_oauth_tokens" USING btree ("token_hash");--> statement-breakpoint
|
|
109
|
+
CREATE INDEX IF NOT EXISTS "mcp_oauth_tokens_grant_idx" ON "mcp_oauth_tokens" USING btree ("grant_id");--> statement-breakpoint
|
|
110
|
+
CREATE INDEX IF NOT EXISTS "mcp_oauth_tokens_expiry_idx" ON "mcp_oauth_tokens" USING btree ("expires_at");
|
|
111
|
+
|
|
112
|
+
--> statement-breakpoint
|
|
113
|
+
ALTER TABLE "mcp_oauth_clients" ADD COLUMN IF NOT EXISTS "registration_source_hash" text;
|
|
114
|
+
|
|
115
|
+
--> statement-breakpoint
|
|
116
|
+
CREATE TABLE IF NOT EXISTS "mcp_event_deliveries" (
|
|
117
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
118
|
+
"subscription_id" text NOT NULL,
|
|
119
|
+
"activity_id" uuid NOT NULL,
|
|
120
|
+
"event" jsonb NOT NULL,
|
|
121
|
+
"attempts" integer DEFAULT 0 NOT NULL,
|
|
122
|
+
"next_attempt_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
123
|
+
"finished_at" timestamp with time zone,
|
|
124
|
+
"outcome" text
|
|
125
|
+
);
|
|
126
|
+
--> statement-breakpoint
|
|
127
|
+
CREATE TABLE IF NOT EXISTS "mcp_event_subscriptions" (
|
|
128
|
+
"id" text PRIMARY KEY NOT NULL,
|
|
129
|
+
"company_id" uuid NOT NULL,
|
|
130
|
+
"grant_id" uuid NOT NULL,
|
|
131
|
+
"name" text NOT NULL,
|
|
132
|
+
"task_id" uuid NOT NULL,
|
|
133
|
+
"arguments" jsonb NOT NULL,
|
|
134
|
+
"delivery_material" jsonb NOT NULL,
|
|
135
|
+
"verified_at" timestamp with time zone NOT NULL,
|
|
136
|
+
"starts_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
137
|
+
"expires_at" timestamp with time zone NOT NULL,
|
|
138
|
+
"stopped_at" timestamp with time zone,
|
|
139
|
+
"scanned_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
140
|
+
);
|
|
141
|
+
--> statement-breakpoint
|
|
142
|
+
DO $$ BEGIN
|
|
143
|
+
ALTER TABLE "mcp_event_deliveries" ADD CONSTRAINT "mcp_event_deliveries_subscription_id_mcp_event_subscriptions_id_fk" FOREIGN KEY ("subscription_id") REFERENCES "public"."mcp_event_subscriptions"("id") ON DELETE cascade ON UPDATE no action;
|
|
144
|
+
EXCEPTION WHEN duplicate_object THEN NULL;
|
|
145
|
+
END $$;--> statement-breakpoint
|
|
146
|
+
DO $$ BEGIN
|
|
147
|
+
ALTER TABLE "mcp_event_subscriptions" ADD CONSTRAINT "mcp_event_subscriptions_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;
|
|
148
|
+
EXCEPTION WHEN duplicate_object THEN NULL;
|
|
149
|
+
END $$;--> statement-breakpoint
|
|
150
|
+
DO $$ BEGIN
|
|
151
|
+
ALTER TABLE "mcp_event_subscriptions" ADD CONSTRAINT "mcp_event_subscriptions_grant_id_mcp_oauth_grants_id_fk" FOREIGN KEY ("grant_id") REFERENCES "public"."mcp_oauth_grants"("id") ON DELETE cascade ON UPDATE no action;
|
|
152
|
+
EXCEPTION WHEN duplicate_object THEN NULL;
|
|
153
|
+
END $$;--> statement-breakpoint
|
|
154
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "mcp_event_deliveries_activity_uq" ON "mcp_event_deliveries" USING btree ("subscription_id","activity_id");--> statement-breakpoint
|
|
155
|
+
CREATE INDEX IF NOT EXISTS "mcp_event_deliveries_due_idx" ON "mcp_event_deliveries" USING btree ("next_attempt_at");--> statement-breakpoint
|
|
156
|
+
CREATE INDEX IF NOT EXISTS "mcp_event_subscriptions_expiry_idx" ON "mcp_event_subscriptions" USING btree ("expires_at");--> statement-breakpoint
|
|
157
|
+
CREATE INDEX IF NOT EXISTS "mcp_event_subscriptions_company_idx" ON "mcp_event_subscriptions" USING btree ("company_id");
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS "mcp_event_admissions" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"subscription_id" text NOT NULL,
|
|
4
|
+
"company_id" uuid NOT NULL,
|
|
5
|
+
"grant_id" uuid NOT NULL,
|
|
6
|
+
"reserves_subscription" boolean NOT NULL,
|
|
7
|
+
"expires_at" timestamp with time zone NOT NULL,
|
|
8
|
+
"finished_at" timestamp with time zone,
|
|
9
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
10
|
+
);
|
|
11
|
+
--> statement-breakpoint
|
|
12
|
+
DO $$ BEGIN
|
|
13
|
+
ALTER TABLE "mcp_event_admissions" ADD CONSTRAINT "mcp_event_admissions_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;
|
|
14
|
+
EXCEPTION WHEN duplicate_object THEN NULL;
|
|
15
|
+
END $$;
|
|
16
|
+
--> statement-breakpoint
|
|
17
|
+
DO $$ BEGIN
|
|
18
|
+
ALTER TABLE "mcp_event_admissions" ADD CONSTRAINT "mcp_event_admissions_grant_id_mcp_oauth_grants_id_fk" FOREIGN KEY ("grant_id") REFERENCES "public"."mcp_oauth_grants"("id") ON DELETE cascade ON UPDATE no action;
|
|
19
|
+
EXCEPTION WHEN duplicate_object THEN NULL;
|
|
20
|
+
END $$;
|
|
21
|
+
--> statement-breakpoint
|
|
22
|
+
CREATE INDEX IF NOT EXISTS "mcp_event_admissions_expiry_idx" ON "mcp_event_admissions" USING btree ("expires_at");--> statement-breakpoint
|
|
23
|
+
CREATE INDEX IF NOT EXISTS "mcp_event_admissions_grant_idx" ON "mcp_event_admissions" USING btree ("grant_id");--> statement-breakpoint
|
|
24
|
+
CREATE INDEX IF NOT EXISTS "mcp_event_admissions_company_idx" ON "mcp_event_admissions" USING btree ("company_id");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE "mcp_oauth_requests" ADD COLUMN IF NOT EXISTS "requested_company_id" uuid;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS "mcp_oauth_device_requests" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"client_id" text NOT NULL,
|
|
4
|
+
"device_code_hash" text NOT NULL,
|
|
5
|
+
"user_code_hash" text NOT NULL,
|
|
6
|
+
"resource" text NOT NULL,
|
|
7
|
+
"scopes" jsonb NOT NULL,
|
|
8
|
+
"requested_company_id" uuid,
|
|
9
|
+
"source_hash" text NOT NULL,
|
|
10
|
+
"status" text DEFAULT 'pending' NOT NULL,
|
|
11
|
+
"grant_id" uuid,
|
|
12
|
+
"interval_seconds" integer DEFAULT 5 NOT NULL,
|
|
13
|
+
"next_poll_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
14
|
+
"expires_at" timestamp with time zone NOT NULL,
|
|
15
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
16
|
+
);
|
|
17
|
+
--> statement-breakpoint
|
|
18
|
+
ALTER TABLE "mcp_oauth_clients" ADD COLUMN IF NOT EXISTS "grant_types" jsonb DEFAULT '["authorization_code","refresh_token"]'::jsonb NOT NULL;--> statement-breakpoint
|
|
19
|
+
DO $$ BEGIN
|
|
20
|
+
ALTER TABLE "mcp_oauth_device_requests" ADD CONSTRAINT "mcp_oauth_device_requests_client_id_mcp_oauth_clients_id_fk" FOREIGN KEY ("client_id") REFERENCES "public"."mcp_oauth_clients"("id") ON DELETE cascade ON UPDATE no action;
|
|
21
|
+
EXCEPTION WHEN duplicate_object THEN NULL; END $$;--> statement-breakpoint
|
|
22
|
+
DO $$ BEGIN
|
|
23
|
+
ALTER TABLE "mcp_oauth_device_requests" ADD CONSTRAINT "mcp_oauth_device_requests_grant_id_mcp_oauth_grants_id_fk" FOREIGN KEY ("grant_id") REFERENCES "public"."mcp_oauth_grants"("id") ON DELETE cascade ON UPDATE no action;
|
|
24
|
+
EXCEPTION WHEN duplicate_object THEN NULL; END $$;--> statement-breakpoint
|
|
25
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "mcp_oauth_device_code_uq" ON "mcp_oauth_device_requests" USING btree ("device_code_hash");--> statement-breakpoint
|
|
26
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "mcp_oauth_user_code_uq" ON "mcp_oauth_device_requests" USING btree ("user_code_hash");--> statement-breakpoint
|
|
27
|
+
CREATE INDEX IF NOT EXISTS "mcp_oauth_device_expiry_idx" ON "mcp_oauth_device_requests" USING btree ("expires_at");
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
CREATE TABLE "mcp_oauth_metadata_admissions" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"source_hash" text NOT NULL,
|
|
4
|
+
"expires_at" timestamp with time zone NOT NULL
|
|
5
|
+
);
|
|
6
|
+
--> statement-breakpoint
|
|
7
|
+
CREATE INDEX "mcp_oauth_metadata_admissions_expiry_idx" ON "mcp_oauth_metadata_admissions" USING btree ("expires_at");
|
|
@@ -2045,6 +2045,90 @@
|
|
|
2045
2045
|
"when": 1790796608171,
|
|
2046
2046
|
"tag": "0293_broad_rattler",
|
|
2047
2047
|
"breakpoints": true
|
|
2048
|
+
},
|
|
2049
|
+
{
|
|
2050
|
+
"idx": 294,
|
|
2051
|
+
"version": "7",
|
|
2052
|
+
"when": 1790891286527,
|
|
2053
|
+
"tag": "0294_chilly_marvel_apes",
|
|
2054
|
+
"breakpoints": true
|
|
2055
|
+
},
|
|
2056
|
+
{
|
|
2057
|
+
"idx": 295,
|
|
2058
|
+
"version": "7",
|
|
2059
|
+
"when": 1790994114760,
|
|
2060
|
+
"tag": "0295_public_captain_cross",
|
|
2061
|
+
"breakpoints": true
|
|
2062
|
+
},
|
|
2063
|
+
{
|
|
2064
|
+
"idx": 296,
|
|
2065
|
+
"version": "7",
|
|
2066
|
+
"when": 1791028244412,
|
|
2067
|
+
"tag": "0296_stiff_thaddeus_ross",
|
|
2068
|
+
"breakpoints": true
|
|
2069
|
+
},
|
|
2070
|
+
{
|
|
2071
|
+
"idx": 297,
|
|
2072
|
+
"version": "7",
|
|
2073
|
+
"when": 1791233758328,
|
|
2074
|
+
"tag": "0297_foamy_swordsman",
|
|
2075
|
+
"breakpoints": true
|
|
2076
|
+
},
|
|
2077
|
+
{
|
|
2078
|
+
"idx": 298,
|
|
2079
|
+
"version": "7",
|
|
2080
|
+
"when": 1791241297512,
|
|
2081
|
+
"tag": "0298_connection_agent_instructions",
|
|
2082
|
+
"breakpoints": true
|
|
2083
|
+
},
|
|
2084
|
+
{
|
|
2085
|
+
"idx": 299,
|
|
2086
|
+
"version": "7",
|
|
2087
|
+
"when": 1791248126600,
|
|
2088
|
+
"tag": "0299_absent_ser_duncan",
|
|
2089
|
+
"breakpoints": true
|
|
2090
|
+
},
|
|
2091
|
+
{
|
|
2092
|
+
"idx": 300,
|
|
2093
|
+
"version": "7",
|
|
2094
|
+
"when": 1791260726828,
|
|
2095
|
+
"tag": "0300_chunky_chamber",
|
|
2096
|
+
"breakpoints": true
|
|
2097
|
+
},
|
|
2098
|
+
{
|
|
2099
|
+
"idx": 301,
|
|
2100
|
+
"version": "7",
|
|
2101
|
+
"when": 1791298125105,
|
|
2102
|
+
"tag": "0301_lumpy_maria_hill",
|
|
2103
|
+
"breakpoints": true
|
|
2104
|
+
},
|
|
2105
|
+
{
|
|
2106
|
+
"idx": 302,
|
|
2107
|
+
"version": "7",
|
|
2108
|
+
"when": 1791298148518,
|
|
2109
|
+
"tag": "0302_colossal_otto_octavius",
|
|
2110
|
+
"breakpoints": true
|
|
2111
|
+
},
|
|
2112
|
+
{
|
|
2113
|
+
"idx": 303,
|
|
2114
|
+
"version": "7",
|
|
2115
|
+
"when": 1791298395603,
|
|
2116
|
+
"tag": "0303_supreme_garia",
|
|
2117
|
+
"breakpoints": true
|
|
2118
|
+
},
|
|
2119
|
+
{
|
|
2120
|
+
"idx": 304,
|
|
2121
|
+
"version": "7",
|
|
2122
|
+
"when": 1791298446043,
|
|
2123
|
+
"tag": "0304_curvy_shadow_king",
|
|
2124
|
+
"breakpoints": true
|
|
2125
|
+
},
|
|
2126
|
+
{
|
|
2127
|
+
"idx": 305,
|
|
2128
|
+
"version": "7",
|
|
2129
|
+
"when": 1791300719193,
|
|
2130
|
+
"tag": "0305_chubby_vin_gonzales",
|
|
2131
|
+
"breakpoints": true
|
|
2048
2132
|
}
|
|
2049
2133
|
]
|
|
2050
2134
|
}
|
|
@@ -110,14 +110,14 @@ export declare const agentApiKeys: import("drizzle-orm/pg-core").PgTableWithColu
|
|
|
110
110
|
dataType: "json";
|
|
111
111
|
columnType: "PgJsonb";
|
|
112
112
|
data: {
|
|
113
|
+
kind: "standard";
|
|
114
|
+
} | {
|
|
113
115
|
kind: "task_bridge";
|
|
114
116
|
projectId?: string | null | undefined;
|
|
115
117
|
projectIds?: string[] | undefined;
|
|
116
118
|
parentIssueId?: string | null | undefined;
|
|
117
119
|
parentIssueIds?: string[] | undefined;
|
|
118
120
|
allowedAssigneeAgentIds?: string[] | undefined;
|
|
119
|
-
} | {
|
|
120
|
-
kind: "standard";
|
|
121
121
|
} | {
|
|
122
122
|
kind: "skill_test";
|
|
123
123
|
issueId: string;
|
|
@@ -134,14 +134,14 @@ export declare const agentApiKeys: import("drizzle-orm/pg-core").PgTableWithColu
|
|
|
134
134
|
generated: undefined;
|
|
135
135
|
}, {}, {
|
|
136
136
|
$type: {
|
|
137
|
+
kind: "standard";
|
|
138
|
+
} | {
|
|
137
139
|
kind: "task_bridge";
|
|
138
140
|
projectId?: string | null | undefined;
|
|
139
141
|
projectIds?: string[] | undefined;
|
|
140
142
|
parentIssueId?: string | null | undefined;
|
|
141
143
|
parentIssueIds?: string[] | undefined;
|
|
142
144
|
allowedAssigneeAgentIds?: string[] | undefined;
|
|
143
|
-
} | {
|
|
144
|
-
kind: "standard";
|
|
145
145
|
} | {
|
|
146
146
|
kind: "skill_test";
|
|
147
147
|
issueId: string;
|