this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: add WidgetUpdate/WidgetEvent/WidgetClear to message protocol

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

+21
+21
idl/message.ml
··· 67 67 | Errors of { cell_id : int; env_id : string; source : string; filename : string option } 68 68 | CreateEnv of { env_id : string } 69 69 | DestroyEnv of { env_id : string } 70 + | WidgetEvent of { widget_id : string; handler_id : string; event_type : string; value : string option } 70 71 71 72 (** {1 Worker -> Client messages} *) 72 73 ··· 92 93 | EvalError of { cell_id : int; message : string } 93 94 | EnvCreated of { env_id : string } 94 95 | EnvDestroyed of { env_id : string } 96 + | WidgetUpdate of { widget_id : string; view : Widget_view.node } 97 + | WidgetClear of { widget_id : string } 95 98 96 99 (** {1 JSON helpers} *) 97 100 ··· 296 299 ("type", json_string "env_destroyed"); 297 300 ("env_id", json_string env_id); 298 301 ] 302 + | WidgetUpdate { widget_id; view } -> 303 + json_of_obj [ 304 + ("type", json_string "widget_update"); 305 + ("widget_id", json_string widget_id); 306 + ("view", Js.Unsafe.inject (json_of_view_node view)); 307 + ] 308 + | WidgetClear { widget_id } -> 309 + json_of_obj [ 310 + ("type", json_string "widget_clear"); 311 + ("widget_id", json_string widget_id); 312 + ] 299 313 in 300 314 Js.to_string (plain_stringify obj) 301 315 ··· 347 361 CreateEnv { env_id = get_string obj "env_id" } 348 362 | "destroy_env" -> 349 363 DestroyEnv { env_id = get_string obj "env_id" } 364 + | "widget_event" -> 365 + WidgetEvent { 366 + widget_id = get_string obj "widget_id"; 367 + handler_id = get_string obj "handler_id"; 368 + event_type = get_string obj "event_type"; 369 + value = get_string_opt obj "value"; 370 + } 350 371 | _ -> 351 372 failwith ("Unknown message type: " ^ typ) 352 373