From 58c695e8b4984d2782ca29b61dc993eccafdc5a1 Mon Sep 17 00:00:00 2001 From: Nathan Flurry Date: Thu, 12 Mar 2026 21:31:12 -0700 Subject: [PATCH] Reset actor persistence baseline --- ...ushwacker.sql => 0000_fluffy_kid_colt.sql} | 0 .../db/drizzle/meta/0000_snapshot.json | 2 +- .../history/db/drizzle/meta/_journal.json | 4 +- .../src/actors/history/db/migrations.ts | 4 +- foundry/packages/backend/src/actors/keys.ts | 18 +- ...the_hunter.sql => 0000_useful_la_nuit.sql} | 21 +- .../db/drizzle/0001_wild_carlie_cooper.sql | 7 - .../db/drizzle/0002_far_war_machine.sql | 6 - .../project/db/drizzle/0003_busy_legacy.sql | 1 - .../project/db/drizzle/0004_slimy_proteus.sql | 36 -- .../db/drizzle/meta/0000_snapshot.json | 101 ++- .../db/drizzle/meta/0001_snapshot.json | 216 ------- .../db/drizzle/meta/0002_snapshot.json | 254 -------- .../db/drizzle/meta/0004_snapshot.json | 265 -------- .../project/db/drizzle/meta/_journal.json | 32 +- .../src/actors/project/db/migrations.ts | 95 +-- .../db/drizzle/0000_broad_tyrannus.sql | 6 - ..._betty_ross.sql => 0000_smooth_sauron.sql} | 7 + .../db/drizzle/0001_sandbox_sessions.sql | 27 - .../db/drizzle/meta/0000_snapshot.json | 126 +++- .../db/drizzle/meta/0002_snapshot.json | 180 ------ .../db/drizzle/meta/_journal.json | 18 +- .../actors/sandbox-instance/db/migrations.ts | 44 +- .../task/db/drizzle/0000_charming_maestro.sql | 50 ++ .../db/drizzle/0000_condemned_maria_hill.sql | 24 - .../db/drizzle/0001_rapid_eddie_brock.sql | 3 - .../db/drizzle/0002_lazy_moira_mactaggert.sql | 38 -- .../task/db/drizzle/0003_plucky_bran.sql | 48 -- .../task/db/drizzle/0004_focused_shuri.sql | 57 -- .../task/db/drizzle/0005_sandbox_actor_id.sql | 1 - .../db/drizzle/0006_harsh_wind_dancer.sql | 49 -- .../db/drizzle/0006_workbench_sessions.sql | 14 - .../task/db/drizzle/meta/0000_snapshot.json | 226 ++++++- .../task/db/drizzle/meta/0001_snapshot.json | 152 ----- .../task/db/drizzle/meta/0002_snapshot.json | 222 ------- .../task/db/drizzle/meta/0006_snapshot.json | 334 ---------- .../actors/task/db/drizzle/meta/_journal.json | 46 +- .../backend/src/actors/task/db/migrations.ts | 264 +------- ...mushy_rictor.sql => 0000_melted_viper.sql} | 13 + .../db/drizzle/0000_rare_iron_man.sql | 5 - .../drizzle/0001_sleepy_lady_deathstrike.sql | 6 - .../db/drizzle/0002_tiny_silver_surfer.sql | 4 - .../db/drizzle/meta/0000_snapshot.json | 558 +++++++++++++++- .../db/drizzle/meta/0001_snapshot.json | 87 --- .../db/drizzle/meta/0003_snapshot.json | 605 ------------------ .../workspace/db/drizzle/meta/_journal.json | 25 +- .../src/actors/workspace/db/migrations.ts | 55 +- 47 files changed, 1132 insertions(+), 3224 deletions(-) rename foundry/packages/backend/src/actors/history/db/drizzle/{0000_watery_bushwacker.sql => 0000_fluffy_kid_colt.sql} (100%) rename foundry/packages/backend/src/actors/project/db/drizzle/{0000_stormy_the_hunter.sql => 0000_useful_la_nuit.sql} (51%) delete mode 100644 foundry/packages/backend/src/actors/project/db/drizzle/0001_wild_carlie_cooper.sql delete mode 100644 foundry/packages/backend/src/actors/project/db/drizzle/0002_far_war_machine.sql delete mode 100644 foundry/packages/backend/src/actors/project/db/drizzle/0003_busy_legacy.sql delete mode 100644 foundry/packages/backend/src/actors/project/db/drizzle/0004_slimy_proteus.sql delete mode 100644 foundry/packages/backend/src/actors/project/db/drizzle/meta/0001_snapshot.json delete mode 100644 foundry/packages/backend/src/actors/project/db/drizzle/meta/0002_snapshot.json delete mode 100644 foundry/packages/backend/src/actors/project/db/drizzle/meta/0004_snapshot.json delete mode 100644 foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0000_broad_tyrannus.sql rename foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/{0002_common_betty_ross.sql => 0000_smooth_sauron.sql} (78%) delete mode 100644 foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0001_sandbox_sessions.sql delete mode 100644 foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/meta/0002_snapshot.json create mode 100644 foundry/packages/backend/src/actors/task/db/drizzle/0000_charming_maestro.sql delete mode 100644 foundry/packages/backend/src/actors/task/db/drizzle/0000_condemned_maria_hill.sql delete mode 100644 foundry/packages/backend/src/actors/task/db/drizzle/0001_rapid_eddie_brock.sql delete mode 100644 foundry/packages/backend/src/actors/task/db/drizzle/0002_lazy_moira_mactaggert.sql delete mode 100644 foundry/packages/backend/src/actors/task/db/drizzle/0003_plucky_bran.sql delete mode 100644 foundry/packages/backend/src/actors/task/db/drizzle/0004_focused_shuri.sql delete mode 100644 foundry/packages/backend/src/actors/task/db/drizzle/0005_sandbox_actor_id.sql delete mode 100644 foundry/packages/backend/src/actors/task/db/drizzle/0006_harsh_wind_dancer.sql delete mode 100644 foundry/packages/backend/src/actors/task/db/drizzle/0006_workbench_sessions.sql delete mode 100644 foundry/packages/backend/src/actors/task/db/drizzle/meta/0001_snapshot.json delete mode 100644 foundry/packages/backend/src/actors/task/db/drizzle/meta/0002_snapshot.json delete mode 100644 foundry/packages/backend/src/actors/task/db/drizzle/meta/0006_snapshot.json rename foundry/packages/backend/src/actors/workspace/db/drizzle/{0003_mushy_rictor.sql => 0000_melted_viper.sql} (87%) delete mode 100644 foundry/packages/backend/src/actors/workspace/db/drizzle/0000_rare_iron_man.sql delete mode 100644 foundry/packages/backend/src/actors/workspace/db/drizzle/0001_sleepy_lady_deathstrike.sql delete mode 100644 foundry/packages/backend/src/actors/workspace/db/drizzle/0002_tiny_silver_surfer.sql delete mode 100644 foundry/packages/backend/src/actors/workspace/db/drizzle/meta/0001_snapshot.json delete mode 100644 foundry/packages/backend/src/actors/workspace/db/drizzle/meta/0003_snapshot.json diff --git a/foundry/packages/backend/src/actors/history/db/drizzle/0000_watery_bushwacker.sql b/foundry/packages/backend/src/actors/history/db/drizzle/0000_fluffy_kid_colt.sql similarity index 100% rename from foundry/packages/backend/src/actors/history/db/drizzle/0000_watery_bushwacker.sql rename to foundry/packages/backend/src/actors/history/db/drizzle/0000_fluffy_kid_colt.sql diff --git a/foundry/packages/backend/src/actors/history/db/drizzle/meta/0000_snapshot.json b/foundry/packages/backend/src/actors/history/db/drizzle/meta/0000_snapshot.json index 802002d..afaadc4 100644 --- a/foundry/packages/backend/src/actors/history/db/drizzle/meta/0000_snapshot.json +++ b/foundry/packages/backend/src/actors/history/db/drizzle/meta/0000_snapshot.json @@ -1,7 +1,7 @@ { "version": "6", "dialect": "sqlite", - "id": "9d9ebe3c-8341-449c-bd14-2b6fd62853a1", + "id": "e592c829-141f-4740-88b7-09cf957a4405", "prevId": "00000000-0000-0000-0000-000000000000", "tables": { "events": { diff --git a/foundry/packages/backend/src/actors/history/db/drizzle/meta/_journal.json b/foundry/packages/backend/src/actors/history/db/drizzle/meta/_journal.json index b7c0cd5..93cf8ce 100644 --- a/foundry/packages/backend/src/actors/history/db/drizzle/meta/_journal.json +++ b/foundry/packages/backend/src/actors/history/db/drizzle/meta/_journal.json @@ -5,8 +5,8 @@ { "idx": 0, "version": "6", - "when": 1770924375133, - "tag": "0000_watery_bushwacker", + "when": 1773376223815, + "tag": "0000_fluffy_kid_colt", "breakpoints": true } ] diff --git a/foundry/packages/backend/src/actors/history/db/migrations.ts b/foundry/packages/backend/src/actors/history/db/migrations.ts index 2e1b565..766c225 100644 --- a/foundry/packages/backend/src/actors/history/db/migrations.ts +++ b/foundry/packages/backend/src/actors/history/db/migrations.ts @@ -6,8 +6,8 @@ const journal = { entries: [ { idx: 0, - when: 1770924375133, - tag: "0000_watery_bushwacker", + when: 1773376223815, + tag: "0000_fluffy_kid_colt", breakpoints: true, }, ], diff --git a/foundry/packages/backend/src/actors/keys.ts b/foundry/packages/backend/src/actors/keys.ts index f6b210e..60a87ca 100644 --- a/foundry/packages/backend/src/actors/keys.ts +++ b/foundry/packages/backend/src/actors/keys.ts @@ -1,34 +1,36 @@ export type ActorKey = string[]; +const ACTOR_KEY_SCHEMA_VERSION = "v2"; + export function workspaceKey(workspaceId: string): ActorKey { - return ["ws", workspaceId]; + return ["ws", ACTOR_KEY_SCHEMA_VERSION, workspaceId]; } export function projectKey(workspaceId: string, repoId: string): ActorKey { - return ["ws", workspaceId, "project", repoId]; + return ["ws", ACTOR_KEY_SCHEMA_VERSION, workspaceId, "project", repoId]; } export function taskKey(workspaceId: string, repoId: string, taskId: string): ActorKey { - return ["ws", workspaceId, "project", repoId, "task", taskId]; + return ["ws", ACTOR_KEY_SCHEMA_VERSION, workspaceId, "project", repoId, "task", taskId]; } export function sandboxInstanceKey(workspaceId: string, providerId: string, sandboxId: string): ActorKey { - return ["ws", workspaceId, "provider", providerId, "sandbox", sandboxId]; + return ["ws", ACTOR_KEY_SCHEMA_VERSION, workspaceId, "provider", providerId, "sandbox", sandboxId]; } export function historyKey(workspaceId: string, repoId: string): ActorKey { - return ["ws", workspaceId, "project", repoId, "history"]; + return ["ws", ACTOR_KEY_SCHEMA_VERSION, workspaceId, "project", repoId, "history"]; } export function projectPrSyncKey(workspaceId: string, repoId: string): ActorKey { - return ["ws", workspaceId, "project", repoId, "pr-sync"]; + return ["ws", ACTOR_KEY_SCHEMA_VERSION, workspaceId, "project", repoId, "pr-sync"]; } export function projectBranchSyncKey(workspaceId: string, repoId: string): ActorKey { - return ["ws", workspaceId, "project", repoId, "branch-sync"]; + return ["ws", ACTOR_KEY_SCHEMA_VERSION, workspaceId, "project", repoId, "branch-sync"]; } export function taskStatusSyncKey(workspaceId: string, repoId: string, taskId: string, sandboxId: string, sessionId: string): ActorKey { // Include sandbox + session so multiple sandboxes/sessions can be tracked per task. - return ["ws", workspaceId, "project", repoId, "task", taskId, "status-sync", sandboxId, sessionId]; + return ["ws", ACTOR_KEY_SCHEMA_VERSION, workspaceId, "project", repoId, "task", taskId, "status-sync", sandboxId, sessionId]; } diff --git a/foundry/packages/backend/src/actors/project/db/drizzle/0000_stormy_the_hunter.sql b/foundry/packages/backend/src/actors/project/db/drizzle/0000_useful_la_nuit.sql similarity index 51% rename from foundry/packages/backend/src/actors/project/db/drizzle/0000_stormy_the_hunter.sql rename to foundry/packages/backend/src/actors/project/db/drizzle/0000_useful_la_nuit.sql index 9019a38..f4f23ff 100644 --- a/foundry/packages/backend/src/actors/project/db/drizzle/0000_stormy_the_hunter.sql +++ b/foundry/packages/backend/src/actors/project/db/drizzle/0000_useful_la_nuit.sql @@ -1,11 +1,11 @@ CREATE TABLE `branches` ( `branch_name` text PRIMARY KEY NOT NULL, `commit_sha` text NOT NULL, - `worktree_path` text, `parent_branch` text, + `tracked_in_stack` integer DEFAULT 0 NOT NULL, `diff_stat` text, - `has_unpushed` integer, - `conflicts_with_main` integer, + `has_unpushed` integer DEFAULT 0 NOT NULL, + `conflicts_with_main` integer DEFAULT 0 NOT NULL, `first_seen_at` integer, `last_seen_at` integer, `updated_at` integer NOT NULL @@ -18,10 +18,23 @@ CREATE TABLE `pr_cache` ( `title` text NOT NULL, `pr_url` text, `pr_author` text, - `is_draft` integer, + `is_draft` integer DEFAULT 0 NOT NULL, `ci_status` text, `review_status` text, `reviewer` text, `fetched_at` integer, `updated_at` integer NOT NULL ); +--> statement-breakpoint +CREATE TABLE `repo_meta` ( + `id` integer PRIMARY KEY NOT NULL, + `remote_url` text NOT NULL, + `updated_at` integer NOT NULL +); +--> statement-breakpoint +CREATE TABLE `task_index` ( + `task_id` text PRIMARY KEY NOT NULL, + `branch_name` text, + `created_at` integer NOT NULL, + `updated_at` integer NOT NULL +); diff --git a/foundry/packages/backend/src/actors/project/db/drizzle/0001_wild_carlie_cooper.sql b/foundry/packages/backend/src/actors/project/db/drizzle/0001_wild_carlie_cooper.sql deleted file mode 100644 index fde2b98..0000000 --- a/foundry/packages/backend/src/actors/project/db/drizzle/0001_wild_carlie_cooper.sql +++ /dev/null @@ -1,7 +0,0 @@ -CREATE TABLE `repo_meta` ( - `id` integer PRIMARY KEY NOT NULL, - `remote_url` text NOT NULL, - `updated_at` integer NOT NULL -); ---> statement-breakpoint -ALTER TABLE `branches` DROP COLUMN `worktree_path`; \ No newline at end of file diff --git a/foundry/packages/backend/src/actors/project/db/drizzle/0002_far_war_machine.sql b/foundry/packages/backend/src/actors/project/db/drizzle/0002_far_war_machine.sql deleted file mode 100644 index e5497a7..0000000 --- a/foundry/packages/backend/src/actors/project/db/drizzle/0002_far_war_machine.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE `task_index` ( - `task_id` text PRIMARY KEY NOT NULL, - `branch_name` text, - `created_at` integer NOT NULL, - `updated_at` integer NOT NULL -); diff --git a/foundry/packages/backend/src/actors/project/db/drizzle/0003_busy_legacy.sql b/foundry/packages/backend/src/actors/project/db/drizzle/0003_busy_legacy.sql deleted file mode 100644 index 62e5e53..0000000 --- a/foundry/packages/backend/src/actors/project/db/drizzle/0003_busy_legacy.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE `branches` ADD `tracked_in_stack` integer; diff --git a/foundry/packages/backend/src/actors/project/db/drizzle/0004_slimy_proteus.sql b/foundry/packages/backend/src/actors/project/db/drizzle/0004_slimy_proteus.sql deleted file mode 100644 index ab846d2..0000000 --- a/foundry/packages/backend/src/actors/project/db/drizzle/0004_slimy_proteus.sql +++ /dev/null @@ -1,36 +0,0 @@ -PRAGMA foreign_keys=OFF;--> statement-breakpoint -CREATE TABLE `__new_branches` ( - `branch_name` text PRIMARY KEY NOT NULL, - `commit_sha` text NOT NULL, - `parent_branch` text, - `tracked_in_stack` integer DEFAULT 0 NOT NULL, - `diff_stat` text, - `has_unpushed` integer DEFAULT 0 NOT NULL, - `conflicts_with_main` integer DEFAULT 0 NOT NULL, - `first_seen_at` integer, - `last_seen_at` integer, - `updated_at` integer NOT NULL -); ---> statement-breakpoint -INSERT INTO `__new_branches`("branch_name", "commit_sha", "parent_branch", "tracked_in_stack", "diff_stat", "has_unpushed", "conflicts_with_main", "first_seen_at", "last_seen_at", "updated_at") SELECT "branch_name", "commit_sha", "parent_branch", "tracked_in_stack", "diff_stat", "has_unpushed", "conflicts_with_main", "first_seen_at", "last_seen_at", "updated_at" FROM `branches`;--> statement-breakpoint -DROP TABLE `branches`;--> statement-breakpoint -ALTER TABLE `__new_branches` RENAME TO `branches`;--> statement-breakpoint -PRAGMA foreign_keys=ON;--> statement-breakpoint -CREATE TABLE `__new_pr_cache` ( - `branch_name` text PRIMARY KEY NOT NULL, - `pr_number` integer NOT NULL, - `state` text NOT NULL, - `title` text NOT NULL, - `pr_url` text, - `pr_author` text, - `is_draft` integer DEFAULT 0 NOT NULL, - `ci_status` text, - `review_status` text, - `reviewer` text, - `fetched_at` integer, - `updated_at` integer NOT NULL -); ---> statement-breakpoint -INSERT INTO `__new_pr_cache`("branch_name", "pr_number", "state", "title", "pr_url", "pr_author", "is_draft", "ci_status", "review_status", "reviewer", "fetched_at", "updated_at") SELECT "branch_name", "pr_number", "state", "title", "pr_url", "pr_author", "is_draft", "ci_status", "review_status", "reviewer", "fetched_at", "updated_at" FROM `pr_cache`;--> statement-breakpoint -DROP TABLE `pr_cache`;--> statement-breakpoint -ALTER TABLE `__new_pr_cache` RENAME TO `pr_cache`; \ No newline at end of file diff --git a/foundry/packages/backend/src/actors/project/db/drizzle/meta/0000_snapshot.json b/foundry/packages/backend/src/actors/project/db/drizzle/meta/0000_snapshot.json index 23be721..baf5913 100644 --- a/foundry/packages/backend/src/actors/project/db/drizzle/meta/0000_snapshot.json +++ b/foundry/packages/backend/src/actors/project/db/drizzle/meta/0000_snapshot.json @@ -1,7 +1,7 @@ { "version": "6", "dialect": "sqlite", - "id": "03d97613-0108-4197-8660-5f2af5409fe6", + "id": "6ffd6acb-e737-46ee-a8fe-fcfddcdd6ea9", "prevId": "00000000-0000-0000-0000-000000000000", "tables": { "branches": { @@ -21,13 +21,6 @@ "notNull": true, "autoincrement": false }, - "worktree_path": { - "name": "worktree_path", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, "parent_branch": { "name": "parent_branch", "type": "text", @@ -35,6 +28,14 @@ "notNull": false, "autoincrement": false }, + "tracked_in_stack": { + "name": "tracked_in_stack", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, "diff_stat": { "name": "diff_stat", "type": "text", @@ -46,15 +47,17 @@ "name": "has_unpushed", "type": "integer", "primaryKey": false, - "notNull": false, - "autoincrement": false + "notNull": true, + "autoincrement": false, + "default": 0 }, "conflicts_with_main": { "name": "conflicts_with_main", "type": "integer", "primaryKey": false, - "notNull": false, - "autoincrement": false + "notNull": true, + "autoincrement": false, + "default": 0 }, "first_seen_at": { "name": "first_seen_at", @@ -133,8 +136,9 @@ "name": "is_draft", "type": "integer", "primaryKey": false, - "notNull": false, - "autoincrement": false + "notNull": true, + "autoincrement": false, + "default": 0 }, "ci_status": { "name": "ci_status", @@ -177,6 +181,75 @@ "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} + }, + "repo_meta": { + "name": "repo_meta", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "remote_url": { + "name": "remote_url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "task_index": { + "name": "task_index", + "columns": { + "task_id": { + "name": "task_id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "branch_name": { + "name": "branch_name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} } }, "views": {}, diff --git a/foundry/packages/backend/src/actors/project/db/drizzle/meta/0001_snapshot.json b/foundry/packages/backend/src/actors/project/db/drizzle/meta/0001_snapshot.json deleted file mode 100644 index 2a3a642..0000000 --- a/foundry/packages/backend/src/actors/project/db/drizzle/meta/0001_snapshot.json +++ /dev/null @@ -1,216 +0,0 @@ -{ - "version": "6", - "dialect": "sqlite", - "id": "e6d294b6-27ce-424b-a3b3-c100b42e628b", - "prevId": "03d97613-0108-4197-8660-5f2af5409fe6", - "tables": { - "branches": { - "name": "branches", - "columns": { - "branch_name": { - "name": "branch_name", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "commit_sha": { - "name": "commit_sha", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "parent_branch": { - "name": "parent_branch", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "diff_stat": { - "name": "diff_stat", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "has_unpushed": { - "name": "has_unpushed", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "conflicts_with_main": { - "name": "conflicts_with_main", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "first_seen_at": { - "name": "first_seen_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "last_seen_at": { - "name": "last_seen_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "pr_cache": { - "name": "pr_cache", - "columns": { - "branch_name": { - "name": "branch_name", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "pr_number": { - "name": "pr_number", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "state": { - "name": "state", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "title": { - "name": "title", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "pr_url": { - "name": "pr_url", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "pr_author": { - "name": "pr_author", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "is_draft": { - "name": "is_draft", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "ci_status": { - "name": "ci_status", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "review_status": { - "name": "review_status", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "reviewer": { - "name": "reviewer", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "fetched_at": { - "name": "fetched_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "repo_meta": { - "name": "repo_meta", - "columns": { - "id": { - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "remote_url": { - "name": "remote_url", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - } - }, - "views": {}, - "enums": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - }, - "internal": { - "indexes": {} - } -} diff --git a/foundry/packages/backend/src/actors/project/db/drizzle/meta/0002_snapshot.json b/foundry/packages/backend/src/actors/project/db/drizzle/meta/0002_snapshot.json deleted file mode 100644 index fd73086..0000000 --- a/foundry/packages/backend/src/actors/project/db/drizzle/meta/0002_snapshot.json +++ /dev/null @@ -1,254 +0,0 @@ -{ - "version": "6", - "dialect": "sqlite", - "id": "ac89870f-1630-4a16-9606-7b1225f6da8a", - "prevId": "e6d294b6-27ce-424b-a3b3-c100b42e628b", - "tables": { - "branches": { - "name": "branches", - "columns": { - "branch_name": { - "name": "branch_name", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "commit_sha": { - "name": "commit_sha", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "parent_branch": { - "name": "parent_branch", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "diff_stat": { - "name": "diff_stat", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "has_unpushed": { - "name": "has_unpushed", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "conflicts_with_main": { - "name": "conflicts_with_main", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "first_seen_at": { - "name": "first_seen_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "last_seen_at": { - "name": "last_seen_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "task_index": { - "name": "task_index", - "columns": { - "task_id": { - "name": "task_id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "branch_name": { - "name": "branch_name", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "pr_cache": { - "name": "pr_cache", - "columns": { - "branch_name": { - "name": "branch_name", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "pr_number": { - "name": "pr_number", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "state": { - "name": "state", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "title": { - "name": "title", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "pr_url": { - "name": "pr_url", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "pr_author": { - "name": "pr_author", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "is_draft": { - "name": "is_draft", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "ci_status": { - "name": "ci_status", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "review_status": { - "name": "review_status", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "reviewer": { - "name": "reviewer", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "fetched_at": { - "name": "fetched_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "repo_meta": { - "name": "repo_meta", - "columns": { - "id": { - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "remote_url": { - "name": "remote_url", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - } - }, - "views": {}, - "enums": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - }, - "internal": { - "indexes": {} - } -} diff --git a/foundry/packages/backend/src/actors/project/db/drizzle/meta/0004_snapshot.json b/foundry/packages/backend/src/actors/project/db/drizzle/meta/0004_snapshot.json deleted file mode 100644 index 8bada08..0000000 --- a/foundry/packages/backend/src/actors/project/db/drizzle/meta/0004_snapshot.json +++ /dev/null @@ -1,265 +0,0 @@ -{ - "version": "6", - "dialect": "sqlite", - "id": "84e0ba9e-de6e-404e-8459-e01f44add7a1", - "prevId": "ac89870f-1630-4a16-9606-7b1225f6da8a", - "tables": { - "branches": { - "name": "branches", - "columns": { - "branch_name": { - "name": "branch_name", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "commit_sha": { - "name": "commit_sha", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "parent_branch": { - "name": "parent_branch", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "tracked_in_stack": { - "name": "tracked_in_stack", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": 0 - }, - "diff_stat": { - "name": "diff_stat", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "has_unpushed": { - "name": "has_unpushed", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": 0 - }, - "conflicts_with_main": { - "name": "conflicts_with_main", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": 0 - }, - "first_seen_at": { - "name": "first_seen_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "last_seen_at": { - "name": "last_seen_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "pr_cache": { - "name": "pr_cache", - "columns": { - "branch_name": { - "name": "branch_name", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "pr_number": { - "name": "pr_number", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "state": { - "name": "state", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "title": { - "name": "title", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "pr_url": { - "name": "pr_url", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "pr_author": { - "name": "pr_author", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "is_draft": { - "name": "is_draft", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": 0 - }, - "ci_status": { - "name": "ci_status", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "review_status": { - "name": "review_status", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "reviewer": { - "name": "reviewer", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "fetched_at": { - "name": "fetched_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "repo_meta": { - "name": "repo_meta", - "columns": { - "id": { - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "remote_url": { - "name": "remote_url", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "task_index": { - "name": "task_index", - "columns": { - "task_id": { - "name": "task_id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "branch_name": { - "name": "branch_name", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - } - }, - "views": {}, - "enums": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - }, - "internal": { - "indexes": {} - } -} diff --git a/foundry/packages/backend/src/actors/project/db/drizzle/meta/_journal.json b/foundry/packages/backend/src/actors/project/db/drizzle/meta/_journal.json index 4490b46..deebd86 100644 --- a/foundry/packages/backend/src/actors/project/db/drizzle/meta/_journal.json +++ b/foundry/packages/backend/src/actors/project/db/drizzle/meta/_journal.json @@ -5,36 +5,8 @@ { "idx": 0, "version": "6", - "when": 1770924376062, - "tag": "0000_stormy_the_hunter", - "breakpoints": true - }, - { - "idx": 1, - "version": "6", - "when": 1770947252449, - "tag": "0001_wild_carlie_cooper", - "breakpoints": true - }, - { - "idx": 2, - "version": "6", - "when": 1771276338465, - "tag": "0002_far_war_machine", - "breakpoints": true - }, - { - "idx": 3, - "version": "6", - "when": 1771369000000, - "tag": "0003_busy_legacy", - "breakpoints": true - }, - { - "idx": 4, - "version": "6", - "when": 1773375722282, - "tag": "0004_slimy_proteus", + "when": 1773376221848, + "tag": "0000_useful_la_nuit", "breakpoints": true } ] diff --git a/foundry/packages/backend/src/actors/project/db/migrations.ts b/foundry/packages/backend/src/actors/project/db/migrations.ts index df62a58..aa49fba 100644 --- a/foundry/packages/backend/src/actors/project/db/migrations.ts +++ b/foundry/packages/backend/src/actors/project/db/migrations.ts @@ -6,32 +6,8 @@ const journal = { entries: [ { idx: 0, - when: 1770924376062, - tag: "0000_stormy_the_hunter", - breakpoints: true, - }, - { - idx: 1, - when: 1770947252449, - tag: "0001_wild_carlie_cooper", - breakpoints: true, - }, - { - idx: 2, - when: 1771276338465, - tag: "0002_far_war_machine", - breakpoints: true, - }, - { - idx: 3, - when: 1771369000000, - tag: "0003_busy_legacy", - breakpoints: true, - }, - { - idx: 4, - when: 1773375722282, - tag: "0004_slimy_proteus", + when: 1773376221848, + tag: "0000_useful_la_nuit", breakpoints: true, }, ], @@ -41,51 +17,6 @@ export default { journal, migrations: { m0000: `CREATE TABLE \`branches\` ( - \`branch_name\` text PRIMARY KEY NOT NULL, - \`commit_sha\` text NOT NULL, - \`worktree_path\` text, - \`parent_branch\` text, - \`diff_stat\` text, - \`has_unpushed\` integer, - \`conflicts_with_main\` integer, - \`first_seen_at\` integer, - \`last_seen_at\` integer, - \`updated_at\` integer NOT NULL -); ---> statement-breakpoint -CREATE TABLE \`pr_cache\` ( - \`branch_name\` text PRIMARY KEY NOT NULL, - \`pr_number\` integer NOT NULL, - \`state\` text NOT NULL, - \`title\` text NOT NULL, - \`pr_url\` text, - \`pr_author\` text, - \`is_draft\` integer, - \`ci_status\` text, - \`review_status\` text, - \`reviewer\` text, - \`fetched_at\` integer, - \`updated_at\` integer NOT NULL -); -`, - m0001: `CREATE TABLE \`repo_meta\` ( - \`id\` integer PRIMARY KEY NOT NULL, - \`remote_url\` text NOT NULL, - \`updated_at\` integer NOT NULL -); ---> statement-breakpoint -ALTER TABLE \`branches\` DROP COLUMN \`worktree_path\`;`, - m0002: `CREATE TABLE \`task_index\` ( - \`task_id\` text PRIMARY KEY NOT NULL, - \`branch_name\` text, - \`created_at\` integer NOT NULL, - \`updated_at\` integer NOT NULL -); -`, - m0003: `ALTER TABLE \`branches\` ADD \`tracked_in_stack\` integer; -`, - m0004: `PRAGMA foreign_keys=OFF;--> statement-breakpoint -CREATE TABLE \`__new_branches\` ( \`branch_name\` text PRIMARY KEY NOT NULL, \`commit_sha\` text NOT NULL, \`parent_branch\` text, @@ -98,11 +29,7 @@ CREATE TABLE \`__new_branches\` ( \`updated_at\` integer NOT NULL ); --> statement-breakpoint -INSERT INTO \`__new_branches\`("branch_name", "commit_sha", "parent_branch", "tracked_in_stack", "diff_stat", "has_unpushed", "conflicts_with_main", "first_seen_at", "last_seen_at", "updated_at") SELECT "branch_name", "commit_sha", "parent_branch", "tracked_in_stack", "diff_stat", "has_unpushed", "conflicts_with_main", "first_seen_at", "last_seen_at", "updated_at" FROM \`branches\`;--> statement-breakpoint -DROP TABLE \`branches\`;--> statement-breakpoint -ALTER TABLE \`__new_branches\` RENAME TO \`branches\`;--> statement-breakpoint -PRAGMA foreign_keys=ON;--> statement-breakpoint -CREATE TABLE \`__new_pr_cache\` ( +CREATE TABLE \`pr_cache\` ( \`branch_name\` text PRIMARY KEY NOT NULL, \`pr_number\` integer NOT NULL, \`state\` text NOT NULL, @@ -117,8 +44,18 @@ CREATE TABLE \`__new_pr_cache\` ( \`updated_at\` integer NOT NULL ); --> statement-breakpoint -INSERT INTO \`__new_pr_cache\`("branch_name", "pr_number", "state", "title", "pr_url", "pr_author", "is_draft", "ci_status", "review_status", "reviewer", "fetched_at", "updated_at") SELECT "branch_name", "pr_number", "state", "title", "pr_url", "pr_author", "is_draft", "ci_status", "review_status", "reviewer", "fetched_at", "updated_at" FROM \`pr_cache\`;--> statement-breakpoint -DROP TABLE \`pr_cache\`;--> statement-breakpoint -ALTER TABLE \`__new_pr_cache\` RENAME TO \`pr_cache\`;`, +CREATE TABLE \`repo_meta\` ( + \`id\` integer PRIMARY KEY NOT NULL, + \`remote_url\` text NOT NULL, + \`updated_at\` integer NOT NULL +); +--> statement-breakpoint +CREATE TABLE \`task_index\` ( + \`task_id\` text PRIMARY KEY NOT NULL, + \`branch_name\` text, + \`created_at\` integer NOT NULL, + \`updated_at\` integer NOT NULL +); +`, } as const, }; diff --git a/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0000_broad_tyrannus.sql b/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0000_broad_tyrannus.sql deleted file mode 100644 index 0534446..0000000 --- a/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0000_broad_tyrannus.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE `sandbox_instance` ( - `id` integer PRIMARY KEY NOT NULL, - `metadata_json` text NOT NULL, - `status` text NOT NULL, - `updated_at` integer NOT NULL -); diff --git a/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0002_common_betty_ross.sql b/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0000_smooth_sauron.sql similarity index 78% rename from foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0002_common_betty_ross.sql rename to foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0000_smooth_sauron.sql index c0e8933..20b3180 100644 --- a/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0002_common_betty_ross.sql +++ b/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0000_smooth_sauron.sql @@ -1,3 +1,10 @@ +CREATE TABLE `sandbox_instance` ( + `id` integer PRIMARY KEY NOT NULL, + `metadata_json` text NOT NULL, + `status` text NOT NULL, + `updated_at` integer NOT NULL +); +--> statement-breakpoint CREATE TABLE `sandbox_session_events` ( `id` text PRIMARY KEY NOT NULL, `session_id` text NOT NULL, diff --git a/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0001_sandbox_sessions.sql b/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0001_sandbox_sessions.sql deleted file mode 100644 index ae95c0e..0000000 --- a/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/0001_sandbox_sessions.sql +++ /dev/null @@ -1,27 +0,0 @@ -CREATE TABLE `sandbox_sessions` ( - `id` text PRIMARY KEY NOT NULL, - `agent` text NOT NULL, - `agent_session_id` text NOT NULL, - `last_connection_id` text NOT NULL, - `created_at` integer NOT NULL, - `destroyed_at` integer, - `session_init_json` text -); ---> statement-breakpoint - -CREATE TABLE `sandbox_session_events` ( - `id` text PRIMARY KEY NOT NULL, - `session_id` text NOT NULL, - `event_index` integer NOT NULL, - `created_at` integer NOT NULL, - `connection_id` text NOT NULL, - `sender` text NOT NULL, - `payload_json` text NOT NULL -); ---> statement-breakpoint - -CREATE INDEX `sandbox_sessions_created_at_idx` ON `sandbox_sessions` (`created_at`); ---> statement-breakpoint -CREATE INDEX `sandbox_session_events_session_id_event_index_idx` ON `sandbox_session_events` (`session_id`,`event_index`); ---> statement-breakpoint -CREATE INDEX `sandbox_session_events_session_id_created_at_idx` ON `sandbox_session_events` (`session_id`,`created_at`); diff --git a/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/meta/0000_snapshot.json b/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/meta/0000_snapshot.json index 272963a..d3e09c6 100644 --- a/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/meta/0000_snapshot.json +++ b/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/meta/0000_snapshot.json @@ -1,7 +1,7 @@ { "version": "6", "dialect": "sqlite", - "id": "ef8a919c-64f0-46d9-b8ed-a15f039e6ba7", + "id": "130486c5-6208-4d00-b367-e02b9def953a", "prevId": "00000000-0000-0000-0000-000000000000", "tables": { "sandbox_instance": { @@ -41,6 +41,130 @@ "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} + }, + "sandbox_session_events": { + "name": "sandbox_session_events", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "event_index": { + "name": "event_index", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "connection_id": { + "name": "connection_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "sender": { + "name": "sender", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "payload_json": { + "name": "payload_json", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "sandbox_session_events_session_id_event_index_unique": { + "name": "sandbox_session_events_session_id_event_index_unique", + "columns": ["session_id", "event_index"], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "sandbox_sessions": { + "name": "sandbox_sessions", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "agent": { + "name": "agent", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "agent_session_id": { + "name": "agent_session_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "last_connection_id": { + "name": "last_connection_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "destroyed_at": { + "name": "destroyed_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "session_init_json": { + "name": "session_init_json", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} } }, "views": {}, diff --git a/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/meta/0002_snapshot.json b/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/meta/0002_snapshot.json deleted file mode 100644 index df50425..0000000 --- a/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/meta/0002_snapshot.json +++ /dev/null @@ -1,180 +0,0 @@ -{ - "version": "6", - "dialect": "sqlite", - "id": "ff87c112-7c8f-4e99-b2a8-2867003e0e4e", - "prevId": "ef8a919c-64f0-46d9-b8ed-a15f039e6ba7", - "tables": { - "sandbox_instance": { - "name": "sandbox_instance", - "columns": { - "id": { - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "metadata_json": { - "name": "metadata_json", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "status": { - "name": "status", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "sandbox_session_events": { - "name": "sandbox_session_events", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "session_id": { - "name": "session_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "event_index": { - "name": "event_index", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "connection_id": { - "name": "connection_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "sender": { - "name": "sender", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "payload_json": { - "name": "payload_json", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": { - "sandbox_session_events_session_id_event_index_unique": { - "name": "sandbox_session_events_session_id_event_index_unique", - "columns": ["session_id", "event_index"], - "isUnique": true - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "sandbox_sessions": { - "name": "sandbox_sessions", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "agent": { - "name": "agent", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "agent_session_id": { - "name": "agent_session_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "last_connection_id": { - "name": "last_connection_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "destroyed_at": { - "name": "destroyed_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "session_init_json": { - "name": "session_init_json", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - } - }, - "views": {}, - "enums": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - }, - "internal": { - "indexes": {} - } -} diff --git a/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/meta/_journal.json b/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/meta/_journal.json index 99e3e16..fe993c2 100644 --- a/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/meta/_journal.json +++ b/foundry/packages/backend/src/actors/sandbox-instance/db/drizzle/meta/_journal.json @@ -5,22 +5,8 @@ { "idx": 0, "version": "6", - "when": 1770924375604, - "tag": "0000_broad_tyrannus", - "breakpoints": true - }, - { - "idx": 1, - "version": "6", - "when": 1776482400000, - "tag": "0001_sandbox_sessions", - "breakpoints": true - }, - { - "idx": 2, - "version": "6", - "when": 1773375724623, - "tag": "0002_common_betty_ross", + "when": 1773376224446, + "tag": "0000_smooth_sauron", "breakpoints": true } ] diff --git a/foundry/packages/backend/src/actors/sandbox-instance/db/migrations.ts b/foundry/packages/backend/src/actors/sandbox-instance/db/migrations.ts index 6c16668..4db8b1b 100644 --- a/foundry/packages/backend/src/actors/sandbox-instance/db/migrations.ts +++ b/foundry/packages/backend/src/actors/sandbox-instance/db/migrations.ts @@ -6,20 +6,8 @@ const journal = { entries: [ { idx: 0, - when: 1770924375604, - tag: "0000_broad_tyrannus", - breakpoints: true, - }, - { - idx: 1, - when: 1776482400000, - tag: "0001_sandbox_sessions", - breakpoints: true, - }, - { - idx: 2, - when: 1773375724623, - tag: "0002_common_betty_ross", + when: 1773376224446, + tag: "0000_smooth_sauron", breakpoints: true, }, ], @@ -34,18 +22,7 @@ export default { \`status\` text NOT NULL, \`updated_at\` integer NOT NULL ); -`, - m0001: `CREATE TABLE \`sandbox_sessions\` ( - \`id\` text PRIMARY KEY NOT NULL, - \`agent\` text NOT NULL, - \`agent_session_id\` text NOT NULL, - \`last_connection_id\` text NOT NULL, - \`created_at\` integer NOT NULL, - \`destroyed_at\` integer, - \`session_init_json\` text -); --> statement-breakpoint - CREATE TABLE \`sandbox_session_events\` ( \`id\` text PRIMARY KEY NOT NULL, \`session_id\` text NOT NULL, @@ -56,23 +33,6 @@ CREATE TABLE \`sandbox_session_events\` ( \`payload_json\` text NOT NULL ); --> statement-breakpoint - -CREATE INDEX \`sandbox_sessions_created_at_idx\` ON \`sandbox_sessions\` (\`created_at\`); ---> statement-breakpoint -CREATE INDEX \`sandbox_session_events_session_id_event_index_idx\` ON \`sandbox_session_events\` (\`session_id\`,\`event_index\`); ---> statement-breakpoint -CREATE INDEX \`sandbox_session_events_session_id_created_at_idx\` ON \`sandbox_session_events\` (\`session_id\`,\`created_at\`); -`, - m0002: `CREATE TABLE \`sandbox_session_events\` ( - \`id\` text PRIMARY KEY NOT NULL, - \`session_id\` text NOT NULL, - \`event_index\` integer NOT NULL, - \`created_at\` integer NOT NULL, - \`connection_id\` text NOT NULL, - \`sender\` text NOT NULL, - \`payload_json\` text NOT NULL -); ---> statement-breakpoint CREATE UNIQUE INDEX \`sandbox_session_events_session_id_event_index_unique\` ON \`sandbox_session_events\` (\`session_id\`,\`event_index\`);--> statement-breakpoint CREATE TABLE \`sandbox_sessions\` ( \`id\` text PRIMARY KEY NOT NULL, diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/0000_charming_maestro.sql b/foundry/packages/backend/src/actors/task/db/drizzle/0000_charming_maestro.sql new file mode 100644 index 0000000..b9ef95a --- /dev/null +++ b/foundry/packages/backend/src/actors/task/db/drizzle/0000_charming_maestro.sql @@ -0,0 +1,50 @@ +CREATE TABLE `task` ( + `id` integer PRIMARY KEY NOT NULL, + `branch_name` text, + `title` text, + `task` text NOT NULL, + `provider_id` text NOT NULL, + `status` text NOT NULL, + `agent_type` text DEFAULT 'claude', + `pr_submitted` integer DEFAULT 0, + `created_at` integer NOT NULL, + `updated_at` integer NOT NULL, + CONSTRAINT "task_singleton_id_check" CHECK("task"."id" = 1) +); +--> statement-breakpoint +CREATE TABLE `task_runtime` ( + `id` integer PRIMARY KEY NOT NULL, + `active_sandbox_id` text, + `active_session_id` text, + `active_switch_target` text, + `active_cwd` text, + `status_message` text, + `updated_at` integer NOT NULL, + CONSTRAINT "task_runtime_singleton_id_check" CHECK("task_runtime"."id" = 1) +); +--> statement-breakpoint +CREATE TABLE `task_sandboxes` ( + `sandbox_id` text PRIMARY KEY NOT NULL, + `provider_id` text NOT NULL, + `sandbox_actor_id` text, + `switch_target` text NOT NULL, + `cwd` text, + `status_message` text, + `created_at` integer NOT NULL, + `updated_at` integer NOT NULL +); +--> statement-breakpoint +CREATE TABLE `task_workbench_sessions` ( + `session_id` text PRIMARY KEY NOT NULL, + `session_name` text NOT NULL, + `model` text NOT NULL, + `unread` integer DEFAULT 0 NOT NULL, + `draft_text` text DEFAULT '' NOT NULL, + `draft_attachments_json` text DEFAULT '[]' NOT NULL, + `draft_updated_at` integer, + `created` integer DEFAULT 1 NOT NULL, + `closed` integer DEFAULT 0 NOT NULL, + `thinking_since_ms` integer, + `created_at` integer NOT NULL, + `updated_at` integer NOT NULL +); diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/0000_condemned_maria_hill.sql b/foundry/packages/backend/src/actors/task/db/drizzle/0000_condemned_maria_hill.sql deleted file mode 100644 index 1ad4a85..0000000 --- a/foundry/packages/backend/src/actors/task/db/drizzle/0000_condemned_maria_hill.sql +++ /dev/null @@ -1,24 +0,0 @@ -CREATE TABLE `task` ( - `id` integer PRIMARY KEY NOT NULL, - `branch_name` text NOT NULL, - `title` text NOT NULL, - `task` text NOT NULL, - `provider_id` text NOT NULL, - `status` text NOT NULL, - `agent_type` text DEFAULT 'claude', - `auto_committed` integer DEFAULT 0, - `pushed` integer DEFAULT 0, - `pr_submitted` integer DEFAULT 0, - `needs_push` integer DEFAULT 0, - `created_at` integer NOT NULL, - `updated_at` integer NOT NULL -); ---> statement-breakpoint -CREATE TABLE `task_runtime` ( - `id` integer PRIMARY KEY NOT NULL, - `sandbox_id` text, - `session_id` text, - `switch_target` text, - `status_message` text, - `updated_at` integer NOT NULL -); diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/0001_rapid_eddie_brock.sql b/foundry/packages/backend/src/actors/task/db/drizzle/0001_rapid_eddie_brock.sql deleted file mode 100644 index 99548a6..0000000 --- a/foundry/packages/backend/src/actors/task/db/drizzle/0001_rapid_eddie_brock.sql +++ /dev/null @@ -1,3 +0,0 @@ -ALTER TABLE `task` DROP COLUMN `auto_committed`;--> statement-breakpoint -ALTER TABLE `task` DROP COLUMN `pushed`;--> statement-breakpoint -ALTER TABLE `task` DROP COLUMN `needs_push`; \ No newline at end of file diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/0002_lazy_moira_mactaggert.sql b/foundry/packages/backend/src/actors/task/db/drizzle/0002_lazy_moira_mactaggert.sql deleted file mode 100644 index ec6a771..0000000 --- a/foundry/packages/backend/src/actors/task/db/drizzle/0002_lazy_moira_mactaggert.sql +++ /dev/null @@ -1,38 +0,0 @@ -ALTER TABLE `task_runtime` RENAME COLUMN "sandbox_id" TO "active_sandbox_id";--> statement-breakpoint -ALTER TABLE `task_runtime` RENAME COLUMN "session_id" TO "active_session_id";--> statement-breakpoint -ALTER TABLE `task_runtime` RENAME COLUMN "switch_target" TO "active_switch_target";--> statement-breakpoint -CREATE TABLE `task_sandboxes` ( - `sandbox_id` text PRIMARY KEY NOT NULL, - `provider_id` text NOT NULL, - `switch_target` text NOT NULL, - `cwd` text, - `status_message` text, - `created_at` integer NOT NULL, - `updated_at` integer NOT NULL -); ---> statement-breakpoint -ALTER TABLE `task_runtime` ADD `active_cwd` text; ---> statement-breakpoint -INSERT INTO `task_sandboxes` ( - `sandbox_id`, - `provider_id`, - `switch_target`, - `cwd`, - `status_message`, - `created_at`, - `updated_at` -) -SELECT - r.`active_sandbox_id`, - (SELECT h.`provider_id` FROM `task` h WHERE h.`id` = 1), - r.`active_switch_target`, - r.`active_cwd`, - r.`status_message`, - COALESCE((SELECT h.`created_at` FROM `task` h WHERE h.`id` = 1), r.`updated_at`), - r.`updated_at` -FROM `task_runtime` r -WHERE - r.`id` = 1 - AND r.`active_sandbox_id` IS NOT NULL - AND r.`active_switch_target` IS NOT NULL -ON CONFLICT(`sandbox_id`) DO NOTHING; diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/0003_plucky_bran.sql b/foundry/packages/backend/src/actors/task/db/drizzle/0003_plucky_bran.sql deleted file mode 100644 index 6d4f112..0000000 --- a/foundry/packages/backend/src/actors/task/db/drizzle/0003_plucky_bran.sql +++ /dev/null @@ -1,48 +0,0 @@ --- Allow tasks to exist before their branch/title are determined. --- Drizzle doesn't support altering column nullability in SQLite directly, so rebuild the table. - -PRAGMA foreign_keys=off; - -CREATE TABLE `task__new` ( - `id` integer PRIMARY KEY NOT NULL, - `branch_name` text, - `title` text, - `task` text NOT NULL, - `provider_id` text NOT NULL, - `status` text NOT NULL, - `agent_type` text DEFAULT 'claude', - `pr_submitted` integer DEFAULT 0, - `created_at` integer NOT NULL, - `updated_at` integer NOT NULL -); - -INSERT INTO `task__new` ( - `id`, - `branch_name`, - `title`, - `task`, - `provider_id`, - `status`, - `agent_type`, - `pr_submitted`, - `created_at`, - `updated_at` -) -SELECT - `id`, - `branch_name`, - `title`, - `task`, - `provider_id`, - `status`, - `agent_type`, - `pr_submitted`, - `created_at`, - `updated_at` -FROM `task`; - -DROP TABLE `task`; -ALTER TABLE `task__new` RENAME TO `task`; - -PRAGMA foreign_keys=on; - diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/0004_focused_shuri.sql b/foundry/packages/backend/src/actors/task/db/drizzle/0004_focused_shuri.sql deleted file mode 100644 index b85a9c8..0000000 --- a/foundry/packages/backend/src/actors/task/db/drizzle/0004_focused_shuri.sql +++ /dev/null @@ -1,57 +0,0 @@ --- Fix: make branch_name/title nullable during initial "naming" stage. --- 0003 was missing statement breakpoints, so drizzle's migrator marked it applied without executing all statements. --- Rebuild the table again with proper statement breakpoints. - -PRAGMA foreign_keys=off; ---> statement-breakpoint - -DROP TABLE IF EXISTS `task__new`; ---> statement-breakpoint - -CREATE TABLE `task__new` ( - `id` integer PRIMARY KEY NOT NULL, - `branch_name` text, - `title` text, - `task` text NOT NULL, - `provider_id` text NOT NULL, - `status` text NOT NULL, - `agent_type` text DEFAULT 'claude', - `pr_submitted` integer DEFAULT 0, - `created_at` integer NOT NULL, - `updated_at` integer NOT NULL -); ---> statement-breakpoint - -INSERT INTO `task__new` ( - `id`, - `branch_name`, - `title`, - `task`, - `provider_id`, - `status`, - `agent_type`, - `pr_submitted`, - `created_at`, - `updated_at` -) -SELECT - `id`, - `branch_name`, - `title`, - `task`, - `provider_id`, - `status`, - `agent_type`, - `pr_submitted`, - `created_at`, - `updated_at` -FROM `task`; ---> statement-breakpoint - -DROP TABLE `task`; ---> statement-breakpoint - -ALTER TABLE `task__new` RENAME TO `task`; ---> statement-breakpoint - -PRAGMA foreign_keys=on; diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/0005_sandbox_actor_id.sql b/foundry/packages/backend/src/actors/task/db/drizzle/0005_sandbox_actor_id.sql deleted file mode 100644 index 22838f7..0000000 --- a/foundry/packages/backend/src/actors/task/db/drizzle/0005_sandbox_actor_id.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE `task_sandboxes` ADD `sandbox_actor_id` text; diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/0006_harsh_wind_dancer.sql b/foundry/packages/backend/src/actors/task/db/drizzle/0006_harsh_wind_dancer.sql deleted file mode 100644 index 8fb59fb..0000000 --- a/foundry/packages/backend/src/actors/task/db/drizzle/0006_harsh_wind_dancer.sql +++ /dev/null @@ -1,49 +0,0 @@ -CREATE TABLE `task_workbench_sessions` ( - `session_id` text PRIMARY KEY NOT NULL, - `session_name` text NOT NULL, - `model` text NOT NULL, - `unread` integer DEFAULT 0 NOT NULL, - `draft_text` text DEFAULT '' NOT NULL, - `draft_attachments_json` text DEFAULT '[]' NOT NULL, - `draft_updated_at` integer, - `created` integer DEFAULT 1 NOT NULL, - `closed` integer DEFAULT 0 NOT NULL, - `thinking_since_ms` integer, - `created_at` integer NOT NULL, - `updated_at` integer NOT NULL -); ---> statement-breakpoint -PRAGMA foreign_keys=OFF;--> statement-breakpoint -CREATE TABLE `__new_task` ( - `id` integer PRIMARY KEY NOT NULL, - `branch_name` text, - `title` text, - `task` text NOT NULL, - `provider_id` text NOT NULL, - `status` text NOT NULL, - `agent_type` text DEFAULT 'claude', - `pr_submitted` integer DEFAULT 0, - `created_at` integer NOT NULL, - `updated_at` integer NOT NULL, - CONSTRAINT "task_singleton_id_check" CHECK("__new_task"."id" = 1) -); ---> statement-breakpoint -INSERT INTO `__new_task`("id", "branch_name", "title", "task", "provider_id", "status", "agent_type", "pr_submitted", "created_at", "updated_at") SELECT "id", "branch_name", "title", "task", "provider_id", "status", "agent_type", "pr_submitted", "created_at", "updated_at" FROM `task`;--> statement-breakpoint -DROP TABLE `task`;--> statement-breakpoint -ALTER TABLE `__new_task` RENAME TO `task`;--> statement-breakpoint -PRAGMA foreign_keys=ON;--> statement-breakpoint -ALTER TABLE `task_sandboxes` ADD `sandbox_actor_id` text;--> statement-breakpoint -CREATE TABLE `__new_task_runtime` ( - `id` integer PRIMARY KEY NOT NULL, - `active_sandbox_id` text, - `active_session_id` text, - `active_switch_target` text, - `active_cwd` text, - `status_message` text, - `updated_at` integer NOT NULL, - CONSTRAINT "task_runtime_singleton_id_check" CHECK("__new_task_runtime"."id" = 1) -); ---> statement-breakpoint -INSERT INTO `__new_task_runtime`("id", "active_sandbox_id", "active_session_id", "active_switch_target", "active_cwd", "status_message", "updated_at") SELECT "id", "active_sandbox_id", "active_session_id", "active_switch_target", "active_cwd", "status_message", "updated_at" FROM `task_runtime`;--> statement-breakpoint -DROP TABLE `task_runtime`;--> statement-breakpoint -ALTER TABLE `__new_task_runtime` RENAME TO `task_runtime`; \ No newline at end of file diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/0006_workbench_sessions.sql b/foundry/packages/backend/src/actors/task/db/drizzle/0006_workbench_sessions.sql deleted file mode 100644 index 8a74565..0000000 --- a/foundry/packages/backend/src/actors/task/db/drizzle/0006_workbench_sessions.sql +++ /dev/null @@ -1,14 +0,0 @@ -CREATE TABLE `task_workbench_sessions` ( - `session_id` text PRIMARY KEY NOT NULL, - `session_name` text NOT NULL, - `model` text NOT NULL, - `unread` integer DEFAULT 0 NOT NULL, - `draft_text` text DEFAULT '' NOT NULL, - `draft_attachments_json` text DEFAULT '[]' NOT NULL, - `draft_updated_at` integer, - `created` integer DEFAULT 1 NOT NULL, - `closed` integer DEFAULT 0 NOT NULL, - `thinking_since_ms` integer, - `created_at` integer NOT NULL, - `updated_at` integer NOT NULL -); diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/meta/0000_snapshot.json b/foundry/packages/backend/src/actors/task/db/drizzle/meta/0000_snapshot.json index f46152e..b8a5879 100644 --- a/foundry/packages/backend/src/actors/task/db/drizzle/meta/0000_snapshot.json +++ b/foundry/packages/backend/src/actors/task/db/drizzle/meta/0000_snapshot.json @@ -1,7 +1,7 @@ { "version": "6", "dialect": "sqlite", - "id": "9b004d3b-0722-4bb5-a410-d47635db7df3", + "id": "6daaa6d5-3280-46fe-9261-40cabeba1b49", "prevId": "00000000-0000-0000-0000-000000000000", "tables": { "task": { @@ -18,14 +18,14 @@ "name": "branch_name", "type": "text", "primaryKey": false, - "notNull": true, + "notNull": false, "autoincrement": false }, "title": { "name": "title", "type": "text", "primaryKey": false, - "notNull": true, + "notNull": false, "autoincrement": false }, "task": { @@ -57,22 +57,6 @@ "autoincrement": false, "default": "'claude'" }, - "auto_committed": { - "name": "auto_committed", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": 0 - }, - "pushed": { - "name": "pushed", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": 0 - }, "pr_submitted": { "name": "pr_submitted", "type": "integer", @@ -81,14 +65,6 @@ "autoincrement": false, "default": 0 }, - "needs_push": { - "name": "needs_push", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": 0 - }, "created_at": { "name": "created_at", "type": "integer", @@ -108,7 +84,12 @@ "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, - "checkConstraints": {} + "checkConstraints": { + "task_singleton_id_check": { + "name": "task_singleton_id_check", + "value": "\"task\".\"id\" = 1" + } + } }, "task_runtime": { "name": "task_runtime", @@ -120,22 +101,29 @@ "notNull": true, "autoincrement": false }, - "sandbox_id": { - "name": "sandbox_id", + "active_sandbox_id": { + "name": "active_sandbox_id", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, - "session_id": { - "name": "session_id", + "active_session_id": { + "name": "active_session_id", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, - "switch_target": { - "name": "switch_target", + "active_switch_target": { + "name": "active_switch_target", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "active_cwd": { + "name": "active_cwd", "type": "text", "primaryKey": false, "notNull": false, @@ -160,6 +148,176 @@ "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, + "checkConstraints": { + "task_runtime_singleton_id_check": { + "name": "task_runtime_singleton_id_check", + "value": "\"task_runtime\".\"id\" = 1" + } + } + }, + "task_sandboxes": { + "name": "task_sandboxes", + "columns": { + "sandbox_id": { + "name": "sandbox_id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "provider_id": { + "name": "provider_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "sandbox_actor_id": { + "name": "sandbox_actor_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "switch_target": { + "name": "switch_target", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "cwd": { + "name": "cwd", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "status_message": { + "name": "status_message", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "task_workbench_sessions": { + "name": "task_workbench_sessions", + "columns": { + "session_id": { + "name": "session_id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "session_name": { + "name": "session_name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "model": { + "name": "model", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "unread": { + "name": "unread", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "draft_text": { + "name": "draft_text", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "draft_attachments_json": { + "name": "draft_attachments_json", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'[]'" + }, + "draft_updated_at": { + "name": "draft_updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created": { + "name": "created", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 1 + }, + "closed": { + "name": "closed", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "thinking_since_ms": { + "name": "thinking_since_ms", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, "checkConstraints": {} } }, diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/meta/0001_snapshot.json b/foundry/packages/backend/src/actors/task/db/drizzle/meta/0001_snapshot.json deleted file mode 100644 index 7b68c17..0000000 --- a/foundry/packages/backend/src/actors/task/db/drizzle/meta/0001_snapshot.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "version": "6", - "dialect": "sqlite", - "id": "0fca0f14-69df-4fca-bc52-29e902247909", - "prevId": "9b004d3b-0722-4bb5-a410-d47635db7df3", - "tables": { - "task": { - "name": "task", - "columns": { - "id": { - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "branch_name": { - "name": "branch_name", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "title": { - "name": "title", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "task": { - "name": "task", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "provider_id": { - "name": "provider_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "status": { - "name": "status", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "agent_type": { - "name": "agent_type", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": "'claude'" - }, - "pr_submitted": { - "name": "pr_submitted", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": 0 - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "task_runtime": { - "name": "task_runtime", - "columns": { - "id": { - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "sandbox_id": { - "name": "sandbox_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "session_id": { - "name": "session_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "switch_target": { - "name": "switch_target", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "status_message": { - "name": "status_message", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - } - }, - "views": {}, - "enums": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - }, - "internal": { - "indexes": {} - } -} diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/meta/0002_snapshot.json b/foundry/packages/backend/src/actors/task/db/drizzle/meta/0002_snapshot.json deleted file mode 100644 index 011ed7c..0000000 --- a/foundry/packages/backend/src/actors/task/db/drizzle/meta/0002_snapshot.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "version": "6", - "dialect": "sqlite", - "id": "72cef919-e545-48be-a7c0-7ac74cfcf9e6", - "prevId": "0fca0f14-69df-4fca-bc52-29e902247909", - "tables": { - "task": { - "name": "task", - "columns": { - "id": { - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "branch_name": { - "name": "branch_name", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "title": { - "name": "title", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "task": { - "name": "task", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "provider_id": { - "name": "provider_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "status": { - "name": "status", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "agent_type": { - "name": "agent_type", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": "'claude'" - }, - "pr_submitted": { - "name": "pr_submitted", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": 0 - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "task_runtime": { - "name": "task_runtime", - "columns": { - "id": { - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "active_sandbox_id": { - "name": "active_sandbox_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "active_session_id": { - "name": "active_session_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "active_switch_target": { - "name": "active_switch_target", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "active_cwd": { - "name": "active_cwd", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "status_message": { - "name": "status_message", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "task_sandboxes": { - "name": "task_sandboxes", - "columns": { - "sandbox_id": { - "name": "sandbox_id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "provider_id": { - "name": "provider_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "switch_target": { - "name": "switch_target", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "cwd": { - "name": "cwd", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "status_message": { - "name": "status_message", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - } - }, - "views": {}, - "enums": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": { - "\"task_runtime\".\"sandbox_id\"": "\"task_runtime\".\"active_sandbox_id\"", - "\"task_runtime\".\"session_id\"": "\"task_runtime\".\"active_session_id\"", - "\"task_runtime\".\"switch_target\"": "\"task_runtime\".\"active_switch_target\"" - } - }, - "internal": { - "indexes": {} - } -} diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/meta/0006_snapshot.json b/foundry/packages/backend/src/actors/task/db/drizzle/meta/0006_snapshot.json deleted file mode 100644 index f9fb589..0000000 --- a/foundry/packages/backend/src/actors/task/db/drizzle/meta/0006_snapshot.json +++ /dev/null @@ -1,334 +0,0 @@ -{ - "version": "6", - "dialect": "sqlite", - "id": "dd0e2bbf-2c39-405b-99c8-1bc7a3b9e17d", - "prevId": "72cef919-e545-48be-a7c0-7ac74cfcf9e6", - "tables": { - "task": { - "name": "task", - "columns": { - "id": { - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "branch_name": { - "name": "branch_name", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "title": { - "name": "title", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "task": { - "name": "task", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "provider_id": { - "name": "provider_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "status": { - "name": "status", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "agent_type": { - "name": "agent_type", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": "'claude'" - }, - "pr_submitted": { - "name": "pr_submitted", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": 0 - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": { - "task_singleton_id_check": { - "name": "task_singleton_id_check", - "value": "\"task\".\"id\" = 1" - } - } - }, - "task_runtime": { - "name": "task_runtime", - "columns": { - "id": { - "name": "id", - "type": "integer", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "active_sandbox_id": { - "name": "active_sandbox_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "active_session_id": { - "name": "active_session_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "active_switch_target": { - "name": "active_switch_target", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "active_cwd": { - "name": "active_cwd", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "status_message": { - "name": "status_message", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": { - "task_runtime_singleton_id_check": { - "name": "task_runtime_singleton_id_check", - "value": "\"task_runtime\".\"id\" = 1" - } - } - }, - "task_sandboxes": { - "name": "task_sandboxes", - "columns": { - "sandbox_id": { - "name": "sandbox_id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "provider_id": { - "name": "provider_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "sandbox_actor_id": { - "name": "sandbox_actor_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "switch_target": { - "name": "switch_target", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "cwd": { - "name": "cwd", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "status_message": { - "name": "status_message", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "task_workbench_sessions": { - "name": "task_workbench_sessions", - "columns": { - "session_id": { - "name": "session_id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "session_name": { - "name": "session_name", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "model": { - "name": "model", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "unread": { - "name": "unread", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": 0 - }, - "draft_text": { - "name": "draft_text", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "''" - }, - "draft_attachments_json": { - "name": "draft_attachments_json", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'[]'" - }, - "draft_updated_at": { - "name": "draft_updated_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "created": { - "name": "created", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": 1 - }, - "closed": { - "name": "closed", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": 0 - }, - "thinking_since_ms": { - "name": "thinking_since_ms", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - } - }, - "views": {}, - "enums": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - }, - "internal": { - "indexes": {} - } -} diff --git a/foundry/packages/backend/src/actors/task/db/drizzle/meta/_journal.json b/foundry/packages/backend/src/actors/task/db/drizzle/meta/_journal.json index 0af5946..1f9e97e 100644 --- a/foundry/packages/backend/src/actors/task/db/drizzle/meta/_journal.json +++ b/foundry/packages/backend/src/actors/task/db/drizzle/meta/_journal.json @@ -5,50 +5,8 @@ { "idx": 0, "version": "6", - "when": 1770924374665, - "tag": "0000_condemned_maria_hill", - "breakpoints": true - }, - { - "idx": 1, - "version": "6", - "when": 1770947251055, - "tag": "0001_rapid_eddie_brock", - "breakpoints": true - }, - { - "idx": 2, - "version": "6", - "when": 1770948428907, - "tag": "0002_lazy_moira_mactaggert", - "breakpoints": true - }, - { - "idx": 3, - "version": "6", - "when": 1771027535276, - "tag": "0003_plucky_bran", - "breakpoints": true - }, - { - "idx": 4, - "version": "6", - "when": 1771097651912, - "tag": "0004_focused_shuri", - "breakpoints": true - }, - { - "idx": 5, - "version": "6", - "when": 1771370000000, - "tag": "0005_sandbox_actor_id", - "breakpoints": true - }, - { - "idx": 6, - "version": "6", - "when": 1773375723300, - "tag": "0006_harsh_wind_dancer", + "when": 1773376222525, + "tag": "0000_charming_maestro", "breakpoints": true } ] diff --git a/foundry/packages/backend/src/actors/task/db/migrations.ts b/foundry/packages/backend/src/actors/task/db/migrations.ts index 469e053..4d4630b 100644 --- a/foundry/packages/backend/src/actors/task/db/migrations.ts +++ b/foundry/packages/backend/src/actors/task/db/migrations.ts @@ -6,44 +6,8 @@ const journal = { entries: [ { idx: 0, - when: 1770924374665, - tag: "0000_condemned_maria_hill", - breakpoints: true, - }, - { - idx: 1, - when: 1770947251055, - tag: "0001_rapid_eddie_brock", - breakpoints: true, - }, - { - idx: 2, - when: 1770948428907, - tag: "0002_lazy_moira_mactaggert", - breakpoints: true, - }, - { - idx: 3, - when: 1771027535276, - tag: "0003_plucky_bran", - breakpoints: true, - }, - { - idx: 4, - when: 1771097651912, - tag: "0004_focused_shuri", - breakpoints: true, - }, - { - idx: 5, - when: 1771370000000, - tag: "0005_sandbox_actor_id", - breakpoints: true, - }, - { - idx: 6, - when: 1773375723300, - tag: "0006_harsh_wind_dancer", + when: 1773376222525, + tag: "0000_charming_maestro", breakpoints: true, }, ], @@ -53,78 +17,6 @@ export default { journal, migrations: { m0000: `CREATE TABLE \`task\` ( - \`id\` integer PRIMARY KEY NOT NULL, - \`branch_name\` text NOT NULL, - \`title\` text NOT NULL, - \`task\` text NOT NULL, - \`provider_id\` text NOT NULL, - \`status\` text NOT NULL, - \`agent_type\` text DEFAULT 'claude', - \`auto_committed\` integer DEFAULT 0, - \`pushed\` integer DEFAULT 0, - \`pr_submitted\` integer DEFAULT 0, - \`needs_push\` integer DEFAULT 0, - \`created_at\` integer NOT NULL, - \`updated_at\` integer NOT NULL -); ---> statement-breakpoint -CREATE TABLE \`task_runtime\` ( - \`id\` integer PRIMARY KEY NOT NULL, - \`sandbox_id\` text, - \`session_id\` text, - \`switch_target\` text, - \`status_message\` text, - \`updated_at\` integer NOT NULL -); -`, - m0001: `ALTER TABLE \`task\` DROP COLUMN \`auto_committed\`;--> statement-breakpoint -ALTER TABLE \`task\` DROP COLUMN \`pushed\`;--> statement-breakpoint -ALTER TABLE \`task\` DROP COLUMN \`needs_push\`;`, - m0002: `ALTER TABLE \`task_runtime\` RENAME COLUMN "sandbox_id" TO "active_sandbox_id";--> statement-breakpoint -ALTER TABLE \`task_runtime\` RENAME COLUMN "session_id" TO "active_session_id";--> statement-breakpoint -ALTER TABLE \`task_runtime\` RENAME COLUMN "switch_target" TO "active_switch_target";--> statement-breakpoint -CREATE TABLE \`task_sandboxes\` ( - \`sandbox_id\` text PRIMARY KEY NOT NULL, - \`provider_id\` text NOT NULL, - \`switch_target\` text NOT NULL, - \`cwd\` text, - \`status_message\` text, - \`created_at\` integer NOT NULL, - \`updated_at\` integer NOT NULL -); ---> statement-breakpoint -ALTER TABLE \`task_runtime\` ADD \`active_cwd\` text; ---> statement-breakpoint -INSERT INTO \`task_sandboxes\` ( - \`sandbox_id\`, - \`provider_id\`, - \`switch_target\`, - \`cwd\`, - \`status_message\`, - \`created_at\`, - \`updated_at\` -) -SELECT - r.\`active_sandbox_id\`, - (SELECT h.\`provider_id\` FROM \`task\` h WHERE h.\`id\` = 1), - r.\`active_switch_target\`, - r.\`active_cwd\`, - r.\`status_message\`, - COALESCE((SELECT h.\`created_at\` FROM \`task\` h WHERE h.\`id\` = 1), r.\`updated_at\`), - r.\`updated_at\` -FROM \`task_runtime\` r -WHERE - r.\`id\` = 1 - AND r.\`active_sandbox_id\` IS NOT NULL - AND r.\`active_switch_target\` IS NOT NULL -ON CONFLICT(\`sandbox_id\`) DO NOTHING; -`, - m0003: `-- Allow tasks to exist before their branch/title are determined. --- Drizzle doesn't support altering column nullability in SQLite directly, so rebuild the table. - -PRAGMA foreign_keys=off; - -CREATE TABLE \`task__new\` ( \`id\` integer PRIMARY KEY NOT NULL, \`branch_name\` text, \`title\` text, @@ -134,101 +26,33 @@ CREATE TABLE \`task__new\` ( \`agent_type\` text DEFAULT 'claude', \`pr_submitted\` integer DEFAULT 0, \`created_at\` integer NOT NULL, + \`updated_at\` integer NOT NULL, + CONSTRAINT "task_singleton_id_check" CHECK("task"."id" = 1) +); +--> statement-breakpoint +CREATE TABLE \`task_runtime\` ( + \`id\` integer PRIMARY KEY NOT NULL, + \`active_sandbox_id\` text, + \`active_session_id\` text, + \`active_switch_target\` text, + \`active_cwd\` text, + \`status_message\` text, + \`updated_at\` integer NOT NULL, + CONSTRAINT "task_runtime_singleton_id_check" CHECK("task_runtime"."id" = 1) +); +--> statement-breakpoint +CREATE TABLE \`task_sandboxes\` ( + \`sandbox_id\` text PRIMARY KEY NOT NULL, + \`provider_id\` text NOT NULL, + \`sandbox_actor_id\` text, + \`switch_target\` text NOT NULL, + \`cwd\` text, + \`status_message\` text, + \`created_at\` integer NOT NULL, \`updated_at\` integer NOT NULL ); - -INSERT INTO \`task__new\` ( - \`id\`, - \`branch_name\`, - \`title\`, - \`task\`, - \`provider_id\`, - \`status\`, - \`agent_type\`, - \`pr_submitted\`, - \`created_at\`, - \`updated_at\` -) -SELECT - \`id\`, - \`branch_name\`, - \`title\`, - \`task\`, - \`provider_id\`, - \`status\`, - \`agent_type\`, - \`pr_submitted\`, - \`created_at\`, - \`updated_at\` -FROM \`task\`; - -DROP TABLE \`task\`; -ALTER TABLE \`task__new\` RENAME TO \`task\`; - -PRAGMA foreign_keys=on; - -`, - m0004: `-- Fix: make branch_name/title nullable during initial "naming" stage. --- 0003 was missing statement breakpoints, so drizzle's migrator marked it applied without executing all statements. --- Rebuild the table again with proper statement breakpoints. - -PRAGMA foreign_keys=off; --> statement-breakpoint - -DROP TABLE IF EXISTS \`task__new\`; ---> statement-breakpoint - -CREATE TABLE \`task__new\` ( - \`id\` integer PRIMARY KEY NOT NULL, - \`branch_name\` text, - \`title\` text, - \`task\` text NOT NULL, - \`provider_id\` text NOT NULL, - \`status\` text NOT NULL, - \`agent_type\` text DEFAULT 'claude', - \`pr_submitted\` integer DEFAULT 0, - \`created_at\` integer NOT NULL, - \`updated_at\` integer NOT NULL -); ---> statement-breakpoint - -INSERT INTO \`task__new\` ( - \`id\`, - \`branch_name\`, - \`title\`, - \`task\`, - \`provider_id\`, - \`status\`, - \`agent_type\`, - \`pr_submitted\`, - \`created_at\`, - \`updated_at\` -) -SELECT - \`id\`, - \`branch_name\`, - \`title\`, - \`task\`, - \`provider_id\`, - \`status\`, - \`agent_type\`, - \`pr_submitted\`, - \`created_at\`, - \`updated_at\` -FROM \`task\`; ---> statement-breakpoint - -DROP TABLE \`task\`; ---> statement-breakpoint - -ALTER TABLE \`task__new\` RENAME TO \`task\`; ---> statement-breakpoint - -PRAGMA foreign_keys=on; -`, - m0005: `ALTER TABLE \`task_sandboxes\` ADD \`sandbox_actor_id\` text; -`, - m0006: `CREATE TABLE \`task_workbench_sessions\` ( +CREATE TABLE \`task_workbench_sessions\` ( \`session_id\` text PRIMARY KEY NOT NULL, \`session_name\` text NOT NULL, \`model\` text NOT NULL, @@ -242,40 +66,6 @@ PRAGMA foreign_keys=on; \`created_at\` integer NOT NULL, \`updated_at\` integer NOT NULL ); ---> statement-breakpoint -PRAGMA foreign_keys=OFF;--> statement-breakpoint -CREATE TABLE \`__new_task\` ( - \`id\` integer PRIMARY KEY NOT NULL, - \`branch_name\` text, - \`title\` text, - \`task\` text NOT NULL, - \`provider_id\` text NOT NULL, - \`status\` text NOT NULL, - \`agent_type\` text DEFAULT 'claude', - \`pr_submitted\` integer DEFAULT 0, - \`created_at\` integer NOT NULL, - \`updated_at\` integer NOT NULL, - CONSTRAINT "task_singleton_id_check" CHECK("__new_task"."id" = 1) -); ---> statement-breakpoint -INSERT INTO \`__new_task\`("id", "branch_name", "title", "task", "provider_id", "status", "agent_type", "pr_submitted", "created_at", "updated_at") SELECT "id", "branch_name", "title", "task", "provider_id", "status", "agent_type", "pr_submitted", "created_at", "updated_at" FROM \`task\`;--> statement-breakpoint -DROP TABLE \`task\`;--> statement-breakpoint -ALTER TABLE \`__new_task\` RENAME TO \`task\`;--> statement-breakpoint -PRAGMA foreign_keys=ON;--> statement-breakpoint -ALTER TABLE \`task_sandboxes\` ADD \`sandbox_actor_id\` text;--> statement-breakpoint -CREATE TABLE \`__new_task_runtime\` ( - \`id\` integer PRIMARY KEY NOT NULL, - \`active_sandbox_id\` text, - \`active_session_id\` text, - \`active_switch_target\` text, - \`active_cwd\` text, - \`status_message\` text, - \`updated_at\` integer NOT NULL, - CONSTRAINT "task_runtime_singleton_id_check" CHECK("__new_task_runtime"."id" = 1) -); ---> statement-breakpoint -INSERT INTO \`__new_task_runtime\`("id", "active_sandbox_id", "active_session_id", "active_switch_target", "active_cwd", "status_message", "updated_at") SELECT "id", "active_sandbox_id", "active_session_id", "active_switch_target", "active_cwd", "status_message", "updated_at" FROM \`task_runtime\`;--> statement-breakpoint -DROP TABLE \`task_runtime\`;--> statement-breakpoint -ALTER TABLE \`__new_task_runtime\` RENAME TO \`task_runtime\`;`, +`, } as const, }; diff --git a/foundry/packages/backend/src/actors/workspace/db/drizzle/0003_mushy_rictor.sql b/foundry/packages/backend/src/actors/workspace/db/drizzle/0000_melted_viper.sql similarity index 87% rename from foundry/packages/backend/src/actors/workspace/db/drizzle/0003_mushy_rictor.sql rename to foundry/packages/backend/src/actors/workspace/db/drizzle/0000_melted_viper.sql index 9905b26..508cc74 100644 --- a/foundry/packages/backend/src/actors/workspace/db/drizzle/0003_mushy_rictor.sql +++ b/foundry/packages/backend/src/actors/workspace/db/drizzle/0000_melted_viper.sql @@ -67,6 +67,19 @@ CREATE TABLE `organization_profile` ( `updated_at` integer NOT NULL ); --> statement-breakpoint +CREATE TABLE `provider_profiles` ( + `provider_id` text PRIMARY KEY NOT NULL, + `profile_json` text NOT NULL, + `updated_at` integer NOT NULL +); +--> statement-breakpoint +CREATE TABLE `repos` ( + `repo_id` text PRIMARY KEY NOT NULL, + `remote_url` text NOT NULL, + `created_at` integer NOT NULL, + `updated_at` integer NOT NULL +); +--> statement-breakpoint CREATE TABLE `seat_assignments` ( `email` text PRIMARY KEY NOT NULL, `created_at` integer NOT NULL diff --git a/foundry/packages/backend/src/actors/workspace/db/drizzle/0000_rare_iron_man.sql b/foundry/packages/backend/src/actors/workspace/db/drizzle/0000_rare_iron_man.sql deleted file mode 100644 index 85f6bb7..0000000 --- a/foundry/packages/backend/src/actors/workspace/db/drizzle/0000_rare_iron_man.sql +++ /dev/null @@ -1,5 +0,0 @@ -CREATE TABLE `provider_profiles` ( - `provider_id` text PRIMARY KEY NOT NULL, - `profile_json` text NOT NULL, - `updated_at` integer NOT NULL -); diff --git a/foundry/packages/backend/src/actors/workspace/db/drizzle/0001_sleepy_lady_deathstrike.sql b/foundry/packages/backend/src/actors/workspace/db/drizzle/0001_sleepy_lady_deathstrike.sql deleted file mode 100644 index d9c9165..0000000 --- a/foundry/packages/backend/src/actors/workspace/db/drizzle/0001_sleepy_lady_deathstrike.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE `repos` ( - `repo_id` text PRIMARY KEY NOT NULL, - `remote_url` text NOT NULL, - `created_at` integer NOT NULL, - `updated_at` integer NOT NULL -); diff --git a/foundry/packages/backend/src/actors/workspace/db/drizzle/0002_tiny_silver_surfer.sql b/foundry/packages/backend/src/actors/workspace/db/drizzle/0002_tiny_silver_surfer.sql deleted file mode 100644 index bd2a378..0000000 --- a/foundry/packages/backend/src/actors/workspace/db/drizzle/0002_tiny_silver_surfer.sql +++ /dev/null @@ -1,4 +0,0 @@ -CREATE TABLE `task_lookup` ( - `task_id` text PRIMARY KEY NOT NULL, - `repo_id` text NOT NULL -); diff --git a/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/0000_snapshot.json b/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/0000_snapshot.json index d532f4e..08a47e5 100644 --- a/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/0000_snapshot.json +++ b/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/0000_snapshot.json @@ -1,9 +1,448 @@ { "version": "6", "dialect": "sqlite", - "id": "a85809c0-65c2-4f99-92ed-34357c9f83d7", + "id": "0bef30e4-148a-4fe1-b2ca-a9721893c3ac", "prevId": "00000000-0000-0000-0000-000000000000", "tables": { + "app_sessions": { + "name": "app_sessions", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "current_user_id": { + "name": "current_user_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "current_user_name": { + "name": "current_user_name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "current_user_email": { + "name": "current_user_email", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "current_user_github_login": { + "name": "current_user_github_login", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "current_user_role_label": { + "name": "current_user_role_label", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "eligible_organization_ids_json": { + "name": "eligible_organization_ids_json", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "active_organization_id": { + "name": "active_organization_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "github_access_token": { + "name": "github_access_token", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "github_scope": { + "name": "github_scope", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "starter_repo_status": { + "name": "starter_repo_status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "starter_repo_starred_at": { + "name": "starter_repo_starred_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "starter_repo_skipped_at": { + "name": "starter_repo_skipped_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "oauth_state": { + "name": "oauth_state", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "oauth_state_expires_at": { + "name": "oauth_state_expires_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "invoices": { + "name": "invoices", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "label": { + "name": "label", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "issued_at": { + "name": "issued_at", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "amount_usd": { + "name": "amount_usd", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "organization_members": { + "name": "organization_members", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "state": { + "name": "state", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "organization_profile": { + "name": "organization_profile", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "github_account_id": { + "name": "github_account_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "github_login": { + "name": "github_login", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "github_account_type": { + "name": "github_account_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "display_name": { + "name": "display_name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "primary_domain": { + "name": "primary_domain", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "default_model": { + "name": "default_model", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "auto_import_repos": { + "name": "auto_import_repos", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "repo_import_status": { + "name": "repo_import_status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "github_connected_account": { + "name": "github_connected_account", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "github_installation_status": { + "name": "github_installation_status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "github_sync_status": { + "name": "github_sync_status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "github_installation_id": { + "name": "github_installation_id", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "github_last_sync_label": { + "name": "github_last_sync_label", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "github_last_sync_at": { + "name": "github_last_sync_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "stripe_customer_id": { + "name": "stripe_customer_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "stripe_subscription_id": { + "name": "stripe_subscription_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "stripe_price_id": { + "name": "stripe_price_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "billing_plan_id": { + "name": "billing_plan_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "billing_status": { + "name": "billing_status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "billing_seats_included": { + "name": "billing_seats_included", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "billing_trial_ends_at": { + "name": "billing_trial_ends_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "billing_renewal_at": { + "name": "billing_renewal_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "billing_payment_method_label": { + "name": "billing_payment_method_label", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, "provider_profiles": { "name": "provider_profiles", "columns": { @@ -34,6 +473,123 @@ "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} + }, + "repos": { + "name": "repos", + "columns": { + "repo_id": { + "name": "repo_id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "remote_url": { + "name": "remote_url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "seat_assignments": { + "name": "seat_assignments", + "columns": { + "email": { + "name": "email", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "stripe_lookup": { + "name": "stripe_lookup", + "columns": { + "lookup_key": { + "name": "lookup_key", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "task_lookup": { + "name": "task_lookup", + "columns": { + "task_id": { + "name": "task_id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "repo_id": { + "name": "repo_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} } }, "views": {}, diff --git a/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/0001_snapshot.json b/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/0001_snapshot.json deleted file mode 100644 index 2936059..0000000 --- a/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/0001_snapshot.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "version": "6", - "dialect": "sqlite", - "id": "450e2fdf-6349-482f-8a68-5bc0f0a9718a", - "prevId": "a85809c0-65c2-4f99-92ed-34357c9f83d7", - "tables": { - "provider_profiles": { - "name": "provider_profiles", - "columns": { - "provider_id": { - "name": "provider_id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "profile_json": { - "name": "profile_json", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "repos": { - "name": "repos", - "columns": { - "repo_id": { - "name": "repo_id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "remote_url": { - "name": "remote_url", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - } - }, - "views": {}, - "enums": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - }, - "internal": { - "indexes": {} - } -} diff --git a/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/0003_snapshot.json b/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/0003_snapshot.json deleted file mode 100644 index 51ecd59..0000000 --- a/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/0003_snapshot.json +++ /dev/null @@ -1,605 +0,0 @@ -{ - "version": "6", - "dialect": "sqlite", - "id": "90ecc616-3bbf-4077-9def-4a18f7979142", - "prevId": "450e2fdf-6349-482f-8a68-5bc0f0a9718a", - "tables": { - "app_sessions": { - "name": "app_sessions", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "current_user_id": { - "name": "current_user_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "current_user_name": { - "name": "current_user_name", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "current_user_email": { - "name": "current_user_email", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "current_user_github_login": { - "name": "current_user_github_login", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "current_user_role_label": { - "name": "current_user_role_label", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "eligible_organization_ids_json": { - "name": "eligible_organization_ids_json", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "active_organization_id": { - "name": "active_organization_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "github_access_token": { - "name": "github_access_token", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "github_scope": { - "name": "github_scope", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "starter_repo_status": { - "name": "starter_repo_status", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "starter_repo_starred_at": { - "name": "starter_repo_starred_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "starter_repo_skipped_at": { - "name": "starter_repo_skipped_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "oauth_state": { - "name": "oauth_state", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "oauth_state_expires_at": { - "name": "oauth_state_expires_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "invoices": { - "name": "invoices", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "label": { - "name": "label", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "issued_at": { - "name": "issued_at", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "amount_usd": { - "name": "amount_usd", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "status": { - "name": "status", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "organization_members": { - "name": "organization_members", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "email": { - "name": "email", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "role": { - "name": "role", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "state": { - "name": "state", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "organization_profile": { - "name": "organization_profile", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "kind": { - "name": "kind", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "github_account_id": { - "name": "github_account_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "github_login": { - "name": "github_login", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "github_account_type": { - "name": "github_account_type", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "display_name": { - "name": "display_name", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "slug": { - "name": "slug", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "primary_domain": { - "name": "primary_domain", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "default_model": { - "name": "default_model", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "auto_import_repos": { - "name": "auto_import_repos", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "repo_import_status": { - "name": "repo_import_status", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "github_connected_account": { - "name": "github_connected_account", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "github_installation_status": { - "name": "github_installation_status", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "github_sync_status": { - "name": "github_sync_status", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "github_installation_id": { - "name": "github_installation_id", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "github_last_sync_label": { - "name": "github_last_sync_label", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "github_last_sync_at": { - "name": "github_last_sync_at", - "type": "integer", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripe_customer_id": { - "name": "stripe_customer_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripe_subscription_id": { - "name": "stripe_subscription_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripe_price_id": { - "name": "stripe_price_id", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "billing_plan_id": { - "name": "billing_plan_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "billing_status": { - "name": "billing_status", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "billing_seats_included": { - "name": "billing_seats_included", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "billing_trial_ends_at": { - "name": "billing_trial_ends_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "billing_renewal_at": { - "name": "billing_renewal_at", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "billing_payment_method_label": { - "name": "billing_payment_method_label", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "provider_profiles": { - "name": "provider_profiles", - "columns": { - "provider_id": { - "name": "provider_id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "profile_json": { - "name": "profile_json", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "repos": { - "name": "repos", - "columns": { - "repo_id": { - "name": "repo_id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "remote_url": { - "name": "remote_url", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "seat_assignments": { - "name": "seat_assignments", - "columns": { - "email": { - "name": "email", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "created_at": { - "name": "created_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "stripe_lookup": { - "name": "stripe_lookup", - "columns": { - "lookup_key": { - "name": "lookup_key", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "organization_id": { - "name": "organization_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "updated_at": { - "name": "updated_at", - "type": "integer", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "task_lookup": { - "name": "task_lookup", - "columns": { - "task_id": { - "name": "task_id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "repo_id": { - "name": "repo_id", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "checkConstraints": {} - } - }, - "views": {}, - "enums": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - }, - "internal": { - "indexes": {} - } -} diff --git a/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/_journal.json b/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/_journal.json index a1dcc87..e3668a1 100644 --- a/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/_journal.json +++ b/foundry/packages/backend/src/actors/workspace/db/drizzle/meta/_journal.json @@ -5,29 +5,8 @@ { "idx": 0, "version": "6", - "when": 1770924376525, - "tag": "0000_rare_iron_man", - "breakpoints": true - }, - { - "idx": 1, - "version": "6", - "when": 1770947252912, - "tag": "0001_sleepy_lady_deathstrike", - "breakpoints": true - }, - { - "idx": 2, - "version": "6", - "when": 1772668800000, - "tag": "0002_tiny_silver_surfer", - "breakpoints": true - }, - { - "idx": 3, - "version": "6", - "when": 1773375721168, - "tag": "0003_mushy_rictor", + "when": 1773376221152, + "tag": "0000_melted_viper", "breakpoints": true } ] diff --git a/foundry/packages/backend/src/actors/workspace/db/migrations.ts b/foundry/packages/backend/src/actors/workspace/db/migrations.ts index 424a335..6832f80 100644 --- a/foundry/packages/backend/src/actors/workspace/db/migrations.ts +++ b/foundry/packages/backend/src/actors/workspace/db/migrations.ts @@ -6,26 +6,8 @@ const journal = { entries: [ { idx: 0, - when: 1770924376525, - tag: "0000_rare_iron_man", - breakpoints: true, - }, - { - idx: 1, - when: 1770947252912, - tag: "0001_sleepy_lady_deathstrike", - breakpoints: true, - }, - { - idx: 2, - when: 1772668800000, - tag: "0002_tiny_silver_surfer", - breakpoints: true, - }, - { - idx: 3, - when: 1773375721168, - tag: "0003_mushy_rictor", + when: 1773376221152, + tag: "0000_melted_viper", breakpoints: true, }, ], @@ -34,25 +16,7 @@ const journal = { export default { journal, migrations: { - m0000: `CREATE TABLE \`provider_profiles\` ( - \`provider_id\` text PRIMARY KEY NOT NULL, - \`profile_json\` text NOT NULL, - \`updated_at\` integer NOT NULL -); -`, - m0001: `CREATE TABLE \`repos\` ( - \`repo_id\` text PRIMARY KEY NOT NULL, - \`remote_url\` text NOT NULL, - \`created_at\` integer NOT NULL, - \`updated_at\` integer NOT NULL -); -`, - m0002: `CREATE TABLE \`task_lookup\` ( - \`task_id\` text PRIMARY KEY NOT NULL, - \`repo_id\` text NOT NULL -); -`, - m0003: `CREATE TABLE \`app_sessions\` ( + m0000: `CREATE TABLE \`app_sessions\` ( \`id\` text PRIMARY KEY NOT NULL, \`current_user_id\` text, \`current_user_name\` text, @@ -121,6 +85,19 @@ CREATE TABLE \`organization_profile\` ( \`updated_at\` integer NOT NULL ); --> statement-breakpoint +CREATE TABLE \`provider_profiles\` ( + \`provider_id\` text PRIMARY KEY NOT NULL, + \`profile_json\` text NOT NULL, + \`updated_at\` integer NOT NULL +); +--> statement-breakpoint +CREATE TABLE \`repos\` ( + \`repo_id\` text PRIMARY KEY NOT NULL, + \`remote_url\` text NOT NULL, + \`created_at\` integer NOT NULL, + \`updated_at\` integer NOT NULL +); +--> statement-breakpoint CREATE TABLE \`seat_assignments\` ( \`email\` text PRIMARY KEY NOT NULL, \`created_at\` integer NOT NULL