eval-protocol 0.3.30__tar.gz → 0.3.32__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {eval_protocol-0.3.30/eval_protocol.egg-info → eval_protocol-0.3.32}/PKG-INFO +1 -1
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/_version.py +3 -3
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/fireworks_tracing.py +35 -39
- eval_protocol-0.3.32/eval_protocol/adapters/lp_deserializer.py +41 -0
- eval_protocol-0.3.32/eval_protocol/adapters/r3_deserializer.py +41 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/integrations/fireworks_v1_completions_client.py +37 -22
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/tracing_utils.py +2 -0
- eval_protocol-0.3.32/eval_protocol/tracing/__init__.py +31 -0
- eval_protocol-0.3.30/eval_protocol/adapters/lp_deserializer.py → eval_protocol-0.3.32/eval_protocol/tracing/logprobs.py +17 -0
- eval_protocol-0.3.32/eval_protocol/tracing/prompt_token_ids.py +34 -0
- eval_protocol-0.3.32/eval_protocol/tracing/registry.py +88 -0
- eval_protocol-0.3.30/eval_protocol/adapters/r3_deserializer.py → eval_protocol-0.3.32/eval_protocol/tracing/router_replay.py +15 -0
- eval_protocol-0.3.32/eval_protocol/tracing/types.py +41 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32/eval_protocol.egg-info}/PKG-INFO +1 -1
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol.egg-info/SOURCES.txt +6 -0
- eval_protocol-0.3.32/tests/test_fireworks_v1_completions_client.py +309 -0
- eval_protocol-0.3.30/tests/test_fireworks_v1_completions_client.py +0 -146
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/LICENSE +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/README.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/development/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/development/normalize_sandbox_fusion.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/development/utils/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/development/utils/generate_api_key.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/development/utils/subprocess_manager.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/__main__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/base.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/bigquery.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/braintrust.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/dataframe.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/huggingface.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/langchain.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/langfuse.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/langsmith.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/openai_responses.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/trl.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/adapters/weave.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/models.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/orchestrator.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/resource_abc.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/resource_pool.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/resources/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/resources/bfcl_envs/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/resources/bfcl_envs/gorilla_file_system.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/resources/bfcl_envs/math_api.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/resources/bfcl_envs/posting_api.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/resources/bfcl_sim_api_resource.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/resources/docker_resource.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/resources/filesystem_resource.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/resources/python_state_resource.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/resources/sql_resource.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/task_manager.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/agent/tool_registry.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/auth.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/benchmarks/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/benchmarks/data/airline_dataset.jsonl +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/benchmarks/data/retail_dataset.jsonl +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/benchmarks/test_aime25.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/benchmarks/test_frozen_lake.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/benchmarks/test_glm_streaming_compliance.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/benchmarks/test_gpqa.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/benchmarks/test_livebench_data_analysis.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/benchmarks/test_tau_bench_airline.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/benchmarks/test_tau_bench_retail.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/cli.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/cli_commands/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/cli_commands/agent_eval_cmd.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/cli_commands/common.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/cli_commands/create_rft.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/cli_commands/export_docs.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/cli_commands/local_test.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/cli_commands/logs.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/cli_commands/run_eval_cmd.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/cli_commands/upload.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/cli_commands/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/common_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/config.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/data_loader/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/data_loader/dynamic_data_loader.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/data_loader/factory_data_loader.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/data_loader/inline_data_loader.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/data_loader/jsonl_data_loader.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/data_loader/models.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/dataset_logger/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/dataset_logger/dataset_logger.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/dataset_logger/local_fs_dataset_logger_adapter.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/dataset_logger/sqlite_dataset_logger_adapter.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/dataset_logger/sqlite_evaluation_row_store.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/datasets/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/datasets/loader.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/directory_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/evaluation.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/event_bus/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/event_bus/event_bus.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/event_bus/logger.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/event_bus/sqlite_event_bus.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/event_bus/sqlite_event_bus_database.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/exceptions.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/execution/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/execution/pipeline.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/fireworks_rft.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/gcp_tools.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/generation/cache.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/generation/clients/base.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/generation/clients.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/generic_server.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/get_pep440_version.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/human_id/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/human_id/dictionary.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/integrations/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/integrations/deepeval.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/integrations/openai_rft.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/integrations/openeval.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/integrations/tinker_cookbook.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/integrations/tinker_rollout_processor.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/integrations/trl.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/log_utils/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/log_utils/elasticsearch_client.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/log_utils/elasticsearch_direct_http_handler.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/log_utils/elasticsearch_index_manager.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/log_utils/fireworks_tracing_http_handler.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/log_utils/init.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/log_utils/rollout_context.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/log_utils/rollout_id_filter.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/log_utils/util.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/logging_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/adapter.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/client/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/client/connection.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/clients.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/execution/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/execution/base_policy.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/execution/manager.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/execution/policy.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/execution/vllm_policy.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/grid_renderer.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/mcp_multi_client.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/mcpgym.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/process_manager.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/session/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/session/manager.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/simple_process_manager.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp/simulation_server.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_agent/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_agent/config.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_agent/main.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_agent/orchestration/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_agent/orchestration/base_client.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_agent/orchestration/local_docker_client.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_agent/orchestration/stdio_mcp_client_helper.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_env.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/frozen_lake/frozen_lake_adapter.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/frozen_lake/frozen_lake_mcp.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/frozen_lake/server.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/tau2/README.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/tau2/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/tau2/airplane_environment/airline_environment.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/tau2/mock_environment/mock_environment.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/tau2/retail_environment/retail_environment.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/tau2/server.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/tau2/tau2_mcp.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/tau2/tests/system_prompts/airline_agent_system_prompt.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/tau2/tests/system_prompts/mock_agent_system_prompt.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/tau2/tests/system_prompts/retail_agent_system_prompt.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/mcp_servers/tau2/tests/test_tau2_e2e.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/models.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/packaging.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/platform_api.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/playback_policy.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/proxy/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/proxy/proxy_core/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/proxy/proxy_core/app.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/proxy/proxy_core/auth.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/proxy/proxy_core/langfuse.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/proxy/proxy_core/litellm.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/proxy/proxy_core/main.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/proxy/proxy_core/models.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/proxy/proxy_core/redis_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/buffer.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/default_agent_rollout_processor.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/default_dataset_adapter.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/default_klavis_sandbox_rollout_processor.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/default_langchain_rollout_processor.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/default_mcp_gym_rollout_processor.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/default_no_op_rollout_processor.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/default_pydantic_ai_rollout_processor.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/default_single_turn_rollout_process.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/dual_mode_wrapper.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/elasticsearch_setup.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/evaluation_test.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/evaluation_test_postprocess.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/evaluation_test_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/exception_config.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/execution.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/generate_parameter_combinations.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/github_action_rollout_processor.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/handle_persist_flow.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/integrations/openenv_trl_vllm.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/openenv_rollout_processor.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/parameterize.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/plugin.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/priority_scheduler.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/remote_rollout_processor.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/rollout_processor.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/rollout_result_post_processor.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/store_experiment_link.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/store_results_url.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/types.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/pytest/validate_signature.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/aha_judge/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/aha_judge/llm_judge.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/aha_judge/llm_judge_braintrust.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/aha_judge/llm_judge_langfuse.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/aha_judge/llm_judge_langsmith.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/aha_judge/llm_judge_openai_responses.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/aha_judge/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/llm_judge.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/llm_judge_braintrust.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/svg_agent/evaluator/test_svgagent.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/svg_agent/evaluator/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/svg_agent/vercel_svg_server/api/init.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/quickstart/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/resources.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/reward_function.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/accuracy.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/accuracy_length.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/apps_coding_reward.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/apps_execution_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/apps_testing_util.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/bfcl_reward.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/code_execution.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/code_execution_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/cpp_code.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/deepcoder_reward.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/format.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/function_calling.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/json_schema.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/language_consistency.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/lean_prover.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/length.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/list_comparison_math_reward.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/math.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/multiple_choice_math_reward.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/reasoning_steps.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/repetition.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rewards/tag_count.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/rl_processing.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/server.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/stats/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/stats/confidence_intervals.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/training/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/training/gepa_trainer.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/training/gepa_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/training/trainer.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/training/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/typed_interface.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/types/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/types/errors.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/types/remote_rollout_processor.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/types/types.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/batch_evaluation.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/batch_transformation.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/browser_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/check_server_status.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/dataset_helpers.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/evaluation_row_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/logs_models.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/logs_server.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/module_loader.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/packaging_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/show_results_url.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/static_policy.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/subprocess_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol/utils/vite_server.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol.egg-info/dependency_links.txt +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol.egg-info/entry_points.txt +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol.egg-info/requires.txt +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/eval_protocol.egg-info/top_level.txt +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/pyproject.toml +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/setup.cfg +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/setup.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_accuracy.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_accuracy_length.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_adapters_e2e.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_agent_orchestrator.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_agent_resources.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_auth.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_batch_evaluation.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_cli_agent.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_cli_args.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_cli_create_rft.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_cli_local_test.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_cli_startup_benchmark.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_code_execution.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_config.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_control_plane_separation.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_cpp_code.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_data_driven_task_manager.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_deepcoder_reward.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_deepeval_integration.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_directory_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_e2b_integration.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_e2b_js_integration.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_edge_cases.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_ep_upload_e2e.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_eval_protocol_import.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_evaluation.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_evaluation_postprocess.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_event_bus.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_event_bus_helper.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_examples_end_to_end.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_exception_config.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_exceptions.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_fireworks_api.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_format.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_fractional_code.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_function_calling.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_gcp_tools.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_generic_server.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_human_id.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_integration.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_json_schema.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_kwargs_validation.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_language_consistency.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_lean_prover.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_lean_prover_runner.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_length.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_list_comparison_math_reward.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_litellm_policy_provider_fields.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_logs_server.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_logs_server_simple.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_math.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_message_field_filtering.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_minimal.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_models.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_models_rl.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_multiple_choice_math_reward.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_n_variant_batch_integration.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_n_variant_integration.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_no_implicit_dotenv.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_openai_compatibility.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_openai_rft_integration.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_openeval_integration.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_packaging.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_parallel_rollouts.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_platform_api.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_priority_scheduler.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_quickstart_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_readiness.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_reasoning_steps.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_repetition.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_repetition_debug.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_retry_mechanism.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_reward_function.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_reward_protocol_import.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_rl_processing.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_rollout_control_plane_integration.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_rollout_logprobs.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_server.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_show_results_url.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_sqlite_hardening.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_status_migration_changes.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_status_migration_integration.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_status_model.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_tag_count.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_tau_bench_airline_smoke.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_training_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_typed_interface.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_typed_interface_rl.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_upload_entrypoint.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_url_handling.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/tests/test_vite_server.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/agent/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/agent/base.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/agent/llm_agent.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/api_service/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/api_service/api_config.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/api_service/data_model.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/api_service/simulation_service.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/cli.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/config.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data/domains/airline/policy.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data/domains/mock/policy.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data/domains/mock/policy_solo.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data/domains/retail/policy.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data/domains/telecom/main_policy.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data/domains/telecom/main_policy_solo.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data/domains/telecom/tech_support_manual.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data/domains/telecom/tech_support_workflow.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data/domains/telecom/tech_support_workflow_solo.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data/user_simulator/simulation_guidelines.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data/user_simulator/simulation_guidelines_tools.md +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data_model/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data_model/message.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data_model/simulation.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/data_model/tasks.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/airline/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/airline/data_model.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/airline/environment.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/airline/tools.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/airline/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/mock/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/mock/data_model.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/mock/environment.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/mock/tools.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/mock/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/retail/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/retail/data_model.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/retail/environment.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/retail/tools.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/retail/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/data_model.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/environment.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/tasks/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/tasks/const.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/tasks/create_tasks.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/tasks/manager.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/tasks/mms_issues.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/tasks/mobile_data_issues.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/tasks/service_issues.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/tasks/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/tools.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/user_data_model.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/user_tools.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/domains/telecom/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/environment/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/environment/db.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/environment/environment.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/environment/server.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/environment/tool.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/environment/toolkit.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/environment/utils/interface_agent.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/evaluator/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/evaluator/evaluator.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/evaluator/evaluator_action.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/evaluator/evaluator_base.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/evaluator/evaluator_communicate.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/evaluator/evaluator_env.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/evaluator/evaluator_nl_assertions.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/metrics/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/metrics/agent_metrics.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/metrics/break_down_metrics.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/orchestrator/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/orchestrator/environment_manager.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/orchestrator/orchestrator.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/orchestrator/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/registry.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/run.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/scripts/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/scripts/check_data.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/scripts/show_domain_doc.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/scripts/start_servers.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/scripts/view_simulations.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/user/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/user/base.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/user/user_simulator.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/utils/__init__.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/utils/display.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/utils/io_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/utils/llm_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/utils/pydantic_utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vendor/tau2/utils/utils.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/versioneer.py +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vite-app/dist/assets/favicon-BkAAWQga.png +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vite-app/dist/assets/index-DFeF7AG_.js +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vite-app/dist/assets/index-DFeF7AG_.js.map +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vite-app/dist/assets/index-DvKW7FQL.css +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vite-app/dist/assets/logo-light-BprIBJQW.png +0 -0
- {eval_protocol-0.3.30 → eval_protocol-0.3.32}/vite-app/dist/index.html +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: eval-protocol
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.32
|
|
4
4
|
Summary: The official Python SDK for Eval Protocol (EP.) EP is an open protocol that standardizes how developers author evals for large language model (LLM) applications.
|
|
5
5
|
Author-email: Fireworks AI <info@fireworks.ai>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2026-
|
|
11
|
+
"date": "2026-07-06T12:57:04-0700",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "0.3.
|
|
14
|
+
"full-revisionid": "2c0867156a720cf218a101dd37e51f4d4861ae00",
|
|
15
|
+
"version": "0.3.32"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -15,9 +15,8 @@ from typing import Any, Dict, List, Optional, Protocol
|
|
|
15
15
|
import os
|
|
16
16
|
|
|
17
17
|
from eval_protocol.models import EvaluationRow, InputMetadata, ExecutionMetadata, Message
|
|
18
|
+
from eval_protocol.tracing import PayloadType, decode_payloads
|
|
18
19
|
from .base import BaseAdapter
|
|
19
|
-
from .lp_deserializer import decompress_and_parse_lp
|
|
20
|
-
from .r3_deserializer import decompress_and_parse_r3
|
|
21
20
|
from .utils import extract_messages_from_data
|
|
22
21
|
from ..common_utils import get_user_agent
|
|
23
22
|
|
|
@@ -102,45 +101,42 @@ def convert_trace_dict_to_evaluation_row(
|
|
|
102
101
|
):
|
|
103
102
|
break # Break early if we've found all the metadata we need
|
|
104
103
|
|
|
105
|
-
#
|
|
104
|
+
# Decoding lives in eval_protocol.tracing; here we only map results onto the row.
|
|
106
105
|
payloads = trace.get("payloads")
|
|
107
106
|
if isinstance(payloads, dict):
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
trace.get("id"),
|
|
142
|
-
e,
|
|
143
|
-
)
|
|
107
|
+
decoded = decode_payloads(
|
|
108
|
+
payloads,
|
|
109
|
+
on_error=lambda pt, e: logger.warning(
|
|
110
|
+
"Failed to decode %s payload for trace %s: %s", pt.value, trace.get("id"), e
|
|
111
|
+
),
|
|
112
|
+
)
|
|
113
|
+
if decoded and execution_metadata.extra is None:
|
|
114
|
+
execution_metadata.extra = {}
|
|
115
|
+
|
|
116
|
+
if (dp := decoded.get(PayloadType.ROUTER_REPLAY)) is not None:
|
|
117
|
+
execution_metadata.extra["routing_matrices"] = dp.value
|
|
118
|
+
execution_metadata.extra["routing_metadata"] = dp.metadata
|
|
119
|
+
|
|
120
|
+
if (dp := decoded.get(PayloadType.LOGPROBS)) is not None:
|
|
121
|
+
logprobs = dp.value
|
|
122
|
+
token_ids = dp.token_ids
|
|
123
|
+
execution_metadata.extra["completion_logprobs"] = logprobs
|
|
124
|
+
if token_ids is not None:
|
|
125
|
+
execution_metadata.extra["completion_token_ids"] = token_ids
|
|
126
|
+
execution_metadata.extra["logprobs_metadata"] = dp.metadata
|
|
127
|
+
|
|
128
|
+
for i in range(len(messages) - 1, -1, -1):
|
|
129
|
+
if messages[i].role == "assistant":
|
|
130
|
+
content_entries = [{"logprob": lp} for lp in logprobs]
|
|
131
|
+
if token_ids is not None:
|
|
132
|
+
for entry, tid in zip(content_entries, token_ids):
|
|
133
|
+
entry["token_id"] = tid
|
|
134
|
+
messages[i].logprobs = {"content": content_entries}
|
|
135
|
+
break
|
|
136
|
+
|
|
137
|
+
if (dp := decoded.get(PayloadType.PROMPT_TOKEN_IDS)) is not None:
|
|
138
|
+
execution_metadata.extra["prompt_token_ids"] = dp.value
|
|
139
|
+
execution_metadata.extra["prompt_token_ids_metadata"] = dp.metadata
|
|
144
140
|
|
|
145
141
|
return EvaluationRow(
|
|
146
142
|
messages=messages,
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"""Deprecated compatibility shim for ``eval_protocol.tracing.logprobs``.
|
|
2
|
+
|
|
3
|
+
Import from ``eval_protocol.tracing.logprobs`` (or ``decode_payloads`` from
|
|
4
|
+
``eval_protocol.tracing``) instead. This module re-exports the LP/v1 helpers
|
|
5
|
+
that lived here before the tracing package refactor.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
import warnings
|
|
11
|
+
|
|
12
|
+
warnings.warn(
|
|
13
|
+
"eval_protocol.adapters.lp_deserializer is deprecated; "
|
|
14
|
+
"import from eval_protocol.tracing.logprobs instead.",
|
|
15
|
+
DeprecationWarning,
|
|
16
|
+
stacklevel=2,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
from eval_protocol.tracing.logprobs import ( # noqa: E402
|
|
20
|
+
ENTRY_FORMAT,
|
|
21
|
+
ENTRY_SIZE,
|
|
22
|
+
HEADER_FORMAT,
|
|
23
|
+
HEADER_SIZE,
|
|
24
|
+
HEADER_VERSION,
|
|
25
|
+
MAGIC,
|
|
26
|
+
MISSING_TOKEN_ID,
|
|
27
|
+
decompress_and_parse_lp,
|
|
28
|
+
parse_logprobs,
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
__all__ = [
|
|
32
|
+
"ENTRY_FORMAT",
|
|
33
|
+
"ENTRY_SIZE",
|
|
34
|
+
"HEADER_FORMAT",
|
|
35
|
+
"HEADER_SIZE",
|
|
36
|
+
"HEADER_VERSION",
|
|
37
|
+
"MAGIC",
|
|
38
|
+
"MISSING_TOKEN_ID",
|
|
39
|
+
"decompress_and_parse_lp",
|
|
40
|
+
"parse_logprobs",
|
|
41
|
+
]
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"""Deprecated compatibility shim for ``eval_protocol.tracing.router_replay``.
|
|
2
|
+
|
|
3
|
+
Import from ``eval_protocol.tracing.router_replay`` (or ``decode_payloads`` from
|
|
4
|
+
``eval_protocol.tracing``) instead. This module re-exports the R3/v1 helpers
|
|
5
|
+
that lived here before the tracing package refactor.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
import warnings
|
|
11
|
+
|
|
12
|
+
warnings.warn(
|
|
13
|
+
"eval_protocol.adapters.r3_deserializer is deprecated; "
|
|
14
|
+
"import from eval_protocol.tracing.router_replay instead.",
|
|
15
|
+
DeprecationWarning,
|
|
16
|
+
stacklevel=2,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
from eval_protocol.tracing.router_replay import ( # noqa: E402
|
|
20
|
+
BITS_PER_BYTE,
|
|
21
|
+
HEADER_FORMAT,
|
|
22
|
+
HEADER_SIZE,
|
|
23
|
+
MAGIC,
|
|
24
|
+
_RoutingDtype,
|
|
25
|
+
_SelectorMode,
|
|
26
|
+
_parse_header,
|
|
27
|
+
_read_bitmap_positions,
|
|
28
|
+
decompress_and_parse_r3,
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
__all__ = [
|
|
32
|
+
"BITS_PER_BYTE",
|
|
33
|
+
"HEADER_FORMAT",
|
|
34
|
+
"HEADER_SIZE",
|
|
35
|
+
"MAGIC",
|
|
36
|
+
"_RoutingDtype",
|
|
37
|
+
"_SelectorMode",
|
|
38
|
+
"_parse_header",
|
|
39
|
+
"_read_bitmap_positions",
|
|
40
|
+
"decompress_and_parse_r3",
|
|
41
|
+
]
|
|
@@ -393,35 +393,50 @@ class FireworksV1CompletionsClient:
|
|
|
393
393
|
finish_reason = str(choice.get("finish_reason") or "unknown")
|
|
394
394
|
|
|
395
395
|
raw_output = choice.get("raw_output") if isinstance(choice.get("raw_output"), dict) else {}
|
|
396
|
-
completion_token_ids = _normalize_token_id_sequence(
|
|
397
|
-
choice.get("token_ids") or raw_output.get("completion_token_ids") or []
|
|
398
|
-
)
|
|
399
396
|
choice_prompt_token_ids = _normalize_token_id_sequence(
|
|
400
397
|
choice.get("prompt_token_ids") or raw_output.get("prompt_token_ids") or normalized_prompt_token_ids
|
|
401
398
|
)
|
|
402
399
|
|
|
400
|
+
# -- Extract per-token ids and logprobs together --------------------
|
|
401
|
+
# Both come from the same ``content[]`` array entry-by-entry, so they are
|
|
402
|
+
# inherently the same length and aligned. Reading ids from a different
|
|
403
|
+
# source (top-level token_ids) and re-encoding decoded text when it is
|
|
404
|
+
# absent drops the trailing end-of-turn token and misaligns per-token
|
|
405
|
+
# logprobs, corrupting inference KLD — so we never do that.
|
|
406
|
+
choice_logprobs = choice.get("logprobs")
|
|
407
|
+
content_entries = choice_logprobs.get("content") if isinstance(choice_logprobs, dict) else None
|
|
408
|
+
if not content_entries:
|
|
409
|
+
raise RuntimeError(
|
|
410
|
+
"Fireworks /v1/completions returned no content[] logprobs entries. "
|
|
411
|
+
"This client requires the boolean logprobs=True (content) shape to "
|
|
412
|
+
"recover exact per-token ids and sampling logprobs. Refusing to "
|
|
413
|
+
"re-encode decoded text: retokenization drops the end-of-turn token "
|
|
414
|
+
"and misaligns per-token logprobs, corrupting inference KLD. "
|
|
415
|
+
f"choice keys={list(choice.keys())}"
|
|
416
|
+
)
|
|
417
|
+
|
|
418
|
+
completion_token_ids: List[int] = []
|
|
419
|
+
completion_logprobs: List[float] = []
|
|
420
|
+
for index, entry in enumerate(content_entries):
|
|
421
|
+
if not isinstance(entry, dict) or entry.get("token_id") is None:
|
|
422
|
+
raise RuntimeError(
|
|
423
|
+
"Fireworks /v1/completions content[] entry is missing token_id "
|
|
424
|
+
f"at index {index}; cannot align per-token logprobs to token ids "
|
|
425
|
+
"without re-encoding. Refusing to return corrupted data."
|
|
426
|
+
)
|
|
427
|
+
if entry.get("sampling_logprob") is None:
|
|
428
|
+
raise RuntimeError(
|
|
429
|
+
"Fireworks /v1/completions content[] entry is missing "
|
|
430
|
+
f"sampling_logprob at index {index}. The sampling logprob is the "
|
|
431
|
+
"exact value the sampler drew with and is required for correct "
|
|
432
|
+
"inference KLD; refusing to substitute the rounded logprob or 0.0."
|
|
433
|
+
)
|
|
434
|
+
completion_token_ids.append(int(entry["token_id"]))
|
|
435
|
+
completion_logprobs.append(float(entry["sampling_logprob"]))
|
|
436
|
+
|
|
403
437
|
completion_text = self.decode_token_ids(token_ids=completion_token_ids)
|
|
404
438
|
if not completion_text:
|
|
405
439
|
completion_text = str(choice.get("text") or "")
|
|
406
|
-
if not completion_token_ids and completion_text:
|
|
407
|
-
tokenizer = self._get_tokenizer()
|
|
408
|
-
completion_token_ids = list(tokenizer.encode(completion_text, add_special_tokens=False))
|
|
409
|
-
|
|
410
|
-
# -- Extract logprobs -----------------------------------------------
|
|
411
|
-
completion_logprobs: List[float] = []
|
|
412
|
-
choice_logprobs = choice.get("logprobs")
|
|
413
|
-
if isinstance(choice_logprobs, dict):
|
|
414
|
-
token_logprobs = choice_logprobs.get("token_logprobs") or []
|
|
415
|
-
if token_logprobs:
|
|
416
|
-
completion_logprobs = [float(lp) if lp is not None else 0.0 for lp in token_logprobs]
|
|
417
|
-
else:
|
|
418
|
-
content_logprobs = choice_logprobs.get("content") or []
|
|
419
|
-
completion_logprobs = [
|
|
420
|
-
float(entry.get("logprob", 0.0)) if isinstance(entry, dict) else 0.0
|
|
421
|
-
for entry in content_logprobs
|
|
422
|
-
]
|
|
423
|
-
elif isinstance(choice_logprobs, list):
|
|
424
|
-
completion_logprobs = [float(lp) if lp is not None else 0.0 for lp in choice_logprobs]
|
|
425
440
|
|
|
426
441
|
# -- Build message via parser or raw --------------------------------
|
|
427
442
|
if self.tool_call_parser is not None:
|
|
@@ -63,6 +63,8 @@ def _merge_payloads_into_longest_row(longest_row: EvaluationRow, rows: List[Eval
|
|
|
63
63
|
for key in (
|
|
64
64
|
"completion_logprobs",
|
|
65
65
|
"completion_token_ids",
|
|
66
|
+
"prompt_token_ids",
|
|
67
|
+
"prompt_token_ids_metadata",
|
|
66
68
|
"logprobs_metadata",
|
|
67
69
|
"routing_matrices",
|
|
68
70
|
"routing_metadata",
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"""Decode Fireworks tracing-gateway payloads.
|
|
2
|
+
|
|
3
|
+
Standalone, dependency-light helpers (stdlib + ``zstandard`` only) for turning
|
|
4
|
+
the binary/JSON ``payloads`` returned by the Fireworks tracing gateway
|
|
5
|
+
(``GET /traces?include_payloads=true``) into Python values. No EvaluationRow or
|
|
6
|
+
rollout machinery required -- usable on its own.
|
|
7
|
+
|
|
8
|
+
Typical use::
|
|
9
|
+
|
|
10
|
+
from eval_protocol.tracing import decode_payloads, PayloadType
|
|
11
|
+
|
|
12
|
+
decoded = decode_payloads(trace["payloads"])
|
|
13
|
+
decoded[PayloadType.PROMPT_TOKEN_IDS].value # List[int]
|
|
14
|
+
decoded[PayloadType.LOGPROBS].value # List[float]
|
|
15
|
+
decoded[PayloadType.ROUTER_REPLAY].value # List[Optional[str]]
|
|
16
|
+
|
|
17
|
+
See ``README.md`` in this package for details.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
from __future__ import annotations
|
|
21
|
+
|
|
22
|
+
from .registry import decode_payload, decode_payloads, decode_trace
|
|
23
|
+
from .types import DecodedPayload, PayloadType
|
|
24
|
+
|
|
25
|
+
__all__ = [
|
|
26
|
+
"PayloadType",
|
|
27
|
+
"DecodedPayload",
|
|
28
|
+
"decode_payloads",
|
|
29
|
+
"decode_payload",
|
|
30
|
+
"decode_trace",
|
|
31
|
+
]
|
|
@@ -12,6 +12,8 @@ from typing import Any, Dict, List, Optional, Tuple
|
|
|
12
12
|
|
|
13
13
|
import zstandard as zstd
|
|
14
14
|
|
|
15
|
+
from .types import DecodedPayload, PayloadType
|
|
16
|
+
|
|
15
17
|
MAGIC = b"LP01"
|
|
16
18
|
HEADER_VERSION = 1
|
|
17
19
|
MISSING_TOKEN_ID = -1
|
|
@@ -107,3 +109,18 @@ def decompress_and_parse_lp(data_b64: str) -> Tuple[List[float], Optional[List[i
|
|
|
107
109
|
decompressor = zstd.ZstdDecompressor()
|
|
108
110
|
raw = decompressor.decompress(compressed)
|
|
109
111
|
return parse_logprobs(raw)
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
def decode_logprobs(data_b64: str) -> DecodedPayload:
|
|
115
|
+
"""Decode a gateway ``payloads.logprobs.data`` blob into a ``DecodedPayload``.
|
|
116
|
+
|
|
117
|
+
``value`` is the per-completion-token logprob list; per-token ids (when all
|
|
118
|
+
valid) are available under ``token_ids``.
|
|
119
|
+
"""
|
|
120
|
+
logprobs, token_ids, metadata = decompress_and_parse_lp(data_b64)
|
|
121
|
+
return DecodedPayload(
|
|
122
|
+
payload_type=PayloadType.LOGPROBS,
|
|
123
|
+
value=logprobs,
|
|
124
|
+
metadata=metadata,
|
|
125
|
+
token_ids=token_ids,
|
|
126
|
+
)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"""``pti/v1`` decoder for prompt token ID payloads.
|
|
2
|
+
|
|
3
|
+
Inverse of the tracing gateway's ``serialize_prompt_token_ids``: the gateway
|
|
4
|
+
stores prompt token IDs as ``base64(zstd(json.dumps(token_ids)))`` -- a compact
|
|
5
|
+
JSON int array, no bespoke binary header.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
import base64
|
|
11
|
+
import json
|
|
12
|
+
from typing import Any, Dict, List, Tuple
|
|
13
|
+
|
|
14
|
+
import zstandard as zstd
|
|
15
|
+
|
|
16
|
+
from .types import DecodedPayload, PayloadType
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def parse_prompt_token_ids(raw: bytes) -> Tuple[List[int], Dict[str, Any]]:
|
|
20
|
+
"""Parse uncompressed ``pti/v1`` bytes (a JSON int array) into ids + metadata."""
|
|
21
|
+
token_ids = json.loads(raw)
|
|
22
|
+
metadata: Dict[str, Any] = {"scope": "prompt_only", "token_count": len(token_ids)}
|
|
23
|
+
return token_ids, metadata
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def decode_prompt_token_ids(data_b64: str) -> DecodedPayload:
|
|
27
|
+
"""Decode a gateway ``payloads.prompt_token_ids.data`` blob."""
|
|
28
|
+
raw = zstd.ZstdDecompressor().decompress(base64.b64decode(data_b64))
|
|
29
|
+
token_ids, metadata = parse_prompt_token_ids(raw)
|
|
30
|
+
return DecodedPayload(
|
|
31
|
+
payload_type=PayloadType.PROMPT_TOKEN_IDS,
|
|
32
|
+
value=token_ids,
|
|
33
|
+
metadata=metadata,
|
|
34
|
+
)
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"""Decoder registry + master decode for tracing-gateway payloads.
|
|
2
|
+
|
|
3
|
+
Adding a new payload type is a single entry in ``PAYLOAD_DECODERS`` (plus its
|
|
4
|
+
decoder module). Callers use the master :func:`decode_payloads` /
|
|
5
|
+
:func:`decode_trace` and never stitch per-type decoders together.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
import logging
|
|
11
|
+
from typing import Any, Callable, Dict, Optional
|
|
12
|
+
|
|
13
|
+
from .logprobs import decode_logprobs
|
|
14
|
+
from .prompt_token_ids import decode_prompt_token_ids
|
|
15
|
+
from .router_replay import decode_router_replay
|
|
16
|
+
from .types import DecodedPayload, PayloadType
|
|
17
|
+
|
|
18
|
+
logger = logging.getLogger(__name__)
|
|
19
|
+
|
|
20
|
+
# Callback invoked when a single payload fails to decode: (payload_type, exc).
|
|
21
|
+
OnError = Callable[[PayloadType, Exception], None]
|
|
22
|
+
|
|
23
|
+
PAYLOAD_DECODERS: Dict[PayloadType, Callable[[str], DecodedPayload]] = {
|
|
24
|
+
PayloadType.PROMPT_TOKEN_IDS: decode_prompt_token_ids,
|
|
25
|
+
PayloadType.LOGPROBS: decode_logprobs,
|
|
26
|
+
PayloadType.ROUTER_REPLAY: decode_router_replay,
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def decode_payload(payload_type: PayloadType | str, data_b64: str) -> DecodedPayload:
|
|
31
|
+
"""Decode a single payload by type.
|
|
32
|
+
|
|
33
|
+
``payload_type`` accepts a ``PayloadType`` or its string value, so external
|
|
34
|
+
callers can pass either.
|
|
35
|
+
"""
|
|
36
|
+
ptype = PayloadType(payload_type)
|
|
37
|
+
decoder = PAYLOAD_DECODERS.get(ptype)
|
|
38
|
+
if decoder is None:
|
|
39
|
+
raise ValueError(f"No decoder registered for payload type: {ptype!r}")
|
|
40
|
+
return decoder(data_b64)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def decode_payloads(
|
|
44
|
+
payloads: Dict[str, Any],
|
|
45
|
+
*,
|
|
46
|
+
on_error: Optional[OnError] = None,
|
|
47
|
+
) -> Dict[PayloadType, DecodedPayload]:
|
|
48
|
+
"""Master decode: run every registered decoder over a gateway ``payloads`` dict.
|
|
49
|
+
|
|
50
|
+
Args:
|
|
51
|
+
payloads: The ``payloads`` object from a gateway trace (i.e.
|
|
52
|
+
``trace["payloads"]``), mapping payload-type name -> ``{"manifest", "data"}``.
|
|
53
|
+
on_error: Optional callback ``(payload_type, exc)`` invoked when a present
|
|
54
|
+
payload fails to decode. Defaults to logging a warning. A failure in
|
|
55
|
+
one payload never blocks the others.
|
|
56
|
+
|
|
57
|
+
Returns:
|
|
58
|
+
``{PayloadType: DecodedPayload}`` for every payload that is present and
|
|
59
|
+
decodes successfully. Only known ``PayloadType`` members are considered,
|
|
60
|
+
so unknown payload types from a newer gateway are ignored rather than
|
|
61
|
+
raising.
|
|
62
|
+
"""
|
|
63
|
+
if not isinstance(payloads, dict):
|
|
64
|
+
return {}
|
|
65
|
+
|
|
66
|
+
decoded: Dict[PayloadType, DecodedPayload] = {}
|
|
67
|
+
for ptype, decoder in PAYLOAD_DECODERS.items():
|
|
68
|
+
entry = payloads.get(ptype)
|
|
69
|
+
if not isinstance(entry, dict) or not entry.get("data"):
|
|
70
|
+
continue
|
|
71
|
+
try:
|
|
72
|
+
decoded[ptype] = decoder(entry["data"])
|
|
73
|
+
except Exception as exc: # noqa: BLE001 - isolate per-payload failures
|
|
74
|
+
if on_error is not None:
|
|
75
|
+
on_error(ptype, exc)
|
|
76
|
+
else:
|
|
77
|
+
logger.warning("Failed to decode %s payload: %s", ptype.value, exc)
|
|
78
|
+
return decoded
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def decode_trace(
|
|
82
|
+
trace: Dict[str, Any],
|
|
83
|
+
*,
|
|
84
|
+
on_error: Optional[OnError] = None,
|
|
85
|
+
) -> Dict[PayloadType, DecodedPayload]:
|
|
86
|
+
"""Convenience wrapper around :func:`decode_payloads` for a raw trace dict."""
|
|
87
|
+
payloads = trace.get("payloads") if isinstance(trace, dict) else None
|
|
88
|
+
return decode_payloads(payloads or {}, on_error=on_error)
|
|
@@ -20,6 +20,8 @@ from typing import Any, Dict, List, Optional, Tuple
|
|
|
20
20
|
|
|
21
21
|
import zstandard as zstd
|
|
22
22
|
|
|
23
|
+
from .types import DecodedPayload, PayloadType
|
|
24
|
+
|
|
23
25
|
MAGIC = b"R3V1"
|
|
24
26
|
HEADER_FORMAT = "<4sBBBBIIIIQ"
|
|
25
27
|
HEADER_SIZE = struct.calcsize(HEADER_FORMAT) # 32 bytes
|
|
@@ -185,3 +187,16 @@ def decompress_and_parse_r3(
|
|
|
185
187
|
matrices[pos] = base64.b64encode(matrix_bytes[start:end]).decode("ascii")
|
|
186
188
|
|
|
187
189
|
return matrices, metadata
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
def decode_router_replay(data_b64: str) -> DecodedPayload:
|
|
193
|
+
"""Decode a gateway ``payloads.router_replay.data`` blob into a ``DecodedPayload``.
|
|
194
|
+
|
|
195
|
+
``value`` is the per-token ``List[Optional[str]]`` of base64 routing matrices.
|
|
196
|
+
"""
|
|
197
|
+
matrices, metadata = decompress_and_parse_r3(data_b64)
|
|
198
|
+
return DecodedPayload(
|
|
199
|
+
payload_type=PayloadType.ROUTER_REPLAY,
|
|
200
|
+
value=matrices,
|
|
201
|
+
metadata=metadata,
|
|
202
|
+
)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"""Shared types for the Fireworks tracing-gateway payload decoders."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
from enum import Enum
|
|
7
|
+
from typing import Any, Dict, List, Optional
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class PayloadType(str, Enum):
|
|
11
|
+
"""Known out-of-band trace payload types emitted by the tracing gateway.
|
|
12
|
+
|
|
13
|
+
Canonical source of truth for payload-type names on the EP side. Mirrors the
|
|
14
|
+
gateway's ``rft_tracing.schemas.PayloadType`` but is defined locally so this
|
|
15
|
+
package has no dependency on the gateway/mono codebase. Being a ``str`` enum,
|
|
16
|
+
members compare and hash equal to their string value, so they can be used
|
|
17
|
+
directly against the gateway's string-keyed ``payloads`` JSON.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
PROMPT_TOKEN_IDS = "prompt_token_ids"
|
|
21
|
+
LOGPROBS = "logprobs"
|
|
22
|
+
ROUTER_REPLAY = "router_replay"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@dataclass(frozen=True)
|
|
26
|
+
class DecodedPayload:
|
|
27
|
+
"""A single decoded gateway payload.
|
|
28
|
+
|
|
29
|
+
``value`` shape depends on ``payload_type``:
|
|
30
|
+
- ``PROMPT_TOKEN_IDS`` -> ``List[int]``
|
|
31
|
+
- ``LOGPROBS`` -> ``List[float]`` (per completion token); the
|
|
32
|
+
optional per-token ids are in ``token_ids``
|
|
33
|
+
- ``ROUTER_REPLAY`` -> ``List[Optional[str]]`` (per-token base64 routing
|
|
34
|
+
matrices, ``None`` where absent)
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
payload_type: PayloadType
|
|
38
|
+
value: Any
|
|
39
|
+
metadata: Dict[str, Any]
|
|
40
|
+
# LOGPROBS only: per-completion-token ids, or None if any were missing.
|
|
41
|
+
token_ids: Optional[List[int]] = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: eval-protocol
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.32
|
|
4
4
|
Summary: The official Python SDK for Eval Protocol (EP.) EP is an open protocol that standardizes how developers author evals for large language model (LLM) applications.
|
|
5
5
|
Author-email: Fireworks AI <info@fireworks.ai>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -263,6 +263,12 @@ eval_protocol/rewards/repetition.py
|
|
|
263
263
|
eval_protocol/rewards/tag_count.py
|
|
264
264
|
eval_protocol/stats/__init__.py
|
|
265
265
|
eval_protocol/stats/confidence_intervals.py
|
|
266
|
+
eval_protocol/tracing/__init__.py
|
|
267
|
+
eval_protocol/tracing/logprobs.py
|
|
268
|
+
eval_protocol/tracing/prompt_token_ids.py
|
|
269
|
+
eval_protocol/tracing/registry.py
|
|
270
|
+
eval_protocol/tracing/router_replay.py
|
|
271
|
+
eval_protocol/tracing/types.py
|
|
266
272
|
eval_protocol/training/__init__.py
|
|
267
273
|
eval_protocol/training/gepa_trainer.py
|
|
268
274
|
eval_protocol/training/gepa_utils.py
|