Files
orca/cloud/apps/connector/src/operator-cli.ts
T
Jinwoo Hong aec426c2fa feat(connector): Discord adapter on the shared connector core (#34100)
Adds Discord as a second connector adapter on the shared core: signed interactions for answer buttons, one gateway worker (same image, single leader by database lock, commits on the lock's connection, checkpoints for resume), thread posts through the shared post queue, owner-only control, and teammate context only from linked accounts. Inert until the Discord settings are configured. A narrow gitleaks allowlist entry covers connector Discord env var names in config errors.
2026-10-26 19:01:05 -04:00

25 lines
840 B
TypeScript

import type { CloudDatabase } from '@orca-cloud/cloud-database'
import { openConnectorDatabase } from './connector-database.js'
// An operator command against the service's database (its env), printing what it returns.
export async function runOperatorCli(
applicationName: string,
run: (database: CloudDatabase) => Promise<string>
): Promise<void> {
const env = process.env
const database = await openConnectorDatabase({
...(env.ORCA_CONNECTOR_DATABASE_URL ? { databaseUrl: env.ORCA_CONNECTOR_DATABASE_URL } : {}),
dataDir: env.ORCA_CONNECTOR_DATA_DIR || './data/connector',
poolMax: 1,
applicationName
})
try {
console.log(await run(database))
} catch (error) {
console.error(error instanceof Error ? error.message : 'failed')
process.exitCode = 1
} finally {
await database.close()
}
}