// SPDX-Licence-Identifier: EUPL-1.2 package session import ( "fmt" "html" "os" "strings" "time" coreerr "dappco.re/go/core/log" ) // RenderHTML generates a self-contained HTML timeline from a session. func RenderHTML(sess *Session, outputPath string) error { f, err := os.Create(outputPath) if err != nil { return coreerr.E("RenderHTML", "create html", err) } defer f.Close() duration := sess.EndTime.Sub(sess.StartTime) toolCount := 0 errorCount := 0 for e := range sess.EventsSeq() { if e.Type == "tool_use" { toolCount++ if !e.Success { errorCount++ } } } fmt.Fprintf(f, `
%s
%s