openAgent
gitlabThe open source UNIVERSAL agent.
clone
https://gitlab.com/bitzzdev/openAgent.gitAIagentautomationopen-sourceuniversal-agent
import { Database, eq, and, sql, inArray, isNull } from "../src/drizzle/index.js"import { BillingTable, BlackPlans } from "../src/schema/billing.sql.js"import { UserTable } from "../src/schema/user.sql.js"import { AuthTable } from "../src/schema/auth.sql.js"const plan = process.argv[2] as (typeof BlackPlans)[number]if (!BlackPlans.includes(plan)) {console.error("Usage: bun foo.ts <count>")process.exit(1)}const workspaces = await Database.use((tx) =>tx.select({ workspaceID: BillingTable.workspaceID }).from(BillingTable).where(and(eq(BillingTable.subscriptionPlan, plan), isNull(BillingTable.timeSubscriptionSelected))).orderBy(sql`RAND()`).limit(100),)console.log(`Found ${workspaces.length} workspaces on Black ${plan} waitlist`)console.log("== Workspace IDs ==")const ids = workspaces.map((w) => w.workspaceID)for (const id of ids) {console.log(id)}console.log("\n== User Emails ==")const emails = await Database.use((tx) =>tx.select({ email: AuthTable.subject }).from(UserTable).innerJoin(AuthTable, and(eq(UserTable.accountID, AuthTable.accountID), eq(AuthTable.provider, "email"))).where(inArray(UserTable.workspaceID, ids)),)const unique = new Set(emails.map((row) => row.email))for (const email of unique) {console.log(email)}