[package]
edition = "2024"
name = "gproxy-protocol"
version = "4.0.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "GPROXY v4 connection modelling, operation declarations, vendor wire types and pairwise conversion"
readme = "README.md"
license = "MIT"
repository = "https://github.com/LeenHawk/gproxy"
[features]
default = []
exhaustive = []
[lib]
name = "gproxy_protocol"
path = "src/lib.rs"
[[test]]
name = "adapt_compact"
path = "tests/adapt_compact.rs"
[[test]]
name = "adapt_embeddings"
path = "tests/adapt_embeddings.rs"
[[test]]
name = "adapt_file_upload"
path = "tests/adapt_file_upload.rs"
[[test]]
name = "adapt_files"
path = "tests/adapt_files.rs"
[[test]]
name = "adapt_generate"
path = "tests/adapt_generate.rs"
[[test]]
name = "adapt_generate_fanout"
path = "tests/adapt_generate_fanout.rs"
[[test]]
name = "adapt_generate_image_resources"
path = "tests/adapt_generate_image_resources.rs"
[[test]]
name = "adapt_generate_stream"
path = "tests/adapt_generate_stream.rs"
[[test]]
name = "adapt_generate_stream_reader"
path = "tests/adapt_generate_stream_reader.rs"
[[test]]
name = "adapt_guardian"
path = "tests/adapt_guardian.rs"
[[test]]
name = "adapt_images"
path = "tests/adapt_images.rs"
[[test]]
name = "adapt_json"
path = "tests/adapt_json.rs"
[[test]]
name = "adapt_memory"
path = "tests/adapt_memory.rs"
[[test]]
name = "adapt_models"
path = "tests/adapt_models.rs"
[[test]]
name = "adapt_responses_ws"
path = "tests/adapt_responses_ws.rs"
[[test]]
name = "adapt_video"
path = "tests/adapt_video.rs"
[[test]]
name = "adapt_video_reverse"
path = "tests/adapt_video_reverse.rs"
[[test]]
name = "audio_images"
path = "tests/audio_images.rs"
[[test]]
name = "capability_enforcement"
path = "tests/capability_enforcement.rs"
[[test]]
name = "capability_resource"
path = "tests/capability_resource.rs"
[[test]]
name = "capability_state"
path = "tests/capability_state.rs"
[[test]]
name = "capability_upstream"
path = "tests/capability_upstream.rs"
[[test]]
name = "capability_workflows"
path = "tests/capability_workflows.rs"
[[test]]
name = "chat_reasoning_extensions"
path = "tests/chat_reasoning_extensions.rs"
[[test]]
name = "claude_count_tokens"
path = "tests/claude_count_tokens.rs"
[[test]]
name = "claude_generate_content"
path = "tests/claude_generate_content.rs"
[[test]]
name = "claude_stream"
path = "tests/claude_stream.rs"
[[test]]
name = "codec_json"
path = "tests/codec_json.rs"
[[test]]
name = "codec_multipart"
path = "tests/codec_multipart.rs"
[[test]]
name = "codec_sse"
path = "tests/codec_sse.rs"
[[test]]
name = "connection"
path = "tests/connection.rs"
[[test]]
name = "context_operations"
path = "tests/context_operations.rs"
[[test]]
name = "declared_fields"
path = "tests/declared_fields.rs"
[[test]]
name = "derived_unions"
path = "tests/derived_unions.rs"
[[test]]
name = "embeddings_rerank"
path = "tests/embeddings_rerank.rs"
[[test]]
name = "files"
path = "tests/files.rs"
[[test]]
name = "gemini_count_tokens"
path = "tests/gemini_count_tokens.rs"
[[test]]
name = "gemini_generate_content"
path = "tests/gemini_generate_content.rs"
[[test]]
name = "gemini_live"
path = "tests/gemini_live.rs"
[[test]]
name = "gemini_stream"
path = "tests/gemini_stream.rs"
[[test]]
name = "guardian_request_semantics"
path = "tests/guardian_request_semantics.rs"
[[test]]
name = "guardian_sse"
path = "tests/guardian_sse.rs"
[[test]]
name = "models"
path = "tests/models.rs"
[[test]]
name = "native_responses_parity"
path = "tests/native_responses_parity.rs"
[[test]]
name = "openai_chat"
path = "tests/openai_chat.rs"
[[test]]
name = "openai_chat_stream"
path = "tests/openai_chat_stream.rs"
[[test]]
name = "openai_count_tokens"
path = "tests/openai_count_tokens.rs"
[[test]]
name = "openai_generate_content"
path = "tests/openai_generate_content.rs"
[[test]]
name = "openai_generate_response"
path = "tests/openai_generate_response.rs"
[[test]]
name = "openai_input_details"
path = "tests/openai_input_details.rs"
[[test]]
name = "openai_realtime"
path = "tests/openai_realtime.rs"
[[test]]
name = "openai_responses_stream"
path = "tests/openai_responses_stream.rs"
[[test]]
name = "openai_tools"
path = "tests/openai_tools.rs"
[[test]]
name = "responses_nullable_usage"
path = "tests/responses_nullable_usage.rs"
[[test]]
name = "responses_websocket"
path = "tests/responses_websocket.rs"
[[test]]
name = "spec"
path = "tests/spec.rs"
[[test]]
name = "transform_best_effort"
path = "tests/transform_best_effort.rs"
[[test]]
name = "transform_chat_claude_stream"
path = "tests/transform_chat_claude_stream.rs"
[[test]]
name = "transform_chat_gemini_stream"
path = "tests/transform_chat_gemini_stream.rs"
[[test]]
name = "transform_chat_responses"
path = "tests/transform_chat_responses.rs"
[[test]]
name = "transform_chat_responses_response"
path = "tests/transform_chat_responses_response.rs"
[[test]]
name = "transform_chat_responses_stream"
path = "tests/transform_chat_responses_stream.rs"
[[test]]
name = "transform_chat_stream"
path = "tests/transform_chat_stream.rs"
[[test]]
name = "transform_claude_chat_request"
path = "tests/transform_claude_chat_request.rs"
[[test]]
name = "transform_claude_chat_response"
path = "tests/transform_claude_chat_response.rs"
[[test]]
name = "transform_claude_gemini"
path = "tests/transform_claude_gemini.rs"
[[test]]
name = "transform_claude_gemini_stream"
path = "tests/transform_claude_gemini_stream.rs"
[[test]]
name = "transform_claude_responses_request"
path = "tests/transform_claude_responses_request.rs"
[[test]]
name = "transform_claude_responses_response"
path = "tests/transform_claude_responses_response.rs"
[[test]]
name = "transform_claude_responses_stream"
path = "tests/transform_claude_responses_stream.rs"
[[test]]
name = "transform_claude_stream"
path = "tests/transform_claude_stream.rs"
[[test]]
name = "transform_client_tools"
path = "tests/transform_client_tools.rs"
[[test]]
name = "transform_client_tools_backends"
path = "tests/transform_client_tools_backends.rs"
[[test]]
name = "transform_count_tokens"
path = "tests/transform_count_tokens.rs"
[[test]]
name = "transform_count_tokens_request"
path = "tests/transform_count_tokens_request.rs"
[[test]]
name = "transform_embeddings"
path = "tests/transform_embeddings.rs"
[[test]]
name = "transform_gemini_chat"
path = "tests/transform_gemini_chat.rs"
[[test]]
name = "transform_gemini_responses"
path = "tests/transform_gemini_responses.rs"
[[test]]
name = "transform_gemini_responses_stream"
path = "tests/transform_gemini_responses_stream.rs"
[[test]]
name = "transform_gemini_schema"
path = "tests/transform_gemini_schema.rs"
[[test]]
name = "transform_gemini_stream"
path = "tests/transform_gemini_stream.rs"
[[test]]
name = "transform_identity"
path = "tests/transform_identity.rs"
[[test]]
name = "transform_instruction_positions"
path = "tests/transform_instruction_positions.rs"
[[test]]
name = "transform_models"
path = "tests/transform_models.rs"
[[test]]
name = "transform_native_video"
path = "tests/transform_native_video.rs"
[[test]]
name = "transform_native_video_parity"
path = "tests/transform_native_video_parity.rs"
[[test]]
name = "transform_responses_stream"
path = "tests/transform_responses_stream.rs"
[[test]]
name = "transform_stream_policy"
path = "tests/transform_stream_policy.rs"
[[test]]
name = "transform_video"
path = "tests/transform_video.rs"
[[test]]
name = "transform_web_search"
path = "tests/transform_web_search.rs"
[[test]]
name = "veo_wire"
path = "tests/veo_wire.rs"
[[test]]
name = "video"
path = "tests/video.rs"
[[test]]
name = "wire_declared"
path = "tests/wire_declared.rs"
[[test]]
name = "wire_paths"
path = "tests/wire_paths.rs"
[dependencies.base64]
version = "0.23"
[dependencies.blake3]
version = "1"
[dependencies.bytes]
version = "1"
[dependencies.futures-core]
version = "0.3"
[dependencies.futures-sink]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
features = ["sink"]
[dependencies.gproxy-protocol-macros]
version = "=4.0.0"
[dependencies.http]
version = "1"
[dependencies.multer]
version = "3"
default-features = false
[dependencies.rust_decimal]
version = "1"
features = ["serde"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.strum]
version = "0.28"
features = ["derive"]
[dependencies.time]
version = "0.3"
features = [
"parsing",
"formatting",
]