My agentic slop goes here. Not intended for anyone else!
1open Zulip 2 3let () = Eio_main.run @@ fun env -> 4 Eio.Switch.run @@ fun sw -> 5 6 Printf.printf "OCaml Zulip Library Example\n"; 7 Printf.printf "===========================\n\n"; 8 9 (* Create authentication *) 10 let auth = Auth.create 11 ~server_url:"https://example.zulipchat.com" 12 ~email:"bot@example.com" 13 ~api_key:"your-api-key" in 14 15 Printf.printf "Created auth for: %s\n" (Auth.email auth); 16 Printf.printf "Server URL: %s\n" (Auth.server_url auth); 17 18 (* Create a message *) 19 let message = Message.create 20 ~type_:`Channel 21 ~to_:["general"] 22 ~content:"Hello from OCaml Zulip library!" 23 ~topic:"Test" 24 () in 25 26 Printf.printf "\nCreated message:\n"; 27 Printf.printf "- Type: %s\n" (Message_type.to_string (Message.type_ message)); 28 Printf.printf "- To: %s\n" (String.concat ", " (Message.to_ message)); 29 Printf.printf "- Content: %s\n" (Message.content message); 30 Printf.printf "- Topic: %s\n" 31 (match Message.topic message with Some t -> t | None -> "None"); 32 33 (* Test JSON serialization *) 34 let json = Message.to_json message in 35 Printf.printf "\nMessage JSON: %s\n" 36 (match json with 37 | `O _ -> "JSON object (serialized correctly)" 38 | _ -> "Invalid JSON"); 39 40 (* Create client *) 41 let client = Client.create ~sw env auth in 42 Printf.printf "\nCreated client\n"; 43 44 (* Test basic client request *) 45 (match Client.request client ~method_:`GET ~path:"/test" () with 46 | Ok _ -> Printf.printf "Mock request succeeded\n" 47 | Error err -> Printf.printf "Mock request failed: %s\n" (Zulip.error_message err)); 48 49 Printf.printf "\nLibrary is working correctly!\n"