inspect-ai 0.3.51__tar.gz → 0.3.53__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.
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/.pre-commit-config.yaml +1 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/CHANGELOG.md +31 -0
- {inspect_ai-0.3.51/src/inspect_ai.egg-info → inspect_ai-0.3.53}/PKG-INFO +2 -4
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/_quarto.yml +0 -3
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/_sandboxenv-interface.md +1 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/extensions.qmd +5 -0
- inspect_ai-0.3.53/docs/images/task-max-sandboxes.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/models.qmd +10 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/parallelism.qmd +6 -4
- inspect_ai-0.3.53/docs/scripts/post-render.sh +23 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/tools.qmd +1 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/workflow.qmd +4 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/pyproject.toml +1 -2
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/requirements.txt +0 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_cli/eval.py +44 -2
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/core/config.py +4 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/core/panel.py +1 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/core/progress.py +9 -3
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/core/results.py +8 -4
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/widgets/task_detail.py +45 -13
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/widgets/tasks.py +86 -5
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/widgets/transcript.py +4 -17
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/eval.py +29 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/evalset.py +7 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/registry.py +2 -2
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/task/log.py +6 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/task/results.py +22 -4
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/task/run.py +18 -12
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/task/sandbox.py +72 -43
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/task/task.py +4 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/task/util.py +17 -6
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/logger.py +10 -2
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/samples.py +7 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/transcript.py +8 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/App.css +13 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/dist/assets/index.css +13 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/dist/assets/index.js +105 -55
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/App.mjs +31 -6
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/Types.mjs +6 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/JsonPanel.mjs +11 -17
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/MessageContent.mjs +9 -2
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/Tools.mjs +46 -18
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/navbar/Navbar.mjs +12 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/SampleDisplay.mjs +18 -5
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/SampleList.mjs +2 -2
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/ToolEventView.mjs +2 -2
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_log.py +6 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_recorders/eval.py +8 -7
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_call_tools.py +2 -6
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_generate_config.py +6 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_model.py +18 -4
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/azureai.py +22 -2
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/bedrock.py +17 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/hf.py +1 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/openai.py +32 -8
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/providers.py +1 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/vllm.py +1 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_render.py +7 -6
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_trace.py +1 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/solver/_basic_agent.py +8 -1
- inspect_ai-0.3.53/src/inspect_ai/tool/_tool_transcript.py +28 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/context.py +1 -2
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/docker/config.py +8 -10
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/docker/docker.py +9 -5
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/docker/util.py +3 -3
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/environment.py +7 -2
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/limits.py +1 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/local.py +8 -9
- {inspect_ai-0.3.51 → inspect_ai-0.3.53/src/inspect_ai.egg-info}/PKG-INFO +2 -4
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai.egg-info/SOURCES.txt +4 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai.egg-info/requires.txt +1 -3
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/scorer/test_metric.py +80 -0
- inspect_ai-0.3.53/tests/solver/test_setup.py +21 -0
- inspect_ai-0.3.53/tests/test_sample_id.py +28 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/CHANGELOG.md +9 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/package.json +1 -1
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/extension.ts +1 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/logview/logview-panel.ts +1 -1
- inspect_ai-0.3.51/docs/scripts/post-render.sh +0 -13
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/.github/dependabot.yml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/.github/pull_request_template.md +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/.github/workflows/build.yml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/.github/workflows/docs.yml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/.github/workflows/log_viewer.yml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/.github/workflows/pypi.yml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/.github/workflows/vscode.yml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/.gitignore +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/.vscode/extensions.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/.vscode/settings.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/CITATION.cff +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/LICENSE +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/Makefile +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/README.md +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/.gitignore +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/CNAME +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/_errors_and_retries.md +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/_sample-preservation.md +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/_tools-annotations-required.md +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/_tools-scaffold.md +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/_trace.md +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/_variables.yml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/agents-api.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/agents.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/approval.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/caching.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/datasets.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/errors-and-limits.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/eval-logs.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/eval-sets.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/examples/examples.bib +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/examples/examples.css +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/examples/examples.ejs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/examples/examples.yml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/examples/index.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/aisi-logo.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/eval-log.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-activity-bar.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-multiple-models.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-view-answers.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-view-filter.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-view-history.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-view-home.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-view-info.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-view-logging-console.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-view-logging.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-view-main.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-view-messages.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-view-metadata.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-view-scoring.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-view-sort.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-view-splash.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-vscode-config.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-vscode-install.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-vscode-logview.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-vscode-output-channel.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect-vscode-run-task.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/inspect.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/logs-drop-down.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/logs-open-button.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/logs.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/popularity.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/python-tool-view.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/rate-limit.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/running-theory.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/toolenv-no-cleanup.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/images/web-browser-tool-view.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/index.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/interactivity.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/llms.txt +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/log-viewer.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/scorers.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/solvers.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/theme.scss +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/tutorial.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/docs/vscode.qmd +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/approval/README.md +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/approval/approval.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/approval/approval.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/biology_qa.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/browser/browser.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/browser/compose.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/cache.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/evalset.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/hello_world.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/images/ballons.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/images/bike.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/images/images.jsonl +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/images/images.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/intervention/Dockerfile +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/intervention/README.md +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/intervention/compose.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/intervention/intervention.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/langchain/.env.example +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/langchain/.gitignore +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/langchain/README.md +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/langchain/inspect_langchain.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/langchain/requirements.txt +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/langchain/wikipedia.jsonl +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/langchain/wikipedia.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/popularity.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/security_guide.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/theory_of_mind.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/examples/tool_use.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/setup.cfg +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/__main__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_cli/cache.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_cli/common.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_cli/info.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_cli/list.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_cli/log.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_cli/main.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_cli/sandbox.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_cli/score.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_cli/util.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_cli/view.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/core/active.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/core/display.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/core/footer.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/core/group.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/core/rich.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/core/textual.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/rich/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/rich/display.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/app.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/app.tcss +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/display.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/theme.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/widgets/clock.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/widgets/console.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/widgets/footer.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/widgets/samples.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/widgets/titlebar.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/widgets/toggle.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/context.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/list.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/loader.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/run.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/score.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/task/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/task/constants.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/task/epochs.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/task/error.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/task/generate.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/task/images.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_eval/task/rundir.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/_async.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/appdirs.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/config.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/constants.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/content.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/datetime.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/decorator.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/deprecation.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/dev.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/dict.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/display.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/dotenv.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/entrypoints.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/environ.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/error.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/file.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/format.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/git.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/hash.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/hooks.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/html.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/http.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/images.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/json.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/list.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/notebook.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/package.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/path.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/pattern.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/platform.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/registry.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/retry.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/rich.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/terminal.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/text.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/throttle.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/timeouts.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/url.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_util/version.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/notify.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/schema.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/server.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/view.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/.gitignore +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/.prettierignore +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/.tool-versions +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/README.md +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/dist/assets/favicon.svg +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/dist/index.html +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/eslint.config.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/favicon.svg +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/index.html +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/jsconfig.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/log-schema.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/package.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/postcss.config.cjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/Register.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/api/Types.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/api/api-browser.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/api/api-http.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/api/api-shared.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/api/api-vscode.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/api/client-api.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/api/index.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/api/jsonrpc.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/appearance/Colors.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/appearance/Fonts.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/appearance/Icons.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/appearance/Styles.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/AnsiDisplay.css +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/AnsiDisplay.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/AppErrorBoundary.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/Browser.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/Card.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/ChatView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/CopyButton.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/Dialog.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/DownloadButton.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/DownloadPanel.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/EmptyPanel.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/ErrorPanel.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/ExpandablePanel.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/FindBand.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/LabeledValue.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/LargeModal.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/MarkdownDiv.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/MessageBand.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/MetaDataGrid.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/MetaDataView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/MorePopOver.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/NavPills.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/ProgressBar.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/RenderedContent/ChatMessageRenderer.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/RenderedContent/RenderedContent.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/RenderedContent/Types.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/TabSet.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/ToolButton.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/VirtualList.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/components/ansi-output.js +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/constants.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/index.js +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/json/JsonTab.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/log/remoteLogFile.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/log-reader/Log-Reader.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/log-reader/Native-Log-Reader.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/log-reader/Open-AI-Log-Reader.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/navbar/SecondaryBar.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/plan/PlanCard.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/SampleDialog.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/SampleError.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/SampleLimit.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/SampleScoreView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/SampleScores.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/SampleTranscript.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/SamplesDescriptor.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/SamplesTab.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/SamplesTools.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/tools/EpochFilter.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/tools/SampleFilter.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/tools/SelectScorer.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/tools/SortFilter.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/tools/filters.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/ApprovalEventView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/ErrorEventView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/EventPanel.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/EventRow.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/EventSection.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/InfoEventView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/InputEventView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/LoggerEventView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/ModelEventView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/SampleInitEventView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/SampleLimitEventView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/ScoreEventView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/StepEventView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptState.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/Types.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/state/StateDiffView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventRenderers.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventView.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/sidebar/Sidebar.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/types/jsondiffpatch.d.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/types/log.d.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/types/prism.d.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/usage/ModelTokenTable.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/usage/UsageCard.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/Base64.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/Format.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/Git.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/Html.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/Json.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/Path.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/Print.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/Type.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/attachments.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/debugging.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/http.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/queue.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/remoteZipFile.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/sync.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/utils/vscode.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/workspace/TaskErrorPanel.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/src/workspace/WorkSpace.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/tsconfig.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/vite.config.js +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_view/www/yarn.lock +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/approval/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/approval/_apply.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/approval/_approval.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/approval/_approver.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/approval/_auto.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/approval/_call.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/approval/_human/approver.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/approval/_human/console.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/approval/_human/manager.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/approval/_human/panel.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/approval/_human/util.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/approval/_policy.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/approval/_registry.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/_dataset.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/_examples/bias_detection.jsonl +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/_examples/biology_qa.jsonl +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/_examples/popularity.jsonl +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/_examples/security_guide.jsonl +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/_examples/theory_of_mind.jsonl +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/_sources/csv.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/_sources/example.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/_sources/file.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/_sources/hf.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/_sources/json.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/_sources/util.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/dataset/_util.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_bundle.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_condense.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_convert.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_file.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_message.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_recorders/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_recorders/create.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_recorders/file.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_recorders/json.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_recorders/recorder.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_retry.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_samples.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/log/_transcript.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_cache.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_chat_message.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_image.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_model_call.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_model_output.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/anthropic.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/cloudflare.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/google.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/grok.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/groq.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/llama_cpp_python.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/mistral.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/mockllm.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/ollama.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/openai_o1.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/together.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/util/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/util/chatapi.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/util/hf_handler.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/util/llama31.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/util/util.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_providers/vertex.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/model/_registry.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/py.typed +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_answer.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_choice.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_classification.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_common.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_match.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_metric.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_metrics/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_metrics/accuracy.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_metrics/mean.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_metrics/std.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_model.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_multi.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_pattern.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_reducer/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_reducer/reducer.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_reducer/registry.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_reducer/types.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_score.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_scorer.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/scorer/_target.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/solver/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/solver/_chain.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/solver/_critique.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/solver/_fork.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/solver/_multiple_choice.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/solver/_plan.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/solver/_prompt.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/solver/_solver.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/solver/_task_state.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/solver/_transcript.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/solver/_use_tools.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/solver/_util.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tool.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tool_call.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tool_choice.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tool_def.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tool_description.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tool_info.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tool_params.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tool_with.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_execute.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/Dockerfile +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/README.md +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/accessibility_node.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/dm_env_servicer.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/images/usage_diagram.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/mock_environment.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/playwright_crawler.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_accessibility_node.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_dm_env_servicer.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_playwright_crawler.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_web_environment.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client_new_session.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_environment.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_server.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_browser/_web_browser.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/tool/_tools/_web_search.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_concurrency.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_console.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_panel.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_resource.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/docker/cleanup.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/docker/compose.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/docker/internal.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/docker/prereqs.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/registry.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/self_check.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_sandbox/service.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_store.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_subprocess.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_subtask.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/util/_trace.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai.egg-info/dependency_links.txt +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai.egg-info/entry_points.txt +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai.egg-info/top_level.txt +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/approval/approve.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/approval/escalate.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/approval/modify.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/approval/reject.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/approval/terminate.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/approval/test_approval.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/conftest.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/dataset/test_dataset/dataset.jsonl +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/dataset/test_dataset/images/ballons.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/dataset/test_dataset/images.jsonl +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/dataset/test_dataset/samples-md.csv +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/dataset/test_dataset/samples-md.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/dataset/test_dataset/samples-md.jsonl +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/dataset/test_dataset/samples.csv +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/dataset/test_dataset/samples.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/dataset/test_dataset/samples.jsonl +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/dataset/test_dataset.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_eval_log/log_formats.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_eval_log/log_images.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_eval_log/log_images_tc.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_eval_log/log_invalid.txt +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_eval_log/log_length_stop_reason.txt +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_eval_log/log_streaming.eval +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_eval_log/log_valid.txt +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_eval_log/log_version_3.txt +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_eval_log/log_with_nan.txt +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_eval_log.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_list_logs/2024-11-05T13-31-45-05-00_input-task_8zXjbRzCWrL9GXiXo2vus9.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_list_logs/2024-11-05T13-32-37-05-00_input-task_hxs4q9azL3ySGkjJirypKZ.eval +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_list_logs/custom.eval +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_list_logs/ignore.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_list_logs.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_log_attachments.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_log_formats.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_log_level.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_log_streaming.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/log/test_log_tags.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/providers/test_anthropic.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/providers/test_azureai.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/providers/test_cloudflare.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/providers/test_google.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/providers/test_grok.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/providers/test_groq.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/providers/test_hf.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/providers/test_llama_cpp_python.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/providers/test_openai.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/providers/test_openai_o1.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/providers/test_vertex.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/providers/test_vllm.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/test_api_key.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/test_collapse_assistant_message.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/test_collapse_user_message.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/test_disable.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/test_logprobs.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/test_mock_model_llm.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/test_num_choices.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/test_parse_tool_call.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/model/test_stop_reason.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/scorer/test_answer.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/scorer/test_choice.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/scorer/test_classification.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/scorer/test_match.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/scorer/test_model_graded.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/scorer/test_multiscorer.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/scorer/test_pattern.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/scorer/test_reducers.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/scorer/test_scorer.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/scorer/test_value_to_float.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/solver/test_basic_agent.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/solver/test_chain.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/solver/test_fork.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/solver/test_multiple_choice.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/solver/test_prompt.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/solver/test_solver.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/solver/test_solver_decorator.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/solver/test_solver_spec.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/solver/test_store.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/solver/test_subtask.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/solver/test_transcript.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_eval.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_eval_config/model.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_eval_config/solver.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_eval_config/task.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_eval_config.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_eval_set/2024-08-29T15-11-17+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_eval_set/2024-08-29T15-11-18+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_eval_set.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_examples.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_extensions.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_fail_on_error.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_helpers/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_helpers/tasks.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_helpers/tool_call_utils.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_helpers/tools.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_helpers/utils.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_list_task.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_log_dir/example_task/example_task.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_log_dir/test_log_dir.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_package/.gitignore +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_package/inspect_package/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_package/inspect_package/_registry.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_package/inspect_package/approvers/renamer.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_package/inspect_package/modelapi/custom.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_package/inspect_package/py.typed +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_package/inspect_package/sandboxenv/podman.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_package/inspect_package/score/scorer.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_package/inspect_package/solvers/cot.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_package/pyproject.toml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_retry.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_run_dir/task1/task1.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_run_dir/task2/task2.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_run_dir.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_sample_limits.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_attr.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_list/__init__.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_list/attribs.ipynb +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_list/multiple.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_list/multiple_dir/_decoy/testit.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_list/multiple_dir/_decoy2.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_list/multiple_dir/bar.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_list/multiple_dir/foo.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_list/recurse/.folder3/epsilon.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_list/recurse/folder1/_decoy.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_list/recurse/folder1/theta.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_list/recurse/folder2/.folder3/epsilon.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_list/recurse/folder2/another.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/test_task_list/recurse/folder2/first.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/docker-compose-context/Dockerfile +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/docker-compose-context-alpine/Dockerfile +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_bash_tool.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_max_exec_output.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_max_tool_output.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_python_tool.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_sandbox_compose.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_sandbox_compose_alpine.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_sandbox_docker_and_local.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_sandbox_dockerfile.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_sandbox_tool_eval.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_tool_def.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_tool_parse.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_tool_types.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_tool_view.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_tool_with.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_tools.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_use_tools.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_web_browser.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/tools/test_web_browser_compose.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/util/sandbox/docker_compose_multiple_services/docker-compose.yaml +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/util/sandbox/sandbox_setup.sh +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/util/sandbox/test_docker_compose_multiple_services.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/util/sandbox/test_sandbox_service.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/util/sandbox/test_sandbox_setup.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/util/test_file.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/util/test_images/images.jsonl +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/util/test_images.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/util/test_package.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/util/test_registry.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/util/test_str_to_float.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/util/test_subprocess.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tests/view/test_bundle.py +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/.eslintrc.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/.gitignore +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/.vscode/extensions.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/.vscode/launch.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/.vscode/settings.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/.vscode/tasks.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/.vscode-test.mjs +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/.vscodeignore +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/.yarnrc +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/LICENSE +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/README.md +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/assets/icon/eval-treeview.svg +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/assets/icon/eval.svg +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/assets/logo/inspect.png +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/assets/logo/inspect.svg +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/assets/templates/task.py.template +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/assets/www/codicon/codicon.css +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/assets/www/codicon/codicon.ttf +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/assets/www/view/view-overrides.css +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/@types/hooks.d.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/@types/log.d.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/components/document.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/components/error.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/components/focus.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/components/notebook.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/components/symbol.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/components/task.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/components/templates.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/components/webview.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/appdirs.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/command.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/dispose.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/env.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/file.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/git.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/jsonrpc.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/log.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/nonce.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/path.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/port.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/process.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/python/code.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/python/env.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/python/exec.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/python/index.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/python/interpreter.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/random.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/string.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/text.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/uri.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/vscode/association.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/wait.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/core/workspace.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/hooks/hooks.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/hooks/index.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/hooks/preview.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/inspect/index.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/inspect/logs.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/inspect/props.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/inspect/version.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/active-task/active-task-command.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/active-task/active-task-provider.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/activity-bar-provider.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/env-config-provider.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/log-listing/log-directory-selector.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-data.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-mru.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-provider.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/log-listing/log-listing.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/task-config-commands.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/task-config-provider.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/task-outline-commands.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/task-outline-provider.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.css +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.css +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/webview/vscode-controls.css +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/activity-bar/webview/webview-utils.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/codelens/codelens-provider.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/inspect/inspect-commands.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/inspect/inspect-constants.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/inspect/inspect-eval-commands.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/inspect/inspect-eval.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/inspect/inspect-logs-watcher.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/inspect/inspect-manager.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/inspect/inspect-view-server.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/lognotify.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/logview/commands.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/logview/logview-editor.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/logview/logview-link-provider.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/logview/logview-state.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/logview/logview-view.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/logview/logview.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/openlog.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/protocol-handler.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/settings/inspect-settings.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/settings/user-settings.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/statusbar.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/workspace/workspace-env-commands.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/workspace/workspace-env-provider.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/workspace/workspace-init.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/workspace/workspace-state-provider.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/providers/workspace/workspace-task-provider.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/src/test/extension.test.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/tools/ts-to-mjs/.gitignore +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/tools/ts-to-mjs/package.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/tools/ts-to-mjs/rollup.config.js +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/tools/ts-to-mjs/src/index.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/tools/ts-to-mjs/src/jsonrpc.ts +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/tools/ts-to-mjs/yarn.lock +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/tsconfig.json +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/webpack.config.js +0 -0
- {inspect_ai-0.3.51 → inspect_ai-0.3.53}/tools/vscode/yarn.lock +0 -0
@@ -1,5 +1,36 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## v0.3.53 (20 December 2024)
|
4
|
+
|
5
|
+
- OpenAI: Support for o1 including native tool calling and `reasoning_effort` generation option.
|
6
|
+
- Task API: Introduce `setup` step that always runs even if `solver` is replaced.
|
7
|
+
- Bedrock: Support for tool calling on Nova models.
|
8
|
+
- Bedrock: Support for custom `model_args` passed through to `session.Client`.
|
9
|
+
- Bedrock: Support for `jpeg` images.
|
10
|
+
- Bedrock: Correct max_tokens for llama3-8b, llama3-70b models on Bedrock.
|
11
|
+
- Inspect View: Various improvements to appearance of tool calls in transcript.
|
12
|
+
- Task display: Ensure that widths of progress elements are kept consistant across tasks.
|
13
|
+
- Sandboxes: New `max_sandboxes` option for (per-provider) maximum number of running sandboxes.
|
14
|
+
- Sandboxes: Remove use of aiofiles to mitigate potential for threading deadlocks.
|
15
|
+
- Concurrency: Do not use `max_tasks` as a lower bound for `max_samples`.
|
16
|
+
- Log recorder: Always re-open log buffer for `eval` format logs.
|
17
|
+
- Bugfix: Proper handling of text find for eval raw JSON display
|
18
|
+
- Bugfix: Correct handling for `--sample-id` integer comparisons.
|
19
|
+
- Bugfix: Proper removal of model_args with falsey values (explicit check for `None`)
|
20
|
+
- Bugfix: Properly handle custom metrics that return dictionaries or lists
|
21
|
+
- Bugfix: Proper sample count display when retrying an evaluation
|
22
|
+
- Bugfix: Fix inability to define and run tasks in a notebook.
|
23
|
+
|
24
|
+
## v0.3.52 (13 December 2024)
|
25
|
+
|
26
|
+
- Eval: `--sample-id` option for evaluating specific sample id(s).
|
27
|
+
- Bedrock: Detect and report HTTP rate limit errors.
|
28
|
+
- Azure AI: Add `emulate_tools` model arg to force tool emulation (emulation is enabled by default for Llama models).
|
29
|
+
- Basic Agent: Add `max_tool_output` parameter to override default max tool output from generate config.
|
30
|
+
- Inspect View: Correct display of sample ID for single sample tasks.
|
31
|
+
- Trace: Show custom tool views in `--trace` mode.
|
32
|
+
- Bugfix: Support for dynamic metric names in realtime scoring display.
|
33
|
+
|
3
34
|
## v0.3.51 (13 December 2024)
|
4
35
|
|
5
36
|
- Bugfix: Task display fails to load when no scorers are defined for a task.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: inspect_ai
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.53
|
4
4
|
Summary: Framework for large language model evaluations
|
5
5
|
Author: UK AI Safety Institute
|
6
6
|
License: MIT License
|
@@ -20,7 +20,6 @@ Classifier: Operating System :: OS Independent
|
|
20
20
|
Requires-Python: >=3.10
|
21
21
|
Description-Content-Type: text/markdown
|
22
22
|
License-File: LICENSE
|
23
|
-
Requires-Dist: aiofiles
|
24
23
|
Requires-Dist: aiohttp>=3.9.0
|
25
24
|
Requires-Dist: anyio>=4.4.0
|
26
25
|
Requires-Dist: beautifulsoup4
|
@@ -68,10 +67,9 @@ Requires-Dist: pytest-asyncio; extra == "dev"
|
|
68
67
|
Requires-Dist: pytest-cov; extra == "dev"
|
69
68
|
Requires-Dist: pytest-dotenv; extra == "dev"
|
70
69
|
Requires-Dist: pytest-xdist; extra == "dev"
|
71
|
-
Requires-Dist: ruff==0.8.
|
70
|
+
Requires-Dist: ruff==0.8.3; extra == "dev"
|
72
71
|
Requires-Dist: textual-dev>=0.86.2; extra == "dev"
|
73
72
|
Requires-Dist: types-PyYAML; extra == "dev"
|
74
|
-
Requires-Dist: types-aiofiles; extra == "dev"
|
75
73
|
Requires-Dist: types-beautifulsoup4; extra == "dev"
|
76
74
|
Requires-Dist: types-aioboto3; extra == "dev"
|
77
75
|
Requires-Dist: types-boto3; extra == "dev"
|
@@ -125,6 +125,10 @@ class PodmanSandboxEnvironment(SandboxEnvironment):
|
|
125
125
|
def config_files(cls) -> list[str]:
|
126
126
|
...
|
127
127
|
|
128
|
+
@classmethod
|
129
|
+
def default_concurrency(cls) -> int | None:
|
130
|
+
...
|
131
|
+
|
128
132
|
@classmethod
|
129
133
|
async def task_init(
|
130
134
|
cls, task_name: str, config: SandboxEnvironmentConfigType | None
|
@@ -180,6 +184,7 @@ The class methods take care of various stages of initialisation, setup, and tear
|
|
180
184
|
| Method | Lifecycle | Purpose |
|
181
185
|
|-------------------|-------------------|----------------------------------|
|
182
186
|
| `config_files()` | Called once to determine the names of 'default' config files for this provider (e.g. 'compose.yaml'). | |
|
187
|
+
| `default_concurrency()` | Called once to determine the default maximum number of sandboxes to run in parallel. Return `None` for no limit (the default behavior). | |
|
183
188
|
| `task_init()` | Called once for each unique sandbox environment config before executing the tasks in an `eval()` run. | Expensive initialisation operations (e.g. pulling or building images) |
|
184
189
|
| `sample_init()` | Called at the beginning of each `Sample`. | Create `SandboxEnvironment` instances for the sample. |
|
185
190
|
| `sample_cleanup()` | Called at the end of each `Sample` | Cleanup `SandboxEnvironment` instances for the sample. |
|
Binary file
|
@@ -187,6 +187,16 @@ $ export AZUREAI_BASE_URL=https://your-url-at.azure.com
|
|
187
187
|
$ inspect eval --model azureai/llama-2-70b-chat-wnsnw
|
188
188
|
```
|
189
189
|
|
190
|
+
#### Tool Emulation
|
191
|
+
|
192
|
+
When using the `azureai` model provider, tool calling support can be 'emulated' for models that Azure AI has not yet implemented tool calling for. This occurs by default for Llama models. For other models, use the `emulate_tools` model arg to force tool emulation:
|
193
|
+
|
194
|
+
```bash
|
195
|
+
inspect eval ctf.py -M emulate_tools=true
|
196
|
+
```
|
197
|
+
|
198
|
+
You can also use this option to disable tool emulation for Llama models with `emulate_tools=false`.
|
199
|
+
|
190
200
|
### AWS Bedrock {#aws-bedrock}
|
191
201
|
|
192
202
|
[AWS Bedrock](https://aws.amazon.com/bedrock/) provides hosting of models from Anthropic as well as a wide variety of other open models. Note that all models on AWS Bedrock require that you [request model access](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html) before using them in a deployment (in some cases access is granted immediately, in other cases it could one or more days).
|
@@ -122,13 +122,15 @@ This code will evaluate a total of 12 tasks (6 temperature variations against 2
|
|
122
122
|
|
123
123
|
[Sandbox Environments](agents.qmd#sec-sandbox-environments) (e.g. Docker containers) often allocate resources on a per-sample basis, and also make use of the Inspect `subprocess()` function for executing commands within the environment.
|
124
124
|
|
125
|
-
### Max
|
125
|
+
### Max Sandboxes
|
126
126
|
|
127
|
-
The `
|
127
|
+
The `max_sandboxes` option determines how many sandboxes can be executed in parallel. Individual sandbox providers can establish their own default limits (for example, the Docker provider has a default of `2 * os.cpu_count()`). You can modify this option as required, but be aware that container runtimes have resource limits, and pushing up against and beyond them can lead to instability and failed evaluations.
|
128
128
|
|
129
|
-
|
129
|
+
When a `max_sandboxes` is applied, an indicator at the bottom of the task status screen will be shown:
|
130
130
|
|
131
|
-
|
131
|
+

|
132
|
+
|
133
|
+
Note that when `max_sandboxes` is applied this effectively creates a global `max_samples` limit that is equal to the `max_sandboxes`.
|
132
134
|
|
133
135
|
### Max Subprocesses
|
134
136
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
files=("index" "tutorial" "workflow" "log-viewer" "vscode" "solvers" "tools" "agents" "agents-api" "scorers" "datasets" "models" "eval-sets" "errors-and-limits" "caching" "parallelism" "interactivity" "approval" "eval-logs" "extensions")
|
4
|
+
|
5
|
+
|
6
|
+
if [ "$QUARTO_PROJECT_RENDER_ALL" = "1" ]; then
|
7
|
+
llms_full="_site/llms-full.txt"
|
8
|
+
rm -f "${llms_full}"
|
9
|
+
mv _quarto.yml _quarto.yml.bak
|
10
|
+
for file in "${files[@]}"; do
|
11
|
+
echo "llms: ${file}.qmd"
|
12
|
+
quarto render "${file}.qmd" --to gfm --quiet --no-execute
|
13
|
+
output_file="${file}.md"
|
14
|
+
cat "${output_file}" >> "${llms_full}"
|
15
|
+
echo "" >> "${llms_full}"
|
16
|
+
mv $output_file "_site/${file}.html.md"
|
17
|
+
done
|
18
|
+
mv _quarto.yml.bak _quarto.yml
|
19
|
+
fi
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
|
@@ -100,7 +100,7 @@ If you do not explicitly handle errors, then Inspect provides some default error
|
|
100
100
|
|
101
101
|
- `UnicodeDecodeError` — Occurs when the output from executing a process or reading a file is binary rather than text.
|
102
102
|
|
103
|
-
- `OutputLimitExceededError` - Occurs when one or both of the output streams from `sandbox().exec()` exceed
|
103
|
+
- `OutputLimitExceededError` - Occurs when one or both of the output streams from `sandbox().exec()` exceed 10 MiB or when attempting to read a file over 100 MiB in size.
|
104
104
|
|
105
105
|
- `ToolError` — Special error thrown by tools to indicate they'd like to report an error to the model.
|
106
106
|
|
@@ -170,6 +170,10 @@ There are several other command line options you can pass to eval. Here are some
|
|
170
170
|
# limit to 10 samples
|
171
171
|
$ inspect eval theory.py --limit 10
|
172
172
|
|
173
|
+
# limit to specific sample id(s)
|
174
|
+
$ inspect eval theory.py --sample-id 10
|
175
|
+
$ insepct eval theory.py --sample_id 9,10
|
176
|
+
|
173
177
|
# limit tokens
|
174
178
|
$ inspect eval theory.py --max-tokens 128
|
175
179
|
|
@@ -129,10 +129,9 @@ dev = [
|
|
129
129
|
"pytest-cov",
|
130
130
|
"pytest-dotenv",
|
131
131
|
"pytest-xdist",
|
132
|
-
"ruff==0.8.
|
132
|
+
"ruff==0.8.3", # match version specified in .pre-commit-config.yaml
|
133
133
|
"textual-dev>=0.86.2",
|
134
134
|
"types-PyYAML",
|
135
|
-
"types-aiofiles",
|
136
135
|
"types-beautifulsoup4",
|
137
136
|
"types-aioboto3",
|
138
137
|
"types-boto3",
|
@@ -12,7 +12,7 @@ from inspect_ai._util.constants import (
|
|
12
12
|
DEFAULT_MAX_RETRIES,
|
13
13
|
)
|
14
14
|
from inspect_ai._util.file import filesystem
|
15
|
-
from inspect_ai._util.samples import parse_samples_limit
|
15
|
+
from inspect_ai._util.samples import parse_sample_id, parse_samples_limit
|
16
16
|
from inspect_ai.log._file import log_file_info
|
17
17
|
from inspect_ai.model import GenerateConfigArgs
|
18
18
|
from inspect_ai.scorer._reducer import create_reducers
|
@@ -30,6 +30,7 @@ MAX_TASKS_HELP = "Maximum number of tasks to run in parallel (default is 1)"
|
|
30
30
|
MAX_SUBPROCESSES_HELP = (
|
31
31
|
"Maximum number of subprocesses to run in parallel (default is os.cpu_count())"
|
32
32
|
)
|
33
|
+
MAX_SANDBOXES_HELP = "Maximum number of sandboxes (per-provider) to run in parallel."
|
33
34
|
NO_SANDBOX_CLEANUP_HELP = "Do not cleanup sandbox environments after task completes"
|
34
35
|
FAIL_ON_ERROR_HELP = "Threshold of sample errors to tolerage (by default, evals fail when any error occurs). Value between 0 to 1 to set a proportion; value greater than 1 to set a count."
|
35
36
|
NO_LOG_SAMPLES_HELP = "Do not include samples in the log file."
|
@@ -144,6 +145,12 @@ def eval_options(func: Callable[..., Any]) -> Callable[..., click.Context]:
|
|
144
145
|
help="Limit samples to evaluate e.g. 10 or 10-20",
|
145
146
|
envvar="INSPECT_EVAL_LIMIT",
|
146
147
|
)
|
148
|
+
@click.option(
|
149
|
+
"--sample-id",
|
150
|
+
type=str,
|
151
|
+
help="Evaluate specific sample(s) (comma separated list of ids)",
|
152
|
+
envvar="INSPECT_EVAL_SAMPLE_ID",
|
153
|
+
)
|
147
154
|
@click.option(
|
148
155
|
"--epochs",
|
149
156
|
type=int,
|
@@ -186,6 +193,12 @@ def eval_options(func: Callable[..., Any]) -> Callable[..., click.Context]:
|
|
186
193
|
help=MAX_SUBPROCESSES_HELP,
|
187
194
|
envvar="INSPECT_EVAL_MAX_SUBPROCESSES",
|
188
195
|
)
|
196
|
+
@click.option(
|
197
|
+
"--max-sandboxes",
|
198
|
+
type=int,
|
199
|
+
help=MAX_SANDBOXES_HELP,
|
200
|
+
envvar="INSPECT_EVAL_MAX_SANDBOXES",
|
201
|
+
)
|
189
202
|
@click.option(
|
190
203
|
"--message-limit",
|
191
204
|
type=int,
|
@@ -355,6 +368,12 @@ def eval_options(func: Callable[..., Any]) -> Callable[..., click.Context]:
|
|
355
368
|
help='Cache prompt prefix (Anthropic only). Defaults to "auto", which will enable caching for requests with tools.',
|
356
369
|
envvar="INSPECT_EVAL_CACHE_PROMPT",
|
357
370
|
)
|
371
|
+
@click.option(
|
372
|
+
"--reasoning-effort",
|
373
|
+
type=click.Choice(["low", "medium", "high"]),
|
374
|
+
help="Constrains effort on reasoning for reasoning models. Open AI o1 models only.",
|
375
|
+
envvar="INSPECT_EVAL_REASONING_EFFORT",
|
376
|
+
)
|
358
377
|
@click.option(
|
359
378
|
"--log-format",
|
360
379
|
type=click.Choice(["eval", "json"], case_sensitive=False),
|
@@ -391,6 +410,7 @@ def eval_command(
|
|
391
410
|
epochs: int | None,
|
392
411
|
epochs_reducer: str | None,
|
393
412
|
limit: str | None,
|
413
|
+
sample_id: str | None,
|
394
414
|
max_retries: int | None,
|
395
415
|
timeout: int | None,
|
396
416
|
max_connections: int | None,
|
@@ -412,12 +432,14 @@ def eval_command(
|
|
412
432
|
parallel_tool_calls: bool | None,
|
413
433
|
max_tool_output: int | None,
|
414
434
|
cache_prompt: str | None,
|
435
|
+
reasoning_effort: str | None,
|
415
436
|
message_limit: int | None,
|
416
437
|
token_limit: int | None,
|
417
438
|
time_limit: int | None,
|
418
439
|
max_samples: int | None,
|
419
440
|
max_tasks: int | None,
|
420
441
|
max_subprocesses: int | None,
|
442
|
+
max_sandboxes: int | None,
|
421
443
|
fail_on_error: bool | float | None,
|
422
444
|
no_fail_on_error: bool | None,
|
423
445
|
no_log_samples: bool | None,
|
@@ -458,12 +480,14 @@ def eval_command(
|
|
458
480
|
epochs=epochs,
|
459
481
|
epochs_reducer=epochs_reducer,
|
460
482
|
limit=limit,
|
483
|
+
sample_id=sample_id,
|
461
484
|
message_limit=message_limit,
|
462
485
|
token_limit=token_limit,
|
463
486
|
time_limit=time_limit,
|
464
487
|
max_samples=max_samples,
|
465
488
|
max_tasks=max_tasks,
|
466
489
|
max_subprocesses=max_subprocesses,
|
490
|
+
max_sandboxes=max_sandboxes,
|
467
491
|
fail_on_error=fail_on_error,
|
468
492
|
no_fail_on_error=no_fail_on_error,
|
469
493
|
debug_errors=common["debug_errors"],
|
@@ -543,6 +567,7 @@ def eval_set_command(
|
|
543
567
|
epochs: int | None,
|
544
568
|
epochs_reducer: str | None,
|
545
569
|
limit: str | None,
|
570
|
+
sample_id: str | None,
|
546
571
|
max_retries: int | None,
|
547
572
|
timeout: int | None,
|
548
573
|
max_connections: int | None,
|
@@ -564,12 +589,14 @@ def eval_set_command(
|
|
564
589
|
parallel_tool_calls: bool | None,
|
565
590
|
max_tool_output: int | None,
|
566
591
|
cache_prompt: str | None,
|
592
|
+
reasoning_effort: str | None,
|
567
593
|
message_limit: int | None,
|
568
594
|
token_limit: int | None,
|
569
595
|
time_limit: int | None,
|
570
596
|
max_samples: int | None,
|
571
597
|
max_tasks: int | None,
|
572
598
|
max_subprocesses: int | None,
|
599
|
+
max_sandboxes: int | None,
|
573
600
|
fail_on_error: bool | float | None,
|
574
601
|
no_fail_on_error: bool | None,
|
575
602
|
no_log_samples: bool | None,
|
@@ -612,12 +639,14 @@ def eval_set_command(
|
|
612
639
|
epochs=epochs,
|
613
640
|
epochs_reducer=epochs_reducer,
|
614
641
|
limit=limit,
|
642
|
+
sample_id=sample_id,
|
615
643
|
message_limit=message_limit,
|
616
644
|
token_limit=token_limit,
|
617
645
|
time_limit=time_limit,
|
618
646
|
max_samples=max_samples,
|
619
647
|
max_tasks=max_tasks,
|
620
648
|
max_subprocesses=max_subprocesses,
|
649
|
+
max_sandboxes=max_sandboxes,
|
621
650
|
fail_on_error=fail_on_error,
|
622
651
|
no_fail_on_error=no_fail_on_error,
|
623
652
|
debug_errors=common["debug_errors"],
|
@@ -662,12 +691,14 @@ def eval_exec(
|
|
662
691
|
epochs: int | None,
|
663
692
|
epochs_reducer: str | None,
|
664
693
|
limit: str | None,
|
694
|
+
sample_id: str | None,
|
665
695
|
message_limit: int | None,
|
666
696
|
token_limit: int | None,
|
667
697
|
time_limit: int | None,
|
668
698
|
max_samples: int | None,
|
669
699
|
max_tasks: int | None,
|
670
700
|
max_subprocesses: int | None,
|
701
|
+
max_sandboxes: int | None,
|
671
702
|
fail_on_error: bool | float | None,
|
672
703
|
no_fail_on_error: bool | None,
|
673
704
|
debug_errors: bool | None,
|
@@ -699,8 +730,9 @@ def eval_exec(
|
|
699
730
|
else None
|
700
731
|
)
|
701
732
|
|
702
|
-
# resolve range
|
733
|
+
# resolve range and sample id
|
703
734
|
eval_limit = parse_samples_limit(limit)
|
735
|
+
eval_sample_id = parse_sample_id(sample_id)
|
704
736
|
|
705
737
|
# resolve fail_on_error
|
706
738
|
if no_fail_on_error is True:
|
@@ -734,6 +766,7 @@ def eval_exec(
|
|
734
766
|
log_dir=log_dir,
|
735
767
|
log_format=log_format,
|
736
768
|
limit=eval_limit,
|
769
|
+
sample_id=eval_sample_id,
|
737
770
|
epochs=eval_epochs,
|
738
771
|
fail_on_error=fail_on_error,
|
739
772
|
debug_errors=debug_errors,
|
@@ -743,6 +776,7 @@ def eval_exec(
|
|
743
776
|
max_samples=max_samples,
|
744
777
|
max_tasks=max_tasks,
|
745
778
|
max_subprocesses=max_subprocesses,
|
779
|
+
max_sandboxes=max_sandboxes,
|
746
780
|
log_samples=log_samples,
|
747
781
|
log_images=log_images,
|
748
782
|
log_buffer=log_buffer,
|
@@ -821,6 +855,12 @@ def parse_comma_separated(value: str | None) -> list[str] | None:
|
|
821
855
|
help=MAX_SUBPROCESSES_HELP,
|
822
856
|
envvar="INSPECT_EVAL_MAX_SUBPROCESSES",
|
823
857
|
)
|
858
|
+
@click.option(
|
859
|
+
"--max-sandboxes",
|
860
|
+
type=int,
|
861
|
+
help=MAX_SANDBOXES_HELP,
|
862
|
+
envvar="INSPECT_EVAL_MAX_SANDBOXES",
|
863
|
+
)
|
824
864
|
@click.option(
|
825
865
|
"--no-sandbox-cleanup",
|
826
866
|
type=bool,
|
@@ -891,6 +931,7 @@ def eval_retry_command(
|
|
891
931
|
max_samples: int | None,
|
892
932
|
max_tasks: int | None,
|
893
933
|
max_subprocesses: int | None,
|
934
|
+
max_sandboxes: int | None,
|
894
935
|
no_sandbox_cleanup: bool | None,
|
895
936
|
trace: bool | None,
|
896
937
|
fail_on_error: bool | float | None,
|
@@ -934,6 +975,7 @@ def eval_retry_command(
|
|
934
975
|
max_samples=max_samples,
|
935
976
|
max_tasks=max_tasks,
|
936
977
|
max_subprocesses=max_subprocesses,
|
978
|
+
max_sandboxes=max_sandboxes,
|
937
979
|
sandbox_cleanup=sandbox_cleanup,
|
938
980
|
trace=trace,
|
939
981
|
fail_on_error=fail_on_error,
|
@@ -24,6 +24,10 @@ def task_config(
|
|
24
24
|
config_print.append(
|
25
25
|
f"{name}: {','.join([approver['name'] for approver in value['approvers']])}"
|
26
26
|
)
|
27
|
+
elif name == "sample_id":
|
28
|
+
value = value if isinstance(value, list) else [value]
|
29
|
+
value = [str(v) for v in value]
|
30
|
+
config_print.append(f"{name}: {','.join(value)}")
|
27
31
|
elif name not in ["limit", "model"]:
|
28
32
|
config_print.append(f"{name}: {value}")
|
29
33
|
values = ", ".join(config_print)
|
@@ -112,7 +112,7 @@ def tasks_title(completed: int, total: int) -> str:
|
|
112
112
|
def task_title(profile: TaskProfile, show_model: bool) -> str:
|
113
113
|
eval_epochs = profile.eval_config.epochs or 1
|
114
114
|
epochs = f" x {profile.eval_config.epochs}" if eval_epochs > 1 else ""
|
115
|
-
samples = f"{profile.samples//eval_epochs:,}{epochs} sample{'s' if profile.samples
|
115
|
+
samples = f"{profile.samples//eval_epochs:,}{epochs} sample{'s' if profile.samples != 1 else ''}"
|
116
116
|
title = f"{registry_unqualified_name(profile.name)} ({samples})"
|
117
117
|
if show_model:
|
118
118
|
title = f"{title}: {profile.model}"
|
@@ -130,9 +130,15 @@ def progress_time(time: float) -> str:
|
|
130
130
|
return f"{hours:2.0f}:{minutes:02.0f}:{seconds:02.0f}"
|
131
131
|
|
132
132
|
|
133
|
-
def progress_count(complete: int, total: int) -> str:
|
134
|
-
# Pad the display to keep it stable
|
133
|
+
def progress_count(complete: int, total: int, width: int | None = None) -> str:
|
134
|
+
# Pad the display to keep it stable as the
|
135
|
+
# complete metrics
|
135
136
|
total_str = f"{total:,}"
|
136
137
|
complete_str = f"{complete:,}"
|
137
138
|
padding = max(0, len(total_str) - len(complete_str))
|
138
|
-
|
139
|
+
padded = " " * padding + f"[{complete_str}/{total_str}]"
|
140
|
+
|
141
|
+
# If a width has ben specified, pad up to this width as well
|
142
|
+
if width is not None:
|
143
|
+
padded = padded.rjust(width)
|
144
|
+
return padded
|
@@ -166,7 +166,7 @@ def task_interrupted(profile: TaskProfile, samples_completed: int) -> Renderable
|
|
166
166
|
return message
|
167
167
|
|
168
168
|
|
169
|
-
def task_metric(metrics: list[TaskDisplayMetric]) -> str:
|
169
|
+
def task_metric(metrics: list[TaskDisplayMetric], width: int | None = None) -> str:
|
170
170
|
reducer_names: Set[str] = {
|
171
171
|
metric.reducer for metric in metrics if metric.reducer is not None
|
172
172
|
}
|
@@ -180,10 +180,14 @@ def task_metric(metrics: list[TaskDisplayMetric]) -> str:
|
|
180
180
|
else:
|
181
181
|
value = f"{metric.value:.2f}"
|
182
182
|
|
183
|
-
if show_reducer:
|
184
|
-
|
183
|
+
if show_reducer and metric.reducer is not None:
|
184
|
+
metric_str = f"{metric.name}/{metric.reducer}: {value}"
|
185
185
|
else:
|
186
|
-
|
186
|
+
metric_str = f"{metric.name}: {value}"
|
187
|
+
|
188
|
+
if width is not None:
|
189
|
+
metric_str = metric_str.rjust(width)
|
190
|
+
return metric_str
|
187
191
|
|
188
192
|
|
189
193
|
def task_metrics(scores: list[EvalScore]) -> str:
|
{inspect_ai-0.3.51 → inspect_ai-0.3.53}/src/inspect_ai/_display/textual/widgets/task_detail.py
RENAMED
@@ -63,6 +63,9 @@ class TaskDetail(Widget):
|
|
63
63
|
def update_metrics(self, metrics: list[TaskDisplayMetric]) -> None:
|
64
64
|
# Group by reducer then scorer within reducers
|
65
65
|
self.metrics = metrics
|
66
|
+
|
67
|
+
# clear the existing computed reducers
|
68
|
+
self.by_reducer = {}
|
66
69
|
for metric in metrics:
|
67
70
|
reducer_group = (
|
68
71
|
self.by_reducer[metric.reducer]
|
@@ -117,6 +120,7 @@ class TaskDetail(Widget):
|
|
117
120
|
for remove in to_remove:
|
118
121
|
task_metric = self.existing_metrics[remove]
|
119
122
|
task_metric.remove()
|
123
|
+
del self.existing_metrics[remove]
|
120
124
|
|
121
125
|
# add or update widgets with metrics
|
122
126
|
for reducer, scorers in self.by_reducer.items():
|
@@ -187,24 +191,52 @@ class TaskMetrics(Widget):
|
|
187
191
|
self.grid: Grid = Grid()
|
188
192
|
self.value_widgets: dict[str, Static] = {}
|
189
193
|
|
194
|
+
def grid_id(self) -> str:
|
195
|
+
return f"{self.id}-grid"
|
196
|
+
|
190
197
|
def compose(self) -> ComposeResult:
|
191
|
-
#
|
198
|
+
# Yield the title and base grid
|
192
199
|
yield Center(self._title())
|
193
|
-
|
194
|
-
for metric in self.metrics:
|
195
|
-
# Add the value static but keep it around
|
196
|
-
# for future updates
|
197
|
-
self.value_widgets[metric.name] = Static(
|
198
|
-
self._metric_value(metric.value)
|
199
|
-
)
|
200
|
-
|
201
|
-
yield Static(metric.name)
|
202
|
-
yield self.value_widgets[metric.name]
|
200
|
+
yield Grid(id=self.grid_id())
|
203
201
|
|
204
202
|
def update(self, metrics: list[TaskMetric]) -> None:
|
203
|
+
self.metrics = metrics
|
204
|
+
|
205
|
+
# We assume that generally the initial metric names will
|
206
|
+
# always match future updates (so we can just update values in line)
|
207
|
+
# but if an unrecognized metric appears on the scene, just
|
208
|
+
# recompute the whole grid
|
209
|
+
need_recompute = False
|
205
210
|
for metric in metrics:
|
206
|
-
widget = self.value_widgets
|
207
|
-
widget
|
211
|
+
widget = self.value_widgets.get(metric.name)
|
212
|
+
if widget:
|
213
|
+
# Just update the values themselves
|
214
|
+
widget.update(content=f"{metric.value:,.3f}")
|
215
|
+
else:
|
216
|
+
# Don't have a widget for this, recompute the whole grid
|
217
|
+
need_recompute = True
|
218
|
+
break
|
219
|
+
|
220
|
+
if need_recompute:
|
221
|
+
self.recompute_grid()
|
222
|
+
|
223
|
+
def on_mount(self) -> None:
|
224
|
+
self.recompute_grid()
|
225
|
+
|
226
|
+
def recompute_grid(self) -> None:
|
227
|
+
if not self.is_mounted:
|
228
|
+
return
|
229
|
+
|
230
|
+
grid = self.query_one(f"#{self.grid_id()}")
|
231
|
+
|
232
|
+
grid.remove_children()
|
233
|
+
for metric in self.metrics:
|
234
|
+
# Add the value static but keep it around
|
235
|
+
# for future updates
|
236
|
+
self.value_widgets[metric.name] = Static(self._metric_value(metric.value))
|
237
|
+
|
238
|
+
grid.mount(Static(metric.name))
|
239
|
+
grid.mount(self.value_widgets[metric.name])
|
208
240
|
|
209
241
|
def _title(self) -> Widget:
|
210
242
|
if self.scorer is None:
|