MCPcopy Index your code
hub / github.com/docker/docker-agent / recordHarnessAssistantMessage

Method recordHarnessAssistantMessage

pkg/runtime/harness.go:345–375  ·  view source on GitHub ↗
(sess *session.Session, a *agent.Agent, content, modelID string, usage *chat.Usage, cost float64, events EventSink)

Source from the content-addressed store, hash-verified

343}
344
345func (r *LocalRuntime) recordHarnessAssistantMessage(sess *session.Session, a *agent.Agent, content, modelID string, usage *chat.Usage, cost float64, events EventSink) {
346 if strings.TrimSpace(content) == "" && usage == nil {
347 return
348 }
349
350 msg := chat.Message{
351 Role: chat.MessageRoleAssistant,
352 Content: content,
353 CreatedAt: r.now().Format(time.RFC3339),
354 Usage: usage,
355 Model: modelID,
356 Cost: cost,
357 FinishReason: chat.FinishReasonStop,
358 }
359 addAgentMessage(sess, a, &msg, events)
360
361 if usage == nil {
362 return
363 }
364 input := usage.InputTokens + usage.CachedInputTokens + usage.CacheWriteTokens
365 sess.SetUsage(input, usage.OutputTokens)
366 msgUsage := &MessageUsage{
367 Usage: *usage,
368 Cost: cost,
369 Model: modelID,
370 FinishReason: chat.FinishReasonStop,
371 }
372 usageEvent := SessionUsage(sess, 0)
373 usageEvent.LastMessage = msgUsage
374 events.Emit(NewTokenUsageEvent(sess.ID, a.Name(), usageEvent))
375}
376
377func harnessPromptFromMessages(messages []chat.Message) string {
378 var b strings.Builder

Callers 1

runHarnessAgentMethod · 0.95

Calls 7

addAgentMessageFunction · 0.85
SessionUsageFunction · 0.85
NewTokenUsageEventFunction · 0.85
nowMethod · 0.80
SetUsageMethod · 0.80
EmitMethod · 0.65
NameMethod · 0.65

Tested by

no test coverage detected