verifiers 0.3.2.dev80__tar.gz → 0.3.2.dev82__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.
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/PKG-INFO +1 -1
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/conftest.py +1 -1
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/test_e2e.py +9 -1
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/utils/core.py +1 -9
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/runtimes/modal.py +120 -2
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/.gitignore +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/LICENSE +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/README.md +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/pyproject.toml +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/fixtures/duet_v1.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/test_configs.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/test_envs.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/test_graph.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/test_judges.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/test_platform_run.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/test_scoring.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/test_taskset.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/tests/v1/test_trace.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/acp/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/acp/runner.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/agent.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/debug.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/gepa.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/resume.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/clients/base.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/agent.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/cli/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/cli/debug.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/cli/env.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/cli/eval.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/cli/init.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/cli/replay.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/cli/validate.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/client.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/env.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/judge.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/retries.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/runtime.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/task.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/configs/taskset.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/env.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/agentic_judge/env.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/best_of_n/env.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/isolated_verifier/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/isolated_verifier/env.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/single_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/single_agent/env.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/user_sim/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/user_sim/env.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/episode.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/errors.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/gepa/dataset.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/graph.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/browser_use/program.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/node.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/pool/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/pool/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/utils/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/utils/compaction.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/utils/install.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/utils/launch.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/utils/mcp.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/interception/tool.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/judge.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/runtimes/base.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/runtimes/docker/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/runtimes/docker/egress.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/semantic.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/serve/encoding.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/session.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/state.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/task.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/harbor/env.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/harbor/toolset.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/lean/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/lean/scoring.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/lean/taskset.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/trace.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/types.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/artifacts.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/compile.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/decorators.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/git.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/loaders.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/paths.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/platform.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/prime.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/retries.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/score.py +0 -0
- {verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/utils/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.3.2.
|
|
3
|
+
Version: 0.3.2.dev82
|
|
4
4
|
Summary: Verifiers: Environments for LLM Reinforcement Learning
|
|
5
5
|
Project-URL: Homepage, https://github.com/primeintellect-ai/verifiers
|
|
6
6
|
Project-URL: Documentation, https://github.com/primeintellect-ai/verifiers
|
|
@@ -53,6 +53,12 @@ AGENTIC_PLACEMENTS = [
|
|
|
53
53
|
pair("hermes-agent", "docker", "hermes-agent-harness-in-docker"),
|
|
54
54
|
pair("bash", "prime", "bash-harness-in-prime"),
|
|
55
55
|
pair("bash", "modal", "bash-harness-in-modal"),
|
|
56
|
+
pytest.param(
|
|
57
|
+
"bash",
|
|
58
|
+
{"type": "modal", "allow": []},
|
|
59
|
+
marks=[mark.bash, mark.modal],
|
|
60
|
+
id="bash-harness-in-modal-framework-only",
|
|
61
|
+
),
|
|
56
62
|
]
|
|
57
63
|
|
|
58
64
|
# The scripted user runs in the eval process itself (no placement axis); the harness
|
|
@@ -417,7 +423,9 @@ async def test_agentic(run_v1, harness, harness_runtime, tmp_path):
|
|
|
417
423
|
(trace,) = await run_v1(
|
|
418
424
|
"echo-agentic-v1",
|
|
419
425
|
harness=harness,
|
|
420
|
-
runtime=
|
|
426
|
+
runtime=harness_runtime
|
|
427
|
+
if isinstance(harness_runtime, dict)
|
|
428
|
+
else {"type": harness_runtime},
|
|
421
429
|
output_dir=tmp_path,
|
|
422
430
|
max_turns=10,
|
|
423
431
|
max_tokens=8192,
|
|
@@ -14,7 +14,6 @@ from openai import APIStatusError, AsyncOpenAI
|
|
|
14
14
|
if TYPE_CHECKING:
|
|
15
15
|
# The harness bundles this module into the generated script before execution.
|
|
16
16
|
from verifiers.v1.harnesses.utils.compaction import ( # noqa: TC004
|
|
17
|
-
CompactionFailed,
|
|
18
17
|
Compactor,
|
|
19
18
|
bound_tool_message,
|
|
20
19
|
compactable,
|
|
@@ -226,10 +225,6 @@ async def run_chat_loop(
|
|
|
226
225
|
while True:
|
|
227
226
|
try:
|
|
228
227
|
completion, messages = await compactor.complete(messages)
|
|
229
|
-
except CompactionFailed:
|
|
230
|
-
# The context is exhausted and could not be summarized: end the run
|
|
231
|
-
# cleanly with what the conversation holds - still a trainable sample.
|
|
232
|
-
return
|
|
233
228
|
except APIStatusError as error:
|
|
234
229
|
# Null cannot compact, so context exhaustion ends it with the transcript so far.
|
|
235
230
|
if args.bash or not is_context_overflow(error):
|
|
@@ -310,10 +305,7 @@ async def run_chat_loop(
|
|
|
310
305
|
messages.append(tool_message)
|
|
311
306
|
tool_result_tokens += estimated_tokens(str(tool_message["content"]))
|
|
312
307
|
if compactor.reached(completion, tool_result_tokens) and compactable(messages):
|
|
313
|
-
|
|
314
|
-
messages = await compactor.compact(messages)
|
|
315
|
-
except CompactionFailed:
|
|
316
|
-
return
|
|
308
|
+
messages = await compactor.compact(messages)
|
|
317
309
|
|
|
318
310
|
|
|
319
311
|
def parse_args() -> argparse.Namespace:
|
|
@@ -10,14 +10,18 @@ program in the sandbox reaching a host service) is the shared host-side `Tunnel`
|
|
|
10
10
|
import asyncio
|
|
11
11
|
import contextlib
|
|
12
12
|
import logging
|
|
13
|
+
import re
|
|
13
14
|
import shlex
|
|
14
15
|
import uuid
|
|
15
16
|
from collections.abc import AsyncIterator
|
|
17
|
+
from ipaddress import ip_address
|
|
16
18
|
from pathlib import PurePosixPath
|
|
17
19
|
from typing import ClassVar, Literal
|
|
20
|
+
from urllib.parse import urlsplit
|
|
18
21
|
|
|
19
|
-
from
|
|
22
|
+
from pydantic import model_validator
|
|
20
23
|
|
|
24
|
+
from verifiers.v1.configs.runtime import NetworkPolicyConfig
|
|
21
25
|
from verifiers.v1.errors import SandboxError
|
|
22
26
|
from verifiers.v1.runtimes.base import (
|
|
23
27
|
SERVICE_PORT,
|
|
@@ -36,12 +40,49 @@ logger = logging.getLogger(__name__)
|
|
|
36
40
|
_APP_NAME = "verifiers-v1"
|
|
37
41
|
|
|
38
42
|
|
|
39
|
-
|
|
43
|
+
def _egress_domain(rule: str, *, framework: bool = False) -> str | None:
|
|
44
|
+
"""Translate only domains Modal can filter without broadening the rule."""
|
|
45
|
+
parsed = urlsplit(rule if "://" in rule else f"//{rule}")
|
|
46
|
+
host = (parsed.hostname or "").lower().rstrip(".")
|
|
47
|
+
try:
|
|
48
|
+
address = ip_address(host)
|
|
49
|
+
except ValueError:
|
|
50
|
+
address = None
|
|
51
|
+
# Colocated tools are container-local; they need no external network grant.
|
|
52
|
+
if (
|
|
53
|
+
framework
|
|
54
|
+
and parsed.scheme in ("http", "https")
|
|
55
|
+
and (host == "localhost" or (address is not None and address.is_loopback))
|
|
56
|
+
):
|
|
57
|
+
return None
|
|
58
|
+
if (
|
|
59
|
+
parsed.scheme not in (("https",) if framework else ("", "https"))
|
|
60
|
+
or parsed.port not in (None, 443)
|
|
61
|
+
or parsed.username is not None
|
|
62
|
+
or parsed.password is not None
|
|
63
|
+
or address is not None
|
|
64
|
+
or not re.fullmatch(
|
|
65
|
+
r"(?:\*\.)?(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*"
|
|
66
|
+
r"[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?",
|
|
67
|
+
host,
|
|
68
|
+
)
|
|
69
|
+
or (framework and "*" in host)
|
|
70
|
+
):
|
|
71
|
+
raise ValueError(
|
|
72
|
+
f"Modal egress rule {rule!r} is unsupported; use DNS names or HTTPS "
|
|
73
|
+
"origins on port 443 (only a leading *. wildcard is supported)"
|
|
74
|
+
)
|
|
75
|
+
return host
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
class ModalConfig(NetworkPolicyConfig):
|
|
40
79
|
type: Literal["modal"] = "modal"
|
|
41
80
|
image: str = "python:3.11-slim"
|
|
42
81
|
workdir: str | None = None
|
|
43
82
|
"""Working directory override; None uses the task's workdir, or /app."""
|
|
44
83
|
network_access: bool = True
|
|
84
|
+
"""Allow network access at creation. False blocks all egress, including setup;
|
|
85
|
+
it cannot be combined with execution-time allow/block policies."""
|
|
45
86
|
region: str | None = None
|
|
46
87
|
"""Region to provision in (None = provider-chosen)."""
|
|
47
88
|
# TaskData.resources uses these units; non-default runtime config values take precedence.
|
|
@@ -58,6 +99,22 @@ class ModalConfig(BaseConfig):
|
|
|
58
99
|
"""Pace sandbox creation to this many per second, enforced user-wide across every
|
|
59
100
|
env-server worker process (None/<= 0 disables it)."""
|
|
60
101
|
|
|
102
|
+
@model_validator(mode="after")
|
|
103
|
+
def _validate_egress(self) -> "ModalConfig":
|
|
104
|
+
if not self.network_restricted:
|
|
105
|
+
return self
|
|
106
|
+
if not self.network_access:
|
|
107
|
+
raise ValueError(
|
|
108
|
+
"Modal allow/block policies require network_access=true for trusted setup"
|
|
109
|
+
)
|
|
110
|
+
if self.allow == ["*"]:
|
|
111
|
+
raise ValueError(
|
|
112
|
+
"Modal does not support egress deny lists; use an allowlist or allow=[]"
|
|
113
|
+
)
|
|
114
|
+
for rule in self.allow:
|
|
115
|
+
_egress_domain(rule)
|
|
116
|
+
return self
|
|
117
|
+
|
|
61
118
|
|
|
62
119
|
class ModalRuntimeInfo(ModalConfig, BaseRuntimeInfo):
|
|
63
120
|
pass
|
|
@@ -124,6 +181,14 @@ class ModalRuntime(Runtime):
|
|
|
124
181
|
"ModalRuntime requires the Modal SDK; install `verifiers[modal]`."
|
|
125
182
|
) from e
|
|
126
183
|
|
|
184
|
+
if self.network_restricted and not hasattr(
|
|
185
|
+
modal.Sandbox, "_experimental_set_outbound_network_policy"
|
|
186
|
+
):
|
|
187
|
+
raise SandboxError(
|
|
188
|
+
"Modal execution-time network policies require a Modal SDK with "
|
|
189
|
+
"_experimental_set_outbound_network_policy; upgrade verifiers[modal]"
|
|
190
|
+
)
|
|
191
|
+
|
|
127
192
|
try:
|
|
128
193
|
app = await modal.App.lookup.aio(_APP_NAME, create_if_missing=True)
|
|
129
194
|
async with (
|
|
@@ -152,6 +217,16 @@ class ModalRuntime(Runtime):
|
|
|
152
217
|
"""
|
|
153
218
|
import modal
|
|
154
219
|
|
|
220
|
+
# Modal requires both allowlist types at creation before they can be updated.
|
|
221
|
+
# Trusted setup runs open; prepare_execution removes the broad CIDR grant.
|
|
222
|
+
network = (
|
|
223
|
+
{
|
|
224
|
+
"outbound_domain_allowlist": ["*"],
|
|
225
|
+
"outbound_cidr_allowlist": ["0.0.0.0/0"],
|
|
226
|
+
}
|
|
227
|
+
if self.network_restricted
|
|
228
|
+
else {}
|
|
229
|
+
)
|
|
155
230
|
self._sandbox = await modal.Sandbox.create.aio(
|
|
156
231
|
"sleep",
|
|
157
232
|
"infinity", # keep-alive entrypoint; the harness runs via `exec`
|
|
@@ -168,10 +243,53 @@ class ModalRuntime(Runtime):
|
|
|
168
243
|
gpu=self.config.gpu,
|
|
169
244
|
region=self.config.region,
|
|
170
245
|
block_network=not self.config.network_access,
|
|
246
|
+
**network,
|
|
171
247
|
timeout=24 * 60 * 60, # Maximum lifetime of any sandbox.
|
|
172
248
|
encrypted_ports=[SERVICE_PORT],
|
|
173
249
|
)
|
|
174
250
|
|
|
251
|
+
async def prepare_execution(self, routes: list[str] | None) -> None:
|
|
252
|
+
"""Apply TLS domain filtering after setup, retaining framework endpoints.
|
|
253
|
+
|
|
254
|
+
Modal filters TLS SNI on port 443, not HTTP Host headers or URL paths.
|
|
255
|
+
This inherits Modal's domain-fronting limitations on shared TLS endpoints.
|
|
256
|
+
"""
|
|
257
|
+
if not self.network_restricted:
|
|
258
|
+
return
|
|
259
|
+
try:
|
|
260
|
+
if routes is None:
|
|
261
|
+
domains, cidrs = ["*"], ["0.0.0.0/0"]
|
|
262
|
+
else:
|
|
263
|
+
domains = list(
|
|
264
|
+
dict.fromkeys(
|
|
265
|
+
domain
|
|
266
|
+
for domain in [
|
|
267
|
+
*(
|
|
268
|
+
_egress_domain(route, framework=True)
|
|
269
|
+
for route in routes
|
|
270
|
+
),
|
|
271
|
+
*(_egress_domain(rule) for rule in self.config.allow),
|
|
272
|
+
]
|
|
273
|
+
if domain is not None
|
|
274
|
+
)
|
|
275
|
+
)
|
|
276
|
+
cidrs = []
|
|
277
|
+
# Always send both lists: leaving the setup CIDR grant would bypass domains.
|
|
278
|
+
# The awaited RPC applies the policy and closes newly disallowed connections.
|
|
279
|
+
async with asyncio.timeout(60):
|
|
280
|
+
await self._sandbox._experimental_set_outbound_network_policy.aio(
|
|
281
|
+
outbound_domain_allowlist=domains,
|
|
282
|
+
outbound_cidr_allowlist=cidrs,
|
|
283
|
+
)
|
|
284
|
+
except Exception as e:
|
|
285
|
+
raise SandboxError(f"modal egress policy failed: {e}") from e
|
|
286
|
+
logger.info(
|
|
287
|
+
"modal: egress policy applied on sandbox %s (domains=%s cidrs=%s)",
|
|
288
|
+
self.info.id,
|
|
289
|
+
domains,
|
|
290
|
+
cidrs,
|
|
291
|
+
)
|
|
292
|
+
|
|
175
293
|
async def expose(self, port: int) -> str | None:
|
|
176
294
|
# Publish a server hosted IN the sandbox: Modal forwards `port` (named via
|
|
177
295
|
# `encrypted_ports` at creation) to a public URL, read back from `sandbox.tunnels()`.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/isolated_verifier/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/envs/shared_agentic_judge/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/browser_use/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/browser_use/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/browser_use/program.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/claude_code/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/claude_code/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/hermes_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/hermes_agent/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/hermes_agent/program.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/kimi_code/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/mini_swe_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/mini_swe_agent/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/mini_swe_agent/program.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/prime_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/prime_agent/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/terminus_2/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/terminus_2/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/harnesses/terminus_2/program.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev80 → verifiers-0.3.2.dev82}/verifiers/v1/interception/tunnel/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|