1CREATE TABLE "relay_agent_activity_rows" (
2 "environment_id" varchar(191),
3 "environment_public_key" text,
4 "thread_id" varchar(191),
5 "state_json" jsonb NOT NULL,
6 "updated_at" varchar(64) NOT NULL,
7 "created_at" varchar(64) NOT NULL,
8 CONSTRAINT "relay_agent_activity_rows_pkey" PRIMARY KEY("environment_id","environment_public_key","thread_id")
9);
10--> statement-breakpoint
11CREATE TABLE "relay_delivery_attempts" (
12 "id" varchar(36) PRIMARY KEY,
13 "created_at" varchar(64) NOT NULL,
14 "user_id" varchar(255),
15 "environment_id" varchar(191),
16 "thread_id" varchar(191),
17 "device_id" varchar(255),
18 "kind" varchar(64) NOT NULL,
19 "source_job_id" varchar(64),
20 "token_suffix" varchar(16),
21 "apns_status" integer,
22 "apns_reason" text,
23 "apns_id" varchar(128),
24 "transport_error" text
25);
26--> statement-breakpoint
27CREATE TABLE "relay_dpop_proofs" (
28 "thumbprint" varchar(128),
29 "jti" varchar(255),
30 "iat" integer NOT NULL,
31 "expires_at" varchar(64) NOT NULL,
32 "created_at" varchar(64) NOT NULL,
33 CONSTRAINT "relay_dpop_proofs_pkey" PRIMARY KEY("thumbprint","jti")
34);
35--> statement-breakpoint
36CREATE TABLE "relay_environment_credentials" (
37 "credential_id" varchar(64) PRIMARY KEY,
38 "environment_id" varchar(191) NOT NULL,
39 "environment_public_key" text NOT NULL,
40 "credential_hash" varchar(191) NOT NULL,
41 "revoked_at" varchar(64),
42 "created_at" varchar(64) NOT NULL,
43 "updated_at" varchar(64) NOT NULL
44);
45--> statement-breakpoint
46CREATE TABLE "relay_environment_links" (
47 "user_id" varchar(191),
48 "environment_id" varchar(191),
49 "environment_label" text DEFAULT 'T3 Environment' NOT NULL,
50 "environment_public_key" text NOT NULL,
51 "endpoint_http_base_url" text NOT NULL,
52 "endpoint_ws_base_url" text NOT NULL,
53 "endpoint_provider_kind" varchar(32) NOT NULL,
54 "notifications_enabled" boolean DEFAULT true NOT NULL,
55 "live_activities_enabled" boolean DEFAULT true NOT NULL,
56 "managed_tunnels_enabled" boolean DEFAULT false NOT NULL,
57 "created_by_device_id" varchar(191),
58 "revoked_at" varchar(64),
59 "created_at" varchar(64) NOT NULL,
60 "updated_at" varchar(64) NOT NULL,
61 CONSTRAINT "relay_environment_links_pkey" PRIMARY KEY("user_id","environment_id")
62);
63--> statement-breakpoint
64CREATE TABLE "relay_live_activities" (
65 "user_id" varchar(255),
66 "device_id" varchar(255),
67 "activity_push_token" text,
68 "remote_start_queued_at" varchar(64),
69 "remote_started_at" varchar(64),
70 "ended_at" varchar(64),
71 "last_aggregate_json" jsonb,
72 "last_live_activity_delivery_at" varchar(64),
73 "created_at" varchar(64) NOT NULL,
74 "updated_at" varchar(64) NOT NULL,
75 CONSTRAINT "relay_live_activities_pkey" PRIMARY KEY("user_id","device_id")
76);
77--> statement-breakpoint
78CREATE TABLE "relay_mobile_devices" (
79 "user_id" varchar(255),
80 "device_id" varchar(255),
81 "platform" varchar(16) NOT NULL,
82 "ios_major_version" integer NOT NULL,
83 "app_version" varchar(64),
84 "push_token" text,
85 "push_to_start_token" text,
86 "preferences_json" jsonb NOT NULL,
87 "created_at" varchar(64) NOT NULL,
88 "updated_at" varchar(64) NOT NULL,
89 CONSTRAINT "relay_mobile_devices_pkey" PRIMARY KEY("user_id","device_id")
90);
91--> statement-breakpoint
92CREATE INDEX "idx_relay_agent_activity_rows_updated" ON "relay_agent_activity_rows" ("updated_at");--> statement-breakpoint
93CREATE INDEX "idx_relay_delivery_attempts_environment" ON "relay_delivery_attempts" ("environment_id","thread_id","created_at");--> statement-breakpoint
94CREATE UNIQUE INDEX "idx_relay_delivery_attempts_source_job" ON "relay_delivery_attempts" ("source_job_id");--> statement-breakpoint
95CREATE INDEX "idx_relay_dpop_proofs_expires_at" ON "relay_dpop_proofs" ("expires_at");--> statement-breakpoint
96CREATE UNIQUE INDEX "idx_relay_environment_credentials_hash" ON "relay_environment_credentials" ("credential_hash");--> statement-breakpoint
97CREATE INDEX "idx_relay_environment_credentials_environment" ON "relay_environment_credentials" ("environment_id","revoked_at");--> statement-breakpoint
98CREATE INDEX "idx_relay_environment_credentials_environment_key" ON "relay_environment_credentials" ("environment_id","environment_public_key","revoked_at");--> statement-breakpoint
99CREATE INDEX "idx_relay_environment_links_environment" ON "relay_environment_links" ("environment_id","revoked_at");--> statement-breakpoint
100CREATE INDEX "idx_relay_live_activities_user" ON "relay_live_activities" ("user_id");--> statement-breakpoint
101CREATE UNIQUE INDEX "idx_relay_live_activities_activity_push_token" ON "relay_live_activities" ("activity_push_token");--> statement-breakpoint
102CREATE INDEX "idx_relay_mobile_devices_user" ON "relay_mobile_devices" ("user_id");--> statement-breakpoint
103CREATE UNIQUE INDEX "idx_relay_mobile_devices_push_token" ON "relay_mobile_devices" ("push_token");--> statement-breakpoint
104CREATE UNIQUE INDEX "idx_relay_mobile_devices_push_to_start_token" ON "relay_mobile_devices" ("push_to_start_token");