inspect-ai 0.3.56__tar.gz → 0.3.57__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.56 → inspect_ai-0.3.57}/.github/workflows/build.yml +1 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.pre-commit-config.yaml +9 -9
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/CHANGELOG.md +19 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/PKG-INFO +3 -3
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_container_limits.md +4 -0
- inspect_ai-0.3.57/docs/_max_samples.md +7 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_sample-preservation.md +1 -4
- inspect_ai-0.3.57/docs/_setting_max_samples.md +3 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/eval-logs.qmd +1 -4
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/scorers.qmd +1 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/tracing.qmd +38 -2
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/typing.qmd +11 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/pyproject.toml +1 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/panel.py +1 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/run.py +16 -11
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/datetime.py +1 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/deprecation.py +1 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/json.py +11 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/logger.py +2 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/trace.py +39 -3
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/transcript.py +36 -7
- inspect_ai-0.3.57/src/inspect_ai/_view/www/.prettierrc.js +12 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/dist/assets/index.js +286 -224
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/log-schema.json +124 -125
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/App.mjs +18 -9
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/Types.mjs +0 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/Types.mjs +15 -4
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/api-http.mjs +2 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/ExpandablePanel.mjs +2 -2
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/FindBand.mjs +5 -4
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/LargeModal.mjs +1 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/MessageContent.mjs +1 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/TabSet.mjs +1 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/Tools.mjs +18 -3
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/VirtualList.mjs +15 -17
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/log/remoteLogFile.mjs +2 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/navbar/Navbar.mjs +44 -32
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleDisplay.mjs +1 -2
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleList.mjs +35 -4
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleScoreView.mjs +13 -2
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleScores.mjs +11 -2
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SamplesDescriptor.mjs +238 -178
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SamplesTab.mjs +4 -2
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/tools/SampleFilter.mjs +5 -5
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/tools/SelectScorer.mjs +7 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/tools/SortFilter.mjs +3 -3
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/ToolEventView.mjs +1 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/types/log.d.ts +2 -8
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/workspace/WorkSpace.mjs +1 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_log.py +25 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_recorders/eval.py +2 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_call_tools.py +27 -5
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/google.py +24 -6
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/openai.py +17 -3
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/openai_o1.py +10 -12
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_info.py +2 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/dm_env_servicer.py +9 -9
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_web_browser.py +3 -3
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/__init__.py +4 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/compose.py +1 -3
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/util.py +2 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/self_check.py +18 -18
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_store.py +2 -2
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_subprocess.py +3 -3
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai.egg-info/PKG-INFO +3 -3
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai.egg-info/SOURCES.txt +8 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai.egg-info/requires.txt +1 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_log_formats.py +6 -6
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_store_model.py +32 -3
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tool_types.py +42 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_web_browser.py +23 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_subprocess.py +1 -1
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/CHANGELOG.md +5 -0
- inspect_ai-0.3.57/tools/vscode/assets/icon/eval-treeview-cancelled.svg +13 -0
- inspect_ai-0.3.57/tools/vscode/assets/icon/eval-treeview-error.svg +13 -0
- inspect_ai-0.3.57/tools/vscode/assets/icon/eval-treeview-started.svg +14 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/package.json +3 -3
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/@types/log.d.ts +2 -8
- inspect_ai-0.3.57/tools/vscode/src/providers/activity-bar/log-listing/log-listing-data.ts +217 -0
- inspect_ai-0.3.57/tools/vscode/src/providers/activity-bar/log-listing/log-listing-server-queue.ts +310 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/log-listing/log-listing.ts +56 -38
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/codelens/codelens-provider.ts +54 -7
- inspect_ai-0.3.57/tools/vscode/src/test/codelens-provider.test.ts +269 -0
- inspect_ai-0.3.56/tools/vscode/src/providers/activity-bar/log-listing/log-listing-data.ts +0 -308
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.github/dependabot.yml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.github/pull_request_template.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.github/workflows/docs.yml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.github/workflows/log_viewer.yml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.github/workflows/pypi.yml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.github/workflows/vscode.yml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.gitignore +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.vscode/extensions.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.vscode/settings.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/CITATION.cff +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/LICENSE +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/Makefile +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/README.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/.gitignore +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/CNAME +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_errors_and_retries.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_metadata_typing.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_quarto.yml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_sandboxenv-interface.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_store_typing.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_tools-annotations-required.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_tools-scaffold.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_trace.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_variables.yml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/agents-api.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/agents.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/approval.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/caching.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/datasets.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/errors-and-limits.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/eval-sets.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/examples/examples.bib +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/examples/examples.css +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/examples/examples.ejs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/examples/examples.yml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/examples/index.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/extensions.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/human-agent.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/aisi-logo.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/eval-log.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-activity-bar.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-human-agent-container.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-human-agent.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-multiple-models.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-terminal-transcript.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-answers.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-filter.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-history.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-home.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-info.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-logging-console.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-logging.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-main.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-messages.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-metadata.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-scoring.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-sort.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-splash.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-vscode-config.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-vscode-install.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-vscode-logview.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-vscode-output-channel.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-vscode-run-task.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/logs-drop-down.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/logs-open-button.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/logs.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/popularity.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/python-tool-view.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/rate-limit.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/running-theory.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/task-max-sandboxes.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/toolenv-no-cleanup.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/web-browser-tool-view.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/index.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/interactivity.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/llms.txt +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/log-viewer.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/models.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/parallelism.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/sandboxing.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/scripts/post-render.sh +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/solvers.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/theme.scss +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/tools.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/tutorial.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/vscode.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/workflow.qmd +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/approval/README.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/approval/approval.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/approval/approval.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/biology_qa.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/browser/browser.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/browser/compose.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/cache.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/evalset.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/hello_world.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/images/ballons.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/images/bike.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/images/images.jsonl +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/images/images.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/intervention/Dockerfile +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/intervention/README.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/intervention/compose.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/intervention/intervention.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/.env.example +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/.gitignore +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/README.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/inspect_langchain.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/requirements.txt +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/wikipedia.jsonl +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/wikipedia.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/popularity.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/security_guide.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/theory_of_mind.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/tool_use.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/requirements.txt +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/setup.cfg +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/__main__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/cache.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/common.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/eval.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/info.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/list.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/log.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/main.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/sandbox.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/score.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/trace.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/util.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/view.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/active.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/config.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/display.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/footer.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/group.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/progress.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/results.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/rich.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/textual.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/rich/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/rich/display.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/app.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/app.tcss +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/display.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/theme.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/clock.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/console.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/footer.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/samples.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/task_detail.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/tasks.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/titlebar.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/toggle.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/transcript.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/context.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/eval.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/evalset.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/list.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/loader.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/registry.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/score.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/constants.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/epochs.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/error.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/generate.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/images.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/log.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/results.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/run.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/rundir.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/sandbox.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/task.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/util.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/_async.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/ansi.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/appdirs.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/config.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/constants.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/content.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/decorator.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/dev.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/dict.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/dotenv.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/entrypoints.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/environ.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/error.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/file.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/format.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/git.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/hash.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/hooks.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/html.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/http.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/images.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/list.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/notebook.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/package.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/path.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/pattern.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/platform.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/registry.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/retry.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/rich.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/samples.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/terminal.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/text.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/throttle.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/timeouts.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/url.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/version.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/vscode.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/notify.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/schema.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/server.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/view.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/.gitignore +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/.prettierignore +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/.tool-versions +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/App.css +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/README.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/dist/assets/favicon.svg +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/dist/assets/index.css +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/dist/index.html +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/eslint.config.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/favicon.svg +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/index.html +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/jsconfig.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/package.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/postcss.config.cjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/Register.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/api-browser.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/api-shared.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/api-vscode.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/client-api.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/index.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/jsonrpc.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/appearance/Colors.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/appearance/Fonts.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/appearance/Icons.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/appearance/Styles.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/AnsiDisplay.css +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/AnsiDisplay.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/AppErrorBoundary.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/AsciiCinemaPlayer.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/Browser.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/Card.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/ChatView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/CopyButton.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/Dialog.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/DownloadButton.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/DownloadPanel.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/EmptyPanel.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/ErrorPanel.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/HumanBaselineView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/JsonPanel.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/LabeledValue.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/LightboxCarousel.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/MarkdownDiv.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/MessageBand.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/MetaDataGrid.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/MetaDataView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/MorePopOver.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/NavPills.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/ProgressBar.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/RenderedContent/ChatMessageRenderer.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/RenderedContent/RenderedContent.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/RenderedContent/Types.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/ToolButton.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/ansi-output.js +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/constants.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/index.js +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/json/JsonTab.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/log-reader/Log-Reader.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/log-reader/Native-Log-Reader.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/log-reader/Open-AI-Log-Reader.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/navbar/SecondaryBar.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/plan/PlanCard.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleDialog.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleError.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleLimit.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleTranscript.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SamplesTools.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/tools/EpochFilter.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/tools/filters.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/ApprovalEventView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/ErrorEventView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/EventPanel.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/EventRow.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/EventSection.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/InfoEventView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/InputEventView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/LoggerEventView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/ModelEventView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/SampleInitEventView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/SampleLimitEventView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/ScoreEventView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/StepEventView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptState.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/Types.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/state/StateDiffView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventRenderers.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventView.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/sidebar/Sidebar.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/types/asciicinema-player.d.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/types/jsondiffpatch.d.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/types/prism.d.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/usage/ModelTokenTable.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/usage/UsageCard.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Base64.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Format.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Git.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Html.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Json.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Path.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Print.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Type.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/attachments.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/debugging.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/http.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/queue.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/remoteZipFile.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/sync.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/vscode.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/workspace/TaskErrorPanel.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/tsconfig.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/vite.config.js +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/yarn.lock +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_apply.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_approval.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_approver.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_auto.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_call.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_human/approver.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_human/console.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_human/manager.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_human/panel.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_human/util.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_policy.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_registry.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_dataset.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_examples/bias_detection.jsonl +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_examples/biology_qa.jsonl +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_examples/popularity.jsonl +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_examples/security_guide.jsonl +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_examples/theory_of_mind.jsonl +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_sources/csv.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_sources/example.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_sources/file.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_sources/hf.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_sources/json.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_sources/util.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_util.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_bundle.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_condense.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_convert.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_file.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_message.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_recorders/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_recorders/create.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_recorders/file.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_recorders/json.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_recorders/recorder.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_retry.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_samples.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_transcript.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_cache.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_chat_message.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_generate_config.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_image.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_model.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_model_call.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_model_output.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/anthropic.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/azureai.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/bedrock.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/cloudflare.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/grok.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/groq.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/hf.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/llama_cpp_python.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/mistral.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/mockllm.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/ollama.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/providers.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/together.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/util/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/util/chatapi.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/util/hf_handler.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/util/llama31.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/util/util.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/vertex.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/vllm.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_registry.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_render.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_trace.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/py.typed +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_answer.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_choice.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_classification.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_common.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_match.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_metric.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_metrics/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_metrics/accuracy.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_metrics/mean.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_metrics/std.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_model.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_multi.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_pattern.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_reducer/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_reducer/reducer.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_reducer/registry.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_reducer/types.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_score.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_scorer.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_target.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_basic_agent.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_chain.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_critique.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_fork.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/agent.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/clock.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/command.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/instructions.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/note.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/score.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/status.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/submit.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/install.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/panel.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/service.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/state.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/view.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_multiple_choice.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_plan.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_prompt.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_solver.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_task_state.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_transcript.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_use_tools.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_util.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_call.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_choice.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_def.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_description.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_params.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_transcript.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_with.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_execute.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/Dockerfile +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/README.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/accessibility_node.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/images/usage_diagram.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/mock_environment.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/playwright_crawler.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_accessibility_node.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_dm_env_servicer.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_playwright_crawler.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_web_environment.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client_new_session.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_environment.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_server.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_search.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_concurrency.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_console.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_display.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_panel.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_resource.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/context.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/cleanup.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/config.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/docker.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/internal.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/prereqs.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/environment.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/limits.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/local.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/registry.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/service.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_store_model.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_subtask.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_throttle.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_trace.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai.egg-info/dependency_links.txt +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai.egg-info/entry_points.txt +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai.egg-info/top_level.txt +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/approval/approve.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/approval/escalate.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/approval/modify.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/approval/reject.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/approval/terminate.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/approval/test_approval.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/conftest.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/dataset.jsonl +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/images/ballons.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/images.jsonl +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/samples-md.csv +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/samples-md.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/samples-md.jsonl +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/samples.csv +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/samples.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/samples.jsonl +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_formats.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_images.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_images_tc.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_invalid.txt +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_length_stop_reason.txt +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_streaming.eval +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_valid.txt +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_version_3.txt +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_with_nan.txt +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_list_logs/2024-11-05T13-31-45-05-00_input-task_8zXjbRzCWrL9GXiXo2vus9.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_list_logs/2024-11-05T13-32-37-05-00_input-task_hxs4q9azL3ySGkjJirypKZ.eval +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_list_logs/custom.eval +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_list_logs/ignore.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_list_logs.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_log_attachments.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_log_level.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_log_streaming.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_log_tags.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_anthropic.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_azureai.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_cloudflare.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_google.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_grok.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_groq.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_hf.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_llama_cpp_python.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_openai.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_openai_o1.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_vertex.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_vllm.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_api_key.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_cache.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_collapse_assistant_message.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_collapse_user_message.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_disable.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_logprobs.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_mock_model_llm.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_num_choices.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_parse_tool_call.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_stop_reason.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_answer.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_choice.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_classification.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_match.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_metric.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_model_graded.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_multiscorer.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_pattern.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_reducers.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_scorer.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_value_to_float.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_basic_agent.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_chain.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_fork.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_multiple_choice.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_prompt.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_setup.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_solver.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_solver_decorator.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_solver_spec.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_store.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_subtask.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_transcript.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_config/model.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_config/solver.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_config/task.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_config.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_set/2024-08-29T15-11-17+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_set/2024-08-29T15-11-18+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_set.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_examples.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_extensions.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_fail_on_error.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_helpers/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_helpers/tasks.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_helpers/tool_call_utils.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_helpers/tools.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_helpers/utils.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_list_task.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_log_dir/example_task/example_task.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_log_dir/test_log_dir.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/.gitignore +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/_registry.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/approvers/renamer.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/modelapi/custom.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/py.typed +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/sandboxenv/podman.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/score/scorer.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/solvers/cot.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/pyproject.toml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_retry.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_run_dir/task1/task1.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_run_dir/task2/task2.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_run_dir.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_sample_id.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_sample_limits.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_attr.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/__init__.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/attribs.ipynb +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/multiple.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/multiple_dir/_decoy/testit.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/multiple_dir/_decoy2.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/multiple_dir/bar.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/multiple_dir/foo.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/recurse/.folder3/epsilon.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/recurse/folder1/_decoy.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/recurse/folder1/theta.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/recurse/folder2/.folder3/epsilon.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/recurse/folder2/another.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/recurse/folder2/first.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/docker-compose-context/Dockerfile +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/docker-compose-context-alpine/Dockerfile +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_bash_tool.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_max_exec_output.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_max_tool_output.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_python_tool.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_sandbox_compose.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_sandbox_compose_alpine.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_sandbox_docker_and_local.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_sandbox_dockerfile.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_sandbox_tool_eval.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tool_def.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tool_images.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tool_parse.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tool_view.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tool_with.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tools.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_use_tools.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_web_browser_compose.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/sandbox/docker_compose_multiple_services/docker-compose.yaml +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/sandbox/sandbox_setup.sh +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/sandbox/test_docker_compose_multiple_services.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/sandbox/test_sandbox_service.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/sandbox/test_sandbox_setup.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_file.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_images/images.jsonl +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_images.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_package.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_registry.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_str_to_float.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/view/test_bundle.py +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.eslintrc.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.gitignore +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.vscode/extensions.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.vscode/launch.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.vscode/settings.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.vscode/tasks.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.vscode-test.mjs +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.vscodeignore +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.yarnrc +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/LICENSE +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/README.md +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/icon/eval-treeview.svg +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/icon/eval.svg +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/logo/inspect.png +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/logo/inspect.svg +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/templates/task.py.template +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/www/codicon/codicon.css +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/www/codicon/codicon.ttf +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/www/view/view-overrides.css +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/@types/hooks.d.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/document.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/error.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/focus.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/notebook.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/symbol.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/task.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/templates.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/webview.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/appdirs.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/command.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/dispose.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/env.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/file.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/git.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/jsonrpc.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/log.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/nonce.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/path.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/port.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/process.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/python/code.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/python/env.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/python/exec.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/python/index.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/python/interpreter.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/random.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/string.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/text.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/uri.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/vscode/association.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/wait.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/workspace.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/extension.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/hooks/hooks.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/hooks/index.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/hooks/preview.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/inspect/index.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/inspect/logs.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/inspect/props.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/inspect/version.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/active-task/active-task-command.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/active-task/active-task-provider.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/activity-bar-provider.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/env-config-provider.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/log-listing/log-directory-selector.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-mru.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-provider.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/task-config-commands.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/task-config-provider.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/task-outline-commands.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/task-outline-provider.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.css +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.css +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/webview/vscode-controls.css +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/webview/webview-utils.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-commands.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-constants.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-eval-commands.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-eval.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-logs-watcher.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-manager.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-view-server.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/lognotify.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/commands.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/logview-editor.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/logview-link-provider.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/logview-panel.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/logview-state.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/logview-view.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/logview.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/openlog.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/protocol-handler.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/settings/inspect-settings.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/settings/user-settings.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/statusbar.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/workspace/workspace-env-commands.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/workspace/workspace-env-provider.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/workspace/workspace-init.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/workspace/workspace-state-provider.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/workspace/workspace-task-provider.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/test/extension.test.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tools/ts-to-mjs/.gitignore +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tools/ts-to-mjs/package.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tools/ts-to-mjs/rollup.config.js +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tools/ts-to-mjs/src/index.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tools/ts-to-mjs/src/jsonrpc.ts +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tools/ts-to-mjs/yarn.lock +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tsconfig.json +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/webpack.config.js +0 -0
- {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/yarn.lock +0 -0
@@ -4,15 +4,15 @@
|
|
4
4
|
default_language_version:
|
5
5
|
python: python3.11
|
6
6
|
repos:
|
7
|
-
- repo: https://github.com/astral-sh/ruff-pre-commit
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
-
|
7
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
8
|
+
rev: v0.9.0
|
9
|
+
hooks:
|
10
|
+
# Run the linter.
|
11
|
+
- id: ruff
|
12
|
+
args: [--fix]
|
13
|
+
# Run the formatter.
|
14
|
+
- id: ruff-format
|
15
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
16
16
|
rev: v4.5.0
|
17
17
|
hooks:
|
18
18
|
- id: check-added-large-files
|
@@ -1,5 +1,24 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## v0.3.57 (09 January 2025)
|
4
|
+
|
5
|
+
- [Tracing API](https://inspect.ai-safety-institute.org.uk/tracing.html#tracing-api) for custom trace logging.
|
6
|
+
- Inspect View: never truncate tool result images and display at default width of 800px.
|
7
|
+
- Inspect View: display tool error messages in transcript when tool errors occur.
|
8
|
+
- Inspect View: display any completed samples even if the task fails because of an error
|
9
|
+
- Inspect View: don't display the 'input' column heading if there isn't an input
|
10
|
+
- Open AI: Handle additional bad request status codes (mapping them to appropriate `StopReason`)
|
11
|
+
- Open AI: Use new `max_completion_tokens` option for o1 full.
|
12
|
+
- Web Browser: raise error when both `error` and `web_at` fields are present in response.
|
13
|
+
- Sandboxes: Apply dataset filters (limit and sample id) prior to sandbox initialisation.
|
14
|
+
- Docker: Prevent issue with container/project names that have a trailing underscore.
|
15
|
+
- Store: initialise `Store` from existing dictionary.
|
16
|
+
- Log: provide `metadata_as` and `store_as` typed accessors for sample metadata and store.
|
17
|
+
- Tool parameters with a default of `None` are now supported.
|
18
|
+
- More fine graned HTML escaping for sample transcripts displalyed in terminal.
|
19
|
+
- Bugfix: prevent errors when a state or storage value uses a tilda or slash in the key name.
|
20
|
+
- Bugfix: Include input in sample summary when the sample input contains a simple string.
|
21
|
+
|
3
22
|
## v0.3.56 (01 January 2025)
|
4
23
|
|
5
24
|
- [Human Agent](https://inspect.ai-safety-institute.org.uk/human-agent.html) solver for human baselining of computing tasks.
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: inspect_ai
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.57
|
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.
|
70
|
+
Requires-Dist: ruff==0.9.0; 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"
|
@@ -13,3 +13,7 @@ Note that when `max_sandboxes` is applied this effectively creates a global `max
|
|
13
13
|
### Max Subprocesses
|
14
14
|
|
15
15
|
The `max_subprocesses` option determines how many subprocess calls can run in parallel. By default, this is set to `os.cpu_count()`. Depending on the nature of execution done inside sandbox environments, you might benefit from increasing or decreasing `max_subprocesses`.
|
16
|
+
|
17
|
+
### Max Samples
|
18
|
+
|
19
|
+
{{< include _max_samples.md >}}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
|
2
|
+
Another consideration is `max_samples`, which is the maximum number of samples to run concurrently within a task. Larger numbers of concurrent samples will result in higher throughput, but will also result in completed samples being written less frequently to the log file, and consequently less total recovable samples in the case of an interrupted task.
|
3
|
+
|
4
|
+
By default, Inspect sets the value of `max_samples` to `max_connections + 1` (note that it would rarely make sense to set it _lower_ than `max_connections`). The default `max_connections` is 10, which will typically result in samples being written to the log frequently. On the other hand, setting a very large `max_connections` (e.g. 100 `max_connections` for a dataset with 100 samples) may result in very few recoverable samples in the case of an interruption.
|
5
|
+
|
6
|
+
{{< include _setting_max_samples.md >}}
|
7
|
+
|
@@ -14,7 +14,4 @@ If dataset shuffling is important to your evaluation and you want to preserve sa
|
|
14
14
|
|
15
15
|
#### Max Samples
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
By default, Inspect sets the value of `max_samples` to `max_connections + 1`, ensuring that the model API is always fully saturated (note that it would rarely make sense to set it _lower_ than `max_connections`). The default `max_connections` is 10, which will typically result in samples being written to the log frequently. On the other hand, setting a very large `max_connections` (e.g. 100 `max_connections` for a dataset with 100 samples) may result in very few recoverable samples in the case of an interruption.
|
20
|
-
|
17
|
+
{{< include _max_samples.md >}}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
::: {.callout-note appearance="simple"}
|
2
|
+
If your task involves tool calls and/or sandboxes, then you will likely want to set `max_samples` to greater than `max_connections`, as your samples will sometimes be calling the model (using up concurrent connections) and sometimes be executing code in the sandbox (using up concurrent subprocess calls). While running tasks you can see the utilization of connections and subprocesses in realtime and tune your `max_samples` accordingly.
|
3
|
+
:::
|
@@ -246,11 +246,8 @@ Note you will most typically *not* want to resolve attachments. The two cases th
|
|
246
246
|
|
247
247
|
{{< include _sample-preservation.md >}}
|
248
248
|
|
249
|
-
::: {.callout-note appearance="simple"}
|
250
|
-
### Eval Sets
|
251
|
-
|
252
249
|
We've discussed how to manage retries for a single evaluation run interactively. For the case of running many evaluation tasks in batch and retrying those which failed, see the documentation on [Eval Sets](eval-sets.qmd)
|
253
|
-
|
250
|
+
|
254
251
|
|
255
252
|
## Amazon S3 {#sec-amazon-s3}
|
256
253
|
|
@@ -100,7 +100,7 @@ def model_graded_qa(
|
|
100
100
|
|
101
101
|
The default model graded QA scorer is tuned to grade answers to open ended questions. The default `template` and `instructions` ask the model to produce a grade in the format `GRADE: C` or `GRADE: I`, and this grade is extracted using the default `grade_pattern` regular expression. The grading is by default done with the model currently being evaluated. There are a few ways you can customise the default behaviour:
|
102
102
|
|
103
|
-
1. Provide alternate `instructions`—the default instructions
|
103
|
+
1. Provide alternate `instructions`—the default instructions ask the model to use chain of thought reasoning and provide grades in the format `GRADE: C` or `GRADE: I`. Note that if you provide instructions that ask the model to format grades in a different way, you will also want to customise the `grade_pattern`.
|
104
104
|
2. Specify `include_history = True` to include the full chat history in the presented question (by default only the original sample input is presented). You may optionally instead pass a function that enables customising the presentation of the chat history.
|
105
105
|
3. Specify `partial_credit = True` to prompt the model to assign partial credit to answers that are not entirely right but come close (metrics by default convert this to a value of 0.5). Note that this parameter is only valid when using the default `instructions`.
|
106
106
|
4. Specify an alternate `model` to perform the grading (e.g. a more powerful model or a model fine tuned for grading).
|
@@ -31,7 +31,7 @@ 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
|
-
## Anomalies
|
34
|
+
## Anomalies {#anomalies}
|
35
35
|
|
36
36
|
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:
|
37
37
|
|
@@ -55,4 +55,40 @@ By default, the `inspect trace anomalies` command prints only currently running
|
|
55
55
|
inspect trace anomalies --all
|
56
56
|
```
|
57
57
|
|
58
|
-
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).
|
58
|
+
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
|
+
|
60
|
+
## Tracing API {#tracing-api}
|
61
|
+
|
62
|
+
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.
|
63
|
+
|
64
|
+
### trace_action()
|
65
|
+
|
66
|
+
Use the `trace_action()` context manager to collect data on the resolution (e.g. succeeded, cancelled, failed, timed out, etc.) and duration of actions. For example, let's say you are interacting with a remote content database:
|
67
|
+
|
68
|
+
``` python
|
69
|
+
from inspect_ai.util import trace_action
|
70
|
+
|
71
|
+
from logging import getLogger
|
72
|
+
logger = getLogger(__name__)
|
73
|
+
|
74
|
+
server = "https://contentdb.example.com"
|
75
|
+
query = "<content-db-query>"
|
76
|
+
|
77
|
+
with trace_action(logger, "ContentDB", f"{server}: {query}"):
|
78
|
+
# perform content database query
|
79
|
+
```
|
80
|
+
|
81
|
+
Your custom trace actions will be reported alongside the standard traced actions in `inspect trace anomalies`, `inspect trace dump`, etc.
|
82
|
+
|
83
|
+
### trace_message()
|
84
|
+
|
85
|
+
Use the `trace_message()` function to trace events that don't fall into enter/exit pattern supported by `trace_action()`. For example, let's say you want to track every invocation of a custom tool:
|
86
|
+
|
87
|
+
``` python
|
88
|
+
from inspect_ai.util import trace_message
|
89
|
+
|
90
|
+
from logging import getLogger
|
91
|
+
logger = getLogger(__name__)
|
92
|
+
|
93
|
+
trace_message(logger, "MyTool", "message related to tool")
|
94
|
+
```
|
@@ -16,3 +16,14 @@ The sample store and sample metadata interfaces are weakly typed to accommodate
|
|
16
16
|
|
17
17
|
{{< include _metadata_typing.md >}}
|
18
18
|
|
19
|
+
## Log Samples
|
20
|
+
|
21
|
+
The `store_as()` and `metadata_as()` typed accessors are also available when reading samples from the eval log. Continuing from the examples above, you access typed interfaces as follows from an `EvalLog`:
|
22
|
+
|
23
|
+
```python
|
24
|
+
# typed store
|
25
|
+
activity = log.samples[0].store_as(Activity)
|
26
|
+
|
27
|
+
# typed metadata
|
28
|
+
metadata = log.samples[0].metadata_as(PopularityMetadata)
|
29
|
+
```
|
@@ -129,7 +129,7 @@ dev = [
|
|
129
129
|
"pytest-cov",
|
130
130
|
"pytest-dotenv",
|
131
131
|
"pytest-xdist",
|
132
|
-
"ruff==0.
|
132
|
+
"ruff==0.9.0", # match version specified in .pre-commit-config.yaml
|
133
133
|
"textual-dev>=0.86.2",
|
134
134
|
"types-PyYAML",
|
135
135
|
"types-beautifulsoup4",
|
@@ -112,7 +112,7 @@ def tasks_title(completed: int, total: int) -> str:
|
|
112
112
|
def task_title(profile: TaskProfile, show_model: bool) -> str:
|
113
113
|
eval_epochs = profile.eval_config.epochs or 1
|
114
114
|
epochs = f" x {profile.eval_config.epochs}" if eval_epochs > 1 else ""
|
115
|
-
samples = f"{profile.samples//eval_epochs:,}{epochs} sample{'s' if profile.samples != 1 else ''}"
|
115
|
+
samples = f"{profile.samples // eval_epochs:,}{epochs} sample{'s' if profile.samples != 1 else ''}"
|
116
116
|
title = f"{registry_unqualified_name(profile.name)} ({samples})"
|
117
117
|
if show_model:
|
118
118
|
title = f"{title}: {profile.model}"
|
@@ -42,7 +42,7 @@ from .task.log import TaskLogger
|
|
42
42
|
from .task.run import TaskRunOptions, task_run
|
43
43
|
from .task.rundir import task_run_dir_switching
|
44
44
|
from .task.sandbox import TaskSandboxEnvironment, resolve_sandbox_for_task
|
45
|
-
from .task.util import task_run_dir
|
45
|
+
from .task.util import slice_dataset, task_run_dir
|
46
46
|
|
47
47
|
log = logging.getLogger(__name__)
|
48
48
|
|
@@ -70,12 +70,23 @@ async def eval_run(
|
|
70
70
|
# get cwd before switching to task dir
|
71
71
|
eval_wd = os.getcwd()
|
72
72
|
|
73
|
+
# ensure sample ids
|
74
|
+
for resolved_task in tasks:
|
75
|
+
# add sample ids to dataset if they aren't there (start at 1 not 0)
|
76
|
+
task = resolved_task.task
|
77
|
+
for id, sample in enumerate(task.dataset):
|
78
|
+
if sample.id is None:
|
79
|
+
sample.id = id + 1
|
80
|
+
|
81
|
+
# Ensure sample ids are unique
|
82
|
+
ensure_unique_ids(task.dataset)
|
83
|
+
|
73
84
|
# run startup pass for the sandbox environments
|
74
85
|
shutdown_sandbox_environments: Callable[[], Awaitable[None]] | None = None
|
75
86
|
if has_sandbox:
|
76
87
|
cleanup = eval_config.sandbox_cleanup is not False
|
77
88
|
shutdown_sandbox_environments = await startup_sandbox_environments(
|
78
|
-
resolve_sandbox_environment(eval_sandbox), tasks, cleanup
|
89
|
+
resolve_sandbox_environment(eval_sandbox), tasks, eval_config, cleanup
|
79
90
|
)
|
80
91
|
|
81
92
|
# resolve solver and solver spec
|
@@ -146,14 +157,6 @@ async def eval_run(
|
|
146
157
|
else:
|
147
158
|
task.fail_on_error = task_eval_config.fail_on_error
|
148
159
|
|
149
|
-
# add sample ids to dataset if they aren't there (start at 1 not 0)
|
150
|
-
for id, sample in enumerate(task.dataset):
|
151
|
-
if sample.id is None:
|
152
|
-
sample.id = id + 1
|
153
|
-
|
154
|
-
# Ensure sample ids are unique
|
155
|
-
ensure_unique_ids(task.dataset)
|
156
|
-
|
157
160
|
# create and track the logger
|
158
161
|
logger = TaskLogger(
|
159
162
|
task_name=task.name,
|
@@ -340,13 +343,15 @@ async def run_multiple(tasks: list[TaskRunOptions], parallel: int) -> list[EvalL
|
|
340
343
|
async def startup_sandbox_environments(
|
341
344
|
eval_sandbox: SandboxEnvironmentSpec | None,
|
342
345
|
tasks: list[ResolvedTask],
|
346
|
+
config: EvalConfig,
|
343
347
|
cleanup: bool,
|
344
348
|
) -> Callable[[], Awaitable[None]]:
|
345
349
|
# find unique sandboxenvs
|
346
350
|
sandboxenvs: Set[TaskSandboxEnvironment] = set()
|
347
351
|
for task in tasks:
|
348
352
|
# resolve each sample and add to sandboxenvs
|
349
|
-
|
353
|
+
dataset = slice_dataset(task.task.dataset, config.limit, config.sample_id)
|
354
|
+
for sample in dataset:
|
350
355
|
sandbox = resolve_sandbox_for_task(eval_sandbox, task.task, sample)
|
351
356
|
if sandbox is not None and sandbox not in sandboxenvs:
|
352
357
|
sandboxenvs.add(sandbox)
|
@@ -4,7 +4,7 @@ from typing import Literal
|
|
4
4
|
|
5
5
|
def iso_now(
|
6
6
|
timespec: Literal[
|
7
|
-
"auto", "hours", "minutes", "seconds", "milliseconds" "microseconds"
|
7
|
+
"auto", "hours", "minutes", "seconds", "milliseconds", "microseconds"
|
8
8
|
] = "seconds",
|
9
9
|
) -> str:
|
10
10
|
return datetime.now().astimezone().isoformat(timespec=timespec)
|
@@ -174,7 +174,7 @@ def default_deprecation_msg(
|
|
174
174
|
|
175
175
|
_qual = getattr(obj, "__qualname__", "") or ""
|
176
176
|
if _qual.endswith(".__init__") or _qual.endswith(".__new__"):
|
177
|
-
_obj = f
|
177
|
+
_obj = f" class ({_qual.rsplit('.', 1)[0]})"
|
178
178
|
elif _qual and _obj:
|
179
179
|
_obj += f" ({_qual})"
|
180
180
|
|
@@ -103,10 +103,20 @@ def json_changes(
|
|
103
103
|
paths = json_change.path.split("/")[1:]
|
104
104
|
replaced = before
|
105
105
|
for path in paths:
|
106
|
-
|
106
|
+
decoded_path = decode_json_pointer_segment(path)
|
107
|
+
index: Any = (
|
108
|
+
int(decoded_path) if decoded_path.isnumeric() else decoded_path
|
109
|
+
)
|
107
110
|
replaced = replaced[index]
|
108
111
|
json_change.replaced = replaced
|
109
112
|
changes.append(json_change)
|
110
113
|
return changes
|
111
114
|
else:
|
112
115
|
return None
|
116
|
+
|
117
|
+
|
118
|
+
def decode_json_pointer_segment(segment: str) -> str:
|
119
|
+
"""Decode a single JSON Pointer segment."""
|
120
|
+
# JSON points encode ~ and / because they are special characters
|
121
|
+
# this decodes these values (https://www.rfc-editor.org/rfc/rfc6901)
|
122
|
+
return segment.replace("~1", "/").replace("~0", "~")
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import atexit
|
2
2
|
import os
|
3
|
+
import re
|
3
4
|
from logging import (
|
4
5
|
DEBUG,
|
5
6
|
INFO,
|
@@ -182,7 +183,7 @@ def notify_logger_record(record: LogRecord, write: bool) -> None:
|
|
182
183
|
if write:
|
183
184
|
transcript()._event(LoggerEvent(message=LoggingMessage.from_log_record(record)))
|
184
185
|
global _rate_limit_count
|
185
|
-
if (record.levelno <= INFO and "
|
186
|
+
if (record.levelno <= INFO and re.search(r"\b429\b", record.getMessage())) or (
|
186
187
|
record.levelno == DEBUG
|
187
188
|
# See https://boto3.amazonaws.com/v1/documentation/api/latest/guide/retries.html#validating-retry-attempts
|
188
189
|
# for boto retry logic / log messages (this is tracking standard or adapative retries)
|
@@ -33,6 +33,22 @@ def inspect_trace_file() -> Path:
|
|
33
33
|
def trace_action(
|
34
34
|
logger: Logger, action: str, message: str, *args: Any, **kwargs: Any
|
35
35
|
) -> Generator[None, None, None]:
|
36
|
+
"""Trace a long running or poentially unreliable action.
|
37
|
+
|
38
|
+
Trace actions for which you want to collect data on the resolution
|
39
|
+
(e.g. succeeded, cancelled, failed, timed out, etc.) and duration of.
|
40
|
+
|
41
|
+
Traces are written to the `TRACE` log level (which is just below
|
42
|
+
`HTTP` and `INFO`). List and read trace logs with `inspect trace list`
|
43
|
+
and related commands (see `inspect trace --help` for details).
|
44
|
+
|
45
|
+
Args:
|
46
|
+
logger (Logger): Logger to use for tracing (e.g. from `getLogger(__name__)`)
|
47
|
+
action (str): Name of action to trace (e.g. 'Model', 'Subprocess', etc.)
|
48
|
+
message (str): Message describing action (can be a format string w/ args or kwargs)
|
49
|
+
*args (Any): Positional arguments for `message` format string.
|
50
|
+
**kwargs (Any): Named args for `message` format string.
|
51
|
+
"""
|
36
52
|
trace_id = uuid()
|
37
53
|
start_monotonic = time.monotonic()
|
38
54
|
start_wall = time.time()
|
@@ -117,6 +133,19 @@ def trace_action(
|
|
117
133
|
def trace_message(
|
118
134
|
logger: Logger, category: str, message: str, *args: Any, **kwargs: Any
|
119
135
|
) -> None:
|
136
|
+
"""Log a message using the TRACE log level.
|
137
|
+
|
138
|
+
The `TRACE` log level is just below `HTTP` and `INFO`). List and
|
139
|
+
read trace logs with `inspect trace list` and related commands
|
140
|
+
(see `inspect trace --help` for details).
|
141
|
+
|
142
|
+
Args:
|
143
|
+
logger (Logger): Logger to use for tracing (e.g. from `getLogger(__name__)`)
|
144
|
+
category (str): Category of trace message.
|
145
|
+
message (str): Trace message (can be a format string w/ args or kwargs)
|
146
|
+
*args (Any): Positional arguments for `message` format string.
|
147
|
+
**kwargs (Any): Named args for `message` format string.
|
148
|
+
"""
|
120
149
|
logger.log(TRACE, f"[{category}] {message}", *args, **kwargs)
|
121
150
|
|
122
151
|
|
@@ -250,9 +279,16 @@ def read_trace_file(file: Path) -> list[TraceRecord]:
|
|
250
279
|
|
251
280
|
|
252
281
|
def rotate_trace_files() -> None:
|
253
|
-
|
254
|
-
|
255
|
-
|
282
|
+
# if multiple inspect processes start up at once they
|
283
|
+
# will all be attempting to rotate at the same time,
|
284
|
+
# which can lead to FileNotFoundError -- ignore these
|
285
|
+
# errors if they occur
|
286
|
+
try:
|
287
|
+
rotate_files = list_trace_files()[10:]
|
288
|
+
for file in rotate_files:
|
289
|
+
file.file.unlink(missing_ok=True)
|
290
|
+
except FileNotFoundError:
|
291
|
+
pass
|
256
292
|
|
257
293
|
|
258
294
|
def compress_trace_log(log_handler: FileHandler) -> Callable[[], None]:
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import html
|
2
|
+
import re
|
2
3
|
from typing import Any
|
3
4
|
|
4
5
|
from rich.align import AlignMethod
|
@@ -19,13 +20,43 @@ def transcript_code_theme() -> str:
|
|
19
20
|
def transcript_markdown(content: str, *, escape: bool = False) -> Markdown:
|
20
21
|
code_theme = transcript_code_theme()
|
21
22
|
return Markdown(
|
22
|
-
|
23
|
+
html_escape_markdown(content) if escape else content,
|
23
24
|
code_theme=code_theme,
|
24
25
|
inline_code_lexer="python",
|
25
26
|
inline_code_theme=code_theme,
|
26
27
|
)
|
27
28
|
|
28
29
|
|
30
|
+
def html_escape_markdown(content: str) -> str:
|
31
|
+
"""Escape markdown lines that aren't in a code block."""
|
32
|
+
codeblock_pattern = re.compile("`{3,}")
|
33
|
+
current_codeblock = ""
|
34
|
+
escaped: list[str] = []
|
35
|
+
lines = content.splitlines()
|
36
|
+
for line in lines:
|
37
|
+
# look for matching end of codeblock
|
38
|
+
if current_codeblock:
|
39
|
+
if current_codeblock in line:
|
40
|
+
current_codeblock = ""
|
41
|
+
escaped.append(line)
|
42
|
+
continue
|
43
|
+
|
44
|
+
# look for beginning of codeblock
|
45
|
+
match = codeblock_pattern.search(line)
|
46
|
+
if match:
|
47
|
+
current_codeblock = match[0]
|
48
|
+
escaped.append(line)
|
49
|
+
continue
|
50
|
+
|
51
|
+
# escape if we are not in a codeblock
|
52
|
+
if current_codeblock:
|
53
|
+
escaped.append(line)
|
54
|
+
else:
|
55
|
+
escaped.append(html.escape(line, quote=False))
|
56
|
+
|
57
|
+
return "\n".join(escaped)
|
58
|
+
|
59
|
+
|
29
60
|
def set_transcript_markdown_options(markdown: Markdown) -> None:
|
30
61
|
code_theme = transcript_code_theme()
|
31
62
|
markdown.code_theme = code_theme
|
@@ -89,12 +120,10 @@ def transcript_function(function: str, arguments: dict[str, Any]) -> RenderableT
|
|
89
120
|
return transcript_markdown("```python\n" + call + "\n```\n")
|
90
121
|
|
91
122
|
|
92
|
-
DOUBLE_LINE = Box(
|
93
|
-
" ══ \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n"
|
94
|
-
)
|
123
|
+
DOUBLE_LINE = Box(" ══ \n \n \n \n \n \n \n \n")
|
95
124
|
|
96
|
-
LINE = Box(" ── \n
|
125
|
+
LINE = Box(" ── \n \n \n \n \n \n \n \n")
|
97
126
|
|
98
|
-
DOTTED = Box(" ·· \n
|
127
|
+
DOTTED = Box(" ·· \n \n \n \n \n \n \n \n")
|
99
128
|
|
100
|
-
NOBORDER = Box(" \n
|
129
|
+
NOBORDER = Box(" \n \n \n \n \n \n \n \n")
|
@@ -0,0 +1,12 @@
|
|
1
|
+
// Do not remove this file even if the config is empty!
|
2
|
+
// VSCode's "Format Document" will respect this config and use the default
|
3
|
+
// settings, which is what we want. Without prettierrc, VSCode falls back to
|
4
|
+
// users settings, which could be different.
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @see https://prettier.io/docs/en/configuration.html
|
8
|
+
* @type {import("prettier").Config}
|
9
|
+
*/
|
10
|
+
const config = {};
|
11
|
+
|
12
|
+
export default config;
|