@@ -11,7 +11,10 @@ import {
1111 createChannelReplyPipeline ,
1212 resolveChannelSourceReplyDeliveryMode ,
1313} from "openclaw/plugin-sdk/channel-reply-pipeline" ;
14- import { resolveChannelStreamingBlockEnabled } from "openclaw/plugin-sdk/channel-streaming" ;
14+ import {
15+ formatChannelProgressDraftLine ,
16+ resolveChannelStreamingBlockEnabled ,
17+ } from "openclaw/plugin-sdk/channel-streaming" ;
1518import { recordInboundSession } from "openclaw/plugin-sdk/conversation-runtime" ;
1619import {
1720 hasFinalInboundReplyDispatch ,
@@ -665,47 +668,89 @@ export async function processDiscordMessage(
665668 await maybeBindStatusReactionsToToolReaction ( payload ) ;
666669 await statusReactions . setTool ( payload . name ) ;
667670 await draftPreview . pushToolProgress (
668- payload . name ? `tool: ${ payload . name } ` : "tool running" ,
671+ formatChannelProgressDraftLine ( {
672+ event : "tool" ,
673+ name : payload . name ,
674+ phase : payload . phase ,
675+ args : payload . args ,
676+ } ) ,
669677 { toolName : payload . name } ,
670678 ) ;
671679 } ,
672680 onItemEvent : async ( payload ) => {
673681 await draftPreview . pushToolProgress (
674- payload . progressText ?? payload . summary ?? payload . title ?? payload . name ,
682+ formatChannelProgressDraftLine ( {
683+ event : "item" ,
684+ itemKind : payload . kind ,
685+ title : payload . title ,
686+ name : payload . name ,
687+ phase : payload . phase ,
688+ status : payload . status ,
689+ summary : payload . summary ,
690+ progressText : payload . progressText ,
691+ meta : payload . meta ,
692+ } ) ,
675693 ) ;
676694 } ,
677695 onPlanUpdate : async ( payload ) => {
678696 if ( payload . phase !== "update" ) {
679697 return ;
680698 }
681699 await draftPreview . pushToolProgress (
682- payload . explanation ?? payload . steps ?. [ 0 ] ?? "planning" ,
700+ formatChannelProgressDraftLine ( {
701+ event : "plan" ,
702+ phase : payload . phase ,
703+ title : payload . title ,
704+ explanation : payload . explanation ,
705+ steps : payload . steps ,
706+ } ) ,
683707 ) ;
684708 } ,
685709 onApprovalEvent : async ( payload ) => {
686710 if ( payload . phase !== "requested" ) {
687711 return ;
688712 }
689713 await draftPreview . pushToolProgress (
690- payload . command ? `approval: ${ payload . command } ` : "approval requested" ,
714+ formatChannelProgressDraftLine ( {
715+ event : "approval" ,
716+ phase : payload . phase ,
717+ title : payload . title ,
718+ command : payload . command ,
719+ reason : payload . reason ,
720+ message : payload . message ,
721+ } ) ,
691722 ) ;
692723 } ,
693724 onCommandOutput : async ( payload ) => {
694725 if ( payload . phase !== "end" ) {
695726 return ;
696727 }
697728 await draftPreview . pushToolProgress (
698- payload . name
699- ? `${ payload . name } ${ payload . exitCode === 0 ? " ✓" : payload . exitCode != null ? ` (exit ${ payload . exitCode } )` : "" } `
700- : payload . title ,
729+ formatChannelProgressDraftLine ( {
730+ event : "command-output" ,
731+ phase : payload . phase ,
732+ title : payload . title ,
733+ name : payload . name ,
734+ status : payload . status ,
735+ exitCode : payload . exitCode ,
736+ } ) ,
701737 ) ;
702738 } ,
703739 onPatchSummary : async ( payload ) => {
704740 if ( payload . phase !== "end" ) {
705741 return ;
706742 }
707743 await draftPreview . pushToolProgress (
708- payload . summary ?? payload . title ?? "patch applied" ,
744+ formatChannelProgressDraftLine ( {
745+ event : "patch" ,
746+ phase : payload . phase ,
747+ title : payload . title ,
748+ name : payload . name ,
749+ added : payload . added ,
750+ modified : payload . modified ,
751+ deleted : payload . deleted ,
752+ summary : payload . summary ,
753+ } ) ,
709754 ) ;
710755 } ,
711756 onCompactionStart : async ( ) => {
0 commit comments