import { getAccount, getAccountGrowthStats } from './account.ts'
import { listBroadcasts } from './broadcasts.ts'
import { listSequences } from './sequences.ts'
import { listSubscribers } from './subscribers.ts'
/**
* No-argument scheduled wrapper. Reads account health only — no writes and
* no sends. The `account-health` job is **disabled** by default.
* @example
* import scheduledAccountHealth from 'kody:@kody/kit/scheduled-account-health'
* const snapshot = await scheduledAccountHealth()
*/
export default async function scheduledAccountHealth() {
const [account, growth, broadcasts, sequences, subscribers] = await Promise.all([
getAccount(),
getAccountGrowthStats().catch((error: unknown) => ({
skipped: true,
reason: error instanceof Error ? error.message : String(error),
})),
listBroadcasts({ maxItems: 5 }),
listSequences({ maxItems: 5 }),
listSubscribers({ maxItems: 5 }),
])
return {
account,
growth,
broadcastCount: broadcasts.length,
sequenceCount: sequences.length,
subscriberSampleCount: subscribers.length,
}
}