inspect-ai 0.3.49__tar.gz → 0.3.51__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.49 → inspect_ai-0.3.51}/.pre-commit-config.yaml +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/CHANGELOG.md +35 -1
- {inspect_ai-0.3.49/src/inspect_ai.egg-info → inspect_ai-0.3.51}/PKG-INFO +2 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/_quarto.yml +4 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/extensions.qmd +24 -5
- inspect_ai-0.3.51/docs/llms.txt +26 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/models.qmd +1 -1
- inspect_ai-0.3.51/docs/scripts/post-render.sh +13 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/solvers.qmd +3 -3
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/workflow.qmd +2 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/approval/approval.py +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/pyproject.toml +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_cli/info.py +2 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_cli/log.py +2 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_cli/score.py +2 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/core/display.py +19 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/core/panel.py +37 -7
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/core/progress.py +29 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/core/results.py +79 -40
- inspect_ai-0.3.51/src/inspect_ai/_display/core/textual.py +21 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/rich/display.py +28 -8
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/textual/app.py +107 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/textual/display.py +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/textual/widgets/samples.py +132 -91
- inspect_ai-0.3.51/src/inspect_ai/_display/textual/widgets/task_detail.py +236 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/textual/widgets/tasks.py +74 -6
- inspect_ai-0.3.51/src/inspect_ai/_display/textual/widgets/toggle.py +32 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/context.py +2 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/eval.py +4 -3
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/loader.py +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/run.py +35 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/task/log.py +13 -11
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/task/results.py +12 -3
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/task/run.py +139 -36
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/task/sandbox.py +2 -1
- inspect_ai-0.3.51/src/inspect_ai/_util/_async.py +39 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/file.py +31 -4
- inspect_ai-0.3.51/src/inspect_ai/_util/html.py +3 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/logger.py +6 -5
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/platform.py +5 -6
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/registry.py +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/server.py +9 -9
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/App.css +2 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/dist/assets/index.css +2 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/dist/assets/index.js +352 -294
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/log-schema.json +13 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/package.json +1 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/MessageBand.mjs +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/Tools.mjs +16 -13
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/SampleDisplay.mjs +1 -3
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/SampleScoreView.mjs +52 -77
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/SamplesDescriptor.mjs +38 -13
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/ModelEventView.mjs +15 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventRenderers.mjs +4 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/types/log.d.ts +2 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/workspace/WorkSpace.mjs +2 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/yarn.lock +9 -4
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/approval/__init__.py +1 -1
- inspect_ai-0.3.51/src/inspect_ai/approval/_human/approver.py +35 -0
- inspect_ai-0.3.51/src/inspect_ai/approval/_human/console.py +62 -0
- inspect_ai-0.3.51/src/inspect_ai/approval/_human/manager.py +108 -0
- inspect_ai-0.3.51/src/inspect_ai/approval/_human/panel.py +233 -0
- inspect_ai-0.3.51/src/inspect_ai/approval/_human/util.py +51 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/_sources/hf.py +2 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/_sources/util.py +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_file.py +106 -36
- inspect_ai-0.3.51/src/inspect_ai/log/_recorders/eval.py +512 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_recorders/file.py +9 -6
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_recorders/json.py +35 -12
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_recorders/recorder.py +15 -15
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_samples.py +52 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_model.py +14 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_model_output.py +4 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/azureai.py +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/hf.py +106 -4
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/util/__init__.py +2 -0
- inspect_ai-0.3.51/src/inspect_ai/model/_providers/util/hf_handler.py +200 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_common.py +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/solver/_plan.py +0 -8
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/solver/_task_state.py +18 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/solver/_use_tools.py +9 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tool_def.py +2 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tool_info.py +14 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tool_params.py +2 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_execute.py +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_web_browser.py +6 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/__init__.py +5 -6
- inspect_ai-0.3.51/src/inspect_ai/util/_panel.py +91 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/__init__.py +2 -6
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/context.py +4 -3
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/docker/compose.py +12 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/docker/docker.py +19 -9
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/docker/util.py +10 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/environment.py +47 -41
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/local.py +15 -10
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_subprocess.py +43 -3
- {inspect_ai-0.3.49 → inspect_ai-0.3.51/src/inspect_ai.egg-info}/PKG-INFO +2 -2
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai.egg-info/SOURCES.txt +16 -4
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai.egg-info/requires.txt +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/providers/test_hf.py +2 -0
- inspect_ai-0.3.51/tests/scorer/test_match.py +40 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_extensions.py +29 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_package/inspect_package/sandboxenv/podman.py +17 -4
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_run_dir/task2/task2.py +3 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_sample_limits.py +9 -2
- inspect_ai-0.3.51/tests/tools/test_max_exec_output.py +59 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_sandbox_dockerfile.py +13 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_tool_parse.py +1 -1
- inspect_ai-0.3.51/tests/tools/test_use_tools.py +65 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/util/sandbox/test_sandbox_service.py +3 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/CHANGELOG.md +13 -0
- inspect_ai-0.3.51/tools/vscode/assets/logo/inspect.png +0 -0
- inspect_ai-0.3.51/tools/vscode/assets/logo/inspect.svg +10 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/package.json +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/@types/log.d.ts +2 -0
- inspect_ai-0.3.51/tools/vscode/src/core/file.ts +15 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/extension.ts +5 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/inspect/index.ts +0 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/inspect/props.ts +4 -4
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-provider.ts +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/task-outline-provider.ts +5 -4
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.ts +1 -1
- inspect_ai-0.3.51/tools/vscode/src/providers/inspect/inspect-commands.ts +85 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/logview/logview-link-provider.ts +1 -1
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/workspace/workspace-task-provider.ts +65 -11
- inspect_ai-0.3.49/src/inspect_ai/_util/_async.py +0 -10
- inspect_ai-0.3.49/src/inspect_ai/_view/www/node_modules/flatted/python/flatted.py +0 -149
- inspect_ai-0.3.49/src/inspect_ai/_view/www/node_modules/flatted/python/test.py +0 -63
- inspect_ai-0.3.49/src/inspect_ai/approval/_human.py +0 -123
- inspect_ai-0.3.49/src/inspect_ai/log/_recorders/eval.py +0 -444
- inspect_ai-0.3.49/tests/scorer/test_match.py +0 -13
- inspect_ai-0.3.49/tests/tools/test_use_tools.py +0 -44
- inspect_ai-0.3.49/tools/vscode/assets/logo/inspect.png +0 -0
- inspect_ai-0.3.49/tools/vscode/assets/logo/inspect.svg +0 -8
- inspect_ai-0.3.49/tools/vscode/src/inspect/list.ts +0 -26
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/.github/dependabot.yml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/.github/pull_request_template.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/.github/workflows/build.yml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/.github/workflows/docs.yml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/.github/workflows/log_viewer.yml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/.github/workflows/pypi.yml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/.github/workflows/vscode.yml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/.gitignore +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/.vscode/extensions.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/.vscode/settings.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/CITATION.cff +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/LICENSE +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/Makefile +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/README.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/.gitignore +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/CNAME +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/_errors_and_retries.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/_sample-preservation.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/_sandboxenv-interface.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/_tools-annotations-required.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/_tools-scaffold.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/_trace.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/_variables.yml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/agents-api.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/agents.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/approval.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/caching.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/datasets.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/errors-and-limits.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/eval-logs.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/eval-sets.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/examples/examples.bib +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/examples/examples.css +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/examples/examples.ejs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/examples/examples.yml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/examples/index.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/aisi-logo.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/eval-log.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-activity-bar.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-multiple-models.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-view-answers.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-view-filter.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-view-history.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-view-home.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-view-info.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-view-logging-console.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-view-logging.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-view-main.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-view-messages.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-view-metadata.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-view-scoring.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-view-sort.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-view-splash.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-vscode-config.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-vscode-install.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-vscode-logview.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-vscode-output-channel.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect-vscode-run-task.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/inspect.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/logs-drop-down.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/logs-open-button.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/logs.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/popularity.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/python-tool-view.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/rate-limit.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/running-theory.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/toolenv-no-cleanup.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/images/web-browser-tool-view.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/index.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/interactivity.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/log-viewer.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/parallelism.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/scorers.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/theme.scss +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/tools.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/tutorial.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/docs/vscode.qmd +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/approval/README.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/approval/approval.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/biology_qa.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/browser/browser.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/browser/compose.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/cache.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/evalset.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/hello_world.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/images/ballons.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/images/bike.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/images/images.jsonl +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/images/images.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/intervention/Dockerfile +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/intervention/README.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/intervention/compose.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/intervention/intervention.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/langchain/.env.example +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/langchain/.gitignore +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/langchain/README.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/langchain/inspect_langchain.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/langchain/requirements.txt +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/langchain/wikipedia.jsonl +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/langchain/wikipedia.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/popularity.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/security_guide.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/theory_of_mind.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/examples/tool_use.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/requirements.txt +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/setup.cfg +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/__main__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_cli/cache.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_cli/common.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_cli/eval.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_cli/list.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_cli/main.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_cli/sandbox.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_cli/util.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_cli/view.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/core/active.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/core/config.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/core/footer.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/core/group.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/core/rich.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/rich/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/textual/app.tcss +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/textual/theme.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/textual/widgets/clock.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/textual/widgets/console.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/textual/widgets/footer.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/textual/widgets/titlebar.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_display/textual/widgets/transcript.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/evalset.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/list.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/registry.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/score.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/task/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/task/constants.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/task/epochs.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/task/error.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/task/generate.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/task/images.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/task/rundir.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/task/task.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_eval/task/util.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/appdirs.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/config.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/constants.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/content.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/datetime.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/decorator.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/deprecation.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/dev.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/dict.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/display.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/dotenv.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/entrypoints.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/environ.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/error.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/format.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/git.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/hash.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/hooks.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/http.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/images.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/json.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/list.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/notebook.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/package.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/path.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/pattern.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/retry.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/rich.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/samples.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/terminal.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/text.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/throttle.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/timeouts.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/transcript.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/url.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_util/version.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/notify.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/schema.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/view.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/.gitignore +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/.prettierignore +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/.tool-versions +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/README.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/dist/assets/favicon.svg +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/dist/index.html +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/eslint.config.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/favicon.svg +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/index.html +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/jsconfig.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/postcss.config.cjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/App.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/Register.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/Types.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/api/Types.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/api/api-browser.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/api/api-http.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/api/api-shared.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/api/api-vscode.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/api/client-api.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/api/index.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/api/jsonrpc.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/appearance/Colors.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/appearance/Fonts.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/appearance/Icons.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/appearance/Styles.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/AnsiDisplay.css +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/AnsiDisplay.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/AppErrorBoundary.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/Browser.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/Card.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/ChatView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/CopyButton.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/Dialog.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/DownloadButton.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/DownloadPanel.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/EmptyPanel.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/ErrorPanel.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/ExpandablePanel.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/FindBand.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/JsonPanel.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/LabeledValue.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/LargeModal.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/MarkdownDiv.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/MessageContent.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/MetaDataGrid.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/MetaDataView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/MorePopOver.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/NavPills.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/ProgressBar.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/RenderedContent/ChatMessageRenderer.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/RenderedContent/RenderedContent.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/RenderedContent/Types.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/TabSet.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/ToolButton.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/VirtualList.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/components/ansi-output.js +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/constants.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/index.js +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/json/JsonTab.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/log/remoteLogFile.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/log-reader/Log-Reader.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/log-reader/Native-Log-Reader.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/log-reader/Open-AI-Log-Reader.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/navbar/Navbar.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/navbar/SecondaryBar.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/plan/PlanCard.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/SampleDialog.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/SampleError.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/SampleLimit.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/SampleList.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/SampleScores.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/SampleTranscript.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/SamplesTab.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/SamplesTools.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/tools/EpochFilter.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/tools/SampleFilter.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/tools/SelectScorer.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/tools/SortFilter.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/tools/filters.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/ApprovalEventView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/ErrorEventView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/EventPanel.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/EventRow.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/EventSection.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/InfoEventView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/InputEventView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/LoggerEventView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/SampleInitEventView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/SampleLimitEventView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/ScoreEventView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/StepEventView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/ToolEventView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptState.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/Types.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/state/StateDiffView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventView.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/sidebar/Sidebar.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/types/jsondiffpatch.d.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/types/prism.d.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/usage/ModelTokenTable.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/usage/UsageCard.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/Base64.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/Format.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/Git.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/Html.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/Json.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/Path.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/Print.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/Type.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/attachments.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/debugging.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/http.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/queue.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/remoteZipFile.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/sync.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/utils/vscode.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/src/workspace/TaskErrorPanel.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/tsconfig.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/_view/www/vite.config.js +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/approval/_apply.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/approval/_approval.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/approval/_approver.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/approval/_auto.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/approval/_call.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/approval/_policy.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/approval/_registry.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/_dataset.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/_examples/bias_detection.jsonl +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/_examples/biology_qa.jsonl +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/_examples/popularity.jsonl +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/_examples/security_guide.jsonl +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/_examples/theory_of_mind.jsonl +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/_sources/csv.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/_sources/example.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/_sources/file.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/_sources/json.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/dataset/_util.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_bundle.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_condense.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_convert.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_log.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_message.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_recorders/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_recorders/create.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_retry.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/log/_transcript.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_cache.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_call_tools.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_chat_message.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_generate_config.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_image.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_model_call.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/anthropic.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/bedrock.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/cloudflare.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/google.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/grok.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/groq.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/llama_cpp_python.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/mistral.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/mockllm.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/ollama.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/openai.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/openai_o1.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/providers.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/together.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/util/chatapi.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/util/llama31.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/util/util.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/vertex.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_providers/vllm.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_registry.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_render.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/model/_trace.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/py.typed +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_answer.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_choice.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_classification.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_match.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_metric.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_metrics/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_metrics/accuracy.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_metrics/mean.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_metrics/std.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_model.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_multi.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_pattern.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_reducer/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_reducer/reducer.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_reducer/registry.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_reducer/types.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_score.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_scorer.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/scorer/_target.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/solver/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/solver/_basic_agent.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/solver/_chain.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/solver/_critique.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/solver/_fork.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/solver/_multiple_choice.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/solver/_prompt.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/solver/_solver.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/solver/_transcript.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/solver/_util.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tool.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tool_call.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tool_choice.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tool_description.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tool_with.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/Dockerfile +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/README.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/accessibility_node.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/dm_env_servicer.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/images/usage_diagram.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/mock_environment.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/playwright_crawler.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_accessibility_node.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_dm_env_servicer.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_playwright_crawler.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_web_environment.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client_new_session.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_environment.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_server.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/tool/_tools/_web_search.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_concurrency.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_console.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_resource.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/docker/cleanup.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/docker/config.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/docker/internal.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/docker/prereqs.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/limits.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/registry.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/self_check.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_sandbox/service.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_store.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_subtask.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai/util/_trace.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai.egg-info/dependency_links.txt +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai.egg-info/entry_points.txt +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/src/inspect_ai.egg-info/top_level.txt +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/approval/approve.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/approval/escalate.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/approval/modify.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/approval/reject.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/approval/terminate.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/approval/test_approval.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/conftest.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/dataset/test_dataset/dataset.jsonl +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/dataset/test_dataset/images/ballons.png +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/dataset/test_dataset/images.jsonl +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/dataset/test_dataset/samples-md.csv +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/dataset/test_dataset/samples-md.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/dataset/test_dataset/samples-md.jsonl +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/dataset/test_dataset/samples.csv +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/dataset/test_dataset/samples.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/dataset/test_dataset/samples.jsonl +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/dataset/test_dataset.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_eval_log/log_formats.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_eval_log/log_images.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_eval_log/log_images_tc.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_eval_log/log_invalid.txt +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_eval_log/log_length_stop_reason.txt +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_eval_log/log_streaming.eval +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_eval_log/log_valid.txt +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_eval_log/log_version_3.txt +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_eval_log/log_with_nan.txt +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_eval_log.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_list_logs/2024-11-05T13-31-45-05-00_input-task_8zXjbRzCWrL9GXiXo2vus9.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_list_logs/2024-11-05T13-32-37-05-00_input-task_hxs4q9azL3ySGkjJirypKZ.eval +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_list_logs/custom.eval +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_list_logs/ignore.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_list_logs.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_log_attachments.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_log_formats.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_log_level.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_log_streaming.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/log/test_log_tags.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/providers/test_anthropic.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/providers/test_azureai.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/providers/test_cloudflare.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/providers/test_google.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/providers/test_grok.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/providers/test_groq.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/providers/test_llama_cpp_python.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/providers/test_openai.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/providers/test_openai_o1.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/providers/test_vertex.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/providers/test_vllm.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/test_api_key.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/test_collapse_assistant_message.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/test_collapse_user_message.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/test_disable.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/test_logprobs.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/test_mock_model_llm.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/test_num_choices.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/test_parse_tool_call.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/model/test_stop_reason.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/scorer/test_answer.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/scorer/test_choice.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/scorer/test_classification.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/scorer/test_metric.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/scorer/test_model_graded.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/scorer/test_multiscorer.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/scorer/test_pattern.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/scorer/test_reducers.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/scorer/test_scorer.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/scorer/test_value_to_float.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/solver/test_basic_agent.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/solver/test_chain.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/solver/test_fork.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/solver/test_multiple_choice.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/solver/test_prompt.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/solver/test_solver.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/solver/test_solver_decorator.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/solver/test_solver_spec.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/solver/test_store.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/solver/test_subtask.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/solver/test_transcript.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_eval.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_eval_config/model.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_eval_config/solver.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_eval_config/task.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_eval_config.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_eval_set/2024-08-29T15-11-17+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_eval_set/2024-08-29T15-11-18+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_eval_set.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_examples.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_fail_on_error.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_helpers/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_helpers/tasks.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_helpers/tool_call_utils.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_helpers/tools.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_helpers/utils.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_list_task.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_log_dir/example_task/example_task.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_log_dir/test_log_dir.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_package/.gitignore +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_package/inspect_package/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_package/inspect_package/_registry.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_package/inspect_package/approvers/renamer.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_package/inspect_package/modelapi/custom.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_package/inspect_package/py.typed +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_package/inspect_package/score/scorer.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_package/inspect_package/solvers/cot.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_package/pyproject.toml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_retry.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_run_dir/task1/task1.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_run_dir.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_attr.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_list/__init__.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_list/attribs.ipynb +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_list/multiple.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_list/multiple_dir/_decoy/testit.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_list/multiple_dir/_decoy2.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_list/multiple_dir/bar.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_list/multiple_dir/foo.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_list/recurse/.folder3/epsilon.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_list/recurse/folder1/_decoy.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_list/recurse/folder1/theta.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_list/recurse/folder2/.folder3/epsilon.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_list/recurse/folder2/another.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/test_task_list/recurse/folder2/first.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/docker-compose-context/Dockerfile +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/docker-compose-context-alpine/Dockerfile +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_bash_tool.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_max_tool_output.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_python_tool.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_sandbox_compose.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_sandbox_compose_alpine.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_sandbox_docker_and_local.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_sandbox_tool_eval.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_tool_def.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_tool_types.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_tool_view.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_tool_with.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_tools.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_web_browser.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/tools/test_web_browser_compose.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/util/sandbox/docker_compose_multiple_services/docker-compose.yaml +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/util/sandbox/sandbox_setup.sh +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/util/sandbox/test_docker_compose_multiple_services.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/util/sandbox/test_sandbox_setup.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/util/test_file.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/util/test_images/images.jsonl +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/util/test_images.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/util/test_package.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/util/test_registry.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/util/test_str_to_float.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/util/test_subprocess.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tests/view/test_bundle.py +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/.eslintrc.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/.gitignore +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/.vscode/extensions.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/.vscode/launch.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/.vscode/settings.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/.vscode/tasks.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/.vscode-test.mjs +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/.vscodeignore +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/.yarnrc +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/LICENSE +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/README.md +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/assets/icon/eval-treeview.svg +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/assets/icon/eval.svg +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/assets/templates/task.py.template +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/assets/www/codicon/codicon.css +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/assets/www/codicon/codicon.ttf +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/assets/www/view/view-overrides.css +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/@types/hooks.d.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/components/document.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/components/error.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/components/focus.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/components/notebook.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/components/symbol.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/components/task.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/components/templates.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/components/webview.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/appdirs.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/command.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/dispose.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/env.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/git.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/jsonrpc.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/log.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/nonce.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/path.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/port.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/process.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/python/code.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/python/env.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/python/exec.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/python/index.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/python/interpreter.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/random.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/string.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/text.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/uri.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/vscode/association.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/wait.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/core/workspace.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/hooks/hooks.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/hooks/index.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/hooks/preview.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/inspect/logs.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/inspect/version.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/active-task/active-task-command.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/active-task/active-task-provider.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/activity-bar-provider.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/env-config-provider.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/log-listing/log-directory-selector.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-data.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-mru.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/log-listing/log-listing.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/task-config-commands.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/task-config-provider.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/task-outline-commands.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.css +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.css +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/webview/vscode-controls.css +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/activity-bar/webview/webview-utils.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/codelens/codelens-provider.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/inspect/inspect-constants.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/inspect/inspect-eval-commands.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/inspect/inspect-eval.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/inspect/inspect-logs-watcher.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/inspect/inspect-manager.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/inspect/inspect-view-server.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/lognotify.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/logview/commands.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/logview/logview-editor.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/logview/logview-panel.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/logview/logview-state.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/logview/logview-view.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/logview/logview.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/openlog.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/protocol-handler.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/settings/inspect-settings.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/settings/user-settings.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/statusbar.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/workspace/workspace-env-commands.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/workspace/workspace-env-provider.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/workspace/workspace-init.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/providers/workspace/workspace-state-provider.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/src/test/extension.test.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/tools/ts-to-mjs/.gitignore +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/tools/ts-to-mjs/package.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/tools/ts-to-mjs/rollup.config.js +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/tools/ts-to-mjs/src/index.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/tools/ts-to-mjs/src/jsonrpc.ts +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/tools/ts-to-mjs/yarn.lock +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/tsconfig.json +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/webpack.config.js +0 -0
- {inspect_ai-0.3.49 → inspect_ai-0.3.51}/tools/vscode/yarn.lock +0 -0
@@ -1,5 +1,40 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## v0.3.51 (13 December 2024)
|
4
|
+
|
5
|
+
- Bugfix: Task display fails to load when no scorers are defined for a task.
|
6
|
+
|
7
|
+
## v0.3.50 (12 December 2024)
|
8
|
+
|
9
|
+
- Tools: Improved typing/schema support (unions, optional params, enums).
|
10
|
+
- Tools: Added `append` argument to `use_tools()` for adding (rather than replacing) the currently available tools.
|
11
|
+
- Docker sandbox: Streamed reads of stderr/stdout (enabling us to enforce output limits for read_file and exec at the source).
|
12
|
+
- Sandbox API: Enable passing `BaseModel` types for sandbox `config` (formerly only a file path could be passed).
|
13
|
+
- Task display: Show all task scores in realtime (expand task progress to see scores).
|
14
|
+
- Task display: Show completed samples and align progress more closely to completed samples (as opposed to steps).
|
15
|
+
- Task display: Show sample messages/tokens used (plus limits if specified).
|
16
|
+
- Task display: Resolve issue where task display would lose mouse input after VS Code reload.
|
17
|
+
- Datasets: Validate that all IDs in datasets are unique (as several downstream problems occur w/ duplicate IDs).
|
18
|
+
- Inspect View: Fix issue with incorrectly displayed custom tool views.
|
19
|
+
- Human approval: Use fullcreen display (makes approval UI async and enables rapid processing of approvals via the `Enter` key).
|
20
|
+
- Added `input_panel()` API for adding custom panels to the fullscreen task display.
|
21
|
+
- Log recorder: Methods are now async which will improve performance for fsspec filesystems with async implementations (e.g. S3)
|
22
|
+
- Log recorder: Improve `.eval` log reading performance for remote filesystem (eaglery fetch log to local buffer).
|
23
|
+
- Add `token_usage` property to `TaskState` which has current total tokens used across all calls to `generate()` (same value that is used for enforcing token limits).
|
24
|
+
- Add `time` field to `ModelOutput` that records total time spent within call to ModelAPI `generate()`.
|
25
|
+
- Web browser: Remove base64 images from web page contents (prevent filling up model context with large images).
|
26
|
+
- Match scorer: If the target of a match isn’t numeric, ignore the numeric flag and instead use text matching (improved handling for percentages).
|
27
|
+
- Hugging Face: Support for native HF tool calling for Llama, Mistral, Qwen, and others if they conform to various standard schemas.
|
28
|
+
- Hugging Face: `tokenizer_call_args` dict to specify custom args during tokenization, such as `max_length` and `truncation`.
|
29
|
+
- Azure AI: Fix schema validation error that occurred when model API returns `None` for `content`.
|
30
|
+
- Display: Throttle updating of sample list based on number of samples.
|
31
|
+
- Display: Add explicit 'ctrl+c' keybinding (as textual now disables this by default).
|
32
|
+
- Bugfix: Correct rate limit error display when running in fullscreen mode.
|
33
|
+
- Bugfix: `hf_dataset` now explicitly requires the `split` argument (previously, it would crash when not specified).
|
34
|
+
- Bugfix: Prevent cascading textual error when an error occurs during task initialisation.
|
35
|
+
- Bugfix: Correctly restore sample summaries from log file after abend.
|
36
|
+
- Bugfix: Report errors that occur during task finalisation.
|
37
|
+
|
3
38
|
## v0.3.49 (03 December 2024)
|
4
39
|
|
5
40
|
- Logging: Only call CreateBucket on Amazon S3 when the bucket does not already exist.
|
@@ -95,7 +130,6 @@
|
|
95
130
|
- Add optional `tool_call_id` param to `ModelOutput.for_tool_call()`.
|
96
131
|
- Support all JSON and CSV dataset arguments in `file_dataset()` function.
|
97
132
|
|
98
|
-
|
99
133
|
## v0.3.42 (23 October 2024)
|
100
134
|
|
101
135
|
- [ToolDef](https://inspect.ai-safety-institute.org.uk/tools.html#sec-dynamic-tools) class for dynamically creating tool definitions.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: inspect_ai
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.51
|
4
4
|
Summary: Framework for large language model evaluations
|
5
5
|
Author: UK AI Safety Institute
|
6
6
|
License: MIT License
|
@@ -68,7 +68,7 @@ Requires-Dist: pytest-asyncio; extra == "dev"
|
|
68
68
|
Requires-Dist: pytest-cov; extra == "dev"
|
69
69
|
Requires-Dist: pytest-dotenv; extra == "dev"
|
70
70
|
Requires-Dist: pytest-xdist; extra == "dev"
|
71
|
-
Requires-Dist: ruff==0.8.
|
71
|
+
Requires-Dist: ruff==0.8.2; extra == "dev"
|
72
72
|
Requires-Dist: textual-dev>=0.86.2; extra == "dev"
|
73
73
|
Requires-Dist: types-PyYAML; extra == "dev"
|
74
74
|
Requires-Dist: types-aiofiles; extra == "dev"
|
@@ -2,6 +2,8 @@ project:
|
|
2
2
|
type: website
|
3
3
|
resources:
|
4
4
|
- CNAME
|
5
|
+
- llms.txt
|
6
|
+
post-render: scripts/post-render.sh
|
5
7
|
|
6
8
|
website:
|
7
9
|
title: "Inspect"
|
@@ -96,6 +98,8 @@ format:
|
|
96
98
|
toc-depth: 3
|
97
99
|
number-sections: false
|
98
100
|
code-annotations: select
|
101
|
+
gfm:
|
102
|
+
output-ext: html.lmd
|
99
103
|
|
100
104
|
|
101
105
|
execute:
|
@@ -127,7 +127,7 @@ class PodmanSandboxEnvironment(SandboxEnvironment):
|
|
127
127
|
|
128
128
|
@classmethod
|
129
129
|
async def task_init(
|
130
|
-
cls, task_name: str, config:
|
130
|
+
cls, task_name: str, config: SandboxEnvironmentConfigType | None
|
131
131
|
) -> None:
|
132
132
|
...
|
133
133
|
|
@@ -135,7 +135,7 @@ class PodmanSandboxEnvironment(SandboxEnvironment):
|
|
135
135
|
async def sample_init(
|
136
136
|
cls,
|
137
137
|
task_name: str,
|
138
|
-
config:
|
138
|
+
config: SandboxEnvironmentConfigType | None,
|
139
139
|
metadata: dict[str, str]
|
140
140
|
) -> dict[str, SandboxEnvironment]:
|
141
141
|
...
|
@@ -144,7 +144,7 @@ class PodmanSandboxEnvironment(SandboxEnvironment):
|
|
144
144
|
async def sample_cleanup(
|
145
145
|
cls,
|
146
146
|
task_name: str,
|
147
|
-
config:
|
147
|
+
config: SandboxEnvironmentConfigType | None,
|
148
148
|
environments: dict[str, SandboxEnvironment],
|
149
149
|
interrupted: bool,
|
150
150
|
) -> None:
|
@@ -152,7 +152,10 @@ class PodmanSandboxEnvironment(SandboxEnvironment):
|
|
152
152
|
|
153
153
|
@classmethod
|
154
154
|
async def task_cleanup(
|
155
|
-
cls,
|
155
|
+
cls,
|
156
|
+
task_name: str,
|
157
|
+
config: SandboxEnvironmentConfigType | None,
|
158
|
+
cleanup: bool,
|
156
159
|
) -> None:
|
157
160
|
...
|
158
161
|
|
@@ -253,6 +256,22 @@ Task(
|
|
253
256
|
)
|
254
257
|
```
|
255
258
|
|
259
|
+
Specialised configuration types which derive from Pydantic's `BaseModel` can also be passed as the `config` argument to `SandboxEnvironmentSpec`. Note: they must be hashable (i.e. `frozen=True`).
|
260
|
+
|
261
|
+
``` python
|
262
|
+
class PodmanSandboxEnvironmentConfig(BaseModel, frozen=True):
|
263
|
+
socket: str
|
264
|
+
runtime: str
|
265
|
+
|
266
|
+
Task(
|
267
|
+
...,
|
268
|
+
sandbox=SandboxEnvironmentSpec(
|
269
|
+
"podman",
|
270
|
+
PodmanSandboxEnvironmentConfig(socket="/podman-socket", runtime="crun"),
|
271
|
+
)
|
272
|
+
)
|
273
|
+
```
|
274
|
+
|
256
275
|
## Approvers {#sec-extensions-approvers}
|
257
276
|
|
258
277
|
[Approvers](approval.qmd) enable you to create fine-grained policies for approving tool calls made by models. For example, the following are all supported:
|
@@ -399,4 +418,4 @@ myfs = "evaltools:MyFs"
|
|
399
418
|
```
|
400
419
|
:::
|
401
420
|
|
402
|
-
Once this package is installed, you'll be able to use `myfs://` with Inspect without any further registration.
|
421
|
+
Once this package is installed, you'll be able to use `myfs://` with Inspect without any further registration.
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Inspect AI
|
2
|
+
|
3
|
+
> Inspect AI is a Python framework for large language model evaluations created by the [UK AI Safety Institute](https://aisi.gov.uk). Inspect provides many built-in components, including facilities for prompt engineering, tool usage, multi-turn dialog, and model graded evaluations. Extensions to Inspect (e.g. to support new elicitation and scoring techniques) can be provided by other Python packages.
|
4
|
+
|
5
|
+
## Docs
|
6
|
+
|
7
|
+
- [Tutorial](https://inspect.ai-safety-institute.org.uk/tutorial.html.md): Step-by-step walkthroughs of several basic examples of Inspect evaluations.
|
8
|
+
- [Workflow](https://inspect.ai-safety-institute.org.uk/workflow.html.md): Covers the mechanics of running evaluations, including how to create evals in both scripts and notebooks, specifying configuration and options, how to parameterise tasks for different scenarios, and how to work with eval log files.
|
9
|
+
- [Log Viewer](https://inspect.ai-safety-institute.org.uk/log-viewer.html.md): Goes into more depth on how to use Inspect View to develop and debug evaluations, including how to provide additional log metadata and how to integrate it with Python's standard logging module.
|
10
|
+
- [VS Code](https://inspect.ai-safety-institute.org.uk/vscode.html.md) Provides documentation on using the Inspect VS Code Extension to run, tune, debug, and visualise evaluations.
|
11
|
+
- [Solvers](https://inspect.ai-safety-institute.org.uk/solvers.html.md): Solvers are the heart of Inspect, and encompass prompt engineering and various other elicitation strategies. Here we cover using the built-in solvers and creating your own more sophisticated ones.
|
12
|
+
- [Tools](https://inspect.ai-safety-institute.org.uk/tools.html.md): Tools provide a means of extending the capabilities of models by registering Python functions for them to call. This section describes how to create custom tools and use them in evaluations.
|
13
|
+
- [Agents](https://inspect.ai-safety-institute.org.uk/agents.html.md): Agents combine planning, memory, and tool usage to pursue more complex, longer horizon tasks. This section describes how to build agent evaluations with Inspect.
|
14
|
+
- [Agents API](https://inspect.ai-safety-institute.org.uk/agents-api.html.md): This article describes advanced Inspect APIs available for creating evaluations with agents.
|
15
|
+
- [Scorers](https://inspect.ai-safety-institute.org.uk/scorers.html.md): Scorers evaluate the work of solvers and aggregate scores into metrics. Sophisticated evals often require custom scorers that use models to evaluate output. This section covers how to create them.
|
16
|
+
- [Datasets](https://inspect.ai-safety-institute.org.uk/datasets.html.md): Datasets provide samples to evaluation tasks. This section illustrates how to adapt various data sources for use with Inspect, as well as how to include multi-modal data (images, etc.) in your datasets.
|
17
|
+
- [Models](https://inspect.ai-safety-institute.org.uk/models.html.md): Models provide a uniform API for both evaluating a variety of large language models and using models within evaluations (e.g. for critique or grading).
|
18
|
+
- [Eval Sets](https://inspect.ai-safety-institute.org.uk/eval-sets.html.md): Covers Inspect's features for describing, running, and analysing larger sets of evaluation tasks.
|
19
|
+
- [Errors and Limits](https://inspect.ai-safety-institute.org.uk/errors-and-limits.html.md): This article covers various techniques for dealing with unexpected errors and setting limits on evaluation tasks and samples, including retrying failed evaluations, establishing a threshold of samples to tolerate errors for before failing an evaluation, and setting a maximum number of messages, tokens, or elapsed seconds in a sample before forcing the solver to give up.
|
20
|
+
- [Caching](https://inspect.ai-safety-institute.org.uk/caching.html.md): Caching enables you to cache model output to reduce the number of API calls made, saving both time and expense.
|
21
|
+
- [Parallelism](https://inspect.ai-safety-institute.org.uk/parallelism.html.md): Delves into how to obtain maximum performance for evaluations. Inspect uses a highly parallel async architecture---here we cover how to tune this parallelism (e.g to stay under API rate limits or to not overburden local compute) for optimal throughput.
|
22
|
+
- [Interactivity](https://inspect.ai-safety-institute.org.uk/interactivity.html.md): Covers various ways to introduce user interaction into the implementation of tasks (for example, confirming consequential actions or prompting the model dynamically based on the trajectory of the evaluation).
|
23
|
+
- [Approval](https://inspect.ai-safety-institute.org.uk/approval.html.md): Approvals enable you to create fine-grained policies for approving tool calls made by models.
|
24
|
+
- [Eval Logs](https://inspect.ai-safety-institute.org.uk/eval-logs.html.md): Explores how to get the most out of evaluation logs for developing, debugging, and analyzing evaluations.
|
25
|
+
- [Extensions](https://inspect.ai-safety-institute.org.uk/extensions.html.md) describes the various ways you can extend Inspect, including adding support for new Model APIs, tool execution environments, and storage platforms (for datasets, prompts, and logs).
|
26
|
+
|
@@ -46,7 +46,7 @@ To select a model for use in an evaluation task you specify it using a *model na
|
|
46
46
|
| Ollama | `ollama/llama3` | [Ollama Models](https://ollama.com/library) |
|
47
47
|
| llama-cpp-python | `llama-cpp-python/llama3` | [llama-cpp-python Models](https://llama-cpp-python.readthedocs.io/en/latest/#openai-compatible-web-server) |
|
48
48
|
| TogetherAI | `together/google/gemma-7b-it` | [TogetherAI Models](https://docs.together.ai/docs/inference-models#chat-models) |
|
49
|
-
| AWS Bedrock | `bedrock/meta.llama2-70b-chat-v1` | [AWS Bedrock Models](https://aws.amazon.com/bedrock/) |
|
49
|
+
| AWS Bedrock | `bedrock/meta.llama2-70b-chat-v1` | [AWS Bedrock Models](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html) |
|
50
50
|
| Azure AI | `azureai/azure-deployment-name` | [Azure AI Models](https://ai.azure.com/explore/models) |
|
51
51
|
| Vertex | `vertex/gemini-1.5-flash` | [Google Models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference#supported_models) |
|
52
52
|
| Groq | `groq/mixtral-8x7b-32768` | [Groq Models](https://console.groq.com/docs/models) |
|
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
files=("index" "tutorial" "workflow" "log-viewer" "vscode" "solvers" "tools" "agents" "agents-api" "scorers" "datasets" "models" "eval-sets" "errors-and-limits" "caching" "parallelism" "interactivity" "approval" "eval-logs" "extensions")
|
4
|
+
|
5
|
+
llms_full="_site/llms-full.txt"
|
6
|
+
rm -f "${llms_full}"
|
7
|
+
for file in "${files[@]}"; do
|
8
|
+
path="_site/${file}.html"
|
9
|
+
mv "${path}.lmd" "${path}.md"
|
10
|
+
cat "${path}.md" >> "${llms_full}"
|
11
|
+
echo "" >> "${llms_full}"
|
12
|
+
done
|
13
|
+
|
@@ -14,7 +14,7 @@ Solvers are the heart of Inspect evaluations and can serve a wide variety of pur
|
|
14
14
|
5. Multi-turn dialog
|
15
15
|
6. Running an agent scaffold
|
16
16
|
|
17
|
-
Tasks have a single top-level solver that defines an execution plan. This solver could be implemented with arbitrary Python code (calling the model as required) or could consist of a set of other
|
17
|
+
Tasks have a single top-level solver that defines an execution plan. This solver could be implemented with arbitrary Python code (calling the model as required) or could consist of a set of other solvers composed together. Solvers can therefore play two differnet roles:
|
18
18
|
|
19
19
|
1. _Composite_ specifications for task execution; and
|
20
20
|
|
@@ -65,7 +65,7 @@ def theory_of_mind():
|
|
65
65
|
|
66
66
|
Composite solvers by no means need to be implemented using chains. While chains are frequently used in more straightforward knowledge and reasoning evaluations, fully custom solver functions are often used for multi-turn dialog and agent evaluations.
|
67
67
|
|
68
|
-
This section covers mostly solvers as components (both built in and creating your own). The [Agents](agents.qmd) section describes fully custom
|
68
|
+
This section covers mostly solvers as components (both built in and creating your own). The [Agents](agents.qmd) section describes fully custom solvers in more depth.
|
69
69
|
|
70
70
|
## Task States
|
71
71
|
|
@@ -463,4 +463,4 @@ Early termination might also occur if you specify the `message_limit` option and
|
|
463
463
|
``` python
|
464
464
|
# could terminate early
|
465
465
|
eval(my_task, message_limit = 10)
|
466
|
-
```
|
466
|
+
```
|
@@ -22,7 +22,7 @@ from inspect_ai.solver import (
|
|
22
22
|
|
23
23
|
DEFAULT_PROMPT="{prompt}"
|
24
24
|
|
25
|
-
from tree_of_thought
|
25
|
+
from tree_of_thought import TREE_PROMPT, generate_tree
|
26
26
|
|
27
27
|
@solver
|
28
28
|
def critique():
|
@@ -395,4 +395,4 @@ $ inspect eval security/jeopardy
|
|
395
395
|
$ inspect eval security/attack_defense
|
396
396
|
```
|
397
397
|
|
398
|
-
Inspect has lots of features aimed at running evaluation suites, including filtering tasks based on tags/metadata, recovering from partially completed suites (due to failed evals), and more. See the documentation on [Eval Sets](eval-sets.qmd) to learn more.
|
398
|
+
Inspect has lots of features aimed at running evaluation suites, including filtering tasks based on tags/metadata, recovering from partially completed suites (due to failed evals), and more. See the documentation on [Eval Sets](eval-sets.qmd) to learn more.
|
@@ -129,7 +129,7 @@ dev = [
|
|
129
129
|
"pytest-cov",
|
130
130
|
"pytest-dotenv",
|
131
131
|
"pytest-xdist",
|
132
|
-
"ruff==0.8.
|
132
|
+
"ruff==0.8.2", # match version specified in .pre-commit-config.yaml
|
133
133
|
"textual-dev>=0.86.2",
|
134
134
|
"types-PyYAML",
|
135
135
|
"types-aiofiles",
|
@@ -5,7 +5,7 @@ import click
|
|
5
5
|
from inspect_ai import __version__
|
6
6
|
from inspect_ai._util.constants import PKG_PATH
|
7
7
|
from inspect_ai._view.server import resolve_header_only
|
8
|
-
from inspect_ai.log._file import
|
8
|
+
from inspect_ai.log._file import eval_log_json_str, read_eval_log
|
9
9
|
|
10
10
|
from .log import headers, schema, types
|
11
11
|
|
@@ -46,7 +46,7 @@ def log(path: str, header_only: int) -> None:
|
|
46
46
|
header_only = resolve_header_only(path, header_only)
|
47
47
|
|
48
48
|
log = read_eval_log(path, header_only=header_only)
|
49
|
-
print(
|
49
|
+
print(eval_log_json_str(log))
|
50
50
|
|
51
51
|
|
52
52
|
@info_command.command("log-file-headers", hidden=True)
|
@@ -14,7 +14,7 @@ from inspect_ai._util.constants import PKG_PATH
|
|
14
14
|
from inspect_ai.log import list_eval_logs
|
15
15
|
from inspect_ai.log._convert import convert_eval_logs
|
16
16
|
from inspect_ai.log._file import (
|
17
|
-
|
17
|
+
eval_log_json_str,
|
18
18
|
read_eval_log,
|
19
19
|
read_eval_log_headers,
|
20
20
|
)
|
@@ -127,7 +127,7 @@ def list_command(
|
|
127
127
|
def dump_command(path: str, header_only: bool) -> None:
|
128
128
|
"""Print log file contents as JSON."""
|
129
129
|
log = read_eval_log(path, header_only=header_only)
|
130
|
-
print(
|
130
|
+
print(eval_log_json_str(log))
|
131
131
|
|
132
132
|
|
133
133
|
@log_command.command("convert")
|
@@ -61,7 +61,7 @@ async def score(
|
|
61
61
|
|
62
62
|
# read the eval log
|
63
63
|
recorder = create_recorder_for_location(log_file, log_dir)
|
64
|
-
eval_log = recorder.read_log(log_file)
|
64
|
+
eval_log = await recorder.read_log(log_file)
|
65
65
|
|
66
66
|
# check that there are samples therein
|
67
67
|
if eval_log.samples is None or len(eval_log.samples) == 0:
|
@@ -88,7 +88,7 @@ async def score(
|
|
88
88
|
scored = f"{SCORED_SUFFIX}{ext}"
|
89
89
|
if not overwrite and not log_file.endswith(scored):
|
90
90
|
log_file = log_file.removesuffix(ext) + scored
|
91
|
-
recorder.write_log(log_file, eval_log)
|
91
|
+
await recorder.write_log(log_file, eval_log)
|
92
92
|
|
93
93
|
# print results
|
94
94
|
display().print(f"\n{eval_log.eval.task}")
|
@@ -19,6 +19,8 @@ from rich.console import Console
|
|
19
19
|
from inspect_ai.log import EvalConfig, EvalResults, EvalStats
|
20
20
|
from inspect_ai.model import GenerateConfig, ModelName
|
21
21
|
|
22
|
+
from ...util._panel import InputPanel
|
23
|
+
|
22
24
|
|
23
25
|
@runtime_checkable
|
24
26
|
class Progress(Protocol):
|
@@ -81,6 +83,8 @@ class TaskWithResult:
|
|
81
83
|
|
82
84
|
TR = TypeVar("TR")
|
83
85
|
|
86
|
+
TP = TypeVar("TP", bound=InputPanel)
|
87
|
+
|
84
88
|
|
85
89
|
class TaskScreen(contextlib.AbstractContextManager["TaskScreen"]):
|
86
90
|
def __exit__(self, *excinfo: Any) -> None:
|
@@ -95,12 +99,27 @@ class TaskScreen(contextlib.AbstractContextManager["TaskScreen"]):
|
|
95
99
|
) -> Iterator[Console]:
|
96
100
|
yield rich.get_console()
|
97
101
|
|
102
|
+
async def input_panel(self, title: str, panel: type[TP]) -> TP:
|
103
|
+
raise NotImplementedError("input_panel not implemented by current display")
|
104
|
+
|
105
|
+
|
106
|
+
@dataclass
|
107
|
+
class TaskDisplayMetric:
|
108
|
+
scorer: str
|
109
|
+
name: str
|
110
|
+
value: float | int
|
111
|
+
reducer: str | None
|
112
|
+
|
98
113
|
|
99
114
|
@runtime_checkable
|
100
115
|
class TaskDisplay(Protocol):
|
101
116
|
@contextlib.contextmanager
|
102
117
|
def progress(self) -> Iterator[Progress]: ...
|
103
118
|
|
119
|
+
def sample_complete(self, complete: int, total: int) -> None: ...
|
120
|
+
|
121
|
+
def update_metrics(self, scores: list[TaskDisplayMetric]) -> None: ...
|
122
|
+
|
104
123
|
def complete(self, result: TaskResult) -> None: ...
|
105
124
|
|
106
125
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
from typing import Tuple
|
2
|
+
|
1
3
|
import rich
|
2
4
|
from rich.console import RenderableType
|
3
5
|
from rich.panel import Panel
|
@@ -16,6 +18,10 @@ def task_panel(
|
|
16
18
|
profile: TaskProfile,
|
17
19
|
show_model: bool,
|
18
20
|
body: RenderableType,
|
21
|
+
subtitle: RenderableType
|
22
|
+
| str
|
23
|
+
| Tuple[RenderableType | str, RenderableType | str]
|
24
|
+
| None,
|
19
25
|
footer: RenderableType | tuple[RenderableType, RenderableType] | None,
|
20
26
|
log_location: str | None,
|
21
27
|
) -> Panel:
|
@@ -25,22 +31,39 @@ def task_panel(
|
|
25
31
|
width = CONSOLE_DISPLAY_WIDTH if is_vscode_notebook(console) else None
|
26
32
|
jupyter = console.is_jupyter
|
27
33
|
|
28
|
-
#
|
34
|
+
# root table
|
29
35
|
table = Table.grid(expand=True)
|
30
36
|
table.add_column()
|
31
|
-
|
37
|
+
|
38
|
+
# setup table
|
39
|
+
if subtitle is not None:
|
40
|
+
subtitle_table = Table.grid(expand=True)
|
41
|
+
subtitle_table.add_column()
|
42
|
+
if isinstance(subtitle, tuple):
|
43
|
+
subtitle_table.add_column(justify="right")
|
44
|
+
subtitle_table.add_row(
|
45
|
+
to_renderable(subtitle[0]), to_renderable(subtitle[1], style=theme.meta)
|
46
|
+
)
|
47
|
+
else:
|
48
|
+
subtitle_table.add_row(to_renderable(subtitle))
|
49
|
+
|
50
|
+
table.add_row(subtitle_table)
|
32
51
|
|
33
52
|
# main progress and task info
|
34
|
-
|
35
|
-
table.add_row(body
|
53
|
+
table.add_row()
|
54
|
+
table.add_row(body)
|
55
|
+
table.add_row()
|
36
56
|
|
37
57
|
# footer if specified
|
38
58
|
if footer:
|
39
|
-
|
59
|
+
footer_table = Table.grid(expand=True)
|
60
|
+
footer_table.add_column()
|
40
61
|
if isinstance(footer, tuple):
|
41
|
-
|
62
|
+
footer_table.add_column(justify="right")
|
63
|
+
footer_table.add_row(footer[0], footer[1])
|
42
64
|
else:
|
43
|
-
|
65
|
+
footer_table.add_row(footer)
|
66
|
+
table.add_row(footer_table)
|
44
67
|
|
45
68
|
# enclose in outer table for log link footer
|
46
69
|
root = table
|
@@ -75,6 +98,13 @@ def task_panel(
|
|
75
98
|
return panel
|
76
99
|
|
77
100
|
|
101
|
+
def to_renderable(item: RenderableType | str, style: str = "") -> RenderableType:
|
102
|
+
if isinstance(item, str):
|
103
|
+
return Text.from_markup(item, style=style)
|
104
|
+
else:
|
105
|
+
return item
|
106
|
+
|
107
|
+
|
78
108
|
def tasks_title(completed: int, total: int) -> str:
|
79
109
|
return f"{completed}/{total} tasks complete"
|
80
110
|
|
@@ -32,13 +32,20 @@ class RichProgress(Progress):
|
|
32
32
|
model: str = "",
|
33
33
|
status: Callable[[], str] | None = None,
|
34
34
|
on_update: Callable[[], None] | None = None,
|
35
|
+
count: str = "",
|
36
|
+
score: str = "",
|
35
37
|
) -> None:
|
36
38
|
self.total = total
|
37
39
|
self.progress = progress
|
38
40
|
self.status = status if status else lambda: ""
|
39
41
|
self.on_update = on_update
|
40
42
|
self.task_id = progress.add_task(
|
41
|
-
description,
|
43
|
+
description,
|
44
|
+
total=PROGRESS_TOTAL,
|
45
|
+
model=model,
|
46
|
+
status=self.status(),
|
47
|
+
count=count,
|
48
|
+
score=score,
|
42
49
|
)
|
43
50
|
|
44
51
|
@override
|
@@ -56,6 +63,16 @@ class RichProgress(Progress):
|
|
56
63
|
task_id=self.task_id, completed=PROGRESS_TOTAL, status=self.status()
|
57
64
|
)
|
58
65
|
|
66
|
+
def update_count(self, complete: int, total: int) -> None:
|
67
|
+
self.progress.update(
|
68
|
+
task_id=self.task_id, count=progress_count(complete, total), refresh=True
|
69
|
+
)
|
70
|
+
if self.on_update:
|
71
|
+
self.on_update()
|
72
|
+
|
73
|
+
def update_score(self, score: str) -> None:
|
74
|
+
self.progress.update(task_id=self.task_id, score=score)
|
75
|
+
|
59
76
|
|
60
77
|
def rich_progress() -> RProgress:
|
61
78
|
console = rich.get_console()
|
@@ -65,10 +82,12 @@ def rich_progress() -> RProgress:
|
|
65
82
|
TextColumn("{task.fields[model]}"),
|
66
83
|
BarColumn(bar_width=40 if is_vscode_notebook(console) else None),
|
67
84
|
TaskProgressColumn(),
|
85
|
+
TextColumn("{task.fields[count]}"),
|
86
|
+
TextColumn("{task.fields[score]}"),
|
68
87
|
TimeElapsedColumn(),
|
69
88
|
transient=True,
|
70
89
|
console=console,
|
71
|
-
expand=
|
90
|
+
expand=True,
|
72
91
|
)
|
73
92
|
|
74
93
|
|
@@ -109,3 +128,11 @@ def progress_time(time: float) -> str:
|
|
109
128
|
minutes, seconds = divmod(time, 60)
|
110
129
|
hours, minutes = divmod(minutes, 60)
|
111
130
|
return f"{hours:2.0f}:{minutes:02.0f}:{seconds:02.0f}"
|
131
|
+
|
132
|
+
|
133
|
+
def progress_count(complete: int, total: int) -> str:
|
134
|
+
# Pad the display to keep it stable
|
135
|
+
total_str = f"{total:,}"
|
136
|
+
complete_str = f"{complete:,}"
|
137
|
+
padding = max(0, len(total_str) - len(complete_str))
|
138
|
+
return " " * padding + f"[{complete_str}/{total_str}]"
|