@goondan/cli 0.0.3-alpha6 → 0.0.3-alpha8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"studio.js","sourceRoot":"","sources":["../../src/services/studio.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const STUDIO_HTML = "<!doctype html>\n<html lang=\"ko\">\n <head>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n <title>Goondan Studio</title>\n <link rel=\"stylesheet\" href=\"/studio.css\" />\n </head>\n <body>\n <div class=\"studio-shell\">\n <aside class=\"left-panel\">\n <div class=\"brand\">\n <div class=\"brand-kicker\">GOONDAN</div>\n <h1>Studio</h1>\n </div>\n <div id=\"instance-list\" class=\"instance-list\"></div>\n </aside>\n <main class=\"main-panel\">\n <header class=\"top-bar\">\n <div class=\"title-wrap\">\n <h2 id=\"instance-title\">\uC778\uC2A4\uD134\uC2A4\uB97C \uC120\uD0DD\uD558\uC138\uC694</h2>\n <p id=\"instance-subtitle\">runtime event stream</p>\n </div>\n <div class=\"mode-toggle\">\n <button id=\"mode-graph\" class=\"mode-btn is-active\" type=\"button\">Graph</button>\n <button id=\"mode-flow\" class=\"mode-btn\" type=\"button\">Flow</button>\n </div>\n </header>\n <section class=\"visual-stage\">\n <div id=\"graph-view\" class=\"view is-active\"></div>\n <div id=\"flow-view\" class=\"view\"></div>\n </section>\n <section class=\"detail-panel\">\n <h3>Edge History</h3>\n <div id=\"edge-history\" class=\"edge-history\"></div>\n </section>\n </main>\n </div>\n <script type=\"module\" src=\"/studio.js\"></script>\n </body>\n</html>\n";
2
+ export declare const STUDIO_CSS = ":root {\n --bg-0: #0b1326;\n --bg-1: #101c3f;\n --bg-2: #13295b;\n --panel: rgba(7, 14, 33, 0.78);\n --panel-strong: rgba(9, 20, 46, 0.94);\n --text: #e7edff;\n --muted: #9fb0dc;\n --line: rgba(145, 167, 226, 0.28);\n --line-active: #73f0d6;\n --node-agent: #ffce6e;\n --node-connector: #8eb8ff;\n --node-default: #b7c9ff;\n --accent: #7cf5de;\n --warn: #ff9f6e;\n --radius: 14px;\n}\n\n* {\n box-sizing: border-box;\n}\n\nhtml,\nbody {\n margin: 0;\n min-height: 100%;\n font-family: \"Space Grotesk\", \"IBM Plex Sans KR\", \"Noto Sans KR\", sans-serif;\n color: var(--text);\n background:\n radial-gradient(circle at 10% 0%, rgba(124, 245, 222, 0.16), transparent 36%),\n radial-gradient(circle at 95% 20%, rgba(142, 184, 255, 0.22), transparent 42%),\n linear-gradient(132deg, var(--bg-0), var(--bg-1) 48%, var(--bg-2));\n}\n\nbody::before {\n content: \"\";\n position: fixed;\n inset: 0;\n pointer-events: none;\n opacity: 0.18;\n background-image:\n linear-gradient(0deg, transparent 24%, rgba(255, 255, 255, 0.22) 25%, transparent 26%),\n linear-gradient(90deg, transparent 24%, rgba(255, 255, 255, 0.22) 25%, transparent 26%);\n background-size: 28px 28px;\n}\n\n.studio-shell {\n position: relative;\n z-index: 1;\n display: grid;\n grid-template-columns: minmax(220px, 320px) 1fr;\n min-height: 100vh;\n}\n\n.left-panel {\n border-right: 1px solid var(--line);\n background: linear-gradient(180deg, rgba(8, 17, 38, 0.94), rgba(8, 17, 38, 0.72));\n backdrop-filter: blur(10px);\n padding: 20px 16px;\n overflow-y: auto;\n}\n\n.brand-kicker {\n letter-spacing: 0.24em;\n font-size: 11px;\n color: var(--accent);\n}\n\n.brand h1 {\n margin: 6px 0 18px;\n font-size: 30px;\n line-height: 1;\n}\n\n.instance-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.instance-btn {\n border: 1px solid var(--line);\n background: rgba(18, 33, 68, 0.55);\n color: var(--text);\n text-align: left;\n padding: 11px 12px;\n border-radius: 10px;\n cursor: pointer;\n transition: border-color 0.25s ease, transform 0.2s ease, background 0.2s ease;\n}\n\n.instance-btn .status {\n font-size: 12px;\n color: var(--muted);\n}\n\n.instance-btn:hover {\n transform: translateX(2px);\n border-color: rgba(124, 245, 222, 0.62);\n}\n\n.instance-btn.is-active {\n border-color: var(--accent);\n background: rgba(26, 56, 110, 0.75);\n box-shadow: 0 0 0 1px rgba(124, 245, 222, 0.18) inset;\n}\n\n.main-panel {\n padding: 16px;\n display: grid;\n grid-template-rows: auto 1fr 170px;\n gap: 12px;\n min-width: 0;\n}\n\n.top-bar {\n border: 1px solid var(--line);\n border-radius: var(--radius);\n background: var(--panel);\n backdrop-filter: blur(10px);\n padding: 12px 14px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 10px;\n}\n\n.title-wrap h2 {\n margin: 0;\n font-size: 19px;\n}\n\n.title-wrap p {\n margin: 2px 0 0;\n color: var(--muted);\n font-size: 13px;\n}\n\n.mode-toggle {\n display: inline-flex;\n border: 1px solid var(--line);\n border-radius: 999px;\n overflow: hidden;\n}\n\n.mode-btn {\n border: 0;\n background: rgba(22, 41, 82, 0.62);\n color: var(--muted);\n padding: 7px 15px;\n cursor: pointer;\n font-weight: 600;\n}\n\n.mode-btn.is-active {\n background: rgba(124, 245, 222, 0.22);\n color: var(--text);\n}\n\n.visual-stage {\n border: 1px solid var(--line);\n border-radius: var(--radius);\n background: var(--panel-strong);\n overflow: hidden;\n position: relative;\n}\n\n.view {\n display: none;\n width: 100%;\n height: 100%;\n min-height: 320px;\n}\n\n.view.is-active {\n display: block;\n}\n\n.detail-panel {\n border: 1px solid var(--line);\n border-radius: var(--radius);\n background: var(--panel);\n padding: 10px 12px;\n overflow: hidden;\n}\n\n.detail-panel h3 {\n margin: 0 0 8px;\n font-size: 14px;\n color: var(--accent);\n}\n\n.edge-history {\n overflow: auto;\n max-height: 118px;\n font-size: 12px;\n line-height: 1.45;\n}\n\n.history-item {\n border-bottom: 1px dashed rgba(159, 176, 220, 0.25);\n padding: 5px 0;\n}\n\n.history-item:last-child {\n border-bottom: none;\n}\n\n.empty {\n color: var(--muted);\n padding: 12px;\n}\n\n.graph-wrap,\n.flow-wrap {\n width: 100%;\n height: 100%;\n}\n\n.graph-svg,\n.flow-svg {\n width: 100%;\n height: 100%;\n}\n\n.edge {\n stroke: var(--line);\n stroke-width: 2;\n cursor: pointer;\n transition: stroke 0.2s ease, stroke-width 0.2s ease, opacity 0.2s ease;\n opacity: 0.72;\n}\n\n.edge.is-active {\n stroke: var(--line-active);\n stroke-width: 3;\n opacity: 1;\n}\n\n.edge.is-selected {\n stroke: var(--warn);\n}\n\n.node circle {\n stroke: rgba(240, 248, 255, 0.84);\n stroke-width: 1.5;\n}\n\n.node text {\n fill: var(--text);\n font-size: 12px;\n text-anchor: middle;\n}\n\n.node.kind-agent circle {\n fill: var(--node-agent);\n}\n\n.node.kind-connector circle {\n fill: var(--node-connector);\n}\n\n.node.kind-other circle {\n fill: var(--node-default);\n}\n\n.node.is-active circle {\n filter: drop-shadow(0 0 6px rgba(124, 245, 222, 0.78));\n}\n\n.flow-wrap {\n overflow: auto;\n}\n\n.flow-label {\n fill: var(--muted);\n font-size: 11px;\n}\n\n.flow-event {\n fill: var(--text);\n font-size: 11px;\n}\n\n.flow-lane {\n stroke: rgba(142, 184, 255, 0.25);\n stroke-width: 1;\n}\n\n.flow-arc {\n stroke: rgba(115, 240, 214, 0.85);\n stroke-width: 2;\n fill: none;\n}\n\n.event-particle {\n fill: #ffffff;\n filter: drop-shadow(0 0 6px rgba(124, 245, 222, 0.9));\n}\n\n@media (max-width: 920px) {\n .studio-shell {\n grid-template-columns: 1fr;\n grid-template-rows: auto 1fr;\n }\n\n .left-panel {\n border-right: 0;\n border-bottom: 1px solid var(--line);\n max-height: 210px;\n }\n\n .main-panel {\n grid-template-rows: auto 1fr 180px;\n }\n}\n";
3
+ export declare const STUDIO_JS = "const state = {\n mode: \"graph\",\n instances: [],\n selectedInstanceKey: null,\n visualization: null,\n selectedEdgeKey: null,\n pollTimer: null,\n};\n\nconst els = {\n list: document.getElementById(\"instance-list\"),\n title: document.getElementById(\"instance-title\"),\n subtitle: document.getElementById(\"instance-subtitle\"),\n graphView: document.getElementById(\"graph-view\"),\n flowView: document.getElementById(\"flow-view\"),\n edgeHistory: document.getElementById(\"edge-history\"),\n modeGraph: document.getElementById(\"mode-graph\"),\n modeFlow: document.getElementById(\"mode-flow\"),\n};\n\nfunction createSvgEl(tag) {\n return document.createElementNS(\"http://www.w3.org/2000/svg\", tag);\n}\n\nfunction setMode(next) {\n state.mode = next;\n const isGraph = next === \"graph\";\n els.graphView.classList.toggle(\"is-active\", isGraph);\n els.flowView.classList.toggle(\"is-active\", !isGraph);\n els.modeGraph.classList.toggle(\"is-active\", isGraph);\n els.modeFlow.classList.toggle(\"is-active\", !isGraph);\n renderVisualization();\n}\n\nfunction formatTs(iso) {\n if (!iso) {\n return \"-\";\n }\n const date = new Date(iso);\n if (Number.isNaN(date.getTime())) {\n return iso;\n }\n return date.toLocaleString();\n}\n\nfunction eventKey(event) {\n return [event.at, event.source, event.target || \"\", event.subtype, event.detail].join(\"|\");\n}\n\nasync function fetchJson(url) {\n const res = await fetch(url, { cache: \"no-store\" });\n if (!res.ok) {\n throw new Error(\"request failed: \" + res.status);\n }\n return await res.json();\n}\n\nasync function refreshInstances() {\n const payload = await fetchJson(\"/api/instances\");\n state.instances = Array.isArray(payload.items) ? payload.items : [];\n if (!state.selectedInstanceKey && state.instances.length > 0) {\n state.selectedInstanceKey = state.instances[0].key;\n }\n if (\n state.selectedInstanceKey &&\n !state.instances.some((item) => item.key === state.selectedInstanceKey)\n ) {\n state.selectedInstanceKey = state.instances.length > 0 ? state.instances[0].key : null;\n }\n renderInstanceList();\n}\n\nasync function refreshVisualization() {\n if (!state.selectedInstanceKey) {\n state.visualization = null;\n renderVisualization();\n return;\n }\n\n const key = encodeURIComponent(state.selectedInstanceKey);\n const payload = await fetchJson(\"/api/instances/\" + key + \"/visualization\");\n state.visualization = payload;\n renderVisualization();\n}\n\nfunction renderInstanceList() {\n els.list.innerHTML = \"\";\n if (state.instances.length === 0) {\n const empty = document.createElement(\"div\");\n empty.className = \"empty\";\n empty.textContent = \"\uC2E4\uD589 \uC911\uC778 \uC778\uC2A4\uD134\uC2A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.\";\n els.list.appendChild(empty);\n return;\n }\n\n for (const item of state.instances) {\n const button = document.createElement(\"button\");\n button.type = \"button\";\n button.className = \"instance-btn\";\n if (item.key === state.selectedInstanceKey) {\n button.classList.add(\"is-active\");\n }\n\n const title = document.createElement(\"div\");\n title.textContent = item.key;\n const meta = document.createElement(\"div\");\n meta.className = \"status\";\n meta.textContent = (item.status || \"unknown\") + \" / \" + (item.agent || \"orchestrator\");\n\n button.appendChild(title);\n button.appendChild(meta);\n button.addEventListener(\"click\", () => {\n state.selectedInstanceKey = item.key;\n state.selectedEdgeKey = null;\n renderInstanceList();\n void refreshVisualization();\n });\n els.list.appendChild(button);\n }\n}\n\nfunction renderEdgeHistory() {\n els.edgeHistory.innerHTML = \"\";\n const viz = state.visualization;\n if (!viz || !state.selectedEdgeKey) {\n const empty = document.createElement(\"div\");\n empty.className = \"empty\";\n empty.textContent = \"\uAC04\uC120\uC744 \uC120\uD0DD\uD558\uBA74 \uC774\uBCA4\uD2B8 \uC774\uB825\uC774 \uD45C\uC2DC\uB429\uB2C8\uB2E4.\";\n els.edgeHistory.appendChild(empty);\n return;\n }\n\n const target = (viz.interactions || []).find((edge) => edge.key === state.selectedEdgeKey);\n if (!target || !Array.isArray(target.history) || target.history.length === 0) {\n const empty = document.createElement(\"div\");\n empty.className = \"empty\";\n empty.textContent = \"\uC774\uB825 \uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.\";\n els.edgeHistory.appendChild(empty);\n return;\n }\n\n for (const item of target.history) {\n const row = document.createElement(\"div\");\n row.className = \"history-item\";\n row.textContent =\n formatTs(item.at) +\n \" \" +\n item.direction +\n \" \" +\n item.kind +\n \" \" +\n (item.detail || \"\");\n els.edgeHistory.appendChild(row);\n }\n}\n\nfunction renderVisualization() {\n const viz = state.visualization;\n if (!viz) {\n els.title.textContent = \"\uC778\uC2A4\uD134\uC2A4\uB97C \uC120\uD0DD\uD558\uC138\uC694\";\n els.subtitle.textContent = \"runtime event stream\";\n els.graphView.innerHTML = \"<div class='empty'>\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.</div>\";\n els.flowView.innerHTML = \"<div class='empty'>\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.</div>\";\n renderEdgeHistory();\n return;\n }\n\n els.title.textContent = viz.instanceKey || \"instance\";\n const participantCount = Array.isArray(viz.participants) ? viz.participants.length : 0;\n const eventCount = Array.isArray(viz.timeline) ? viz.timeline.length : 0;\n els.subtitle.textContent = \"participants \" + participantCount + \" / events \" + eventCount;\n\n if (state.mode === \"graph\") {\n renderGraph(viz);\n } else {\n renderFlow(viz);\n }\n renderEdgeHistory();\n}\n\nfunction pickGraphParticipants(participants) {\n const list = participants.filter((item) => item.kind === \"agent\" || item.kind === \"connector\");\n if (list.length > 0) {\n return list;\n }\n return participants;\n}\n\nfunction renderGraph(viz) {\n const participants = Array.isArray(viz.participants) ? pickGraphParticipants(viz.participants) : [];\n const interactions = Array.isArray(viz.interactions) ? viz.interactions : [];\n const recentEvents = Array.isArray(viz.recentEvents) ? viz.recentEvents : [];\n\n if (participants.length === 0) {\n els.graphView.innerHTML = \"<div class='empty'>\uD45C\uC2DC\uD560 participant\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.</div>\";\n return;\n }\n\n const wrap = document.createElement(\"div\");\n wrap.className = \"graph-wrap\";\n const svg = createSvgEl(\"svg\");\n svg.setAttribute(\"class\", \"graph-svg\");\n svg.setAttribute(\"viewBox\", \"0 0 1000 600\");\n\n const centerX = 500;\n const centerY = 300;\n const radius = Math.max(170, Math.min(250, 70 + participants.length * 18));\n const positions = new Map();\n\n participants.forEach((node, index) => {\n const ratio = (Math.PI * 2 * index) / participants.length;\n const x = centerX + Math.cos(ratio) * radius;\n const y = centerY + Math.sin(ratio) * radius;\n positions.set(node.id, { x, y, item: node });\n });\n\n const edgeLayer = createSvgEl(\"g\");\n const nodeLayer = createSvgEl(\"g\");\n const fxLayer = createSvgEl(\"g\");\n svg.appendChild(edgeLayer);\n svg.appendChild(nodeLayer);\n svg.appendChild(fxLayer);\n\n const edgePathByKey = new Map();\n for (const edge of interactions) {\n const from = positions.get(edge.a);\n const to = positions.get(edge.b);\n if (!from || !to) {\n continue;\n }\n const line = createSvgEl(\"line\");\n line.setAttribute(\"x1\", String(from.x));\n line.setAttribute(\"y1\", String(from.y));\n line.setAttribute(\"x2\", String(to.x));\n line.setAttribute(\"y2\", String(to.y));\n line.setAttribute(\"class\", \"edge\");\n if (state.selectedEdgeKey === edge.key) {\n line.classList.add(\"is-selected\");\n }\n line.addEventListener(\"click\", () => {\n state.selectedEdgeKey = edge.key;\n renderVisualization();\n });\n edgeLayer.appendChild(line);\n edgePathByKey.set(edge.key, {\n path: \"M \" + from.x + \" \" + from.y + \" L \" + to.x + \" \" + to.y,\n line,\n from: edge.a,\n to: edge.b,\n });\n }\n\n const activeNodes = new Set();\n const activeEdges = new Set();\n for (const event of recentEvents) {\n const source = event.source;\n const target = event.target || \"\";\n activeNodes.add(source);\n if (target) {\n activeNodes.add(target);\n for (const edge of interactions) {\n if (\n (edge.a === source && edge.b === target) ||\n (edge.a === target && edge.b === source)\n ) {\n activeEdges.add(edge.key);\n }\n }\n }\n }\n\n for (const edge of interactions) {\n const edgeInfo = edgePathByKey.get(edge.key);\n if (!edgeInfo) {\n continue;\n }\n if (activeEdges.has(edge.key)) {\n edgeInfo.line.classList.add(\"is-active\");\n }\n }\n\n for (const node of participants) {\n const point = positions.get(node.id);\n if (!point) {\n continue;\n }\n const g = createSvgEl(\"g\");\n g.setAttribute(\"class\", \"node\");\n if (node.kind === \"agent\") {\n g.classList.add(\"kind-agent\");\n } else if (node.kind === \"connector\") {\n g.classList.add(\"kind-connector\");\n } else {\n g.classList.add(\"kind-other\");\n }\n if (activeNodes.has(node.id)) {\n g.classList.add(\"is-active\");\n }\n\n const circle = createSvgEl(\"circle\");\n circle.setAttribute(\"cx\", String(point.x));\n circle.setAttribute(\"cy\", String(point.y));\n circle.setAttribute(\"r\", \"28\");\n const text = createSvgEl(\"text\");\n text.setAttribute(\"x\", String(point.x));\n text.setAttribute(\"y\", String(point.y + 4));\n text.textContent = node.label.length > 16 ? node.label.slice(0, 16) + \"\u2026\" : node.label;\n\n g.appendChild(circle);\n g.appendChild(text);\n nodeLayer.appendChild(g);\n }\n\n for (const event of recentEvents) {\n if (!event.target) {\n continue;\n }\n let hit = null;\n for (const edge of interactions) {\n if (\n (edge.a === event.source && edge.b === event.target) ||\n (edge.a === event.target && edge.b === event.source)\n ) {\n hit = edgePathByKey.get(edge.key) || null;\n break;\n }\n }\n if (!hit) {\n continue;\n }\n\n const dot = createSvgEl(\"circle\");\n dot.setAttribute(\"r\", \"4\");\n dot.setAttribute(\"class\", \"event-particle\");\n const motion = createSvgEl(\"animateMotion\");\n motion.setAttribute(\"dur\", \"1.1s\");\n motion.setAttribute(\"repeatCount\", \"1\");\n motion.setAttribute(\"path\", hit.path);\n dot.appendChild(motion);\n fxLayer.appendChild(dot);\n }\n\n svg.appendChild(edgeLayer);\n svg.appendChild(nodeLayer);\n svg.appendChild(fxLayer);\n wrap.appendChild(svg);\n els.graphView.innerHTML = \"\";\n els.graphView.appendChild(wrap);\n}\n\nfunction renderFlow(viz) {\n const timeline = Array.isArray(viz.timeline) ? viz.timeline : [];\n const participants = Array.isArray(viz.participants) ? viz.participants : [];\n if (participants.length === 0) {\n els.flowView.innerHTML = \"<div class='empty'>\uD45C\uC2DC\uD560 participant\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.</div>\";\n return;\n }\n\n const laneWidth = 180;\n const topPad = 42;\n const rowGap = 62;\n const lanes = participants.slice(0, 10);\n const width = Math.max(760, laneWidth * lanes.length);\n const height = Math.max(280, topPad + timeline.length * rowGap + 40);\n const laneById = new Map(lanes.map((item, index) => [item.id, index]));\n\n const wrap = document.createElement(\"div\");\n wrap.className = \"flow-wrap\";\n const svg = createSvgEl(\"svg\");\n svg.setAttribute(\"class\", \"flow-svg\");\n svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n svg.setAttribute(\"preserveAspectRatio\", \"xMinYMin meet\");\n\n const defs = createSvgEl(\"defs\");\n const marker = createSvgEl(\"marker\");\n marker.setAttribute(\"id\", \"arrowHead\");\n marker.setAttribute(\"markerWidth\", \"8\");\n marker.setAttribute(\"markerHeight\", \"8\");\n marker.setAttribute(\"refX\", \"7\");\n marker.setAttribute(\"refY\", \"4\");\n marker.setAttribute(\"orient\", \"auto\");\n const arrowPath = createSvgEl(\"path\");\n arrowPath.setAttribute(\"d\", \"M 0 0 L 8 4 L 0 8 z\");\n arrowPath.setAttribute(\"fill\", \"#73f0d6\");\n marker.appendChild(arrowPath);\n defs.appendChild(marker);\n svg.appendChild(defs);\n\n lanes.forEach((lane, index) => {\n const x = laneWidth * index + laneWidth / 2;\n const label = createSvgEl(\"text\");\n label.setAttribute(\"x\", String(x));\n label.setAttribute(\"y\", \"22\");\n label.setAttribute(\"text-anchor\", \"middle\");\n label.setAttribute(\"class\", \"flow-label\");\n label.textContent = lane.label;\n svg.appendChild(label);\n\n const laneLine = createSvgEl(\"line\");\n laneLine.setAttribute(\"x1\", String(x));\n laneLine.setAttribute(\"y1\", \"28\");\n laneLine.setAttribute(\"x2\", String(x));\n laneLine.setAttribute(\"y2\", String(height - 12));\n laneLine.setAttribute(\"class\", \"flow-lane\");\n svg.appendChild(laneLine);\n });\n\n timeline.slice(-120).forEach((event, index) => {\n const y = topPad + index * rowGap;\n const sourceIndex = laneById.has(event.source) ? laneById.get(event.source) : 0;\n const targetIndex = laneById.has(event.target) ? laneById.get(event.target) : sourceIndex;\n const sx = laneWidth * sourceIndex + laneWidth / 2;\n const tx = laneWidth * targetIndex + laneWidth / 2;\n\n const arc = createSvgEl(\"path\");\n const midY = y - 18;\n arc.setAttribute(\"d\", \"M \" + sx + \" \" + y + \" Q \" + (sx + tx) / 2 + \" \" + midY + \" \" + tx + \" \" + y);\n arc.setAttribute(\"class\", \"flow-arc\");\n arc.setAttribute(\"marker-end\", \"url(#arrowHead)\");\n svg.appendChild(arc);\n\n const label = createSvgEl(\"text\");\n label.setAttribute(\"x\", String((sx + tx) / 2));\n label.setAttribute(\"y\", String(y - 6));\n label.setAttribute(\"text-anchor\", \"middle\");\n label.setAttribute(\"class\", \"flow-event\");\n const detail = event.detail || \"\";\n const text = formatTs(event.at) + \" \u00B7 \" + event.subtype + \" \u00B7 \" + detail;\n label.textContent = text.length > 80 ? text.slice(0, 80) + \"\u2026\" : text;\n svg.appendChild(label);\n });\n\n wrap.appendChild(svg);\n els.flowView.innerHTML = \"\";\n els.flowView.appendChild(wrap);\n}\n\nasync function tick() {\n try {\n await refreshInstances();\n await refreshVisualization();\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n els.subtitle.textContent = \"polling failed: \" + message;\n }\n}\n\nfunction startPolling() {\n if (state.pollTimer) {\n clearInterval(state.pollTimer);\n }\n state.pollTimer = setInterval(() => {\n void tick();\n }, 1000);\n}\n\nels.modeGraph.addEventListener(\"click\", () => setMode(\"graph\"));\nels.modeFlow.addEventListener(\"click\", () => setMode(\"flow\"));\n\nvoid tick();\nstartPolling();\n";