Milestone 3. Server part proxies /prodcom/* (SSE passthrough included) to the admin-configured ProdCom URL, adding the Bearer key server-side so it never reaches browsers; reports proxy health for the admin page. Client ports the prodcom-listener UI into the module contract: history load, live SSE with in-place updates of in-progress speech, channel colors, channel visibility toggles + group presets (persisted per tile), hard channel filter / text size / timestamps as instance settings, auto-scroll with a jump-to-latest pill. tools/prodcom-mock.js simulates ProdCom (word-by-word in-progress speech) for testing; verified against it, including kill-and-restart recovery. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RNYUv9EyrGSFmCnmH7WYKH
41 lines
932 B
JSON
41 lines
932 B
JSON
{
|
|
"id": "prodcom-transcript",
|
|
"name": "ProdCom Transcript",
|
|
"version": "1.0.0",
|
|
"description": "Live ProdCom transcript stream",
|
|
"client": "client.js",
|
|
"server": "server.js",
|
|
"style": "style.css",
|
|
"minSize": { "w": 3, "h": 2 },
|
|
"defaultSize": { "w": 4, "h": 4 },
|
|
"configSchema": {
|
|
"prodcomUrl": {
|
|
"type": "string",
|
|
"label": "ProdCom URL",
|
|
"default": "http://10.3.11.152:24480"
|
|
},
|
|
"apiKey": {
|
|
"type": "password",
|
|
"label": "API key (only if PSK auth is enabled in ProdCom)",
|
|
"default": ""
|
|
}
|
|
},
|
|
"instanceSchema": {
|
|
"channel": {
|
|
"type": "string",
|
|
"label": "Channel filter (channel name; empty = all)",
|
|
"default": ""
|
|
},
|
|
"textSize": {
|
|
"type": "number",
|
|
"label": "Text size (px)",
|
|
"default": 15
|
|
},
|
|
"showTimes": {
|
|
"type": "boolean",
|
|
"label": "Show timestamps",
|
|
"default": false
|
|
}
|
|
}
|
|
}
|