in agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/TestFeature.kt [39:112]
override fun install(
config: TestConfig,
pipeline: AIAgentGraphPipeline,
): TestFeature {
val testFeature = TestFeature(
events = config.events
)
installCommon(pipeline, config)
pipeline.interceptNodeExecutionStarting(this) { event ->
config.addEvent(
event,
mapOf(
"name" to event.node.name,
"input" to event.input
)
)
}
pipeline.interceptNodeExecutionCompleted(this) { event ->
config.addEvent(
event,
mapOf(
"name" to event.node.name,
"input" to event.input,
"output" to event.output
)
)
}
pipeline.interceptNodeExecutionFailed(this) { event ->
config.addEvent(
event,
mapOf(
"name" to event.node.name,
"error" to event.throwable.message
)
)
}
pipeline.interceptSubgraphExecutionStarting(this) { event ->
config.addEvent(
event,
mapOf(
"name" to event.subgraph.name,
"input" to event.input
)
)
}
pipeline.interceptSubgraphExecutionCompleted(this) { event ->
config.addEvent(
event,
mapOf(
"name" to event.subgraph.name,
"input" to event.input,
"output" to event.output
)
)
}
pipeline.interceptSubgraphExecutionFailed(this) { event ->
config.addEvent(
event,
mapOf(
"name" to event.subgraph.name,
"error" to event.throwable.message
)
)
}
return testFeature
}