okami.mom/albedo
git clone https://git.nkp.pet/okami.mom/albedo
eaef427
main
1//// Replay must retain foreign fields and reject protocol or image mismatches. 2//// Direct inputs cover invalid metadata that daemon admission rejects first. 3 4import albedo/openai_api as openai 5import albedo/openai_api/request 6import albedo/openai_api/types 7import gleam/dynamic/decode 8import gleam/json 9import gleam/list 10import gleam/result 11import gleam/string 12import gleam/string_tree 13 14fn body ( protocol : types . Protocol , request : types . Request ) -> String { 15let assert Ok ( body ) = request . encode ( protocol , request ) 16string_tree . to_string ( body ) 17} 18 19pub fn replay_preserves_unknown_fields_and_refuses_other_protocol_test () -> Result ( 20string_tree . StringTree , 21types . Error , 22) { 23let assert Ok ( item ) = 24json . parse ( 25"{\"type\":\"reasoning\",\"encrypted_content\":\"opaque\",\"future\":{\"x\":1}}" , 26types . replay_decoder ( types . Responses ), 27) 28let request = openai . request ( "model" , [ types . Replay ( item )]) 29let encoded = body ( types . Responses , request ) 30assert json . parse ( 31encoded , 32decode . at ([ "input" ], decode . list ( decode . at ([ "future" , "x" ], decode . int ))), 33) 34== Ok ([ 1 ]) 35let assert Error ( types . InvalidRequest ( _ )) = 36request . encode ( types . ChatCompletions , request ) 37} 38 39pub fn validates_image_metadata_bounds_test () -> Result ( 40types . Image , 41types . Error , 42) { 43let assert Error ( types . InvalidRequest ( _ )) = 44types . image ( "image/gif" , "aGVsbG8=" , 2 , 3 , 5 ) 45let assert Error ( types . InvalidRequest ( _ )) = 46types . image ( "image/png" , "aGVsbG8=" , 10_000 , 5000 , 5 ) 47let assert Error ( types . InvalidRequest ( _ )) = 48types . image ( "image/png" , "aGVsbG8=" , 2 , 3 , types . max_image_bytes + 1 ) 49} 50 51// Persisting a valid image must not reinterpret its padded base64 length as 52// the decoded file length. Stored payloads remain lazy during validation. 53pub fn inline_and_stored_images_have_the_same_size_contract_test () -> Nil { 54list . each ( 55[ 56types . max_image_bytes - 1 , 57types . max_image_bytes , 58types . max_image_bytes + 1 , 59], 60fn ( bytes ) { 61let encoded_size = 4 * { { bytes + 2 } / 3 } 62let data = string . repeat ( "A" , encoded_size ) 63let inline = types . image ( "image/png" , data , 2 , 3 , bytes ) 64let stored = 65types . stored_image ( 66"image/png" , 67"hash" , 68encoded_size , 69fn () { panic as "metadata validation read a stored payload" }, 702 , 713 , 72bytes , 73) 74assert result . map ( inline , types . image_meta ) 75== result . map ( stored , types . image_meta ) 76assert result . is_ok ( inline ) == { bytes <= types . max_image_bytes } 77}, 78) 79}