@@ -2,6 +2,7 @@ import type { ModuleRunner } from 'vite/module-runner'
22import type { Vitest } from '../core'
33import type { ResolvedConfig } from '../types/config'
44import type { Reporter } from '../types/reporter'
5+ import type { AgentReporter } from './agent'
56import type { BlobReporter } from './blob'
67import type { BenchmarkBuiltinReporters , BenchmarkReporter , BuiltinReporters , DefaultReporter , DotReporter , GithubActionsReporter , HangingProcessReporter , JsonReporter , JUnitReporter , TapReporter } from './index'
78import { BenchmarkReportsMap , ReportersMap } from './index'
@@ -35,36 +36,34 @@ async function loadCustomReporterModule<C extends Reporter>(
3536function createReporters (
3637 reporterReferences : ResolvedConfig [ 'reporters' ] ,
3738 ctx : Vitest ,
38- ) : Promise < Array < Reporter | DefaultReporter | BlobReporter | DotReporter | JsonReporter | TapReporter | JUnitReporter | HangingProcessReporter | GithubActionsReporter > > {
39+ ) : Promise < Array < Reporter | DefaultReporter | AgentReporter | BlobReporter | DotReporter | JsonReporter | TapReporter | JUnitReporter | HangingProcessReporter | GithubActionsReporter > > {
3940 const runner = ctx . runner
4041 const isAgent = ! ! ctx . config . env ?. AI_AGENT
4142 const promisedReporters = reporterReferences . map (
4243 async ( referenceOrInstance ) => {
4344 if ( Array . isArray ( referenceOrInstance ) ) {
44- const [ reporterName , reporterOptions ] = referenceOrInstance
45- const options = isAgent && reporterName in ReportersMap && ( reporterOptions as any ) ?. isAgent == null
46- ? { ...reporterOptions , isAgent : true }
47- : reporterOptions
45+ const [ rawReporterName , reporterOptions ] = referenceOrInstance
46+ const reporterName = isAgent && rawReporterName === 'default' ? 'agent' : rawReporterName
4847
4948 if ( reporterName === 'html' ) {
5049 await ctx . packageInstaller . ensureInstalled ( '@vitest/ui' , ctx . config . root , ctx . version )
5150 const CustomReporter = await loadCustomReporterModule (
5251 '@vitest/ui/reporter' ,
5352 runner ,
5453 )
55- return new CustomReporter ( options )
54+ return new CustomReporter ( reporterOptions )
5655 }
5756 else if ( reporterName in ReportersMap ) {
5857 const BuiltinReporter
5958 = ReportersMap [ reporterName as BuiltinReporters ]
60- return new BuiltinReporter ( options )
59+ return new BuiltinReporter ( reporterOptions )
6160 }
6261 else {
6362 const CustomReporter = await loadCustomReporterModule (
6463 reporterName ,
6564 runner ,
6665 )
67- return new CustomReporter ( options )
66+ return new CustomReporter ( reporterOptions )
6867 }
6968 }
7069
0 commit comments