11using System . CommandLine ;
22using System . Text ;
3+ using System . Text . Encodings . Web ;
34using System . Text . Json ;
5+ using System . Text . Unicode ;
46using AIShell . Abstraction ;
57
68namespace Microsoft . Azure . Agent ;
@@ -120,7 +122,7 @@ private void ReplaceAction()
120122
121123 _values . Add ( item . Name , value ) ;
122124 _agent . SaveUserValue ( item . Name , value ) ;
123- DetailedMessage . Add ( item . Name . Trim ( new Char [ ] { '<' , '>' } ) , true ) ;
125+ DetailedMessage . Add ( item . Name , true ) ;
124126
125127 if ( nameArgInfo is not null && nameArgInfo . NamingRule . TryMatchName ( value , out string prodName , out string envName ) )
126128 {
@@ -130,13 +132,19 @@ private void ReplaceAction()
130132 }
131133 else
132134 {
133- DetailedMessage . Add ( item . Name . Trim ( new Char [ ] { '<' , '>' } ) , false ) ;
135+ DetailedMessage . Add ( item . Name , false ) ;
134136 }
135137
136138 // Write an extra new line.
137139 host . WriteLine ( ) ;
138140 }
139141
142+ // Customize the Json Serializer Options to avoid unnecessary encoding.
143+ var options = new JsonSerializerOptions
144+ {
145+ Encoder = JavaScriptEncoder . UnsafeRelaxedJsonEscaping
146+ } ;
147+
140148 // Send Telemetry for Replace Action.
141149 if ( ! MetricHelper . TelemetryOptOut )
142150 {
@@ -148,7 +156,7 @@ private void ReplaceAction()
148156 ActivityId = _agent . _copilotResponse . ReplyToId ,
149157 EventType = "UserAction" ,
150158 TopicName = _agent . _copilotResponse . TopicName ,
151- DetailedMessage = JsonSerializer . Serialize ( DetailedMessage )
159+ DetailedMessage = JsonSerializer . Serialize ( DetailedMessage , options )
152160 } ) ;
153161 }
154162 }
0 commit comments