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