OCaml Claude SDK using Eio and Jsont
at main 34 lines 984 B view raw
1(*--------------------------------------------------------------------------- 2 Copyright (c) 2025 Anil Madhavapeddy <anil@recoil.org>. All rights reserved. 3 SPDX-License-Identifier: ISC 4 ---------------------------------------------------------------------------*) 5 6type t = 7 [ `Sonnet_4_5 8 | `Sonnet_4 9 | `Sonnet_3_5 10 | `Opus_4_5 11 | `Opus_4_1 12 | `Opus_4 13 | `Haiku_4 14 | `Custom of string ] 15 16let to_string = function 17 | `Sonnet_4_5 -> "claude-sonnet-4-5" 18 | `Sonnet_4 -> "claude-sonnet-4" 19 | `Sonnet_3_5 -> "claude-sonnet-3-5" 20 | `Opus_4_5 -> "claude-opus-4-5" 21 | `Opus_4_1 -> "claude-opus-4-1" 22 | `Opus_4 -> "claude-opus-4" 23 | `Haiku_4 -> "claude-haiku-4" 24 | `Custom s -> s 25 26let of_string = function 27 | "claude-sonnet-4-5" -> `Sonnet_4_5 28 | "claude-sonnet-4" -> `Sonnet_4 29 | "claude-sonnet-3-5" -> `Sonnet_3_5 30 | "claude-opus-4-5" -> `Opus_4_5 31 | "claude-opus-4-1" -> `Opus_4_1 32 | "claude-opus-4" -> `Opus_4 33 | "claude-haiku-4" -> `Haiku_4 34 | s -> `Custom s