feat(aircoding): AirCoding V2 baseline — deterministic multi-agent architecture
Forked from OpenCode v1.17.4 with multi-agent system: - 5 agents: aircoding, scheduler, worker, architect, reviewer - Deterministic DAG scheduling engine (coordinator_tick) - Tool whitelists as hard enforcement - AirCoding validation plugin - V1 requirements: C4 docs, ADR, AGENTS.md, debug-log.md - Design documents in docs/
This commit is contained in:
35
packages/console/core/script/credit-workspace.ts
Normal file
35
packages/console/core/script/credit-workspace.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
import { Billing } from "../src/billing.js"
|
||||
import { Database, eq } from "../src/drizzle/index.js"
|
||||
import { WorkspaceTable } from "../src/schema/workspace.sql.js"
|
||||
|
||||
// get input from command line
|
||||
const workspaceID = process.argv[2]
|
||||
const dollarAmount = process.argv[3]
|
||||
|
||||
if (!workspaceID || !dollarAmount) {
|
||||
console.error("Usage: bun credit-workspace.ts <workspaceID> <dollarAmount>")
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
// check workspace exists
|
||||
const workspace = await Database.use((tx) =>
|
||||
tx
|
||||
.select()
|
||||
.from(WorkspaceTable)
|
||||
.where(eq(WorkspaceTable.id, workspaceID))
|
||||
.then((rows) => rows[0]),
|
||||
)
|
||||
if (!workspace) {
|
||||
console.error("Error: Workspace not found")
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
const amountInDollars = parseFloat(dollarAmount)
|
||||
if (isNaN(amountInDollars) || amountInDollars <= 0) {
|
||||
console.error("Error: dollarAmount must be a positive number")
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
await Billing.grantCredit(workspaceID, amountInDollars)
|
||||
|
||||
console.log(`Added payment of $${amountInDollars.toFixed(2)} to workspace ${workspaceID}`)
|
||||
Reference in New Issue
Block a user