inspect-ai 0.3.57__tar.gz → 0.3.58__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.57 → inspect_ai-0.3.58}/.pre-commit-config.yaml +1 -1
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/CHANGELOG.md +18 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/PKG-INFO +2 -2
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_quarto.yml +1 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_sandboxenv-interface.md +3 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/approval.qmd +3 -3
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/datasets.qmd +6 -36
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/index.qmd +2 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/interactivity.qmd +10 -3
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/llms.txt +1 -0
- inspect_ai-0.3.58/docs/multimodal.qmd +176 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/scorers.qmd +3 -3
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/scripts/post-render.sh +1 -1
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/tracing.qmd +12 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/workflow.qmd +0 -5
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/approval/README.md +3 -9
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/approval/approval.py +1 -7
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/intervention/README.md +2 -7
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/intervention/intervention.py +1 -5
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/pyproject.toml +1 -1
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/__init__.py +2 -1
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/common.py +4 -2
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/eval.py +2 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/trace.py +21 -2
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/active.py +0 -2
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/rich/display.py +4 -4
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/app.py +4 -1
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/samples.py +41 -5
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/eval.py +32 -20
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/evalset.py +7 -5
- inspect_ai-0.3.58/src/inspect_ai/_eval/task/__init__.py +4 -0
- inspect_ai-0.3.58/src/inspect_ai/_eval/task/images.py +114 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/run.py +141 -119
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/task.py +140 -25
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/constants.py +1 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/content.py +23 -1
- inspect_ai-0.3.58/src/inspect_ai/_util/images.py +48 -0
- inspect_ai-0.3.58/src/inspect_ai/_util/kvstore.py +73 -0
- inspect_ai-0.3.58/src/inspect_ai/_util/notgiven.py +18 -0
- inspect_ai-0.3.58/src/inspect_ai/_util/thread.py +5 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/dist/assets/index.js +37 -3
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/log-schema.json +97 -13
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/MessageBand.mjs +2 -2
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/MessageContent.mjs +43 -1
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SamplesDescriptor.mjs +5 -1
- {inspect_ai-0.3.57/tools/vscode/src/@types → inspect_ai-0.3.58/src/inspect_ai/_view/www/src/types}/log.d.ts +51 -27
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_human/util.py +2 -2
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_sources/csv.py +2 -1
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_sources/json.py +2 -1
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_sources/util.py +15 -7
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_condense.py +11 -1
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_log.py +2 -5
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_recorders/eval.py +19 -8
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_samples.py +10 -5
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_transcript.py +28 -1
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/__init__.py +10 -2
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_call_tools.py +55 -12
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_chat_message.py +2 -4
- inspect_ai-0.3.57/src/inspect_ai/model/_trace.py → inspect_ai-0.3.58/src/inspect_ai/model/_conversation.py +9 -8
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_model.py +2 -2
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/anthropic.py +9 -7
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/azureai.py +6 -4
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/bedrock.py +6 -4
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/google.py +79 -8
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/groq.py +7 -5
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/hf.py +11 -6
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/mistral.py +6 -9
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/openai.py +17 -5
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/vertex.py +17 -4
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/__init__.py +13 -2
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_metrics/__init__.py +2 -2
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_metrics/std.py +3 -3
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/__init__.py +9 -1
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool.py +9 -2
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/__init__.py +0 -3
- inspect_ai-0.3.57/src/inspect_ai/util/_trace.py → inspect_ai-0.3.58/src/inspect_ai/util/_conversation.py +3 -17
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_display.py +14 -4
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/context.py +12 -13
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/compose.py +24 -11
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/docker.py +20 -13
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/environment.py +13 -1
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/local.py +1 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai.egg-info/PKG-INFO +2 -2
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai.egg-info/SOURCES.txt +15 -3
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai.egg-info/requires.txt +1 -1
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_log_formats.py +21 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_set.py +30 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_helpers/tasks.py +1 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/sandboxenv/podman.py +1 -0
- inspect_ai-0.3.58/tests/test_task_with.py +31 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tool_images.py +2 -2
- inspect_ai-0.3.58/tests/tools/test_tool_truncate.py +11 -0
- inspect_ai-0.3.58/tests/util/sandbox/sandbox_setup_error.sh +4 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/sandbox/test_sandbox_setup.py +20 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_images.py +6 -0
- inspect_ai-0.3.58/tests/util/test_kvstore.py +141 -0
- inspect_ai-0.3.58/tests/util/test_media/audio.jsonl +1 -0
- inspect_ai-0.3.58/tests/util/test_media/sample.mp3 +0 -0
- inspect_ai-0.3.58/tests/util/test_media/video.jsonl +1 -0
- inspect_ai-0.3.58/tests/util/test_media/video.mp4 +0 -0
- inspect_ai-0.3.58/tests/util/test_media.py +62 -0
- {inspect_ai-0.3.57/src/inspect_ai/_view/www/src/types → inspect_ai-0.3.58/tools/vscode/src/@types}/log.d.ts +51 -27
- inspect_ai-0.3.57/docs/_trace.md +0 -16
- inspect_ai-0.3.57/src/inspect_ai/_eval/task/__init__.py +0 -4
- inspect_ai-0.3.57/src/inspect_ai/_eval/task/images.py +0 -99
- inspect_ai-0.3.57/src/inspect_ai/_util/images.py +0 -45
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/dependabot.yml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/pull_request_template.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/workflows/build.yml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/workflows/docs.yml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/workflows/log_viewer.yml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/workflows/pypi.yml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/workflows/vscode.yml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.gitignore +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.vscode/extensions.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.vscode/settings.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/CITATION.cff +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/LICENSE +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/Makefile +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/README.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/.gitignore +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/CNAME +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_container_limits.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_errors_and_retries.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_max_samples.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_metadata_typing.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_sample-preservation.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_setting_max_samples.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_store_typing.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_tools-annotations-required.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_tools-scaffold.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_variables.yml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/agents-api.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/agents.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/caching.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/errors-and-limits.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/eval-logs.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/eval-sets.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/examples/examples.bib +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/examples/examples.css +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/examples/examples.ejs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/examples/examples.yml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/examples/index.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/extensions.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/human-agent.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/aisi-logo.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/eval-log.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-activity-bar.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-human-agent-container.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-human-agent.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-multiple-models.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-terminal-transcript.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-answers.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-filter.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-history.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-home.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-info.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-logging-console.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-logging.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-main.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-messages.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-metadata.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-scoring.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-sort.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-splash.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-vscode-config.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-vscode-install.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-vscode-logview.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-vscode-output-channel.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-vscode-run-task.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/logs-drop-down.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/logs-open-button.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/logs.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/popularity.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/python-tool-view.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/rate-limit.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/running-theory.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/task-max-sandboxes.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/toolenv-no-cleanup.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/web-browser-tool-view.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/log-viewer.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/models.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/parallelism.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/sandboxing.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/solvers.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/theme.scss +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/tools.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/tutorial.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/typing.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/vscode.qmd +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/approval/approval.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/biology_qa.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/browser/browser.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/browser/compose.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/cache.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/evalset.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/hello_world.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/images/ballons.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/images/bike.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/images/images.jsonl +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/images/images.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/intervention/Dockerfile +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/intervention/compose.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/.env.example +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/.gitignore +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/README.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/inspect_langchain.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/requirements.txt +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/wikipedia.jsonl +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/wikipedia.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/popularity.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/security_guide.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/theory_of_mind.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/tool_use.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/requirements.txt +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/setup.cfg +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/__main__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/cache.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/info.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/list.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/log.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/main.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/sandbox.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/score.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/util.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/view.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/config.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/display.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/footer.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/group.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/panel.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/progress.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/results.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/rich.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/textual.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/rich/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/app.tcss +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/display.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/theme.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/clock.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/console.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/footer.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/task_detail.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/tasks.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/titlebar.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/toggle.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/transcript.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/context.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/list.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/loader.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/registry.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/run.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/score.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/constants.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/epochs.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/error.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/generate.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/log.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/results.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/rundir.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/sandbox.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/util.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/_async.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/ansi.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/appdirs.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/config.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/datetime.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/decorator.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/deprecation.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/dev.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/dict.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/dotenv.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/entrypoints.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/environ.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/error.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/file.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/format.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/git.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/hash.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/hooks.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/html.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/http.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/json.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/list.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/logger.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/notebook.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/package.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/path.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/pattern.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/platform.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/registry.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/retry.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/rich.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/samples.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/terminal.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/text.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/throttle.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/timeouts.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/trace.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/transcript.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/url.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/version.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/vscode.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/notify.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/schema.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/server.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/view.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/.gitignore +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/.prettierignore +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/.prettierrc.js +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/.tool-versions +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/App.css +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/README.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/dist/assets/favicon.svg +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/dist/assets/index.css +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/dist/index.html +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/eslint.config.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/favicon.svg +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/index.html +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/jsconfig.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/package.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/postcss.config.cjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/App.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/Register.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/Types.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/Types.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/api-browser.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/api-http.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/api-shared.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/api-vscode.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/client-api.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/index.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/jsonrpc.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/appearance/Colors.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/appearance/Fonts.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/appearance/Icons.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/appearance/Styles.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/AnsiDisplay.css +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/AnsiDisplay.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/AppErrorBoundary.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/AsciiCinemaPlayer.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/Browser.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/Card.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/ChatView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/CopyButton.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/Dialog.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/DownloadButton.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/DownloadPanel.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/EmptyPanel.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/ErrorPanel.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/ExpandablePanel.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/FindBand.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/HumanBaselineView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/JsonPanel.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/LabeledValue.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/LargeModal.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/LightboxCarousel.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/MarkdownDiv.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/MetaDataGrid.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/MetaDataView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/MorePopOver.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/NavPills.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/ProgressBar.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/RenderedContent/ChatMessageRenderer.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/RenderedContent/RenderedContent.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/RenderedContent/Types.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/TabSet.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/ToolButton.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/Tools.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/VirtualList.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/ansi-output.js +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/constants.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/index.js +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/json/JsonTab.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/log/remoteLogFile.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/log-reader/Log-Reader.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/log-reader/Native-Log-Reader.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/log-reader/Open-AI-Log-Reader.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/navbar/Navbar.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/navbar/SecondaryBar.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/plan/PlanCard.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleDialog.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleDisplay.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleError.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleLimit.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleList.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleScoreView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleScores.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleTranscript.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SamplesTab.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SamplesTools.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/tools/EpochFilter.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/tools/SampleFilter.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/tools/SelectScorer.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/tools/SortFilter.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/tools/filters.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/ApprovalEventView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/ErrorEventView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/EventPanel.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/EventRow.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/EventSection.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/InfoEventView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/InputEventView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/LoggerEventView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/ModelEventView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/SampleInitEventView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/SampleLimitEventView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/ScoreEventView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/StepEventView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/ToolEventView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptState.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/Types.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/state/StateDiffView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventRenderers.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventView.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/sidebar/Sidebar.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/types/asciicinema-player.d.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/types/jsondiffpatch.d.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/types/prism.d.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/usage/ModelTokenTable.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/usage/UsageCard.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Base64.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Format.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Git.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Html.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Json.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Path.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Print.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Type.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/attachments.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/debugging.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/http.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/queue.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/remoteZipFile.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/sync.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/vscode.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/workspace/TaskErrorPanel.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/workspace/WorkSpace.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/tsconfig.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/vite.config.js +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/yarn.lock +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_apply.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_approval.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_approver.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_auto.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_call.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_human/approver.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_human/console.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_human/manager.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_human/panel.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_policy.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_registry.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_dataset.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_examples/bias_detection.jsonl +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_examples/biology_qa.jsonl +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_examples/popularity.jsonl +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_examples/security_guide.jsonl +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_examples/theory_of_mind.jsonl +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_sources/example.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_sources/file.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_sources/hf.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_util.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_bundle.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_convert.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_file.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_message.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_recorders/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_recorders/create.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_recorders/file.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_recorders/json.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_recorders/recorder.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_retry.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_cache.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_generate_config.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_image.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_model_call.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_model_output.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/cloudflare.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/grok.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/llama_cpp_python.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/mockllm.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/ollama.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/openai_o1.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/providers.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/together.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/util/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/util/chatapi.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/util/hf_handler.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/util/llama31.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/util/util.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/vllm.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_registry.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_render.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/py.typed +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_answer.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_choice.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_classification.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_common.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_match.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_metric.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_metrics/accuracy.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_metrics/mean.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_model.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_multi.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_pattern.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_reducer/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_reducer/reducer.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_reducer/registry.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_reducer/types.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_score.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_scorer.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_target.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_basic_agent.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_chain.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_critique.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_fork.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/agent.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/clock.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/command.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/instructions.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/note.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/score.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/status.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/submit.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/install.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/panel.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/service.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/state.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/view.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_multiple_choice.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_plan.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_prompt.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_solver.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_task_state.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_transcript.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_use_tools.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_util.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_call.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_choice.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_def.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_description.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_info.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_params.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_transcript.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_with.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_execute.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/Dockerfile +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/README.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/accessibility_node.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/dm_env_servicer.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/images/usage_diagram.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/mock_environment.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/playwright_crawler.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_accessibility_node.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_dm_env_servicer.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_playwright_crawler.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_web_environment.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client_new_session.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_environment.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_server.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_web_browser.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_search.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_concurrency.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_console.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_panel.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_resource.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/cleanup.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/config.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/internal.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/prereqs.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/util.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/limits.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/registry.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/self_check.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/service.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_store.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_store_model.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_subprocess.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_subtask.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_throttle.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai.egg-info/dependency_links.txt +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai.egg-info/entry_points.txt +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai.egg-info/top_level.txt +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/approval/approve.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/approval/escalate.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/approval/modify.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/approval/reject.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/approval/terminate.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/approval/test_approval.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/conftest.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/dataset.jsonl +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/images/ballons.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/images.jsonl +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/samples-md.csv +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/samples-md.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/samples-md.jsonl +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/samples.csv +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/samples.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/samples.jsonl +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_formats.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_images.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_images_tc.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_invalid.txt +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_length_stop_reason.txt +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_streaming.eval +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_valid.txt +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_version_3.txt +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_with_nan.txt +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_list_logs/2024-11-05T13-31-45-05-00_input-task_8zXjbRzCWrL9GXiXo2vus9.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_list_logs/2024-11-05T13-32-37-05-00_input-task_hxs4q9azL3ySGkjJirypKZ.eval +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_list_logs/custom.eval +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_list_logs/ignore.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_list_logs.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_log_attachments.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_log_level.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_log_streaming.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_log_tags.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_anthropic.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_azureai.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_cloudflare.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_google.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_grok.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_groq.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_hf.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_llama_cpp_python.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_openai.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_openai_o1.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_vertex.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_vllm.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_api_key.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_cache.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_collapse_assistant_message.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_collapse_user_message.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_disable.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_logprobs.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_mock_model_llm.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_num_choices.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_parse_tool_call.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_stop_reason.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_answer.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_choice.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_classification.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_match.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_metric.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_model_graded.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_multiscorer.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_pattern.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_reducers.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_scorer.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_value_to_float.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_basic_agent.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_chain.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_fork.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_multiple_choice.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_prompt.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_setup.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_solver.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_solver_decorator.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_solver_spec.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_store.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_store_model.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_subtask.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_transcript.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_config/model.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_config/solver.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_config/task.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_config.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_set/2024-08-29T15-11-17+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_set/2024-08-29T15-11-18+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_examples.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_extensions.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_fail_on_error.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_helpers/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_helpers/tool_call_utils.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_helpers/tools.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_helpers/utils.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_list_task.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_log_dir/example_task/example_task.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_log_dir/test_log_dir.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/.gitignore +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/_registry.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/approvers/renamer.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/modelapi/custom.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/py.typed +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/score/scorer.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/solvers/cot.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/pyproject.toml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_retry.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_run_dir/task1/task1.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_run_dir/task2/task2.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_run_dir.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_sample_id.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_sample_limits.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_attr.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/__init__.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/attribs.ipynb +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/multiple.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/multiple_dir/_decoy/testit.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/multiple_dir/_decoy2.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/multiple_dir/bar.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/multiple_dir/foo.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/recurse/.folder3/epsilon.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/recurse/folder1/_decoy.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/recurse/folder1/theta.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/recurse/folder2/.folder3/epsilon.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/recurse/folder2/another.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/recurse/folder2/first.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/docker-compose-context/Dockerfile +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/docker-compose-context-alpine/Dockerfile +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_bash_tool.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_max_exec_output.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_max_tool_output.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_python_tool.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_sandbox_compose.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_sandbox_compose_alpine.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_sandbox_docker_and_local.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_sandbox_dockerfile.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_sandbox_tool_eval.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tool_def.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tool_parse.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tool_types.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tool_view.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tool_with.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tools.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_use_tools.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_web_browser.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_web_browser_compose.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/sandbox/docker_compose_multiple_services/docker-compose.yaml +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/sandbox/sandbox_setup.sh +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/sandbox/test_docker_compose_multiple_services.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/sandbox/test_sandbox_service.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_file.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_images/images.jsonl +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_package.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_registry.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_str_to_float.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_subprocess.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/view/test_bundle.py +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.eslintrc.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.gitignore +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.vscode/extensions.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.vscode/launch.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.vscode/settings.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.vscode/tasks.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.vscode-test.mjs +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.vscodeignore +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.yarnrc +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/CHANGELOG.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/LICENSE +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/README.md +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/icon/eval-treeview-cancelled.svg +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/icon/eval-treeview-error.svg +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/icon/eval-treeview-started.svg +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/icon/eval-treeview.svg +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/icon/eval.svg +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/logo/inspect.png +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/logo/inspect.svg +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/templates/task.py.template +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/www/codicon/codicon.css +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/www/codicon/codicon.ttf +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/www/view/view-overrides.css +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/package.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/@types/hooks.d.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/document.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/error.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/focus.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/notebook.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/symbol.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/task.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/templates.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/webview.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/appdirs.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/command.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/dispose.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/env.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/file.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/git.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/jsonrpc.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/log.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/nonce.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/path.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/port.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/process.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/python/code.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/python/env.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/python/exec.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/python/index.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/python/interpreter.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/random.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/string.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/text.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/uri.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/vscode/association.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/wait.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/workspace.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/extension.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/hooks/hooks.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/hooks/index.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/hooks/preview.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/inspect/index.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/inspect/logs.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/inspect/props.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/inspect/version.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/active-task/active-task-command.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/active-task/active-task-provider.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/activity-bar-provider.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/env-config-provider.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/log-listing/log-directory-selector.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-data.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-mru.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-provider.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-server-queue.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/log-listing/log-listing.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/task-config-commands.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/task-config-provider.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/task-outline-commands.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/task-outline-provider.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.css +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.css +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/webview/vscode-controls.css +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/webview/webview-utils.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/codelens/codelens-provider.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-commands.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-constants.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-eval-commands.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-eval.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-logs-watcher.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-manager.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-view-server.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/lognotify.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/commands.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/logview-editor.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/logview-link-provider.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/logview-panel.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/logview-state.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/logview-view.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/logview.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/openlog.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/protocol-handler.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/settings/inspect-settings.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/settings/user-settings.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/statusbar.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/workspace/workspace-env-commands.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/workspace/workspace-env-provider.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/workspace/workspace-init.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/workspace/workspace-state-provider.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/workspace/workspace-task-provider.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/test/codelens-provider.test.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/test/extension.test.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tools/ts-to-mjs/.gitignore +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tools/ts-to-mjs/package.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tools/ts-to-mjs/rollup.config.js +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tools/ts-to-mjs/src/index.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tools/ts-to-mjs/src/jsonrpc.ts +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tools/ts-to-mjs/yarn.lock +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tsconfig.json +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/webpack.config.js +0 -0
- {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/yarn.lock +0 -0
@@ -1,5 +1,23 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## v0.3.58 (16 January 2025)
|
4
|
+
|
5
|
+
- Support for [audio and video](https://github.com/UKGovernmentBEIS/inspect_ai/pull/1102) inputs for Open AI and Google Gemini models.
|
6
|
+
- Task display: Added Timeout Tool button for manually timing out a tool call.
|
7
|
+
- Task display: Automatically switch to "plain" mode when running in a background thread
|
8
|
+
- Sandboxes: Setup and initialisation errors are now handled at the sample level.
|
9
|
+
- Sandboxes: Increase setup script timeout to 5 minutes (from 30 seconds) and do not retry setup scripts (in case they aren't idempotent).
|
10
|
+
- Sandboxes: Add `timeout_retry` option (defaulting to `True`) to `exec()` function.
|
11
|
+
- Sandboxes: Add `type` and optional `container` properties to `SandboxConnection`.
|
12
|
+
- Docker: Services which exit with status 0 during setup no longer cause an error.
|
13
|
+
- `task_with()` function for creating task variants.
|
14
|
+
- Added `--filter` argument to trace CLI commands for filtering on trace log message content.
|
15
|
+
- Print model conversations to terminal with `--display=conversation` (was formerly `--trace`, which is now deprecated).
|
16
|
+
- HuggingFace: Support models that don't provide a chat template (e.g. gpt2)
|
17
|
+
- Eval Set: Ensure that logs with status 'started' are retried.
|
18
|
+
- Rename the built in `bootstrap_std` metric to `bootstrap_stderr` (deprecate `bootstrap_std`)
|
19
|
+
- Bugfix: Fix duplication of summaries when eval log file is rewritten.
|
20
|
+
|
3
21
|
## v0.3.57 (09 January 2025)
|
4
22
|
|
5
23
|
- [Tracing API](https://inspect.ai-safety-institute.org.uk/tracing.html#tracing-api) for custom trace logging.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: inspect_ai
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.58
|
4
4
|
Summary: Framework for large language model evaluations
|
5
5
|
Author: UK AI Safety Institute
|
6
6
|
License: MIT License
|
@@ -67,7 +67,7 @@ Requires-Dist: pytest-asyncio; extra == "dev"
|
|
67
67
|
Requires-Dist: pytest-cov; extra == "dev"
|
68
68
|
Requires-Dist: pytest-dotenv; extra == "dev"
|
69
69
|
Requires-Dist: pytest-xdist; extra == "dev"
|
70
|
-
Requires-Dist: ruff==0.9.
|
70
|
+
Requires-Dist: ruff==0.9.1; extra == "dev"
|
71
71
|
Requires-Dist: textual-dev>=0.86.2; extra == "dev"
|
72
72
|
Requires-Dist: types-PyYAML; extra == "dev"
|
73
73
|
Requires-Dist: types-beautifulsoup4; extra == "dev"
|
@@ -10,6 +10,7 @@ class SandboxEnvironment:
|
|
10
10
|
env: dict[str, str] = {},
|
11
11
|
user: str | None = None,
|
12
12
|
timeout: int | None = None,
|
13
|
+
timeout_retry: bool = True
|
13
14
|
) -> ExecResult[str]:
|
14
15
|
"""
|
15
16
|
Raises:
|
@@ -64,4 +65,6 @@ The `read_file()` method should should preserve newline constructs (e.g. crlf sh
|
|
64
65
|
|
65
66
|
The `connection()` method is optional, and provides commands that can be used to login to the sandbox container from a terminal or IDE.
|
66
67
|
|
68
|
+
Note that to deal with potential unreliability of container services, the `exec()` method includes a `timeout_retry` parameter that defaults to `True`. For sandbox implementations this parameter is _advisory_ (they should only use it if potential unreliablity exists in their runtime). No more than 2 retries should be attempted and both with timeouts less than 60 seconds. If you are executing commands that are not idempotent (i.e. the side effects of a failed first attempt may affect the results of subsequent attempts) then you can specify `timeout_retry=False` to override this behavior.
|
69
|
+
|
67
70
|
For each method there is a documented set of errors that are raised: these are _expected_ errors and can either be caught by tools or allowed to propagate in which case they will be reported to the model for potential recovery. In addition, _unexpected_ errors may occur (e.g. a networking error connecting to a remote container): these errors are not reported to the model and fail the `Sample` with an error state.
|
@@ -19,10 +19,10 @@ Approvers can be specified at either the eval level or at the task level. The ex
|
|
19
19
|
The simplest approval policy is interactive human approval of all tool calls. You can enable this policy by using the `--approval human` CLI option (or the `approval = "human"`) argument to `eval()`:
|
20
20
|
|
21
21
|
``` bash
|
22
|
-
inspect eval browser.py --approval human
|
22
|
+
inspect eval browser.py --approval human
|
23
23
|
```
|
24
24
|
|
25
|
-
|
25
|
+
This example provides the model with the built-in [web browser](tools.qmd#sec-web-browser) tool and asks it to navigate to a web and perform a search.
|
26
26
|
|
27
27
|
## Auto Approver
|
28
28
|
|
@@ -44,7 +44,7 @@ Navigational web browser tool calls (e.g. `web_browser_go`) are approved automat
|
|
44
44
|
To use this policy, pass the path to the policy YAML file as the approver. For example:
|
45
45
|
|
46
46
|
``` bash
|
47
|
-
inspect eval browser.py --approval approval.yaml
|
47
|
+
inspect eval browser.py --approval approval.yaml
|
48
48
|
```
|
49
49
|
|
50
50
|
## Approvers in Code
|
@@ -66,6 +66,10 @@ Files are copied into the default sandbox environment unless their name contains
|
|
66
66
|
"victim:/shared/flag.txt": "flag.txt"
|
67
67
|
```
|
68
68
|
|
69
|
+
### Setup
|
70
|
+
|
71
|
+
The `setup` field contains either a path to a bash setup script (resolved relative to the dataset path) or the contents of a script to execute. Setup scripts are executed with a 5 minute timeout. If you have setup scripts that may take longer than this you should move some of your setup code into the container build setup (e.g. Dockerfile).
|
72
|
+
|
69
73
|
## Field Mapping
|
70
74
|
|
71
75
|
If your dataset contains inputs and targets that don't use `input` and `target` as field names, you can map them into a `Dataset` using a `FieldSpec`. This same mechanism also enables you to collect arbitrary additional fields into the `Sample` `metadata` bucket. For example:
|
@@ -188,7 +192,7 @@ The most important data structure within `Sample` is the `ChatMessage`. Note tha
|
|
188
192
|
| Field | Type | Description |
|
189
193
|
|-------------------|---------------------|--------------------------------|
|
190
194
|
| `role` | `"system" | "user" | "assistant" | "tool"` | Role of this chat message. |
|
191
|
-
| `content` | `str | list[
|
195
|
+
| `content` | `str | list[Content]` | The content of the message. Can be a simple string or a list of content parts intermixing text and images. |
|
192
196
|
|
193
197
|
: {tbl-colwidths="\[10,35,55\]"}
|
194
198
|
|
@@ -205,40 +209,6 @@ An input with chat messages in your dataset might will look something like this:
|
|
205
209
|
|
206
210
|
Note that for this example we wouldn't normally use a full chat message object (rather we'd just provide a simple string). Chat message objects are more useful when you want to include a system prompt or prime the conversation with "assistant" responses.
|
207
211
|
|
208
|
-
## Image Input
|
209
|
-
|
210
|
-
::: {.callout-note appearance="simple"}
|
211
|
-
Image input is currently only supported for OpenAI vision models (e.g. [gpt-4-vision-preview](https://platform.openai.com/docs/guides/vision)), Google Gemini vision models (e.g. [gemini-pro-vision](https://console.cloud.google.com/vertex-ai/publishers/google/model-garden/gemini-pro-vision)), and Anthropic Claude 3 models.
|
212
|
-
:::
|
213
|
-
|
214
|
-
To include an image, your dataset input might look like this:
|
215
|
-
|
216
|
-
``` javascript
|
217
|
-
"input": [
|
218
|
-
{
|
219
|
-
"role": "user",
|
220
|
-
"content": [
|
221
|
-
{ "type": "text", "text": "What is this a picture of?"},
|
222
|
-
{ "type": "image", "image": "picture.png"}
|
223
|
-
]
|
224
|
-
}
|
225
|
-
]
|
226
|
-
```
|
227
|
-
|
228
|
-
Where `"picture.png"` is resolved relative to the directory containing the dataset file. The image can be specified either as a URL (accessible to the model), a local file path, or a base64 encoded [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs).
|
229
|
-
|
230
|
-
If you are constructing chat messages programmatically, then the equivalent to the above would be:
|
231
|
-
|
232
|
-
``` python
|
233
|
-
ChatMessageUser(content = [
|
234
|
-
ContentText(text="What is this a picture of?"),
|
235
|
-
ContentImage(image="picture.png")
|
236
|
-
])
|
237
|
-
```
|
238
|
-
|
239
|
-
If you are using paths or URLs to images and want the full base64 encoded content of images included in log files, use the `--log-images` CLI flag (or `log_images` argument to `eval`). Note however that you should generally not do this if you have either large images or a large quantity of images, as this can substantially increase the size of the log file, making it difficult to load into Inspect View with reasonable performance.
|
240
|
-
|
241
|
-
|
242
212
|
|
243
213
|
## Custom Reader {#sec-custom-reader}
|
244
214
|
|
@@ -266,4 +236,4 @@ def security_guide():
|
|
266
236
|
)
|
267
237
|
```
|
268
238
|
|
269
|
-
So if the built in dataset functions don't meet your needs, you can create a custom function that yields a `MemoryDataset`and pass those directly to your `Task`.
|
239
|
+
So if the built in dataset functions don't meet your needs, you can create a custom function that yields a `MemoryDataset`and pass those directly to your `Task`.
|
@@ -288,6 +288,8 @@ These sections discuss more advanced features and workflow. You don't need to re
|
|
288
288
|
|
289
289
|
- [Errors and Limits](errors-and-limits.qmd) covers various techniques for dealing with unexpected errors and setting limits on evaluation tasks and samples.
|
290
290
|
|
291
|
+
- [Multimodal](multimodal.qmd) documents the APIs available for creating multimodal evaluations (including images, audio, and video).
|
292
|
+
|
291
293
|
- [Typing](typing.qmd): provides guideance on using static type checking with Inspect, including creating typed interfaces to untyped storage (i.e. sample metadata and store).
|
292
294
|
|
293
295
|
- [Tracing](tracing.qmd) Describes advanced execution tracing tools used to diagnose runtime issues.
|
@@ -60,11 +60,18 @@ with input_screen() as console:
|
|
60
60
|
|
61
61
|
The `Prompt` class is designed to be subclassed for more specialized inputs. The `IntPrompt` and `FloatPrompt` classes are built-in, but you can also create your own more customised prompts (the `Confirm` class is another example of this). See the [prompt.py](https://github.com/Textualize/rich/blob/master/rich/prompt.py) source code for additional details.
|
62
62
|
|
63
|
-
##
|
63
|
+
## Conversation Display {#sec-conversation-display}
|
64
64
|
|
65
|
-
When introducing interactions it's often useful to see
|
65
|
+
When introducing interactions it's often useful to see the full chat conversation printed for additional context. You can do this via the `--display=conversation` CLI option, for example:
|
66
|
+
|
67
|
+
``` bash
|
68
|
+
$ inspect eval theory.py --display conversation
|
69
|
+
```
|
70
|
+
|
71
|
+
In conversation display mode, all messages exchanged with the model are printed to the terminal (tool output is truncated at 100 lines).
|
72
|
+
|
73
|
+
Note that enabling conversation display automatically sets `max_tasks` and `max_samples` to 1, as otherwise messages from concurrently running samples would be interleaved together in an incoherent jumble.
|
66
74
|
|
67
|
-
{{< include _trace.md >}}
|
68
75
|
|
69
76
|
|
70
77
|
## Progress
|
@@ -21,6 +21,7 @@
|
|
21
21
|
- [Eval Logs](https://inspect.ai-safety-institute.org.uk/eval-logs.html.md): Explores how to get the most out of evaluation logs for developing, debugging, and analyzing evaluations.
|
22
22
|
- [Eval Sets](https://inspect.ai-safety-institute.org.uk/eval-sets.html.md): Covers Inspect's features for describing, running, and analysing larger sets of evaluation tasks.
|
23
23
|
- [Errors and Limits](https://inspect.ai-safety-institute.org.uk/errors-and-limits.html.md): This article covers various techniques for dealing with unexpected errors and setting limits on evaluation tasks and samples, including retrying failed evaluations, establishing a threshold of samples to tolerate errors for before failing an evaluation, and setting a maximum number of messages, tokens, or elapsed seconds in a sample before forcing the solver to give up.
|
24
|
+
- [Multimodal](https://inspect.ai-safety-institute.org.uk/multimodal.html.md) This article describes how to use images, audio, and video in evaluations.
|
24
25
|
- [Typing](https://inspect.ai-safety-institute.org.uk/typing.html.md): Provides guideance on using static type checking with Inspect, including creating typed interfaces to untyped storage (i.e. sample metadata and store).
|
25
26
|
- [Tracing](https://inspect.ai-safety-institute.org.uk/tracing.html.md): Describes advanced execution tracing tools used to diagnose runtime issues.
|
26
27
|
- [Caching](https://inspect.ai-safety-institute.org.uk/caching.html.md): Caching enables you to cache model output to reduce the number of API calls made, saving both time and expense.
|
@@ -0,0 +1,176 @@
|
|
1
|
+
---
|
2
|
+
title: Multimodal
|
3
|
+
---
|
4
|
+
|
5
|
+
## Overview
|
6
|
+
|
7
|
+
Many models now support multimodal inputs, including images, audio, and video. This article describes how to how to create evaluations that include these data types.
|
8
|
+
|
9
|
+
The following providers currently have support for multimodal inputs:
|
10
|
+
|
11
|
+
| Provider | Images | Audio | Video |
|
12
|
+
|-----------|:------:|:-----:|:-----:|
|
13
|
+
| OpenAI | • | • | |
|
14
|
+
| Anthropic | • | | |
|
15
|
+
| Google | • | • | • |
|
16
|
+
| Vertex | • | • | |
|
17
|
+
| Mistral | • | | |
|
18
|
+
| Grok | • | | |
|
19
|
+
| Bedrock | • | | |
|
20
|
+
| AzureAI | • | | |
|
21
|
+
| Groq | • | | |
|
22
|
+
|
23
|
+
: {tbl-colwidths=\[40,20,20,20\]}
|
24
|
+
|
25
|
+
Note that model providers only support multimodal inputs for a subset of their models. In the sections below on images, audio, and video we'll enumerate which models can handle these input types. It's also always a good idea to check the provider documentation for the most up to date compatiblity matrix.
|
26
|
+
|
27
|
+
## Images {#provider-notes}
|
28
|
+
|
29
|
+
The following models currently support image inputs:
|
30
|
+
|
31
|
+
- OpenAI: GPT-4o series and the full o1 model,
|
32
|
+
- Anthropic: Claude 3.5 Sonnet and all of the Claude 3 series models.
|
33
|
+
- Google/Vertex: Gemini 1.5 and Gemini 2.0 models.
|
34
|
+
- Mistral: Pixstral models (e.g. `pixtral-12b-2409`)
|
35
|
+
- Grok: Vision models (e.g. `grok-vision-beta`)
|
36
|
+
|
37
|
+
For Bedrock, AzureAI, and Groq, please consult model provider documentation for details on which models support image inputs.
|
38
|
+
|
39
|
+
To include an image in a [dataset](datasets.qmd) you should use JSON input format (either standard JSON or JSON Lines). For example, here we include an image alongside some text content:
|
40
|
+
|
41
|
+
``` javascript
|
42
|
+
"input": [
|
43
|
+
{
|
44
|
+
"role": "user",
|
45
|
+
"content": [
|
46
|
+
{ "type": "image", "image": "picture.png"},
|
47
|
+
{ "type": "text", "text": "What is this a picture of?"}
|
48
|
+
]
|
49
|
+
}
|
50
|
+
]
|
51
|
+
```
|
52
|
+
|
53
|
+
The `"picture.png"` path is resolved relative to the directory containing the dataset file. The image can be specified either as a file path or a base64 encoded [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs).
|
54
|
+
|
55
|
+
If you are constructing chat messages programmatically, then the equivalent to the above would be:
|
56
|
+
|
57
|
+
``` python
|
58
|
+
input = [
|
59
|
+
ChatMessageUser(content = [
|
60
|
+
ContentImage(image="picture.png"),
|
61
|
+
ContentText(text="What is this a picture of?")
|
62
|
+
])
|
63
|
+
]
|
64
|
+
```
|
65
|
+
|
66
|
+
### Detail
|
67
|
+
|
68
|
+
Some providers support a `detail` option that control over how the model processes the image and generates its textual understanding. Valid options are `auto` (the default), `low`, and `high`. See the [Open AI documentation](https://platform.openai.com/docs/guides/vision#low-or-high-fidelity-image-understanding) for more information on using this option. The Mistral, AzureAI, and Groq APIs also support the `detail` parameter. For example, here we explicitly specify image detail:
|
69
|
+
|
70
|
+
``` python
|
71
|
+
ContentImage(image="picture.png", detail="low")
|
72
|
+
```
|
73
|
+
|
74
|
+
## Audio
|
75
|
+
|
76
|
+
The following models currently support audio inputs:
|
77
|
+
|
78
|
+
- Open AI: `gpt-4o-audio-preview`
|
79
|
+
- Google/Vertex: Gemini 1.5 and 2.0 models
|
80
|
+
|
81
|
+
To include audio in a [dataset](datasets.qmd) you should use JSON input format (either standard JSON or JSON Lines). For example, here we include audio alongside some text content:
|
82
|
+
|
83
|
+
``` javascript
|
84
|
+
"input": [
|
85
|
+
{
|
86
|
+
"role": "user",
|
87
|
+
"content": [
|
88
|
+
{ "type": "audio", "audio": "sample.mp3", "format": "mp3" },
|
89
|
+
{ "type": "text", "text": "What words are spoken in this audio sample?"}
|
90
|
+
]
|
91
|
+
}
|
92
|
+
]
|
93
|
+
```
|
94
|
+
|
95
|
+
The "sample.mp3" path is resolved relative to the directory containing the dataset file. The audio file can be specified either as a file path or a base64 encoded [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs).
|
96
|
+
|
97
|
+
If you are constructing chat messages programmatically, then the equivalent to the above would be:
|
98
|
+
|
99
|
+
``` python
|
100
|
+
input = [
|
101
|
+
ChatMessageUser(content = [
|
102
|
+
ContentAudio(audio="sample.mp3", format="mp3"),
|
103
|
+
ContentText(text="What words are spoken in this audio sample?")
|
104
|
+
])
|
105
|
+
]
|
106
|
+
```
|
107
|
+
|
108
|
+
### Formats
|
109
|
+
|
110
|
+
You can provide audio files in one of two formats:
|
111
|
+
|
112
|
+
- MP3
|
113
|
+
- WAV
|
114
|
+
|
115
|
+
As demonstrated above, you should specify the format explicitly when including audio input.
|
116
|
+
|
117
|
+
## Video
|
118
|
+
|
119
|
+
The following models currently support video inputs:
|
120
|
+
|
121
|
+
- Google: Gemini 1.5 and 2.0 models
|
122
|
+
|
123
|
+
To include video in a [dataset](datasets.qmd) you should use JSON input format (either standard JSON or JSON Lines). For example, here we include video alongside some text content:
|
124
|
+
|
125
|
+
``` javascript
|
126
|
+
"input": [
|
127
|
+
{
|
128
|
+
"role": "user",
|
129
|
+
"content": [
|
130
|
+
{ "type": "video", "video": "video.mp4", "format": "mp4" },
|
131
|
+
{ "type": "text", "text": "Can you please describe the attached video?"}
|
132
|
+
]
|
133
|
+
}
|
134
|
+
]
|
135
|
+
```
|
136
|
+
|
137
|
+
The "video.mp4" path is resolved relative to the directory containing the dataset file. The video file can be specified either as a file path or a base64 encoded [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs).
|
138
|
+
|
139
|
+
If you are constructing chat messages programmatically, then the equivalent to the above would be:
|
140
|
+
|
141
|
+
``` python
|
142
|
+
input = [
|
143
|
+
ChatMessageUser(content = [
|
144
|
+
ContentVideo(video="video.mp4", format="mp4"),
|
145
|
+
ContentText(text="Can you please describe the attached video?")
|
146
|
+
])
|
147
|
+
]
|
148
|
+
```
|
149
|
+
|
150
|
+
### Formats
|
151
|
+
|
152
|
+
You can provide video files in one of three formats:
|
153
|
+
|
154
|
+
- MP4
|
155
|
+
- MPEG
|
156
|
+
- MOV
|
157
|
+
|
158
|
+
As demonstrated above, you should specify the format explicitly when including video input.
|
159
|
+
|
160
|
+
## Uploads
|
161
|
+
|
162
|
+
When using audio and video with the Google Gemini API, media is first uploaded using the [File API](https://ai.google.dev/gemini-api/docs/audio?lang=python#upload-audio) and then the URL to the uploaded file is referenced in the chat message. This results in much faster performance for subsequent uses of the media file.
|
163
|
+
|
164
|
+
The File API lets you store up to 20GB of files per project, with a per-file maximum size of 2GB. Files are stored for 48 hours. They can be accessed in that period with your API key, but cannot be downloaded from the API. The File API is available at no cost in all regions where the Gemini API is available.
|
165
|
+
|
166
|
+
## Logging
|
167
|
+
|
168
|
+
By default, full base64 encoded copies of media files are included in the log file. Media file logging will not create performance problems when using `.eval` logs, however if you are using `.json` logs then large numbers of media files could become unwieldy (i.e. if your `.json` log file grows to 100MB or larger as a result).
|
169
|
+
|
170
|
+
You can disable all media logging using the `--no-log-images` flag. For example, here we enable the `.json` log format and disable media logging:
|
171
|
+
|
172
|
+
``` bash
|
173
|
+
inspect eval images.py --log-format=json --no-log-images
|
174
|
+
```
|
175
|
+
|
176
|
+
You can also use the `INSPECT_EVAL_LOG_IMAGES` environment variable to set a global default in your `.env` configuration file.
|
@@ -72,7 +72,7 @@ Task(
|
|
72
72
|
```
|
73
73
|
|
74
74
|
::: {#stderr-note .callout-note}
|
75
|
-
The current development version of Inspect replaces the use of the `
|
75
|
+
The current development version of Inspect replaces the use of the `bootstrap_stderr` metric with `stderr` for the built in scorers enumerated above.
|
76
76
|
|
77
77
|
Since eval scores are means of numbers having finite variance, we can compute standard errors using the Central Limit Theorem rather than bootstrapping. Bootstrapping is generally useful in contexts with more complex structure or non-mean summary statistics (e.g. quantiles). You will notice that the bootstrap numbers will come in quite close to the analytic numbers, since they are estimating the same thing.
|
78
78
|
|
@@ -217,7 +217,7 @@ def includes(ignore_case: bool = True):
|
|
217
217
|
1. The function applies the `@scorer` decorator and registers two metrics for use with the scorer.
|
218
218
|
2. The `score()` function is declared as `async`. This is so that it can participate in Inspect's optimised scheduling for expensive model generation calls (this scorer doesn't call a model but others will).
|
219
219
|
3. We make use of the `text` property on the `Target`. This is a convenience property to get a simple text value out of the `Target` (as targets can technically be a list of strings).
|
220
|
-
4. We use the special constants `CORRECT` and `INCORRECT` for the score value (as the `accuracy()`, `stderr()`, and `
|
220
|
+
4. We use the special constants `CORRECT` and `INCORRECT` for the score value (as the `accuracy()`, `stderr()`, and `bootstrap_stderr()` metrics know how to convert these special constants to float values (1.0 and 0.0 respectively).
|
221
221
|
5. We provide the full model completion as the answer for the score (`answer` is optional, but highly recommended as it is often useful to refer to during evaluation development).
|
222
222
|
|
223
223
|
### Example: Model Grading
|
@@ -514,7 +514,7 @@ Inspect includes some simple built in metrics for calculating accuracy, mean, et
|
|
514
514
|
|
515
515
|
Standard error of the mean.
|
516
516
|
|
517
|
-
- `
|
517
|
+
- `bootstrap_stderr()`
|
518
518
|
|
519
519
|
Standard deviation of a bootstrapped estimate of the mean. 1000 samples are taken by default (modify this using the `num_samples` option).
|
520
520
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
|
-
files=("index" "tutorial" "workflow" "log-viewer" "vscode" "solvers" "tools" "scorers" "datasets" "models" "agents" "sandboxing" "agents-api" "human-agent" "approval" "eval-logs" "eval-sets"
|
3
|
+
files=("index" "tutorial" "workflow" "log-viewer" "vscode" "solvers" "tools" "scorers" "datasets" "models" "agents" "sandboxing" "agents-api" "human-agent" "approval" "eval-logs" "eval-sets" "errors-and-limits" "multimodal" "typing" "tracing" "caching" "parallelism" "interactivity" "extensions")
|
4
4
|
|
5
5
|
|
6
6
|
if [ "$QUARTO_PROJECT_RENDER_ALL" = "1" ]; then
|
@@ -31,6 +31,12 @@ Trace logs are written using [JSON Lines](https://jsonlines.org/) format and are
|
|
31
31
|
inspect trace dump trace-86396.log.gz
|
32
32
|
```
|
33
33
|
|
34
|
+
You can also apply a filter to the trace file using the `--filter` argument (which will match log message text case insensitively). For example:
|
35
|
+
|
36
|
+
``` bash
|
37
|
+
inspect trace dump trace-86396.log.gz --filter model
|
38
|
+
```
|
39
|
+
|
34
40
|
## Anomalies {#anomalies}
|
35
41
|
|
36
42
|
If an evaluation is running and is not terminating, you can execute the following command to list instances of actions (e.g. model API generates, docker compose commands, tool calls, etc.) that are still running:
|
@@ -57,6 +63,12 @@ inspect trace anomalies --all
|
|
57
63
|
|
58
64
|
Note that errors and timeouts are not by themselves evidence of problems, since both occur in the normal course of running evaluations (e.g. model generate calls can return errors that are retried and Docker or S3 can also return retryable errors or timeout when they are under heavy load).
|
59
65
|
|
66
|
+
As with the `inspect trace dump` command, you can apply a filter when listing anomolies. For example:
|
67
|
+
|
68
|
+
```bash
|
69
|
+
inspect trace anomalies --filter model
|
70
|
+
```
|
71
|
+
|
60
72
|
## Tracing API {#tracing-api}
|
61
73
|
|
62
74
|
In addition to the standard set of actions which are trace logged, you can do your own custom trace logging using the `trace_action()` and `trace_message()` APIs. Trace logging is a great way to make sure that logging context is *always captured* (since the last 10 trace logs are always available) without cluttering up the console or eval transcripts.
|
@@ -208,11 +208,6 @@ Note that `.env` files are searched for in parent directories, so if you run an
|
|
208
208
|
`.env` files should *never* be checked into version control, as they nearly always contain either secret API keys or machine specific paths. A best practice is often to check in an `.env.example` file to version control which provides an outline (e.g. keys only not values) of variables that are required by the current project.
|
209
209
|
:::
|
210
210
|
|
211
|
-
## Trace Mode
|
212
|
-
|
213
|
-
In some cases during development of an evaluation you'll want to see message activity in realtime. You can do this via the `--trace` CLI option (or `trace` parameter of the `eval()` function). For example:
|
214
|
-
|
215
|
-
{{< include _trace.md >}}
|
216
211
|
|
217
212
|
## Exploratory
|
218
213
|
|
@@ -4,17 +4,11 @@
|
|
4
4
|
|
5
5
|
This is a demonstrate of Inspect's [Approval Mode](https://inspect.ai-safety-institute.org.uk/approval.html) whereby tool calls are approved by a combination of approvers and approval policies.
|
6
6
|
|
7
|
-
To run this demonstration, specify the approval configuration file
|
7
|
+
To run this demonstration, specify the approval configuration file as follows:
|
8
8
|
|
9
9
|
``` bash
|
10
10
|
cd examples/approval
|
11
|
-
inspect eval approval.py --approval approval.yaml
|
12
|
-
```
|
13
|
-
|
14
|
-
You can also run the approval script directly and it will run the task in the appropriate approval and trace modes:
|
15
|
-
|
16
|
-
``` bash
|
17
|
-
python3 examples/approval/approval.py
|
11
|
+
inspect eval approval.py --approval approval.yaml
|
18
12
|
```
|
19
13
|
|
20
14
|
## Task Setup
|
@@ -49,7 +43,7 @@ def approval_demo() -> Task:
|
|
49
43
|
We'll evaluate this task using the approval policy defined in `approval.yaml`:
|
50
44
|
|
51
45
|
```bash
|
52
|
-
inspect eval approval.py --approval approval.yaml
|
46
|
+
inspect eval approval.py --approval approval.yaml
|
53
47
|
```
|
54
48
|
|
55
49
|
Here is the approval configuration:
|
@@ -1,9 +1,8 @@
|
|
1
1
|
import ast
|
2
2
|
import shlex
|
3
|
-
from pathlib import Path
|
4
3
|
from typing import Set
|
5
4
|
|
6
|
-
from inspect_ai import Task,
|
5
|
+
from inspect_ai import Task, task
|
7
6
|
from inspect_ai.approval import Approval, Approver, approver
|
8
7
|
from inspect_ai.dataset import Sample
|
9
8
|
from inspect_ai.solver import TaskState, generate, system_message, use_tools
|
@@ -220,8 +219,3 @@ def python_allowlist(
|
|
220
219
|
return Approval(decision="approve", explanation="Python code is approved.")
|
221
220
|
|
222
221
|
return approve
|
223
|
-
|
224
|
-
|
225
|
-
if __name__ == "__main__":
|
226
|
-
approval = (Path(__file__).parent / "approval.yaml").as_posix()
|
227
|
-
eval(approval_demo(), approval=approval)
|
@@ -4,17 +4,12 @@
|
|
4
4
|
|
5
5
|
This is a prototype of an Inspect agent with human intervention. It utilises Inspect's [Interactivity features](https://inspect.ai-safety-institute.org.uk/interactivity.html). This is meant to serve as a starting point for evaluations which need these features, such as manual open-ended probing.
|
6
6
|
|
7
|
-
This gives an overview of this task and how to customise it. Note that this task is intended to be run within Inspect's approval mode (so you can confirm tool calls) and
|
7
|
+
This gives an overview of this task and how to customise it. Note that this task is intended to be run within Inspect's approval mode (so you can confirm tool calls) and conversation display mode (so you can see the conversation with the model). For example:
|
8
8
|
|
9
9
|
``` bash
|
10
|
-
inspect eval intervention.py --approval human --
|
10
|
+
inspect eval exmaples/intervention.py --approval human --display conversation
|
11
11
|
```
|
12
12
|
|
13
|
-
You can also run the intervention script directly and it will run the task in the appropriate approval and trace modes:
|
14
|
-
|
15
|
-
``` bash
|
16
|
-
python3 intervention.py
|
17
|
-
```
|
18
13
|
|
19
14
|
## Inspect Code
|
20
15
|
|
@@ -2,7 +2,7 @@ from textwrap import dedent
|
|
2
2
|
|
3
3
|
from rich.prompt import Prompt
|
4
4
|
|
5
|
-
from inspect_ai import Task,
|
5
|
+
from inspect_ai import Task, task
|
6
6
|
from inspect_ai.model import ChatMessageUser
|
7
7
|
from inspect_ai.solver import (
|
8
8
|
Generate,
|
@@ -108,7 +108,3 @@ def ask_for_next_action() -> str:
|
|
108
108
|
default="",
|
109
109
|
console=console,
|
110
110
|
)
|
111
|
-
|
112
|
-
|
113
|
-
if __name__ == "__main__":
|
114
|
-
eval(intervention(), approval="human", trace=True)
|
@@ -129,7 +129,7 @@ dev = [
|
|
129
129
|
"pytest-cov",
|
130
130
|
"pytest-dotenv",
|
131
131
|
"pytest-xdist",
|
132
|
-
"ruff==0.9.
|
132
|
+
"ruff==0.9.1", # match version specified in .pre-commit-config.yaml
|
133
133
|
"textual-dev>=0.86.2",
|
134
134
|
"types-PyYAML",
|
135
135
|
"types-beautifulsoup4",
|
@@ -7,7 +7,7 @@ from inspect_ai._eval.evalset import eval_set
|
|
7
7
|
from inspect_ai._eval.list import list_tasks
|
8
8
|
from inspect_ai._eval.registry import task
|
9
9
|
from inspect_ai._eval.score import score, score_async
|
10
|
-
from inspect_ai._eval.task import Epochs, Task, TaskInfo, Tasks
|
10
|
+
from inspect_ai._eval.task import Epochs, Task, TaskInfo, Tasks, task_with
|
11
11
|
from inspect_ai._util.constants import PKG_NAME
|
12
12
|
from inspect_ai.solver._human_agent.agent import human_agent
|
13
13
|
|
@@ -29,4 +29,5 @@ __all__ = [
|
|
29
29
|
"TaskInfo",
|
30
30
|
"Tasks",
|
31
31
|
"task",
|
32
|
+
"task_with",
|
32
33
|
]
|
@@ -17,7 +17,7 @@ class CommonOptions(TypedDict):
|
|
17
17
|
log_level: str
|
18
18
|
log_level_transcript: str
|
19
19
|
log_dir: str
|
20
|
-
display: Literal["full", "rich", "plain", "none"]
|
20
|
+
display: Literal["full", "conversation", "rich", "plain", "none"]
|
21
21
|
no_ansi: bool | None
|
22
22
|
debug: bool
|
23
23
|
debug_port: int
|
@@ -64,7 +64,9 @@ def common_options(func: Callable[..., Any]) -> Callable[..., click.Context]:
|
|
64
64
|
)
|
65
65
|
@click.option(
|
66
66
|
"--display",
|
67
|
-
type=click.Choice(
|
67
|
+
type=click.Choice(
|
68
|
+
["full", "conversation", "rich", "plain", "none"], case_sensitive=False
|
69
|
+
),
|
68
70
|
default=DEFAULT_DISPLAY,
|
69
71
|
envvar="INSPECT_DISPLAY",
|
70
72
|
help="Set the display type (defaults to 'full')",
|
@@ -118,6 +118,7 @@ def eval_options(func: Callable[..., Any]) -> Callable[..., click.Context]:
|
|
118
118
|
"--trace",
|
119
119
|
type=bool,
|
120
120
|
is_flag=True,
|
121
|
+
hidden=True,
|
121
122
|
envvar="INSPECT_EVAL_TRACE",
|
122
123
|
help="Trace message interactions with evaluated model to terminal.",
|
123
124
|
)
|
@@ -886,6 +887,7 @@ def parse_comma_separated(value: str | None) -> list[str] | None:
|
|
886
887
|
"--trace",
|
887
888
|
type=bool,
|
888
889
|
is_flag=True,
|
890
|
+
hidden=True,
|
889
891
|
help="Trace message interactions with evaluated model to terminal.",
|
890
892
|
envvar="INSPECT_EVAL_TRACE",
|
891
893
|
)
|