sketch/termui: handle PortMessageType messages more

- Added case for loop.PortMessageType in termui message handling switch
- Port messages now display with 🔌 emoji and clean formatting
- Follows same pattern as other message types (ErrorMessageType, BudgetMessageType, etc.)

- Added loop.PortMessageType to AddMultipleUnion call in go2ts.go
- Regenerated TypeScript types to include 'port' in CodingAgentMessageType union
- Webui components now have proper type safety for port messages

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: s7e1f4b705a66a9d5k
diff --git a/cmd/go2ts/go2ts.go b/cmd/go2ts/go2ts.go
index a888be1..18a890e 100644
--- a/cmd/go2ts/go2ts.go
+++ b/cmd/go2ts/go2ts.go
@@ -47,6 +47,7 @@
 			loop.ToolUseMessageType,
 			loop.CommitMessageType,
 			loop.AutoMessageType,
+			loop.PortMessageType,
 		},
 	)
 
diff --git a/termui/termui.go b/termui/termui.go
index c0a8bc7..0fa8d8d 100644
--- a/termui/termui.go
+++ b/termui/termui.go
@@ -233,6 +233,8 @@
 					ui.AppendSystemMessage("🔄 new commit: [%s] %s", commit.Hash[:8], commit.Subject)
 				}
 			}
+		case loop.PortMessageType:
+			ui.AppendSystemMessage("🔌 %s", resp.Content)
 		default:
 			ui.AppendSystemMessage("❌ Unexpected Message Type %s %v", resp.Type, resp)
 		}
diff --git a/webui/src/types.ts b/webui/src/types.ts
index af264be..585a591 100644
--- a/webui/src/types.ts
+++ b/webui/src/types.ts
@@ -142,6 +142,6 @@
 	subject: string;
 }
 
-export type CodingAgentMessageType = 'user' | 'agent' | 'error' | 'budget' | 'tool' | 'commit' | 'auto';
+export type CodingAgentMessageType = 'user' | 'agent' | 'error' | 'budget' | 'tool' | 'commit' | 'auto' | 'port';
 
 export type Duration = number;