11import { ProcessAIHandler } from "channel.base" ;
2- import { MessageRole , ToolApproval } from "scorpio.ai" ;
2+ import { MessageRole , ToolApproval , type TokenUsage , type ChatMessage } from "scorpio.ai" ;
33import { channelDataService } from "../Session/ChannelDataService" ;
44import { config , AgentMode } from "../Core/Config" ;
55import { buildExecuteTool } from "./buildExecuteTool" ;
@@ -43,7 +43,7 @@ export function createProcessAIHandler(): ProcessAIHandler {
4343 sessionHandler . askTimeoutMs = askTimeout > 0 ? askTimeout * 1000 : 0 ;
4444 if ( askTimeoutMessage ) sessionHandler . askTimeoutMessage = askTimeoutMessage ;
4545
46- const silent : boolean = args ?. silent ?? false ;
46+ const headless : boolean = args ?. headless ?? false ;
4747 const extraAgentTools = args ?. agentTools ;
4848 let baseTools = sessionHandler . buildAgentTools ( args ) ;
4949 const whitelist : string [ ] | undefined = args ?. toolWhitelist ?? channel . tools ;
@@ -53,7 +53,7 @@ export function createProcessAIHandler(): ProcessAIHandler {
5353 }
5454 const agentTools = extraAgentTools ?. length ? [ ...baseTools , ...extraAgentTools ] : baseTools ;
5555
56- const executeTool = silent
56+ const executeTool = headless
5757 ? async ( ) => ToolApproval . Allow
5858 : buildExecuteTool ( sessionHandler . session , agentId , autoApproveAllTools , ( tc ) => sessionHandler . executeApproval ( tc ) ) ;
5959
@@ -75,24 +75,23 @@ export function createProcessAIHandler(): ProcessAIHandler {
7575 }
7676
7777 const profileId = profile . id ;
78- const onUsage = async ( usage : any ) => {
79- if ( ! silent ) sessionHandler . session . recordUsage ( usage ) ;
78+ const onUsage = async ( usage : TokenUsage ) => {
8079 await updateUsageStats ( usage , dbSessionId , profileId , usageContext ) ;
8180 } ;
8281
83- const onMessage = silent
84- ? async ( msg : any ) => { args ?. onMessage ?.( msg ) ; }
82+ const onMessage = headless
83+ ? async ( msg : ChatMessage ) => { args ?. onMessage ?.( msg ) ; }
8584 : streamVerbose
86- ? ( msg : any ) => sessionHandler . onChatMessage ( msg , args )
87- : ( msg : any ) => {
85+ ? ( msg : ChatMessage ) => sessionHandler . onChatMessage ( msg , args )
86+ : ( msg : ChatMessage ) => {
8887 if ( msg . role === MessageRole . AI && ! msg . tool_calls ?. length ) {
8988 return sessionHandler . onChatMessage ( msg , args ) ;
9089 }
9190 return Promise . resolve ( ) ;
9291 } ;
9392
9493 const onStreamMessage = streamVerbose
95- ? ( msg : any ) => sessionHandler . onStreamMessage ( msg , args )
94+ ? ( msg : ChatMessage ) => sessionHandler . onStreamMessage ( msg , args )
9695 : undefined ;
9796
9897 const callbacks = { onMessage, onStreamMessage, executeTool, onUsage } ;
0 commit comments