| 123456789101112131415161718192021222324252627282930313233 |
- #!/usr/bin/env node
- /** Snapshot-only Loader driver: stream one fixture turn as canonical JSONL. */
- import type { Context } from '@deepseek-ai/cordis'
- import { boot, installFailLoud, loadEnv, resolveConfigPath } from '@deepseek-ai/dsh-app-boot'
- import { runFixtureTurn } from '@deepseek-ai/dsh-loader-smoke'
- import type { SessionEvent } from '@deepseek-ai/dsh-session'
- const NAME = 'headless-test-driver'
- const [configPath, ...taskParts] = process.argv.slice(2)
- if (configPath === undefined || taskParts.length === 0 || taskParts.every(part => part.trim() === '')) {
- throw new Error(`${NAME}: expected <config-path> <task...>`)
- }
- const uninstallFailLoud = installFailLoud(NAME)
- let ctx: Context | undefined
- try {
- loadEnv(NAME)
- ctx = await boot(NAME, resolveConfigPath(configPath, undefined))
- const result = await runFixtureTurn(ctx, {
- task: taskParts.join(' '),
- onEvent: (sessionId: string, event: SessionEvent) => {
- process.stdout.write(`${JSON.stringify({ type: 'session_event', sessionId, event })}\n`)
- },
- })
- process.stdout.write(`${JSON.stringify(result)}\n`)
- } catch (error: unknown) {
- process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`)
- process.exitCode = 1
- } finally {
- await ctx?.fiber.dispose()
- uninstallFailLoud()
- }
|