OCaml Claude SDK using Eio and Jsont

Add Opus 4.5 and 4.1 model types, use Opus 4.5 in poe

Update ocaml-claudeio bindings with new Opus model variants from the
Python SDK: Opus_4_5 (claude-opus-4-5) and Opus_4_1 (claude-opus-4-1).
Switch poe bot to use Opus 4.5 for both message handling and changelog
generation.

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

+18
+6
lib/model.ml
··· 7 7 [ `Sonnet_4_5 8 8 | `Sonnet_4 9 9 | `Sonnet_3_5 10 + | `Opus_4_5 11 + | `Opus_4_1 10 12 | `Opus_4 11 13 | `Haiku_4 12 14 | `Custom of string ] ··· 15 17 | `Sonnet_4_5 -> "claude-sonnet-4-5" 16 18 | `Sonnet_4 -> "claude-sonnet-4" 17 19 | `Sonnet_3_5 -> "claude-sonnet-3-5" 20 + | `Opus_4_5 -> "claude-opus-4-5" 21 + | `Opus_4_1 -> "claude-opus-4-1" 18 22 | `Opus_4 -> "claude-opus-4" 19 23 | `Haiku_4 -> "claude-haiku-4" 20 24 | `Custom s -> s ··· 23 27 | "claude-sonnet-4-5" -> `Sonnet_4_5 24 28 | "claude-sonnet-4" -> `Sonnet_4 25 29 | "claude-sonnet-3-5" -> `Sonnet_3_5 30 + | "claude-opus-4-5" -> `Opus_4_5 31 + | "claude-opus-4-1" -> `Opus_4_1 26 32 | "claude-opus-4" -> `Opus_4 27 33 | "claude-haiku-4" -> `Haiku_4 28 34 | s -> `Custom s
+3
lib/model.mli
··· 13 13 [ `Sonnet_4_5 (** claude-sonnet-4-5 - Most recent Sonnet model *) 14 14 | `Sonnet_4 (** claude-sonnet-4 - Sonnet 4 model *) 15 15 | `Sonnet_3_5 (** claude-sonnet-3-5 - Sonnet 3.5 model *) 16 + | `Opus_4_5 (** claude-opus-4-5 - Most recent Opus model *) 17 + | `Opus_4_1 (** claude-opus-4-1 - Opus 4.1 model *) 16 18 | `Opus_4 (** claude-opus-4 - Opus 4 model for complex tasks *) 17 19 | `Haiku_4 (** claude-haiku-4 - Fast, cost-effective Haiku model *) 18 20 | `Custom of string (** Custom model string for future/unknown models *) ] ··· 23 25 24 26 Examples: 25 27 - [`Sonnet_4_5] becomes "claude-sonnet-4-5" 28 + - [`Opus_4_5] becomes "claude-opus-4-5" 26 29 - [`Opus_4] becomes "claude-opus-4" 27 30 - [`Custom "my-model"] becomes "my-model" *) 28 31
+6
proto/model.ml
··· 7 7 [ `Sonnet_4_5 8 8 | `Sonnet_4 9 9 | `Sonnet_3_5 10 + | `Opus_4_5 11 + | `Opus_4_1 10 12 | `Opus_4 11 13 | `Haiku_4 12 14 | `Custom of string ] ··· 15 17 | `Sonnet_4_5 -> "claude-sonnet-4-5" 16 18 | `Sonnet_4 -> "claude-sonnet-4" 17 19 | `Sonnet_3_5 -> "claude-sonnet-3-5" 20 + | `Opus_4_5 -> "claude-opus-4-5" 21 + | `Opus_4_1 -> "claude-opus-4-1" 18 22 | `Opus_4 -> "claude-opus-4" 19 23 | `Haiku_4 -> "claude-haiku-4" 20 24 | `Custom s -> s ··· 23 27 | "claude-sonnet-4-5" -> `Sonnet_4_5 24 28 | "claude-sonnet-4" -> `Sonnet_4 25 29 | "claude-sonnet-3-5" -> `Sonnet_3_5 30 + | "claude-opus-4-5" -> `Opus_4_5 31 + | "claude-opus-4-1" -> `Opus_4_1 26 32 | "claude-opus-4" -> `Opus_4 27 33 | "claude-haiku-4" -> `Haiku_4 28 34 | s -> `Custom s
+3
proto/model.mli
··· 13 13 [ `Sonnet_4_5 (** claude-sonnet-4-5 - Most recent Sonnet model *) 14 14 | `Sonnet_4 (** claude-sonnet-4 - Sonnet 4 model *) 15 15 | `Sonnet_3_5 (** claude-sonnet-3-5 - Sonnet 3.5 model *) 16 + | `Opus_4_5 (** claude-opus-4-5 - Most recent Opus model *) 17 + | `Opus_4_1 (** claude-opus-4-1 - Opus 4.1 model *) 16 18 | `Opus_4 (** claude-opus-4 - Opus 4 model for complex tasks *) 17 19 | `Haiku_4 (** claude-haiku-4 - Fast, cost-effective Haiku model *) 18 20 | `Custom of string (** Custom model string for future/unknown models *) ] ··· 23 25 24 26 Examples: 25 27 - [`Sonnet_4_5] becomes "claude-sonnet-4-5" 28 + - [`Opus_4_5] becomes "claude-opus-4-5" 26 29 - [`Opus_4] becomes "claude-opus-4" 27 30 - [`Custom "my-model"] becomes "my-model" *) 28 31