loop: add diff stats from sketch-base to HEAD in /state endpoint

Add lines added/removed statistics computed from sketch-base to current HEAD,
displayed in webui Diff mode button for quick change overview.

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: s3f10ecf39df6b581k
diff --git a/loop/server/loophttp.go b/loop/server/loophttp.go
index 609b546..3b93d3e 100644
--- a/loop/server/loophttp.go
+++ b/loop/server/loophttp.go
@@ -99,6 +99,8 @@
 	SkabandAddr          string                        `json:"skaband_addr,omitempty"`          // URL of the skaband server
 	LinkToGitHub         bool                          `json:"link_to_github,omitempty"`        // Enable GitHub branch linking in UI
 	SSHConnectionString  string                        `json:"ssh_connection_string,omitempty"` // SSH connection string for container
+	DiffLinesAdded       int                           `json:"diff_lines_added"`                // Lines added from sketch-base to HEAD
+	DiffLinesRemoved     int                           `json:"diff_lines_removed"`              // Lines removed from sketch-base to HEAD
 }
 
 type InitRequest struct {
@@ -1279,6 +1281,9 @@
 	serverMessageCount := s.agent.MessageCount()
 	totalUsage := s.agent.TotalUsage()
 
+	// Get diff stats
+	diffAdded, diffRemoved := s.agent.DiffStats()
+
 	return State{
 		StateVersion: 2,
 		MessageCount: serverMessageCount,
@@ -1310,6 +1315,8 @@
 		SkabandAddr:          s.agent.SkabandAddr(),
 		LinkToGitHub:         s.agent.LinkToGitHub(),
 		SSHConnectionString:  s.agent.SSHConnectionString(),
+		DiffLinesAdded:       diffAdded,
+		DiffLinesRemoved:     diffRemoved,
 	}
 }