inspect-ai 0.3.95__tar.gz → 0.3.96__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.95 → inspect_ai-0.3.96}/.github/dependabot.yml +2 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/CHANGELOG.md +8 -1
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/PKG-INFO +2 -2
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/dataframe.qmd +144 -19
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/_sidebar.yml +12 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.analysis.qmd +9 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/popularity.py +2 -2
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/requirements.txt +1 -1
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/local_server.py +16 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_types.py +1 -1
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/__init__.py +11 -1
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/evals/table.py +65 -28
- inspect_ai-0.3.96/src/inspect_ai/analysis/beta/_dataframe/events/columns.py +87 -0
- inspect_ai-0.3.96/src/inspect_ai/analysis/beta/_dataframe/events/extract.py +26 -0
- inspect_ai-0.3.96/src/inspect_ai/analysis/beta/_dataframe/events/table.py +100 -0
- inspect_ai-0.3.96/src/inspect_ai/analysis/beta/_dataframe/extract.py +73 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/messages/table.py +6 -14
- inspect_ai-0.3.96/src/inspect_ai/analysis/beta/_dataframe/progress.py +26 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/samples/columns.py +7 -3
- inspect_ai-0.3.96/src/inspect_ai/analysis/beta/_dataframe/samples/extract.py +54 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/samples/table.py +76 -35
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/util.py +19 -16
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_file.py +9 -2
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_task_state.py +1 -1
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/_sandbox.py +17 -14
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai.egg-info/PKG-INFO +2 -2
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai.egg-info/SOURCES.txt +6 -1
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai.egg-info/requires.txt +1 -1
- inspect_ai-0.3.96/tests/analysis/test_df.py +102 -0
- inspect_ai-0.3.96/tests/analysis/test_logs/2025-05-12T20-27-36-04-00_browser.json +3596 -0
- inspect_ai-0.3.96/tests/analysis/test_logs/2025-05-12T20-28-13-04-00_popularity.json +1330 -0
- inspect_ai-0.3.96/tests/analysis/test_logs/2025-05-12T20-28-26-04-00_security-guide.json +1794 -0
- inspect_ai-0.3.95/examples/imp.py +0 -38
- inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/events/columns.py +0 -37
- inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/events/table.py +0 -14
- inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/extract.py +0 -54
- inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/samples/extract.py +0 -82
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/pull_request_template.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/workflows/build.yml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/workflows/docker.yml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/workflows/docs.yml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/workflows/log_viewer.yml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/workflows/pypi.yml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/workflows/vscode.yml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.gitignore +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.pre-commit-config.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.pylintrc +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.vscode/extensions.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.vscode/launch.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.vscode/settings.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/CITATION.cff +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/CLAUDE.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/LICENSE +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/MANIFEST.in +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/Makefile +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/README.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/.gitignore +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/CNAME +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_container_limits.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_errors_and_retries.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_max_samples.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_message_limits.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_metadata_typing.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_model-providers.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_quarto.yml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_sample-preservation.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_sandbox-dockerfile.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_sandbox-image.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_sandboxenv-interface.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_setting_max_samples.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_shuffling-choices.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_store_typing.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_token_limits.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_tools-annotations-required.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_tools-basics.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_tools-configuration.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_tools-standard.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_variables.yml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_vscode-viewing-logs.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/agent-bridge.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/agent-custom.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/agents.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/approval.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/caching.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/datasets.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/errors-and-limits.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/eval-logs.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/eval-sets.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/evals/evals.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/evals/evals.ejs +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/evals/evals.yml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/evals/import.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/evals/index.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/evals/listing.yml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/extensions.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/human-agent.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/aisi-logo.svg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/eval-log.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-activity-bar.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-human-agent-container.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-human-agent.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-multiple-models.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-terminal-transcript.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-answers.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-filter.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-history.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-home.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-info.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-log-link.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-logging-console.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-logging.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-main.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-messages.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-metadata.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-scoring.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-sort.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-splash.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-vscode-config.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-vscode-install.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-vscode-logview.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-vscode-output-channel.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-vscode-run-task.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/logs-drop-down.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/logs-open-button.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/logs.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/popularity.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/python-tool-view.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/rate-limit.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/running-theory.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/task-max-sandboxes.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/toolenv-no-cleanup.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/vnc-port-info.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/vnc-view-only.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/web-browser-tool-view.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/index.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/interactivity.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/llms.txt +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/log-viewer.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/models.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/multi-agent.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/multimodal.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/options.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/parallelism.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/providers.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reasoning.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/.gitignore +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/_metadata.yml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/commands.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/filter.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/interlink.lua +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/parse.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/post.lua +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/render.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/sidebar.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/index.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.agent.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.approval.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.dataset.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.log.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.model.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.scorer.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.solver.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.tool.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.util.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_cache.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_eval-retry.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_eval-set.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_eval.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_info.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_list.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_log.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_sandbox.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_score.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_trace.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_view.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/sandboxing.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/scorers.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/scripts/post-render.sh +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/solvers.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/structured.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tasks.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/theme.scss +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tools-custom.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tools-mcp.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tools-standard.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tools.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tracing.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tutorial.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/typing.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/vscode.qmd +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/approval/README.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/approval/approval.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/approval/approval.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/biology_qa.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/autogen/README.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/autogen/agent.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/autogen/dataset.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/autogen/requirements.txt +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/autogen/task.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/langchain/README.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/langchain/agent.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/langchain/dataset.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/langchain/requirements.txt +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/langchain/task.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/browser/browser.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/browser/compose.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/cache.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/computer/compose.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/computer/computer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/computer/moonWeight.ods +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/evalset.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/hello_world.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/human/Dockerfile +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/human/compose.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/human/human.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/images/ballons.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/images/bike.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/images/images.jsonl +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/images/images.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/README.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/computer/approval.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/computer/compose.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/intervention.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/multi_tool/compose.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/shell/Dockerfile +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/shell/compose.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/mcp_tools.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/prefill.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/scorer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/security_guide.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/structured.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/surfer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/theory_of_mind.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/tool_use.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/pyproject.toml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/setup.cfg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/__main__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/cache.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/common.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/eval.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/info.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/list.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/log.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/main.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/sandbox.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/score.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/trace.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/util.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/view.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/active.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/config.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/display.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/footer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/panel.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/progress.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/results.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/rich.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/textual.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/plain/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/plain/display.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/rich/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/rich/display.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/app.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/app.tcss +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/display.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/theme.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/clock.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/console.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/footer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/port_mappings.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/samples.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/sandbox.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/task_detail.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/tasks.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/titlebar.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/toggle.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/transcript.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/vscode.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/context.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/eval.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/evalset.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/list.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/loader.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/registry.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/run.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/score.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/constants.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/epochs.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/error.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/generate.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/images.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/log.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/resolved.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/results.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/run.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/sandbox.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/task.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/tasks.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/util.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/_async.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/ansi.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/answer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/appdirs.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/config.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/constants.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/content.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/datetime.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/decorator.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/deprecation.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/dev.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/dict.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/dotenv.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/entrypoints.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/environ.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/error.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/exception.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/file.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/format.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/future.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/git.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/hash.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/hooks.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/html.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/http.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/httpx.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/images.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/interrupt.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/json.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/kvstore.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/list.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/logger.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/notebook.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/notgiven.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/package.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/path.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/pattern.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/platform.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/port_names.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/registry.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/retry.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/rich.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/samples.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/terminal.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/text.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/thread.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/throttle.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/trace.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/transcript.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/url.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/version.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/vscode.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/working.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/notify.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/schema.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/server.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/view.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/.gitignore +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/.prettierignore +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/.prettierrc.js +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/.tool-versions +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/.vscode/extensions.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/.vscode/settings.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/README.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/babel.config.js +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/dist/assets/favicon.svg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/dist/assets/index.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/dist/assets/index.js +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/dist/index.html +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/eslint.config.mjs +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/favicon.svg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/index.html +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/jest.config.mjs +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/jsconfig.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/log-schema.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/package.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/postcss.config.cjs +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/@types/asciicinema-player.d.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/@types/jsondiffpatch.d.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/@types/log.d.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/@types/markdown-it-katex.d.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/@types/prism.d.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/App.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/App.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/AppErrorBoundary.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/appearance/colors.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/appearance/fonts.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/appearance/icons.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/appearance/styles.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/MetaDataGrid.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/MetaDataView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/MetaDataView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/MetadataGrid.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/RenderedContent.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/RenderedContent.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/types.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/LogView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/LogView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/LogViewContainer.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/LogViewLayout.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/error/TaskErrorPanel.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/error/TaskErrorPanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/ModelRolesView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/ModelRolesView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/Navbar.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/Navbar.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/PrimaryBar.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/PrimaryBar.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/ResultsPanel.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/ResultsPanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/RunningStatusPanel.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/RunningStatusPanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/ScoreGrid.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/ScoreGrid.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/SecondaryBar.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/SecondaryBar.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/StatusPanel.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/StatusPanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/InfoTab.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/InfoTab.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/JsonTab.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/JsonTab.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/ModelsTab.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/ModelsTab.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/RunningNoSamples.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/RunningNoSamples.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/SamplesTab.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/TaskTab.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/TaskTab.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/grouping.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/types.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/types.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/utils.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/DatasetDetailView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/DatasetDetailView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/DetailStep.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/DetailStep.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/ModelCard.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/ModelCard.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/PlanCard.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/PlanDetailView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/PlanDetailView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/ScorerDetailView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/ScorerDetailView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/SolverDetailView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/SolverDetailView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/routing/AppRouter.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/routing/navigationHooks.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/routing/url.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/InlineSampleDisplay.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/InlineSampleDisplay.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/SampleDialog.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/SampleDisplay.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/SampleDisplay.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/SampleSummaryView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/SampleSummaryView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/SamplesTools.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessage.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessage.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessageRenderer.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessageRow.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessageRow.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatViewVirtualList.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatViewVirtualList.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/MessageContent.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/MessageContent.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/MessageContents.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/MessageContents.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/messages.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolCallView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolCallView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolInput.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolInput.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolOutput.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolOutput.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolTitle.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolTitle.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/tool.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/types.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/samplesDescriptor.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/BooleanScoreDescriptor.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/BooleanScoreDescriptor.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/CategoricalScoreDescriptor.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/NumericScoreDescriptor.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/ObjectScoreDescriptor.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/ObjectScoreDescriptor.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/OtherScoreDescriptor.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/PassFailScoreDescriptor.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/PassFailScoreDescriptor.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/ScoreDescriptor.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/types.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/error/FlatSampleErrorView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/error/FlatSampleErrorView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/error/SampleErrorView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/error/SampleErrorView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/error/error.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleFooter.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleFooter.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleHeader.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleHeader.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleList.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleList.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleRow.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleRow.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleSeparator.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleSeparator.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/EpochFilter.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/EpochFilter.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/SelectScorer.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/SelectScorer.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/SortFilter.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/SortFilter.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/filters.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/SampleFilter.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/SampleFilter.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/completions.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/language.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/tokenize.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sampleDataAdapter.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sampleLimit.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScores.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScores.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScoresGrid.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScoresGrid.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScoresView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScoresView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ApprovalEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ErrorEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/InfoEventView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/InfoEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/InputEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/LoggerEventView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/LoggerEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ModelEventView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ModelEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SampleInitEventView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SampleInitEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SampleLimitEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SandboxEventView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SandboxEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ScoreEventView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ScoreEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SpanEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/StepEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SubtaskEventView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SubtaskEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ToolEventView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ToolEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/TranscriptView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/TranscriptView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/TranscriptVirtualListComponent.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/TranscriptVirtualListComponent.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventNav.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventNav.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventNavs.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventNavs.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventPanel.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventPanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventProgressPanel.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventProgressPanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventRow.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventRow.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventSection.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventSection.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventTimingPanel.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventTimingPanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/utils.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateDiffView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateEventRenderers.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateEventRenders.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateEventView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateEventView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/transform/fixups.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/transform/treeify.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/transform/utils.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/types.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/EvalStatus.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/EvalStatus.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/LogDirectoryTitleView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/LogDirectoryTitleView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/Sidebar.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/Sidebar.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/SidebarLogEntry.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/SidebarLogEntry.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/SidebarScoreView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/SidebarScoreView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/SidebarScoresView.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/SidebarScoresView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/types.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/ModelTokenTable.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/ModelUsagePanel.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/ModelUsagePanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/TokenTable.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/TokenTable.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/UsageCard.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/UsageCard.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/api-browser.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/api-http.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/api-shared.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/api-vscode.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/client-api.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/index.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/jsonrpc.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/types.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/remote/remoteLogFile.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/remote/remoteZipFile.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/storage/index.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/AnsiDisplay.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/AnsiDisplay.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/AsciinemaPlayer.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/Card.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/Card.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/CopyButton.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/CopyButton.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/DownloadButton.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/DownloadButton.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/DownloadPanel.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/DownloadPanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/EmptyPanel.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/EmptyPanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ErrorPanel.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ErrorPanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ExpandablePanel.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ExpandablePanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/FindBand.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/FindBand.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/HumanBaselineView.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/HumanBaselineView.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/JsonPanel.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/JsonPanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LabeledValue.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LabeledValue.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LargeModal.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LargeModal.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LightboxCarousel.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LightboxCarousel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LinkButton.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LinkButton.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LiveVirtualList.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LiveVirtualList.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/MarkdownDiv.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/MarkdownDiv.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/MessageBand.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/MessageBand.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/Modal.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/Modal.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/MorePopOver.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/MorePopOver.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/NavPills.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/NavPills.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/NoContentsPanel.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/NoContentsPanel.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ProgressBar.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ProgressBar.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/PulsingDots.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/PulsingDots.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/TabSet.module.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/TabSet.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ToolButton.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ToolButton.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/constants.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/index.tsx +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/appSlice.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/hooks.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/logPolling.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/logSlice.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/logsPolling.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/logsSlice.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/samplePolling.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/sampleSlice.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/sampleUtils.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/scoring.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/scrolling.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/store.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/store_filter.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/utils.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/README.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/__mocks__/fileMock.js +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/__mocks__/styleMock.js +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/setupTests.mjs +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/utils/base64.test.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/utils/format.test.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/utils/path.test.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/attachments.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/base64.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/browser.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/debugging.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/dom.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/format.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/git.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/html.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/http.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/json-worker.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/json.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/logger.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/numeric.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/path.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/polling.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/print.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/queue.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/react.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/sync.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/type.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/uri.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/vscode.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/tsconfig.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/vite.config.js +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/yarn.lock +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_agent.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_as_solver.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_as_tool.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_bridge/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_bridge/bridge.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_bridge/patch.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_filter.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_handoff.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/agent.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/clock.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/command.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/instructions.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/note.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/score.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/status.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/submit.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/install.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/panel.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/service.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/state.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/view.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_react.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_run.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/columns.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/evals/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/evals/columns.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/evals/extract.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/events/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/messages/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/messages/columns.py +1 -1
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/messages/extract.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/record.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/samples/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/validate.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_apply.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_approval.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_approver.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_auto.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_call.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_human/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_human/approver.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_human/console.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_human/manager.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_human/panel.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_human/util.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_policy.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_registry.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_dataset.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_examples/bias_detection.jsonl +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_examples/biology_qa.jsonl +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_examples/popularity.jsonl +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_examples/security_guide.jsonl +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_examples/theory_of_mind.jsonl +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/csv.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/example.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/file.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/hf.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/json.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/util.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_util.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_bundle.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_condense.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_convert.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_log.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_message.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_model.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/buffer/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/buffer/buffer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/buffer/database.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/buffer/filestore.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/buffer/types.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/create.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/eval.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/file.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/json.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/recorder.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/types.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_retry.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_samples.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_transcript.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_tree.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_util.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_cache.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_call_tools.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_chat_message.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_conversation.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_display.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_generate_config.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_model.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_model_call.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_model_output.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_openai.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_openai_computer_use.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_openai_responses.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/anthropic.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/azureai.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/bedrock.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/cloudflare.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/google.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/grok.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/groq.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/hf.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/llama_cpp_python.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/mistral.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/mockllm.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/none.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/ollama.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/openai.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/openai_compatible.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/openai_o1.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/openai_responses.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/openrouter.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/providers.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/sglang.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/together.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/util/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/util/chatapi.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/util/hf_handler.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/util/hooks.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/util/llama31.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/util/util.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/vertex.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/vllm.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_reasoning.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_registry.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_render.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_trim.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/py.typed +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_answer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_choice.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_classification.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_common.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_match.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_metric.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_metrics/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_metrics/accuracy.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_metrics/grouped.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_metrics/mean.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_metrics/std.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_model.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_multi.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_pattern.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_reducer/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_reducer/reducer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_reducer/registry.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_reducer/types.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_score.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_scorer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_target.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_basic_agent.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_bridge.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_chain.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_critique.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_fork.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_human_agent.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_multiple_choice.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_plan.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_prompt.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_run.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_solver.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_transcript.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_use_tools.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_util.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_json_rpc_helpers.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/_context.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/_mcp.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/_types.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/connection.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/sampling.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/server.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/tools.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_call.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_choice.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_def.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_description.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_info.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_params.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_support_helpers.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_transcript.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_with.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_bash_session.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_computer/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_computer/_common.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_computer/_computer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_execute.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_text_editor.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_think.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_browser/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_browser/_back_compat.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_browser/_web_browser.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_search/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_search/_google.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_search/_tavily.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_search/_web_search.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/beta.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_anyio.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_collect.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_concurrency.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_console.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_conversation.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_display.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_json.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_limit.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_limited_conversation.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_panel.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_resource.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/context.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/cleanup.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/compose.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/config.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/docker.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/internal.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/prereqs.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/service.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/util.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/environment.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/events.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/limits.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/local.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/registry.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/self_check.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/service.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_span.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_store.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_store_model.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_subprocess.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_subtask.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_throttle.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai.egg-info/dependency_links.txt +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai.egg-info/entry_points.txt +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai.egg-info/top_level.txt +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/.bumpversion.cfg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/.pylintrc +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/.vscode/launch.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/.vscode/settings.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/CHANGELOG.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/Dockerfile +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/Dockerfile.kali +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/Dockerfile.ubuntu +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/MANIFEST.in +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/README.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/cspell.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/kali-archive-keyring.gpg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/make-release-commit +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/pyproject.toml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/shared_tool_container_design.svg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/__main__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_cli/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_cli/_post_install.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_cli/main.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_cli/server.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/_run.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/json_rpc_methods.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/text_editor.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/tool_types.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_version/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_version/json_rpc_methods.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/_controller.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/_process.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/_session.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/json_rpc_methods.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/tool_types.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_mcp/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_mcp/json_rpc_methods.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_mcp/mcp_server_session.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_mcp/tool_types.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/README.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/accessibility_tree.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/accessibility_tree_node.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/a11y.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/dom.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/dom_snapshot.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/page.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/constants.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/controller.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/images/usage_diagram.svg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/json_rpc_methods.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/mock_environment.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/playwright_browser.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/playwright_crawler.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/playwright_page_crawler.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/rectangle.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/scale_factor.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/test_accessibility_tree_node.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/test_playwright_crawler.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/test_rectangle.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/test_web_client.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/tool_types.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/async_decoded_stream_reader.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/common_types.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/constants.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/debugging.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/json_rpc_helpers.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/load_tools.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/pseudo_terminal.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/semver.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/session_controller.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/test_async_decoded_stream_reader.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/timeout_event.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/validation.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/_human/test_state.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/compose.human.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/compose.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/human.Dockerfile +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/test_agent_description.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/test_agent_docs.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/test_agent_execute.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/test_agent_handoff.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/test_agent_human.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/test_agent_react.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/analysis/test_expand.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/analysis/test_import.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/analysis/test_validate.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/approval/approve.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/approval/escalate.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/approval/modify.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/approval/reject.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/approval/terminate.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/approval/test_approval.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/conftest.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/dataset.jsonl +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/images/ballons.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/images.jsonl +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/samples-md.csv +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/samples-md.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/samples-md.jsonl +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/samples.csv +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/samples.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/samples.jsonl +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_formats.eval +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_formats.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_images.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_images_tc.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_invalid.txt +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_length_stop_reason.txt +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_streaming.eval +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_tool_call_error.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_valid.txt +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_version_3.txt +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_with_nan.txt +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_event_tree.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_list_logs/2024-11-05T13-31-45-05-00_input-task_8zXjbRzCWrL9GXiXo2vus9.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_list_logs/2024-11-05T13-32-37-05-00_input-task_hxs4q9azL3ySGkjJirypKZ.eval +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_list_logs/custom.eval +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_list_logs/ignore.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_list_logs.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_attachments.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_eventdb.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_eventdb_sync.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_filename.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_formats.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_level.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_message_id.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_streaming.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_summaries.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_tags.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/gatsby.txt +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_anthropic.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_azureai.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_cloudflare.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_google.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_grok.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_groq.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_hf.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_llama_cpp_python.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_mistral.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_openai.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_openai_compatible.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_openai_o1.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_openai_responses.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_vertex.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_vllm.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_api_key.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_cache.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_collapse_assistant_message.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_collapse_user_message.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_disable.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_generate_loop.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_get_model.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_is_rate_limit.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_logprobs.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_mock_model_llm.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_model_length.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_model_output.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_model_roles.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_no_model.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_num_choices.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_parse_tool_call.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_reasoning_claude.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_reasoning_content.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_reasoning_google.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_reasoning_grok.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_reasoning_openai.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_reasoning_parse.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_stop_reason.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_structured_output.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_tool_result_images_as_user_message.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_trim_messages.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/logs/2025-02-11T15-17-00-05-00_popularity_dPiJifoWeEQBrfWsAopzWr.eval +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/logs/2025-02-11T15-18-04-05-00_popularity_mj7khqpMM4GBCfVQozKgzB.eval +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_answer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_choice.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_classification.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_match.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_metric.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_model_graded.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_multiscorer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_pattern.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_reducers.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_scorer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_task_score.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_value_to_float.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_basic_agent.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_bridge.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_chain.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_fork.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_multiple_choice.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_prompt.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_score.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_setup.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_solver.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_solver_decorator.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_solver_spec.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_store.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_store_model.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_subtask.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_transcript.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_config/model.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_config/solver.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_config/task.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_config.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_set/2024-08-29T15-11-17+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_set/2024-08-29T15-11-18+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_set.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_examples.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_extensions.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_fail_on_error.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/file_runner.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/limits.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/tasks.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/tool_call_utils.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/tools.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/utils.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_list_task.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_log_dir/example_task/example_task.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_log_dir/test_log_dir.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_metadata.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/.gitignore +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/_registry.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/approvers/renamer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/modelapi/custom.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/py.typed +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/sandboxenv/podman.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/score/scorer.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/solvers/cot.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/pyproject.toml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_retry.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_retry_on_error.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_sample_id.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_sample_limits.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_attr.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/__init__.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/attribs.ipynb +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/multiple.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/multiple_dir/_decoy/testit.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/multiple_dir/_decoy2.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/multiple_dir/bar.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/multiple_dir/foo.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/recurse/.folder3/epsilon.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/recurse/folder1/_decoy.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/recurse/folder1/theta.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/recurse/folder2/.folder3/epsilon.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/recurse/folder2/another.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/recurse/folder2/first.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_model.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_with.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/docker-compose-context/Dockerfile +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/docker-compose-context-alpine/Dockerfile +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/docker-mcp-server/Dockerfile +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_bash_tool.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_call_tools.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_inspect_tool_support.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_inspect_tool_support.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_max_exec_output.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_max_tool_output.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_mcp_tools.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_python_tool.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_sandbox_compose.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_sandbox_compose_alpine.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_sandbox_docker_and_local.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_sandbox_dockerfile.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_sandbox_tool_eval.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_think_tool.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_def.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_error.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_images.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_parse.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_source.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_truncate.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_types.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_view.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_with.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tools.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_use_tools.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_web_browser.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/Dockerfile +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/Dockerfile.debug +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/compose.dynamic-image.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/compose.sandbox-service.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/debug.Dockerfile +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/docker_compose_multiple_services/docker-compose.yaml +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/sandbox-service.Dockerfile +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/sandbox_setup.sh +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/sandbox_setup_error.sh +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/sandbox_setup_symlink.sh +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_docker_compose_multiple_services.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_docker_dynamic_image.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_docker_filenames.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_docker_healthcheck.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_multi_sandbox_context_management.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_sandbox_service.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_sandbox_setup.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_anyio.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_display_counter.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_file.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_format_template.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_images/images.jsonl +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_images.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_kvstore.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_limit.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_limit_message.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_limit_token.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_media/audio.jsonl +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_media/sample.mp3 +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_media/sample.wav +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_media/video.jsonl +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_media/video.mp4 +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_media.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_package.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_registry.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_str_to_float.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_subprocess.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_truncate.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/view/test_bundle.py +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.gitignore +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.vscode/extensions.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.vscode/launch.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.vscode/settings.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.vscode/tasks.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.vscode-test.mjs +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.vscodeignore +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.yarnrc +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/CHANGELOG.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/LICENSE +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/README.md +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/icon/eval-treeview-cancelled.svg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/icon/eval-treeview-error.svg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/icon/eval-treeview-started.svg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/icon/eval-treeview.svg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/icon/eval.svg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/logo/inspect.png +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/logo/inspect.svg +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/templates/task.py.template +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/www/codicon/codicon.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/www/codicon/codicon.ttf +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/www/view/view-overrides.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/eslint.config.mjs +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/package.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/@types/hooks.d.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/@types/log.d.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/document.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/error.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/focus.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/notebook.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/symbol.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/task.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/templates.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/webview.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/appdirs.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/command.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/dispose.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/env.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/file.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/git.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/jsonrpc.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/log.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/nonce.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/path.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/port.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/process.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/python/code.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/python/env.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/python/exec.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/python/index.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/python/interpreter.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/random.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/string.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/text.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/uri.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/vscode/association.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/wait.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/workspace.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/extension.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/hooks/hooks.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/hooks/index.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/hooks/preview.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/inspect/index.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/inspect/logs.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/inspect/props.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/inspect/version.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/active-task/active-task-command.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/active-task/active-task-provider.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/activity-bar-provider.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/env-config-provider.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/log-listing/log-directory-selector.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-data.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-mru.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-provider.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-server-queue.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/log-listing/log-listing.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/task-config-commands.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/task-config-provider.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/task-outline-commands.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/task-outline-provider.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/webview/vscode-controls.css +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/webview/webview-utils.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/codelens/codelens-provider.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-commands.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-constants.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-eval-commands.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-eval.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-logs-watcher.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-manager.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-view-server.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/lognotify.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/commands.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/log-file-selector.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/logview-editor.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/logview-link-provider.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/logview-panel.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/logview-state.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/logview-view.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/logview.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/openlog.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/protocol-handler.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/settings/inspect-settings.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/settings/user-settings.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/statusbar.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/workspace/workspace-env-commands.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/workspace/workspace-env-provider.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/workspace/workspace-state-provider.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/workspace/workspace-task-provider.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/test/codelens-provider.test.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/test/extension.test.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/test/runTest.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/test/suite/codelens-provider.test.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/test/suite/extension.test.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/test/suite/index.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tools/ts-to-mjs/.gitignore +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tools/ts-to-mjs/package.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tools/ts-to-mjs/rollup.config.js +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tools/ts-to-mjs/src/index.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tools/ts-to-mjs/src/jsonrpc.ts +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tools/ts-to-mjs/yarn.lock +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tsconfig.json +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/webpack.config.js +0 -0
- {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/yarn.lock +0 -0
@@ -1,6 +1,13 @@
|
|
1
|
+
## v0.3.96 (13 May 2025)
|
2
|
+
|
3
|
+
- Dataframes: `events_df()` function, improved message reading, log filtering, don't re-sort passed logs
|
4
|
+
- Model Context Protocol: Upgrade sandbox client to typing changes made in v1.8.0 of `mcp` package.
|
5
|
+
- vLLM/SGLang: Fix dynamic port binding for local server on Mac OS X.
|
6
|
+
- React Agent: Improve continue prompt to remind the model to include the answer in their call to `submit()`.
|
7
|
+
|
1
8
|
## v0.3.95 (10 May 2025)
|
2
9
|
|
3
|
-
- [
|
10
|
+
- [Dataframe](https://inspect.aisi.org.uk/dataframe.html) functions for reading dataframes from log files.
|
4
11
|
- Web Search: Added provider for [Tavily](https://inspect.aisi.org.uk/tools-standard.html#tavily-provider) Research API.
|
5
12
|
- Multiple Choice: `max_tokens` option to control tokens used for `generate()`.
|
6
13
|
- Don't enforce sample `working_limit` after solvers have completed executing (matching behavior of other sample limits).
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: inspect_ai
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.96
|
4
4
|
Summary: Framework for large language model evaluations
|
5
5
|
Author: UK AI Security Institute
|
6
6
|
License: MIT License
|
@@ -23,7 +23,7 @@ License-File: LICENSE
|
|
23
23
|
Requires-Dist: aiohttp>=3.9.0
|
24
24
|
Requires-Dist: anyio>=4.8.0
|
25
25
|
Requires-Dist: beautifulsoup4
|
26
|
-
Requires-Dist: click
|
26
|
+
Requires-Dist: click<8.2.0,>=8.1.3
|
27
27
|
Requires-Dist: debugpy
|
28
28
|
Requires-Dist: docstring-parser>=0.16
|
29
29
|
Requires-Dist: exceptiongroup>=1.0.2; python_version < "3.11"
|
@@ -3,7 +3,7 @@ title: Log Dataframes
|
|
3
3
|
---
|
4
4
|
|
5
5
|
::: callout-note
|
6
|
-
|
6
|
+
Dataframe functions are currently in beta and are exported from the **inspect_ai.analysis.beta** module. The beta module will be preserved after final release so that code written against it now will continue to work after the beta.
|
7
7
|
:::
|
8
8
|
|
9
9
|
## Overview {#overview}
|
@@ -28,21 +28,22 @@ Inspect eval logs have a hierarchical structure which is well suited to flexibly
|
|
28
28
|
| [evals_df()](#evals) | Evaluation level data (e.g. task, model, scores, etc.). One row per log file. |
|
29
29
|
| [samples_df()](#samples) | Sample level data (e.g. input, metadata, scores, errors, etc.) One row per sample, where each log file contains many samples. |
|
30
30
|
| [messages_df()](#messages) | Message level data (e.g. role, content, etc.). One row per message, where each sample contains many messages. |
|
31
|
+
| [events_df()](#events) | Event level data (type, timing, content, etc.). One row per event, where each sample contains many events. |
|
31
32
|
|
32
33
|
Each function extracts a default set of columns, however you can tailor column reading to work in whatever way you need for your analysis. Extracted dataframes can either be denormalized (e.g. if you want to immediately summarise or plot them) or normalised (e.g. if you are importing them into a SQL database).
|
33
34
|
|
34
35
|
Below we'll walk through a few examples, then after that provide more in-depth documentation on customising how dataframes are read for various scenarios.
|
35
36
|
|
36
|
-
##
|
37
|
+
## Basics
|
37
38
|
|
38
|
-
###
|
39
|
+
### Reading Data
|
39
40
|
|
40
41
|
Use the `evals_df()` function to read a dataframe containing a row for each log file (note that we import from `inspect_ai.analysis.beta` since the dataframe functions are currently in beta):
|
41
42
|
|
42
43
|
``` python
|
44
|
+
# read logs from a given log directory
|
43
45
|
from inspect_ai.analysis.beta import evals_df
|
44
|
-
|
45
|
-
evals_df("logs")
|
46
|
+
evals_df("logs")
|
46
47
|
```
|
47
48
|
|
48
49
|
``` default
|
@@ -51,7 +52,7 @@ RangeIndex: 9 entries, 0 to 8
|
|
51
52
|
Columns: 51 entries, eval_id to score_model_graded_qa_stderr
|
52
53
|
```
|
53
54
|
|
54
|
-
The default configuration for `evals_df()` reads
|
55
|
+
The default configuration for `evals_df()` reads a predefined set of columns. You can customise column reading in a variety of ways (covered below in [Columns](#columns)).
|
55
56
|
|
56
57
|
Use the `samples_df()` function to read a dataframe with a record for each sample across a set of log files. For example, here we read all of the samples in the "logs" directory:
|
57
58
|
|
@@ -113,6 +114,37 @@ Columns: 27 entries, sample_id to retries
|
|
113
114
|
|
114
115
|
This dataframe has 27 columns rather than than the 13 we saw for the default `samples_df()` behavior, reflecting the additional eval level columns. You can create your own column groups and definitions to further customise reading (see [Columns](#columns) for details).
|
115
116
|
|
117
|
+
### Filtering Logs
|
118
|
+
|
119
|
+
The above examples read all of the logs within a given directory. You can also use the `list_eval_logs()` function to filter the list of logs based on arbitrary criteria as well control whether log listings are recursive.
|
120
|
+
|
121
|
+
For example, here we read only log files with a `status` of "success":
|
122
|
+
|
123
|
+
``` python
|
124
|
+
# read only successful logs from a given log directory
|
125
|
+
logs = list_eval_logs("logs", filter=lambda log: log.status == "success")
|
126
|
+
evals_df(logs)
|
127
|
+
```
|
128
|
+
|
129
|
+
Here we read only logs with the task name "popularity":
|
130
|
+
|
131
|
+
``` python
|
132
|
+
# read only logs with task name 'popularity'
|
133
|
+
def task_filter(log: EvalLog) -> bool:
|
134
|
+
return log.eval.task == "popularity"
|
135
|
+
|
136
|
+
logs = list_eval_logs("logs", filter=task_filter)
|
137
|
+
evals_df(logs)
|
138
|
+
```
|
139
|
+
|
140
|
+
We can also choose to read a directory non-recursively:
|
141
|
+
|
142
|
+
``` python
|
143
|
+
# read only the logs at the top level of 'logs'
|
144
|
+
logs = list_eval_logs("logs", recursive=False)
|
145
|
+
evals_df(logs)
|
146
|
+
```
|
147
|
+
|
116
148
|
### Databases
|
117
149
|
|
118
150
|
You can also read multiple dataframes and combine them into a relational database. Imported dataframes automatically include fields that can be used to join them (e.g. `eval_id` is in both the evals and samples tables).
|
@@ -221,19 +253,42 @@ if len(errors) > 0:
|
|
221
253
|
|
222
254
|
| Type | Description |
|
223
255
|
|------------------------------------|------------------------------------|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
256
|
+
| `EvalInfo` | Descriptive information (e.g. created, tags, metadata, git commit, etc.) |
|
257
|
+
| `EvalTask` | Task configuration (name, file, args, solver, etc.) |
|
258
|
+
| `EvalModel` | Model name, args, generation config, etc. |
|
259
|
+
| `EvalDataset` | Dataset name, location, sample ids, etc. |
|
260
|
+
| `EvalConfig` | Epochs, approval, sample limits, etc. |
|
261
|
+
| `EvalResults` | Status, errors, samples completed, headline metric. |
|
262
|
+
| `EvalScores` | All scores and metrics broken into separate columns. |
|
263
|
+
|
264
|
+
#### Multi-Columns
|
265
|
+
|
266
|
+
The `task_args` dictionary and eval scores data structure are both expanded into multiple columns by default:
|
267
|
+
|
268
|
+
``` python
|
269
|
+
EvalColumn("task_arg_*", path="eval.task_args")
|
270
|
+
EvalColumn("score_*_*", path=eval_log_scores_dict)
|
271
|
+
```
|
272
|
+
|
273
|
+
Note that scores are a two-level dictionary of `score_<scorer>_<metric>` and are extracted using a custom function. If you want to handle scores a different way you can build your own set of eval columns with a custom scores handler. For example, here we take a subset of eval columns along with our own custom handler (`custom_scores_fn`) for scores:
|
274
|
+
|
275
|
+
``` python
|
276
|
+
evals_df(
|
277
|
+
logs="logs",
|
278
|
+
columns=(
|
279
|
+
EvalInfo
|
280
|
+
+ EvalModel
|
281
|
+
+ EvalResults
|
282
|
+
+ ([EvalColumn("score_*_*", path=custom_scores_fn)])
|
283
|
+
)
|
284
|
+
)
|
285
|
+
```
|
231
286
|
|
232
287
|
#### Custom Extraction
|
233
288
|
|
234
|
-
The
|
289
|
+
The example above demonstrates the use of custom extraction functions, which take an `EvalLog` and return a `JsonValue`.
|
235
290
|
|
236
|
-
For example, here is the
|
291
|
+
For example, here is the default extraction function for the the dictionary of scores/metrics:
|
237
292
|
|
238
293
|
``` python
|
239
294
|
def scores_dict(log: EvalLog) -> JsonValue:
|
@@ -269,7 +324,7 @@ By default, the `SampleSummary` column group is used, which reads only from summ
|
|
269
324
|
SampleSummary: list[Column] = [
|
270
325
|
SampleColumn("id", path="id", required=True, type=str),
|
271
326
|
SampleColumn("epoch", path="epoch", required=True),
|
272
|
-
SampleColumn("input", path=
|
327
|
+
SampleColumn("input", path=sample_input_as_str, required=True),
|
273
328
|
SampleColumn("target", path="target", required=True, value=list_as_str),
|
274
329
|
SampleColumn("metadata_*", path="metadata"),
|
275
330
|
SampleColumn("score_*", path="scores", value=score_values),
|
@@ -297,6 +352,33 @@ samples_df(
|
|
297
352
|
|
298
353
|
Note that reading `SampleMessages` requires reading full sample content, so will take considerably longer than reading only summaries.
|
299
354
|
|
355
|
+
When you create a samples data frame the `eval_id` of its parent evaluation is automatically included. You can additionally include other fields from the evals table, for example:
|
356
|
+
|
357
|
+
``` python
|
358
|
+
samples_df(
|
359
|
+
logs="logs",
|
360
|
+
columns = EvalModel + SampleSummary + SampleMessages
|
361
|
+
)
|
362
|
+
```
|
363
|
+
|
364
|
+
#### Multi-Columns
|
365
|
+
|
366
|
+
Note that the `metadata` and `score` columns are both dictionaries that are expanded into multiple columns:
|
367
|
+
|
368
|
+
``` python
|
369
|
+
SampleColumn("metadata_*", path="metadata")
|
370
|
+
SampleColumn("score_*", path="scores", value=score_values)
|
371
|
+
```
|
372
|
+
|
373
|
+
This might or might not be what you want for your data frame. To preserve them as JSON, remove the `_*`:
|
374
|
+
|
375
|
+
``` python
|
376
|
+
SampleColumn("metadata", path="metadata")
|
377
|
+
SampleColumn("score", path="scores")
|
378
|
+
```
|
379
|
+
|
380
|
+
You could also write a custom [extraction](#custom-extraction-1) handler to read them in some other way.
|
381
|
+
|
300
382
|
#### Full Samples
|
301
383
|
|
302
384
|
`SampleColumn` will automatically determine whether it is referencing a field that requires a full sample read (for example, `messages` or `store`). There are five fields in sample summaries that have reduced footprint in the summary (`input`, `metadata`, and `scores`, `error`, and `limit`). For these, fields specify `full=True` to force reading from the full sample record. For example:
|
@@ -306,7 +388,7 @@ SampleColumn("limit_type", path="limit.type", full=True)
|
|
306
388
|
SampleColumn("limit_value", path="limit.limit", full=True)
|
307
389
|
```
|
308
390
|
|
309
|
-
#### Custom Extraction
|
391
|
+
#### Custom Extraction {#custom-extraction-1}
|
310
392
|
|
311
393
|
As with `EvalColumn`, you can also extract data from a sample using a callback function passed as the `path`:
|
312
394
|
|
@@ -327,7 +409,7 @@ $ inspect log convert ./logs --to eval --output-dir ./logs-amended
|
|
327
409
|
|
328
410
|
### Messages {#messages}
|
329
411
|
|
330
|
-
The `messages_df()` function enables reading message level data from a set of eval logs. Each row corresponds to a message, and includes a `sample_id` and `
|
412
|
+
The `messages_df()` function enables reading message level data from a set of eval logs. Each row corresponds to a message, and includes a `sample_id` and `eval_id` for linking back to its parents.
|
331
413
|
|
332
414
|
The `messages_df()` function takes a `filter` parameter which can either be a list of `role` designations or a function that performs filtering. For example:
|
333
415
|
|
@@ -356,6 +438,15 @@ MessageToolCalls: list[Column] = [
|
|
356
438
|
MessageColumns: list[Column] = MessageContent + MessageToolCalls
|
357
439
|
```
|
358
440
|
|
441
|
+
When you create a messages data frame the parent `sample_id` and `eval_id` are automatically included in each record. You can additionally include other fields from these tables, for example:
|
442
|
+
|
443
|
+
``` python
|
444
|
+
messages = messages_df(
|
445
|
+
logs="logs",
|
446
|
+
columns=EvalModel + MessageColumns
|
447
|
+
)
|
448
|
+
```
|
449
|
+
|
359
450
|
#### Custom Extraction
|
360
451
|
|
361
452
|
Two of the fields above are resolved using custom extraction functions (`content` and `tool_calls`). Here is the source code for those functions:
|
@@ -364,7 +455,6 @@ Two of the fields above are resolved using custom extraction functions (`content
|
|
364
455
|
def message_text(message: ChatMessage) -> str:
|
365
456
|
return message.text
|
366
457
|
|
367
|
-
|
368
458
|
def message_tool_calls(message: ChatMessage) -> str | None:
|
369
459
|
if isinstance(message, ChatMessageAssistant) and message.tool_calls is not None:
|
370
460
|
tool_calls = "\n".join(
|
@@ -380,6 +470,41 @@ def message_tool_calls(message: ChatMessage) -> str | None:
|
|
380
470
|
return None
|
381
471
|
```
|
382
472
|
|
473
|
+
### Events {#events}
|
474
|
+
|
475
|
+
The `events_df()` function enables reading event level data from a set of eval logs. Each row corresponds to an event, and includes a `sample_id` and `eval_id` for linking back to its parents.
|
476
|
+
|
477
|
+
Because events are so heterogeneous, there is no default `columns` specification for calls to `events_df()`. Rather, you can compose columns from the following pre-built groups:
|
478
|
+
|
479
|
+
| Type | Description |
|
480
|
+
|------------------------------------|------------------------------------|
|
481
|
+
| `EventInfo` | Event type and span id. |
|
482
|
+
| `EventTiming` | Start and end times (both clock time and working time) |
|
483
|
+
| `ModelEventColumns` | Read data from model events. |
|
484
|
+
| `ToolEventColumns` | Read data from tool events. |
|
485
|
+
|
486
|
+
The `events_df()` function also takes a `filter` parameter which can either be a list of event types or a function that performs filtering. For example, to read all model events:
|
487
|
+
|
488
|
+
``` python
|
489
|
+
model_events = events_df(
|
490
|
+
logs="logs",
|
491
|
+
columns=EventTiming + ModelEventColumns,
|
492
|
+
filter=["model"]
|
493
|
+
)
|
494
|
+
```
|
495
|
+
|
496
|
+
To read all tool events:
|
497
|
+
|
498
|
+
``` python
|
499
|
+
model_events = events_df(
|
500
|
+
logs="logs",
|
501
|
+
columns=EvalModel + EventTiming + ToolEventColumns,
|
502
|
+
filter=["tool"]
|
503
|
+
)
|
504
|
+
```
|
505
|
+
|
506
|
+
Note that for tool events we also include the `EvalModel` column group as model information is not directly embedded in tool events (whereas it is within model events).
|
507
|
+
|
383
508
|
### Custom
|
384
509
|
|
385
510
|
You can create custom column types that extract data based on additional parameters. For example, imagine you want to write a set of extraction functions that are passed a `ReportConfig` and an `EvalLog` (the report configuration might specify scores to extract, normalisation constraints, etc.)
|
@@ -500,6 +500,18 @@ website:
|
|
500
500
|
href: reference/inspect_ai.analysis.qmd#messagetoolcalls
|
501
501
|
- text: MessageColumns
|
502
502
|
href: reference/inspect_ai.analysis.qmd#messagecolumns
|
503
|
+
- text: events_df
|
504
|
+
href: reference/inspect_ai.analysis.qmd#events_df
|
505
|
+
- text: EventColumn
|
506
|
+
href: reference/inspect_ai.analysis.qmd#eventcolumn
|
507
|
+
- text: EventInfo
|
508
|
+
href: reference/inspect_ai.analysis.qmd#eventinfo
|
509
|
+
- text: EventTiming
|
510
|
+
href: reference/inspect_ai.analysis.qmd#eventtiming
|
511
|
+
- text: ModelEventColumns
|
512
|
+
href: reference/inspect_ai.analysis.qmd#modeleventcolumns
|
513
|
+
- text: ToolEventColumns
|
514
|
+
href: reference/inspect_ai.analysis.qmd#tooleventcolumns
|
503
515
|
- text: Column
|
504
516
|
href: reference/inspect_ai.analysis.qmd#column
|
505
517
|
- text: ColumnType
|
@@ -35,6 +35,15 @@ Analysis functions are currently in beta and are exported from the **inspect_ai.
|
|
35
35
|
### MessageToolCalls
|
36
36
|
### MessageColumns
|
37
37
|
|
38
|
+
## Events
|
39
|
+
|
40
|
+
### events_df
|
41
|
+
### EventColumn
|
42
|
+
### EventInfo
|
43
|
+
### EventTiming
|
44
|
+
### ModelEventColumns
|
45
|
+
### ToolEventColumns
|
46
|
+
|
38
47
|
## Columns
|
39
48
|
|
40
49
|
### Column
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from inspect_ai import Task, task
|
2
2
|
from inspect_ai.dataset import FieldSpec, example_dataset
|
3
|
-
from inspect_ai.scorer import
|
3
|
+
from inspect_ai.scorer import match
|
4
4
|
from inspect_ai.solver import generate, system_message
|
5
5
|
|
6
6
|
SYSTEM_MESSAGE = r"""
|
@@ -22,5 +22,5 @@ def popularity():
|
|
22
22
|
return Task(
|
23
23
|
dataset=dataset,
|
24
24
|
solver=[system_message(SYSTEM_MESSAGE), generate()],
|
25
|
-
scorer=[match()
|
25
|
+
scorer=[match()],
|
26
26
|
)
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import json
|
2
2
|
import logging
|
3
3
|
import os
|
4
|
+
import platform
|
4
5
|
import random
|
5
6
|
import socket
|
6
7
|
import subprocess
|
@@ -33,6 +34,21 @@ def reserve_port(
|
|
33
34
|
Returns:
|
34
35
|
A tuple (port, lock_socket) where `lock_socket` is kept open to hold the lock.
|
35
36
|
"""
|
37
|
+
is_macos = platform.system() == "Darwin"
|
38
|
+
|
39
|
+
if is_macos:
|
40
|
+
logger.info(
|
41
|
+
"MacOS system detected. A free binding port will be identified, but not reserved until the server binds to it."
|
42
|
+
)
|
43
|
+
# On macOS, let the OS pick a free port but not open it
|
44
|
+
# It leads to a small racode condition window until the port
|
45
|
+
# is actually opened by the llm server
|
46
|
+
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
47
|
+
s.bind((host, 0)) # Bind to any free port
|
48
|
+
port = s.getsockname()[1]
|
49
|
+
return port, s
|
50
|
+
|
51
|
+
# Non-macOS behavior: try ports in range
|
36
52
|
candidates = list(range(start, end))
|
37
53
|
random.shuffle(candidates)
|
38
54
|
|
@@ -43,7 +43,7 @@ class AgentPrompt(NamedTuple):
|
|
43
43
|
|
44
44
|
DEFAULT_CONTINUE_PROMPT = """
|
45
45
|
Please proceed to the next step using your best judgement. If you believe you
|
46
|
-
have completed the task, please call the `{submit}()` tool.
|
46
|
+
have completed the task, please call the `{submit}()` tool with your final answer.
|
47
47
|
"""
|
48
48
|
|
49
49
|
|
@@ -15,7 +15,13 @@ from ._dataframe.evals.columns import (
|
|
15
15
|
EvalTask,
|
16
16
|
)
|
17
17
|
from ._dataframe.evals.table import evals_df
|
18
|
-
from ._dataframe.events.columns import
|
18
|
+
from ._dataframe.events.columns import (
|
19
|
+
EventColumn,
|
20
|
+
EventInfo,
|
21
|
+
EventTiming,
|
22
|
+
ModelEventColumns,
|
23
|
+
ToolEventColumns,
|
24
|
+
)
|
19
25
|
from ._dataframe.events.table import events_df
|
20
26
|
from ._dataframe.messages.columns import (
|
21
27
|
MessageColumn,
|
@@ -50,6 +56,10 @@ __all__ = [
|
|
50
56
|
"MessageFilter",
|
51
57
|
"events_df",
|
52
58
|
"EventColumn",
|
59
|
+
"EventInfo",
|
60
|
+
"EventTiming",
|
61
|
+
"ModelEventColumns",
|
62
|
+
"ToolEventColumns",
|
53
63
|
"Column",
|
54
64
|
"ColumnType",
|
55
65
|
"ColumnError",
|
{inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/evals/table.py
RENAMED
@@ -1,10 +1,11 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
-
from typing import TYPE_CHECKING, Literal, overload
|
3
|
+
from typing import TYPE_CHECKING, Callable, Literal, overload
|
4
4
|
|
5
|
-
from inspect_ai._display import display
|
6
5
|
from inspect_ai._util.path import pretty_path
|
6
|
+
from inspect_ai.analysis.beta._dataframe.progress import import_progress
|
7
7
|
from inspect_ai.log._file import (
|
8
|
+
list_eval_logs,
|
8
9
|
read_eval_log,
|
9
10
|
)
|
10
11
|
|
@@ -29,39 +30,32 @@ EVAL_SUFFIX = "_eval"
|
|
29
30
|
|
30
31
|
@overload
|
31
32
|
def evals_df(
|
32
|
-
logs: LogPaths,
|
33
|
+
logs: LogPaths = list_eval_logs(),
|
33
34
|
columns: list[Column] = EvalColumns,
|
34
|
-
recursive: bool = True,
|
35
|
-
reverse: bool = False,
|
36
35
|
strict: Literal[True] = True,
|
37
36
|
) -> "pd.DataFrame": ...
|
38
37
|
|
39
38
|
|
40
39
|
@overload
|
41
40
|
def evals_df(
|
42
|
-
logs: LogPaths,
|
41
|
+
logs: LogPaths = list_eval_logs(),
|
43
42
|
columns: list[Column] = EvalColumns,
|
44
|
-
recursive: bool = True,
|
45
|
-
reverse: bool = False,
|
46
43
|
strict: Literal[False] = False,
|
47
44
|
) -> tuple["pd.DataFrame", ColumnErrors]: ...
|
48
45
|
|
49
46
|
|
50
47
|
def evals_df(
|
51
|
-
logs: LogPaths,
|
48
|
+
logs: LogPaths = list_eval_logs(),
|
52
49
|
columns: list[Column] = EvalColumns,
|
53
|
-
recursive: bool = True,
|
54
|
-
reverse: bool = False,
|
55
50
|
strict: bool = True,
|
56
51
|
) -> "pd.DataFrame" | tuple["pd.DataFrame", ColumnErrors]:
|
57
52
|
"""Read a dataframe containing evals.
|
58
53
|
|
59
54
|
Args:
|
60
55
|
logs: One or more paths to log files or log directories.
|
56
|
+
Defaults to the contents of the currently active log directory
|
57
|
+
(e.g. ./logs or INSPECT_LOG_DIR).
|
61
58
|
columns: Specification for what columns to read from log files.
|
62
|
-
recursive: Include recursive contents of directories (defaults to `True`)
|
63
|
-
reverse: Reverse the order of the dataframe (by default, items
|
64
|
-
are ordered from oldest to newest).
|
65
59
|
strict: Raise import errors immediately. Defaults to `True`.
|
66
60
|
If `False` then a tuple of `DataFrame` and errors is returned.
|
67
61
|
|
@@ -73,7 +67,46 @@ def evals_df(
|
|
73
67
|
verify_prerequisites()
|
74
68
|
|
75
69
|
# resolve logs
|
76
|
-
log_paths = resolve_logs(logs
|
70
|
+
log_paths = resolve_logs(logs)
|
71
|
+
|
72
|
+
with import_progress("reading logs", total=len(log_paths)) as (p, task_id):
|
73
|
+
if strict:
|
74
|
+
evals_table, _ = _read_evals_df(
|
75
|
+
log_paths, columns, True, lambda: p.update(task_id, advance=1)
|
76
|
+
)
|
77
|
+
return evals_table
|
78
|
+
else:
|
79
|
+
evals_table, all_errors, _ = _read_evals_df(
|
80
|
+
log_paths, columns, False, lambda: p.update(task_id, advance=1)
|
81
|
+
)
|
82
|
+
return evals_table, all_errors
|
83
|
+
|
84
|
+
|
85
|
+
@overload
|
86
|
+
def _read_evals_df(
|
87
|
+
log_paths: list[str],
|
88
|
+
columns: list[Column],
|
89
|
+
strict: Literal[True],
|
90
|
+
progress: Callable[[], None],
|
91
|
+
) -> tuple["pd.DataFrame", int]: ...
|
92
|
+
|
93
|
+
|
94
|
+
@overload
|
95
|
+
def _read_evals_df(
|
96
|
+
log_paths: list[str],
|
97
|
+
columns: list[Column],
|
98
|
+
strict: Literal[False],
|
99
|
+
progress: Callable[[], None],
|
100
|
+
) -> tuple["pd.DataFrame", ColumnErrors, int]: ...
|
101
|
+
|
102
|
+
|
103
|
+
def _read_evals_df(
|
104
|
+
log_paths: list[str],
|
105
|
+
columns: list[Column],
|
106
|
+
strict: bool,
|
107
|
+
progress: Callable[[], None],
|
108
|
+
) -> tuple["pd.DataFrame", int] | tuple["pd.DataFrame", ColumnErrors, int]:
|
109
|
+
verify_prerequisites()
|
77
110
|
|
78
111
|
# resolve duplicate columns
|
79
112
|
columns = resolve_duplicate_columns(columns)
|
@@ -85,27 +118,31 @@ def evals_df(
|
|
85
118
|
ensure_eval_id(columns)
|
86
119
|
|
87
120
|
# read logs
|
121
|
+
total_samples = 0
|
88
122
|
records: list[dict[str, ColumnType]] = []
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
123
|
+
for log_path in log_paths:
|
124
|
+
log = read_eval_log(log_path, header_only=True)
|
125
|
+
if strict:
|
126
|
+
record = import_record(log, columns, strict=True)
|
127
|
+
else:
|
128
|
+
record, errors = import_record(log, columns, strict=False)
|
129
|
+
all_errors[pretty_path(log_path)] = errors
|
130
|
+
records.append(record)
|
131
|
+
total_samples += (
|
132
|
+
len(log.eval.dataset.sample_ids)
|
133
|
+
if log.eval.dataset.sample_ids is not None
|
134
|
+
else (log.eval.dataset.samples or 100)
|
135
|
+
)
|
136
|
+
progress()
|
100
137
|
|
101
138
|
# return table (+errors if strict=False)
|
102
139
|
evals_table = records_to_pandas(records)
|
103
140
|
evals_table = reorder_evals_df_columns(evals_table, columns)
|
104
141
|
|
105
142
|
if strict:
|
106
|
-
return evals_table
|
143
|
+
return evals_table, total_samples
|
107
144
|
else:
|
108
|
-
return evals_table, all_errors
|
145
|
+
return evals_table, all_errors, total_samples
|
109
146
|
|
110
147
|
|
111
148
|
def ensure_eval_id(columns: list[Column]) -> None:
|
@@ -0,0 +1,87 @@
|
|
1
|
+
from datetime import datetime
|
2
|
+
from typing import Any, Callable, Mapping, Type
|
3
|
+
|
4
|
+
from jsonpath_ng import JSONPath # type: ignore
|
5
|
+
from pydantic import JsonValue
|
6
|
+
from typing_extensions import override
|
7
|
+
|
8
|
+
from inspect_ai.log._transcript import Event
|
9
|
+
|
10
|
+
from ..columns import Column, ColumnType
|
11
|
+
from .extract import (
|
12
|
+
completion_as_str,
|
13
|
+
model_event_input_as_str,
|
14
|
+
tool_choice_as_str,
|
15
|
+
tool_view_as_str,
|
16
|
+
)
|
17
|
+
|
18
|
+
|
19
|
+
class EventColumn(Column):
|
20
|
+
"""Column which maps to `Event`."""
|
21
|
+
|
22
|
+
def __init__(
|
23
|
+
self,
|
24
|
+
name: str,
|
25
|
+
*,
|
26
|
+
path: str | JSONPath | Callable[[Event], JsonValue],
|
27
|
+
required: bool = False,
|
28
|
+
default: JsonValue | None = None,
|
29
|
+
type: Type[ColumnType] | None = None,
|
30
|
+
value: Callable[[JsonValue], JsonValue] | None = None,
|
31
|
+
) -> None:
|
32
|
+
super().__init__(
|
33
|
+
name=name,
|
34
|
+
path=path if not callable(path) else None,
|
35
|
+
required=required,
|
36
|
+
default=default,
|
37
|
+
type=type,
|
38
|
+
value=value,
|
39
|
+
)
|
40
|
+
self._extract_event = path if callable(path) else None
|
41
|
+
|
42
|
+
@override
|
43
|
+
def path_schema(self) -> Mapping[str, Any] | None:
|
44
|
+
return None
|
45
|
+
|
46
|
+
|
47
|
+
EventInfo: list[Column] = [
|
48
|
+
EventColumn("event", path="event"),
|
49
|
+
EventColumn("span_id", path="span_id"),
|
50
|
+
]
|
51
|
+
"""Event basic information columns."""
|
52
|
+
|
53
|
+
EventTiming: list[Column] = [
|
54
|
+
EventColumn("timestamp", path="timestamp", type=datetime),
|
55
|
+
EventColumn("completed", path="completed", type=datetime),
|
56
|
+
EventColumn("working_start", path="working_start"),
|
57
|
+
EventColumn("working_time", path="working_time"),
|
58
|
+
]
|
59
|
+
"""Event timing columns."""
|
60
|
+
|
61
|
+
ModelEventColumns: list[Column] = [
|
62
|
+
EventColumn("model_event_model", path="model"),
|
63
|
+
EventColumn("model_event_role", path="role"),
|
64
|
+
EventColumn("model_event_input", path=model_event_input_as_str),
|
65
|
+
EventColumn("model_event_tools", path="tools"),
|
66
|
+
EventColumn("model_event_tool_choice", path=tool_choice_as_str),
|
67
|
+
EventColumn("model_event_config", path="config"),
|
68
|
+
EventColumn("model_event_usage", path="output.usage"),
|
69
|
+
EventColumn("model_event_time", path="output.time"),
|
70
|
+
EventColumn("model_event_completion", path=completion_as_str),
|
71
|
+
EventColumn("model_event_retries", path="retries"),
|
72
|
+
EventColumn("model_event_error", path="error"),
|
73
|
+
EventColumn("model_event_cache", path="cache"),
|
74
|
+
EventColumn("model_event_call", path="call"),
|
75
|
+
]
|
76
|
+
"""Model event columns."""
|
77
|
+
|
78
|
+
ToolEventColumns: list[Column] = [
|
79
|
+
EventColumn("tool_event_function", path="function"),
|
80
|
+
EventColumn("tool_event_arguments", path="arguments"),
|
81
|
+
EventColumn("tool_event_view", path=tool_view_as_str),
|
82
|
+
EventColumn("tool_event_result", path="result"),
|
83
|
+
EventColumn("tool_event_truncated", path="truncated"),
|
84
|
+
EventColumn("tool_event_error_type", path="error.type"),
|
85
|
+
EventColumn("tool_event_error_message", path="error.message"),
|
86
|
+
]
|
87
|
+
"""Tool event columns."""
|