sketch: add support for 'external' message types

- adds a new CodingAgentMessageType for loop.AgentMessage
- adds an new /external handler to loophttp.go
- modifies Agent to pass the .TextContent of ExternalMessage into the convo
  as though it came from the user.
- adds sketch-external-message web component, with a template for
  github workflow run events specifically.
- adds demos for sketch-external-message
diff --git a/webui/package.json b/webui/package.json
index c2f15aa..90fb3fd 100644
--- a/webui/package.json
+++ b/webui/package.json
@@ -26,6 +26,7 @@
     "test:playwright": "playwright test -c playwright-ct.config.ts"
   },
   "dependencies": {
+    "@octokit/webhooks-types": "^7.6.1",
     "@tailwindcss/cli": "^4.1.10",
     "@tailwindcss/container-queries": "^0.1.1",
     "@tailwindcss/vite": "^4.1.11",