import { resolve } from 'node:path'; import { generateReferenceCompanionApps } from '../src/companion/index.js'; const DEFAULT_GENERATED_AT = '2026-02-27T00:00:00.000Z'; function getArg(name: string): string | undefined { const idx = process.argv.indexOf(name); if (idx < 0) { return undefined; } const value = process.argv[idx + 1]; if (!value || value.startsWith('--')) { return undefined; } return value; } async function main(): Promise { const outputDir = resolve(getArg('--output') ?? 'apps/companion'); const gatewayUrl = getArg('--url') ?? 'ws://127.0.0.1:18800'; const generatedAtArg = getArg('--generated-at'); const generatedAt = new Date(generatedAtArg ?? DEFAULT_GENERATED_AT); if (Number.isNaN(generatedAt.getTime())) { throw new Error(`Invalid --generated-at value: ${generatedAtArg}`); } const result = await generateReferenceCompanionApps({ outputDir, gatewayUrl, generatedAt, }); console.log(`Generated companion reference apps in ${result.rootDir}`); for (const entry of result.generated) { console.log(`- ${entry.platform}: ${entry.outputDir}`); } console.log(`- macos-app: ${result.macosMenuBarAppDir}`); console.log(`- readme: ${result.readmePath}`); console.log(`- generatedAt: ${generatedAt.toISOString()}`); } main().catch((error: unknown) => { const message = error instanceof Error ? error.message : String(error); console.error(`companion:reference-apps failed: ${message}`); process.exitCode = 1; });