mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 06:04:43 +00:00
Add a custom Docker image (foundry-base.Dockerfile) that builds sandbox-agent from source and layers sudo, git, neovim, gh, node, bun, chromium, and agent-browser. Includes publish script for timestamped + latest tags to rivetdev/sandbox-agent on Docker Hub. Update local sandbox provider default to use foundry-base-latest and wire HF_LOCAL_SANDBOX_IMAGE env var through compose.dev.yaml. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
59 lines
2.3 KiB
TypeScript
59 lines
2.3 KiB
TypeScript
import { check, integer, sqliteTable, text } from "rivetkit/db/drizzle";
|
|
import { sql } from "drizzle-orm";
|
|
|
|
export const githubMeta = sqliteTable(
|
|
"github_meta",
|
|
{
|
|
id: integer("id").primaryKey(),
|
|
connectedAccount: text("connected_account").notNull(),
|
|
installationStatus: text("installation_status").notNull(),
|
|
syncStatus: text("sync_status").notNull(),
|
|
installationId: integer("installation_id"),
|
|
lastSyncLabel: text("last_sync_label").notNull(),
|
|
lastSyncAt: integer("last_sync_at"),
|
|
syncGeneration: integer("sync_generation").notNull(),
|
|
syncPhase: text("sync_phase"),
|
|
processedRepositoryCount: integer("processed_repository_count").notNull(),
|
|
totalRepositoryCount: integer("total_repository_count").notNull(),
|
|
updatedAt: integer("updated_at").notNull(),
|
|
},
|
|
(table) => [check("github_meta_singleton_id_check", sql`${table.id} = 1`)],
|
|
);
|
|
|
|
export const githubRepositories = sqliteTable("github_repositories", {
|
|
repoId: text("repo_id").notNull().primaryKey(),
|
|
fullName: text("full_name").notNull(),
|
|
cloneUrl: text("clone_url").notNull(),
|
|
private: integer("private").notNull(),
|
|
defaultBranch: text("default_branch").notNull(),
|
|
syncGeneration: integer("sync_generation").notNull(),
|
|
updatedAt: integer("updated_at").notNull(),
|
|
});
|
|
|
|
export const githubMembers = sqliteTable("github_members", {
|
|
memberId: text("member_id").notNull().primaryKey(),
|
|
login: text("login").notNull(),
|
|
displayName: text("display_name").notNull(),
|
|
email: text("email"),
|
|
role: text("role"),
|
|
state: text("state").notNull(),
|
|
syncGeneration: integer("sync_generation").notNull(),
|
|
updatedAt: integer("updated_at").notNull(),
|
|
});
|
|
|
|
export const githubPullRequests = sqliteTable("github_pull_requests", {
|
|
prId: text("pr_id").notNull().primaryKey(),
|
|
repoId: text("repo_id").notNull(),
|
|
repoFullName: text("repo_full_name").notNull(),
|
|
number: integer("number").notNull(),
|
|
title: text("title").notNull(),
|
|
body: text("body"),
|
|
state: text("state").notNull(),
|
|
url: text("url").notNull(),
|
|
headRefName: text("head_ref_name").notNull(),
|
|
baseRefName: text("base_ref_name").notNull(),
|
|
authorLogin: text("author_login"),
|
|
isDraft: integer("is_draft").notNull(),
|
|
syncGeneration: integer("sync_generation").notNull(),
|
|
updatedAt: integer("updated_at").notNull(),
|
|
});
|