+98
-164
claudeio/lib/client.ml
+98
-164
claudeio/lib/client.ml
·········-(* Convert permission result to CLI format: {"behavior": "allow", "updatedInput": ...} or {"behavior": "deny", "message": ...} *)·········-"hookCallbackIds", Jsont.Array (List.map (fun id -> json_string id) callback_ids, Jsont.Meta.none);···
······+Log.info (fun m -> m "Handling control request: %s" (Incoming.Control_request.subtype ctrl_req));···············
+19
-38
claudeio/lib/content_block.ml
+19
-38
claudeio/lib/content_block.ml
···
···
+25
-166
claudeio/lib/hooks.ml
+25
-166
claudeio/lib/hooks.ml
·································
·································
+151
-18
claudeio/lib/incoming.ml
+151
-18
claudeio/lib/incoming.ml
·········| Control_response resp -> Format.fprintf fmt "@[<2>ControlResponse@ %a@]" Sdk_control.pp (Sdk_control.Response resp)
···+Jsont.Object.map ~kind:"ControlRequestEnvelope" (fun request_id request_json -> (request_id, request_json))······| Control_response resp -> Format.fprintf fmt "@[<2>ControlResponse@ %a@]" Sdk_control.pp (Sdk_control.Response resp)+| Control_request req -> Format.fprintf fmt "@[<2>ControlRequest@ { request_id=%S; subtype=%S }@]"
+39
-1
claudeio/lib/incoming.mli
+39
-1
claudeio/lib/incoming.mli
···
···
+261
-233
claudeio/lib/message.ml
+261
-233
claudeio/lib/message.ml
············-| Some n -> (Jsont.Json.name "input_tokens", Jsont.Number (float_of_int n, Jsont.Meta.none)) :: fields-| Some n -> (Jsont.Json.name "output_tokens", Jsont.Number (float_of_int n, Jsont.Meta.none)) :: fields-| Some n -> (Jsont.Json.name "total_tokens", Jsont.Number (float_of_int n, Jsont.Meta.none)) :: fields-| Some n -> (Jsont.Json.name "cache_creation_input_tokens", Jsont.Number (float_of_int n, Jsont.Meta.none)) :: fields-| Some n -> (Jsont.Json.name "cache_read_input_tokens", Jsont.Number (float_of_int n, Jsont.Meta.none)) :: fields·········-let data = System.Data.of_assoc [(("session_id", Jsont.String (session_id, Jsont.Meta.none)))] in······
············+|> Jsont.Object.opt_mem "cache_creation_input_tokens" Jsont.int ~enc:cache_creation_input_tokens···············
+73
-29
claudeio/lib/message.mli
+73
-29
claudeio/lib/message.mli
············(** [effective_input_tokens t] returns input tokens minus cached tokens, or 0 if not available. *)
············(** [effective_input_tokens t] returns input tokens minus cached tokens, or 0 if not available. *)
+11
-10
claudeio/lib/options.ml
+11
-10
claudeio/lib/options.ml
···
···
+18
-30
claudeio/test/test_json_utils.ml
+18
-30
claudeio/test/test_json_utils.ml
······
······