CREATE TABLE "agent_session" ( "id" text PRIMARY KEY NOT NULL, "user_id" text NOT NULL, "device_id" text NOT NULL, "goal" text NOT NULL, "status" text DEFAULT 'running' NOT NULL, "steps_used" integer DEFAULT 0, "started_at" timestamp DEFAULT now() NOT NULL, "completed_at" timestamp ); --> statement-breakpoint CREATE TABLE "agent_step" ( "id" text PRIMARY KEY NOT NULL, "session_id" text NOT NULL, "step_number" integer NOT NULL, "screen_hash" text, "action" jsonb, "reasoning" text, "result" text, "timestamp" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "device" ( "id" text PRIMARY KEY NOT NULL, "user_id" text NOT NULL, "name" text NOT NULL, "last_seen" timestamp, "status" text DEFAULT 'offline' NOT NULL, "device_info" jsonb, "created_at" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "llm_config" ( "id" text PRIMARY KEY NOT NULL, "user_id" text NOT NULL, "provider" text NOT NULL, "api_key" text NOT NULL, "model" text, "created_at" timestamp DEFAULT now() NOT NULL, "updated_at" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint ALTER TABLE "agent_session" ADD CONSTRAINT "agent_session_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "agent_session" ADD CONSTRAINT "agent_session_device_id_device_id_fk" FOREIGN KEY ("device_id") REFERENCES "public"."device"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "agent_step" ADD CONSTRAINT "agent_step_session_id_agent_session_id_fk" FOREIGN KEY ("session_id") REFERENCES "public"."agent_session"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "device" ADD CONSTRAINT "device_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "llm_config" ADD CONSTRAINT "llm_config_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;