@@ -134,7 +134,7 @@ protected Single<RequestProcessingResult> preprocess(
134134 */
135135 protected Single <ResponseProcessingResult > postprocess (
136136 InvocationContext context ,
137- Event baseEventForLlmResponse ,
137+ Event . Builder baseEventForLlmResponse ,
138138 LlmRequest llmRequest ,
139139 LlmResponse llmResponse ) {
140140
@@ -200,7 +200,7 @@ protected Single<ResponseProcessingResult> postprocess(
200200 * callbacks. Callbacks should not rely on its ID if they create their own separate events.
201201 */
202202 private Flowable <LlmResponse > callLlm (
203- InvocationContext context , LlmRequest llmRequest , Event eventForCallbackUsage ) {
203+ InvocationContext context , LlmRequest llmRequest , Event . Builder eventForCallbackUsage ) {
204204 LlmAgent agent = (LlmAgent ) context .agent ();
205205
206206 return handleBeforeModelCallback (context , llmRequest , eventForCallbackUsage )
@@ -226,7 +226,10 @@ private Flowable<LlmResponse> callLlm(
226226 llmResp -> {
227227 try (Scope innerScope = llmCallSpan .makeCurrent ()) {
228228 Telemetry .traceCallLlm (
229- context , eventForCallbackUsage .id (), llmRequest , llmResp );
229+ context ,
230+ eventForCallbackUsage .build ().id (),
231+ llmRequest ,
232+ llmResp );
230233 }
231234 })
232235 .doOnError (
@@ -251,15 +254,15 @@ private Flowable<LlmResponse> callLlm(
251254 * @return A {@link Single} with the callback result or {@link Optional#empty()}.
252255 */
253256 private Single <Optional <LlmResponse >> handleBeforeModelCallback (
254- InvocationContext context , LlmRequest llmRequest , Event modelResponseEvent ) {
257+ InvocationContext context , LlmRequest llmRequest , Event . Builder modelResponseEvent ) {
255258 LlmAgent agent = (LlmAgent ) context .agent ();
256259
257260 Optional <List <BeforeModelCallback >> callbacksOpt = agent .beforeModelCallback ();
258261 if (callbacksOpt .isEmpty () || callbacksOpt .get ().isEmpty ()) {
259262 return Single .just (Optional .empty ());
260263 }
261264
262- Event callbackEvent = modelResponseEvent .toBuilder (). build ();
265+ Event callbackEvent = modelResponseEvent .build ();
263266 List <BeforeModelCallback > callbacks = callbacksOpt .get ();
264267
265268 return Flowable .fromIterable (callbacks )
@@ -284,15 +287,15 @@ private Single<Optional<LlmResponse>> handleBeforeModelCallback(
284287 * @return A {@link Single} with the final {@link LlmResponse}.
285288 */
286289 private Single <LlmResponse > handleAfterModelCallback (
287- InvocationContext context , LlmResponse llmResponse , Event modelResponseEvent ) {
290+ InvocationContext context , LlmResponse llmResponse , Event . Builder modelResponseEvent ) {
288291 LlmAgent agent = (LlmAgent ) context .agent ();
289292 Optional <List <AfterModelCallback >> callbacksOpt = agent .afterModelCallback ();
290293
291294 if (callbacksOpt .isEmpty () || callbacksOpt .get ().isEmpty ()) {
292295 return Single .just (llmResponse );
293296 }
294297
295- Event callbackEvent = modelResponseEvent .toBuilder (). content (llmResponse .content ()).build ();
298+ Event callbackEvent = modelResponseEvent .content (llmResponse .content ()).build ();
296299 List <AfterModelCallback > callbacks = callbacksOpt .get ();
297300
298301 return Flowable .fromIterable (callbacks )
@@ -341,13 +344,12 @@ private Flowable<Event> runOneStep(InvocationContext context) {
341344 return Flowable .fromIterable (preEvents ).concatWith (Flowable .error (e ));
342345 }
343346
344- final Event mutableEventTemplate =
347+ final Event . Builder mutableEventTemplate =
345348 Event .builder ()
346349 .id (Event .generateEventId ())
347350 .invocationId (context .invocationId ())
348351 .author (context .agent ().name ())
349- .branch (context .branch ())
350- .build ();
352+ .branch (context .branch ());
351353
352354 Flowable <Event > restOfFlow =
353355 callLlm (context , llmRequestAfterPreprocess , mutableEventTemplate )
@@ -363,13 +365,14 @@ private Flowable<Event> runOneStep(InvocationContext context) {
363365 return postResultSingle
364366 .doOnSuccess (
365367 ignored -> {
366- String oldId = mutableEventTemplate .id ();
367- mutableEventTemplate .setId (Event .generateEventId ());
368+ String oldId = mutableEventTemplate .build ().id ();
369+ String newId = Event .generateEventId ();
370+ mutableEventTemplate .id (newId );
368371 logger .debug (
369372 "Updated mutableEventTemplate ID from {} to {} for next"
370373 + " LlmResponse" ,
371374 oldId ,
372- mutableEventTemplate . id () );
375+ newId );
373376 })
374377 .toFlowable ();
375378 })
@@ -534,8 +537,8 @@ public void onError(Throwable e) {
534537 .receive ()
535538 .flatMapSingle (
536539 llmResponse -> {
537- Event baseEventForThisLlmResponse =
538- liveEventBuilderTemplate .id (Event .generateEventId ()). build () ;
540+ Event . Builder baseEventForThisLlmResponse =
541+ liveEventBuilderTemplate .id (Event .generateEventId ());
539542 return postprocess (
540543 invocationContext ,
541544 baseEventForThisLlmResponse ,
@@ -596,9 +599,9 @@ public void onError(Throwable e) {
596599 * @return A fully constructed {@link Event} representing the LLM response.
597600 */
598601 private Event buildModelResponseEvent (
599- Event baseEventForLlmResponse , LlmRequest llmRequest , LlmResponse llmResponse ) {
602+ Event . Builder baseEventForLlmResponse , LlmRequest llmRequest , LlmResponse llmResponse ) {
600603 Event .Builder eventBuilder =
601- baseEventForLlmResponse . toBuilder ()
604+ baseEventForLlmResponse
602605 .content (llmResponse .content ())
603606 .partial (llmResponse .partial ())
604607 .errorCode (llmResponse .errorCode ())
0 commit comments