inspect-ai 0.3.94__tar.gz → 0.3.95__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.
Files changed (1411) hide show
  1. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/CHANGELOG.md +22 -1
  2. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/PKG-INFO +8 -1
  3. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_quarto.yml +5 -1
  4. inspect_ai-0.3.95/docs/dataframe.qmd +431 -0
  5. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/eval-logs.qmd +1 -1
  6. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/index.qmd +6 -1
  7. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/llms.txt +3 -0
  8. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/log-viewer.qmd +1 -1
  9. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/_sidebar.yml +49 -0
  10. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/filter/sidebar.py +1 -0
  11. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/index.qmd +1 -0
  12. inspect_ai-0.3.95/docs/reference/inspect_ai.analysis.qmd +44 -0
  13. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/scorers.qmd +1 -1
  14. inspect_ai-0.3.95/docs/scripts/post-render.sh +23 -0
  15. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/solvers.qmd +1 -0
  16. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/tasks.qmd +2 -2
  17. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/tools-standard.qmd +17 -7
  18. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/biology_qa.py +4 -1
  19. inspect_ai-0.3.95/examples/imp.py +38 -0
  20. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/popularity.py +2 -2
  21. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/pyproject.toml +5 -0
  22. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/requirements.txt +2 -0
  23. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/loader.py +1 -1
  24. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/run.py +12 -6
  25. inspect_ai-0.3.95/src/inspect_ai/_util/exception.py +4 -0
  26. inspect_ai-0.3.95/src/inspect_ai/_util/hash.py +48 -0
  27. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/path.py +22 -0
  28. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/trace.py +1 -1
  29. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/working.py +4 -0
  30. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/dist/assets/index.css +9 -9
  31. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/dist/assets/index.js +117 -120
  32. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/package.json +1 -1
  33. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/SecondaryBar.tsx +2 -2
  34. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/tabs/SamplesTab.tsx +1 -4
  35. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/SamplesTools.tsx +3 -13
  36. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sample-tools/SelectScorer.tsx +45 -48
  37. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sample-tools/filters.ts +16 -15
  38. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/SampleFilter.tsx +47 -75
  39. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/completions.ts +9 -9
  40. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/types.ts +12 -2
  41. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/ExpandablePanel.module.css +1 -1
  42. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/ExpandablePanel.tsx +5 -5
  43. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/hooks.ts +19 -3
  44. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/logSlice.ts +23 -5
  45. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/yarn.lock +9 -9
  46. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_bridge/patch.py +1 -3
  47. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/__init__.py +57 -0
  48. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/columns.py +145 -0
  49. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/evals/columns.py +132 -0
  50. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/evals/extract.py +23 -0
  51. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/evals/table.py +140 -0
  52. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/events/columns.py +37 -0
  53. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/events/table.py +14 -0
  54. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/extract.py +54 -0
  55. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/messages/columns.py +60 -0
  56. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/messages/extract.py +21 -0
  57. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/messages/table.py +87 -0
  58. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/record.py +377 -0
  59. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/samples/columns.py +73 -0
  60. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/samples/extract.py +82 -0
  61. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/samples/table.py +329 -0
  62. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/util.py +157 -0
  63. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/validate.py +171 -0
  64. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_file.py +1 -1
  65. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_log.py +21 -1
  66. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_call_tools.py +2 -1
  67. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_model.py +6 -4
  68. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_openai_responses.py +17 -18
  69. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/anthropic.py +30 -5
  70. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/providers.py +1 -1
  71. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_multiple_choice.py +4 -1
  72. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_task_state.py +7 -3
  73. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_mcp/_context.py +3 -5
  74. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_mcp/server.py +1 -1
  75. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tools/_think.py +1 -1
  76. inspect_ai-0.3.95/src/inspect_ai/tool/_tools/_web_search/__init__.py +3 -0
  77. inspect_ai-0.3.94/src/inspect_ai/tool/_tools/_web_search.py → inspect_ai-0.3.95/src/inspect_ai/tool/_tools/_web_search/_google.py +56 -103
  78. inspect_ai-0.3.95/src/inspect_ai/tool/_tools/_web_search/_tavily.py +77 -0
  79. inspect_ai-0.3.95/src/inspect_ai/tool/_tools/_web_search/_web_search.py +85 -0
  80. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/events.py +3 -2
  81. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai.egg-info/PKG-INFO +8 -1
  82. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai.egg-info/SOURCES.txt +34 -1
  83. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai.egg-info/requires.txt +7 -0
  84. inspect_ai-0.3.95/src/inspect_tool_support/src/inspect_tool_support/_util/__init__.py +0 -0
  85. inspect_ai-0.3.95/tests/analysis/test_expand.py +133 -0
  86. inspect_ai-0.3.95/tests/analysis/test_import.py +388 -0
  87. inspect_ai-0.3.95/tests/analysis/test_validate.py +86 -0
  88. inspect_ai-0.3.95/tests/model/__init__.py +0 -0
  89. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_multiple_choice.py +7 -6
  90. inspect_ai-0.3.95/tests/test_helpers/__init__.py +0 -0
  91. inspect_ai-0.3.95/tests/test_package/inspect_package/py.typed +0 -0
  92. inspect_ai-0.3.95/tests/test_task_list/__init__.py +0 -0
  93. inspect_ai-0.3.95/tools/vscode/src/providers/activity-bar/webview/task-config-webview.css +0 -0
  94. inspect_ai-0.3.94/docs/scripts/post-render.sh +0 -23
  95. inspect_ai-0.3.94/src/inspect_ai/_util/hash.py +0 -9
  96. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.github/dependabot.yml +0 -0
  97. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.github/pull_request_template.md +0 -0
  98. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.github/workflows/build.yml +0 -0
  99. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.github/workflows/docker.yml +0 -0
  100. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.github/workflows/docs.yml +0 -0
  101. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.github/workflows/log_viewer.yml +0 -0
  102. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.github/workflows/pypi.yml +0 -0
  103. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.github/workflows/vscode.yml +0 -0
  104. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.gitignore +0 -0
  105. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.pre-commit-config.yaml +0 -0
  106. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.pylintrc +0 -0
  107. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.vscode/extensions.json +0 -0
  108. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.vscode/launch.json +0 -0
  109. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/.vscode/settings.json +0 -0
  110. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/CITATION.cff +0 -0
  111. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/CLAUDE.md +0 -0
  112. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/LICENSE +0 -0
  113. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/MANIFEST.in +0 -0
  114. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/Makefile +0 -0
  115. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/README.md +0 -0
  116. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/.gitignore +0 -0
  117. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/CNAME +0 -0
  118. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_container_limits.md +0 -0
  119. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_errors_and_retries.md +0 -0
  120. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_max_samples.md +0 -0
  121. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_message_limits.md +0 -0
  122. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_metadata_typing.md +0 -0
  123. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_model-providers.md +0 -0
  124. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_sample-preservation.md +0 -0
  125. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_sandbox-dockerfile.md +0 -0
  126. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_sandbox-image.md +0 -0
  127. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_sandboxenv-interface.md +0 -0
  128. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_setting_max_samples.md +0 -0
  129. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_shuffling-choices.md +0 -0
  130. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_store_typing.md +0 -0
  131. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_token_limits.md +0 -0
  132. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_tools-annotations-required.md +0 -0
  133. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_tools-basics.md +0 -0
  134. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_tools-configuration.md +0 -0
  135. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_tools-standard.md +0 -0
  136. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_variables.yml +0 -0
  137. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/_vscode-viewing-logs.md +0 -0
  138. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/agent-bridge.qmd +0 -0
  139. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/agent-custom.qmd +0 -0
  140. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/agents.qmd +0 -0
  141. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/approval.qmd +0 -0
  142. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/caching.qmd +0 -0
  143. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/datasets.qmd +0 -0
  144. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/errors-and-limits.qmd +0 -0
  145. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/eval-sets.qmd +0 -0
  146. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/evals/evals.css +0 -0
  147. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/evals/evals.ejs +0 -0
  148. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/evals/evals.yml +0 -0
  149. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/evals/import.py +0 -0
  150. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/evals/index.qmd +0 -0
  151. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/evals/listing.yml +0 -0
  152. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/extensions.qmd +0 -0
  153. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/human-agent.qmd +0 -0
  154. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/aisi-logo.svg +0 -0
  155. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/eval-log.png +0 -0
  156. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-activity-bar.png +0 -0
  157. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-human-agent-container.png +0 -0
  158. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-human-agent.png +0 -0
  159. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-multiple-models.png +0 -0
  160. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-terminal-transcript.png +0 -0
  161. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-answers.png +0 -0
  162. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-filter.png +0 -0
  163. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-history.png +0 -0
  164. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-home.png +0 -0
  165. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-info.png +0 -0
  166. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-log-link.png +0 -0
  167. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-logging-console.png +0 -0
  168. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-logging.png +0 -0
  169. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-main.png +0 -0
  170. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-messages.png +0 -0
  171. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-metadata.png +0 -0
  172. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-scoring.png +0 -0
  173. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-sort.png +0 -0
  174. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-view-splash.png +0 -0
  175. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-vscode-config.png +0 -0
  176. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-vscode-install.png +0 -0
  177. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-vscode-logview.png +0 -0
  178. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-vscode-output-channel.png +0 -0
  179. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect-vscode-run-task.png +0 -0
  180. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/inspect.png +0 -0
  181. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/logs-drop-down.png +0 -0
  182. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/logs-open-button.png +0 -0
  183. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/logs.png +0 -0
  184. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/popularity.png +0 -0
  185. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/python-tool-view.png +0 -0
  186. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/rate-limit.png +0 -0
  187. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/running-theory.png +0 -0
  188. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/task-max-sandboxes.png +0 -0
  189. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/toolenv-no-cleanup.png +0 -0
  190. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/vnc-port-info.png +0 -0
  191. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/vnc-view-only.png +0 -0
  192. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/images/web-browser-tool-view.png +0 -0
  193. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/interactivity.qmd +0 -0
  194. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/models.qmd +0 -0
  195. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/multi-agent.qmd +0 -0
  196. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/multimodal.qmd +0 -0
  197. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/options.qmd +0 -0
  198. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/parallelism.qmd +0 -0
  199. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/providers.qmd +0 -0
  200. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reasoning.qmd +0 -0
  201. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/.gitignore +0 -0
  202. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/_metadata.yml +0 -0
  203. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/filter/commands.py +0 -0
  204. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/filter/filter.py +0 -0
  205. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/filter/interlink.lua +0 -0
  206. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/filter/parse.py +0 -0
  207. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/filter/post.lua +0 -0
  208. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/filter/render.py +0 -0
  209. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_ai.agent.qmd +0 -0
  210. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_ai.approval.qmd +0 -0
  211. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_ai.dataset.qmd +0 -0
  212. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_ai.log.qmd +0 -0
  213. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_ai.model.qmd +0 -0
  214. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_ai.qmd +0 -0
  215. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_ai.scorer.qmd +0 -0
  216. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_ai.solver.qmd +0 -0
  217. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_ai.tool.qmd +0 -0
  218. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_ai.util.qmd +0 -0
  219. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_cache.qmd +0 -0
  220. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_eval-retry.qmd +0 -0
  221. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_eval-set.qmd +0 -0
  222. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_eval.qmd +0 -0
  223. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_info.qmd +0 -0
  224. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_list.qmd +0 -0
  225. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_log.qmd +0 -0
  226. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_sandbox.qmd +0 -0
  227. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_score.qmd +0 -0
  228. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_trace.qmd +0 -0
  229. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/reference/inspect_view.qmd +0 -0
  230. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/sandboxing.qmd +0 -0
  231. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/structured.qmd +0 -0
  232. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/theme.scss +0 -0
  233. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/tools-custom.qmd +0 -0
  234. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/tools-mcp.qmd +0 -0
  235. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/tools.qmd +0 -0
  236. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/tracing.qmd +0 -0
  237. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/tutorial.qmd +0 -0
  238. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/typing.qmd +0 -0
  239. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/docs/vscode.qmd +0 -0
  240. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/approval/README.md +0 -0
  241. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/approval/approval.py +0 -0
  242. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/approval/approval.yaml +0 -0
  243. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/bridge/autogen/README.md +0 -0
  244. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/bridge/autogen/agent.py +0 -0
  245. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/bridge/autogen/dataset.json +0 -0
  246. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/bridge/autogen/requirements.txt +0 -0
  247. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/bridge/autogen/task.py +0 -0
  248. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/bridge/langchain/README.md +0 -0
  249. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/bridge/langchain/agent.py +0 -0
  250. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/bridge/langchain/dataset.json +0 -0
  251. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/bridge/langchain/requirements.txt +0 -0
  252. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/bridge/langchain/task.py +0 -0
  253. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/browser/browser.py +0 -0
  254. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/browser/compose.yaml +0 -0
  255. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/cache.py +0 -0
  256. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/computer/compose.yaml +0 -0
  257. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/computer/computer.py +0 -0
  258. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/computer/moonWeight.ods +0 -0
  259. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/evalset.py +0 -0
  260. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/hello_world.py +0 -0
  261. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/human/Dockerfile +0 -0
  262. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/human/compose.yaml +0 -0
  263. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/human/human.py +0 -0
  264. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/images/ballons.png +0 -0
  265. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/images/bike.png +0 -0
  266. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/images/images.jsonl +0 -0
  267. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/images/images.py +0 -0
  268. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/intervention/README.md +0 -0
  269. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/intervention/computer/approval.yaml +0 -0
  270. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/intervention/computer/compose.yaml +0 -0
  271. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/intervention/intervention.py +0 -0
  272. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/intervention/multi_tool/compose.yaml +0 -0
  273. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/intervention/shell/Dockerfile +0 -0
  274. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/intervention/shell/compose.yaml +0 -0
  275. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/mcp_tools.py +0 -0
  276. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/prefill.py +0 -0
  277. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/scorer.py +0 -0
  278. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/security_guide.py +0 -0
  279. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/structured.py +0 -0
  280. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/surfer.py +0 -0
  281. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/theory_of_mind.py +0 -0
  282. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/examples/tool_use.py +0 -0
  283. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/setup.cfg +0 -0
  284. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/__init__.py +0 -0
  285. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/__main__.py +0 -0
  286. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_cli/cache.py +0 -0
  287. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_cli/common.py +0 -0
  288. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_cli/eval.py +0 -0
  289. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_cli/info.py +0 -0
  290. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_cli/list.py +0 -0
  291. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_cli/log.py +0 -0
  292. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_cli/main.py +0 -0
  293. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_cli/sandbox.py +0 -0
  294. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_cli/score.py +0 -0
  295. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_cli/trace.py +0 -0
  296. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_cli/util.py +0 -0
  297. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_cli/view.py +0 -0
  298. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/__init__.py +0 -0
  299. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/core/active.py +0 -0
  300. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/core/config.py +0 -0
  301. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/core/display.py +0 -0
  302. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/core/footer.py +0 -0
  303. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/core/panel.py +0 -0
  304. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/core/progress.py +0 -0
  305. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/core/results.py +0 -0
  306. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/core/rich.py +0 -0
  307. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/core/textual.py +0 -0
  308. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/plain/__init__.py +0 -0
  309. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/plain/display.py +0 -0
  310. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/rich/__init__.py +0 -0
  311. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/rich/display.py +0 -0
  312. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/app.py +0 -0
  313. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/app.tcss +0 -0
  314. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/display.py +0 -0
  315. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/theme.py +0 -0
  316. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/widgets/clock.py +0 -0
  317. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/widgets/console.py +0 -0
  318. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/widgets/footer.py +0 -0
  319. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/widgets/port_mappings.py +0 -0
  320. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/widgets/samples.py +0 -0
  321. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/widgets/sandbox.py +0 -0
  322. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/widgets/task_detail.py +0 -0
  323. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/widgets/tasks.py +0 -0
  324. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/widgets/titlebar.py +0 -0
  325. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/widgets/toggle.py +0 -0
  326. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/widgets/transcript.py +0 -0
  327. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_display/textual/widgets/vscode.py +0 -0
  328. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/__init__.py +0 -0
  329. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/context.py +0 -0
  330. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/eval.py +0 -0
  331. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/evalset.py +0 -0
  332. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/list.py +0 -0
  333. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/registry.py +0 -0
  334. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/run.py +0 -0
  335. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/score.py +0 -0
  336. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/__init__.py +0 -0
  337. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/constants.py +0 -0
  338. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/epochs.py +0 -0
  339. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/error.py +0 -0
  340. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/generate.py +0 -0
  341. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/images.py +0 -0
  342. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/log.py +0 -0
  343. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/resolved.py +0 -0
  344. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/results.py +0 -0
  345. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/sandbox.py +0 -0
  346. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/task.py +0 -0
  347. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/tasks.py +0 -0
  348. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_eval/task/util.py +0 -0
  349. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/__init__.py +0 -0
  350. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/_async.py +0 -0
  351. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/ansi.py +0 -0
  352. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/answer.py +0 -0
  353. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/appdirs.py +0 -0
  354. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/config.py +0 -0
  355. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/constants.py +0 -0
  356. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/content.py +0 -0
  357. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/datetime.py +0 -0
  358. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/decorator.py +0 -0
  359. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/deprecation.py +0 -0
  360. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/dev.py +0 -0
  361. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/dict.py +0 -0
  362. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/dotenv.py +0 -0
  363. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/entrypoints.py +0 -0
  364. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/environ.py +0 -0
  365. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/error.py +0 -0
  366. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/file.py +0 -0
  367. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/format.py +0 -0
  368. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/future.py +0 -0
  369. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/git.py +0 -0
  370. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/hooks.py +0 -0
  371. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/html.py +0 -0
  372. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/http.py +0 -0
  373. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/httpx.py +0 -0
  374. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/images.py +0 -0
  375. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/interrupt.py +0 -0
  376. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/json.py +0 -0
  377. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/kvstore.py +0 -0
  378. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/list.py +0 -0
  379. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/local_server.py +0 -0
  380. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/logger.py +0 -0
  381. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/notebook.py +0 -0
  382. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/notgiven.py +0 -0
  383. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/package.py +0 -0
  384. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/pattern.py +0 -0
  385. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/platform.py +0 -0
  386. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/port_names.py +0 -0
  387. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/registry.py +0 -0
  388. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/retry.py +0 -0
  389. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/rich.py +0 -0
  390. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/samples.py +0 -0
  391. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/terminal.py +0 -0
  392. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/text.py +0 -0
  393. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/thread.py +0 -0
  394. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/throttle.py +0 -0
  395. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/transcript.py +0 -0
  396. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/url.py +0 -0
  397. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/version.py +0 -0
  398. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_util/vscode.py +0 -0
  399. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/notify.py +0 -0
  400. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/schema.py +0 -0
  401. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/server.py +0 -0
  402. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/view.py +0 -0
  403. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/.gitignore +0 -0
  404. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/.prettierignore +0 -0
  405. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/.prettierrc.js +0 -0
  406. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/.tool-versions +0 -0
  407. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/.vscode/extensions.json +0 -0
  408. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/.vscode/settings.json +0 -0
  409. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/README.md +0 -0
  410. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/babel.config.js +0 -0
  411. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/dist/assets/favicon.svg +0 -0
  412. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/dist/index.html +0 -0
  413. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/eslint.config.mjs +0 -0
  414. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/favicon.svg +0 -0
  415. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/index.html +0 -0
  416. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/jest.config.mjs +0 -0
  417. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/jsconfig.json +0 -0
  418. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/log-schema.json +0 -0
  419. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/postcss.config.cjs +0 -0
  420. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/@types/asciicinema-player.d.ts +0 -0
  421. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/@types/jsondiffpatch.d.ts +0 -0
  422. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/@types/log.d.ts +0 -0
  423. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/@types/markdown-it-katex.d.ts +0 -0
  424. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/@types/prism.d.ts +0 -0
  425. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/App.css +0 -0
  426. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/App.tsx +0 -0
  427. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/AppErrorBoundary.tsx +0 -0
  428. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/appearance/colors.ts +0 -0
  429. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/appearance/fonts.ts +0 -0
  430. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/appearance/icons.ts +0 -0
  431. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/appearance/styles.ts +0 -0
  432. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/content/MetaDataGrid.tsx +0 -0
  433. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/content/MetaDataView.module.css +0 -0
  434. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/content/MetaDataView.tsx +0 -0
  435. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/content/MetadataGrid.module.css +0 -0
  436. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/content/RenderedContent.module.css +0 -0
  437. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/content/RenderedContent.tsx +0 -0
  438. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/content/types.ts +0 -0
  439. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/LogView.module.css +0 -0
  440. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/LogView.tsx +0 -0
  441. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/LogViewContainer.tsx +0 -0
  442. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/LogViewLayout.tsx +0 -0
  443. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/error/TaskErrorPanel.module.css +0 -0
  444. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/error/TaskErrorPanel.tsx +0 -0
  445. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/ModelRolesView.module.css +0 -0
  446. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/ModelRolesView.tsx +0 -0
  447. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/Navbar.module.css +0 -0
  448. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/Navbar.tsx +0 -0
  449. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/PrimaryBar.module.css +0 -0
  450. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/PrimaryBar.tsx +0 -0
  451. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/ResultsPanel.module.css +0 -0
  452. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/ResultsPanel.tsx +0 -0
  453. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/RunningStatusPanel.module.css +0 -0
  454. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/RunningStatusPanel.tsx +0 -0
  455. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/ScoreGrid.module.css +0 -0
  456. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/ScoreGrid.tsx +0 -0
  457. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/SecondaryBar.module.css +0 -0
  458. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/StatusPanel.module.css +0 -0
  459. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/navbar/StatusPanel.tsx +0 -0
  460. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/tabs/InfoTab.module.css +0 -0
  461. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/tabs/InfoTab.tsx +0 -0
  462. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/tabs/JsonTab.module.css +0 -0
  463. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/tabs/JsonTab.tsx +0 -0
  464. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/tabs/ModelsTab.module.css +0 -0
  465. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/tabs/ModelsTab.tsx +0 -0
  466. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/tabs/RunningNoSamples.module.css +0 -0
  467. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/tabs/RunningNoSamples.tsx +0 -0
  468. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/tabs/TaskTab.module.css +0 -0
  469. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/tabs/TaskTab.tsx +0 -0
  470. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/tabs/grouping.ts +0 -0
  471. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/tabs/types.ts +0 -0
  472. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/types.ts +0 -0
  473. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/log-view/utils.ts +0 -0
  474. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/plan/DatasetDetailView.module.css +0 -0
  475. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/plan/DatasetDetailView.tsx +0 -0
  476. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/plan/DetailStep.module.css +0 -0
  477. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/plan/DetailStep.tsx +0 -0
  478. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/plan/ModelCard.module.css +0 -0
  479. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/plan/ModelCard.tsx +0 -0
  480. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/plan/PlanCard.tsx +0 -0
  481. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/plan/PlanDetailView.module.css +0 -0
  482. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/plan/PlanDetailView.tsx +0 -0
  483. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/plan/ScorerDetailView.module.css +0 -0
  484. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/plan/ScorerDetailView.tsx +0 -0
  485. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/plan/SolverDetailView.module.css +0 -0
  486. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/plan/SolverDetailView.tsx +0 -0
  487. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/routing/AppRouter.tsx +0 -0
  488. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/routing/navigationHooks.ts +0 -0
  489. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/routing/url.ts +0 -0
  490. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/InlineSampleDisplay.module.css +0 -0
  491. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/InlineSampleDisplay.tsx +0 -0
  492. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/SampleDialog.tsx +0 -0
  493. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/SampleDisplay.module.css +0 -0
  494. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/SampleDisplay.tsx +0 -0
  495. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/SampleSummaryView.module.css +0 -0
  496. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/SampleSummaryView.tsx +0 -0
  497. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessage.module.css +0 -0
  498. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessage.tsx +0 -0
  499. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessageRenderer.tsx +0 -0
  500. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessageRow.module.css +0 -0
  501. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessageRow.tsx +0 -0
  502. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/ChatView.tsx +0 -0
  503. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/ChatViewVirtualList.module.css +0 -0
  504. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/ChatViewVirtualList.tsx +0 -0
  505. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/MessageContent.module.css +0 -0
  506. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/MessageContent.tsx +0 -0
  507. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/MessageContents.module.css +0 -0
  508. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/MessageContents.tsx +0 -0
  509. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/messages.ts +0 -0
  510. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolCallView.module.css +0 -0
  511. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolCallView.tsx +0 -0
  512. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolInput.module.css +0 -0
  513. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolInput.tsx +0 -0
  514. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolOutput.module.css +0 -0
  515. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolOutput.tsx +0 -0
  516. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolTitle.module.css +0 -0
  517. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolTitle.tsx +0 -0
  518. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/tools/tool.ts +0 -0
  519. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/chat/types.ts +0 -0
  520. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/descriptor/samplesDescriptor.tsx +0 -0
  521. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/BooleanScoreDescriptor.module.css +0 -0
  522. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/BooleanScoreDescriptor.tsx +0 -0
  523. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/CategoricalScoreDescriptor.tsx +0 -0
  524. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/NumericScoreDescriptor.tsx +0 -0
  525. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/ObjectScoreDescriptor.module.css +0 -0
  526. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/ObjectScoreDescriptor.tsx +0 -0
  527. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/OtherScoreDescriptor.tsx +0 -0
  528. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/PassFailScoreDescriptor.module.css +0 -0
  529. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/PassFailScoreDescriptor.tsx +0 -0
  530. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/ScoreDescriptor.tsx +0 -0
  531. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/descriptor/types.ts +0 -0
  532. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/error/FlatSampleErrorView.module.css +0 -0
  533. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/error/FlatSampleErrorView.tsx +0 -0
  534. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/error/SampleErrorView.module.css +0 -0
  535. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/error/SampleErrorView.tsx +0 -0
  536. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/error/error.ts +0 -0
  537. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/list/SampleFooter.module.css +0 -0
  538. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/list/SampleFooter.tsx +0 -0
  539. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/list/SampleHeader.module.css +0 -0
  540. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/list/SampleHeader.tsx +0 -0
  541. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/list/SampleList.module.css +0 -0
  542. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/list/SampleList.tsx +0 -0
  543. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/list/SampleRow.module.css +0 -0
  544. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/list/SampleRow.tsx +0 -0
  545. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/list/SampleSeparator.module.css +0 -0
  546. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/list/SampleSeparator.tsx +0 -0
  547. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sample-tools/EpochFilter.module.css +0 -0
  548. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sample-tools/EpochFilter.tsx +0 -0
  549. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sample-tools/SelectScorer.module.css +0 -0
  550. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sample-tools/SortFilter.module.css +0 -0
  551. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sample-tools/SortFilter.tsx +0 -0
  552. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/SampleFilter.module.css +0 -0
  553. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/language.ts +0 -0
  554. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/tokenize.ts +0 -0
  555. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sampleDataAdapter.ts +0 -0
  556. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/sampleLimit.ts +0 -0
  557. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScores.module.css +0 -0
  558. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScores.tsx +0 -0
  559. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScoresGrid.module.css +0 -0
  560. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScoresGrid.tsx +0 -0
  561. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScoresView.module.css +0 -0
  562. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScoresView.tsx +0 -0
  563. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/ApprovalEventView.tsx +0 -0
  564. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/ErrorEventView.tsx +0 -0
  565. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/InfoEventView.module.css +0 -0
  566. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/InfoEventView.tsx +0 -0
  567. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/InputEventView.tsx +0 -0
  568. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/LoggerEventView.module.css +0 -0
  569. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/LoggerEventView.tsx +0 -0
  570. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/ModelEventView.module.css +0 -0
  571. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/ModelEventView.tsx +0 -0
  572. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/SampleInitEventView.module.css +0 -0
  573. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/SampleInitEventView.tsx +0 -0
  574. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/SampleLimitEventView.tsx +0 -0
  575. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/SandboxEventView.module.css +0 -0
  576. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/SandboxEventView.tsx +0 -0
  577. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/ScoreEventView.module.css +0 -0
  578. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/ScoreEventView.tsx +0 -0
  579. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/SpanEventView.tsx +0 -0
  580. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/StepEventView.tsx +0 -0
  581. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/SubtaskEventView.module.css +0 -0
  582. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/SubtaskEventView.tsx +0 -0
  583. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/ToolEventView.module.css +0 -0
  584. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/ToolEventView.tsx +0 -0
  585. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/TranscriptView.module.css +0 -0
  586. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/TranscriptView.tsx +0 -0
  587. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/TranscriptVirtualListComponent.module.css +0 -0
  588. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/TranscriptVirtualListComponent.tsx +0 -0
  589. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventNav.module.css +0 -0
  590. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventNav.tsx +0 -0
  591. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventNavs.module.css +0 -0
  592. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventNavs.tsx +0 -0
  593. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventPanel.module.css +0 -0
  594. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventPanel.tsx +0 -0
  595. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventProgressPanel.module.css +0 -0
  596. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventProgressPanel.tsx +0 -0
  597. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventRow.module.css +0 -0
  598. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventRow.tsx +0 -0
  599. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventSection.module.css +0 -0
  600. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventSection.tsx +0 -0
  601. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventTimingPanel.module.css +0 -0
  602. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventTimingPanel.tsx +0 -0
  603. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/event/utils.ts +0 -0
  604. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateDiffView.tsx +0 -0
  605. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateEventRenderers.tsx +0 -0
  606. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateEventRenders.module.css +0 -0
  607. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateEventView.module.css +0 -0
  608. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateEventView.tsx +0 -0
  609. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/transform/fixups.ts +0 -0
  610. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/transform/treeify.ts +0 -0
  611. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/transform/utils.ts +0 -0
  612. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/samples/transcript/types.ts +0 -0
  613. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/sidebar/EvalStatus.module.css +0 -0
  614. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/sidebar/EvalStatus.tsx +0 -0
  615. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/sidebar/LogDirectoryTitleView.module.css +0 -0
  616. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/sidebar/LogDirectoryTitleView.tsx +0 -0
  617. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/sidebar/Sidebar.module.css +0 -0
  618. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/sidebar/Sidebar.tsx +0 -0
  619. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/sidebar/SidebarLogEntry.module.css +0 -0
  620. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/sidebar/SidebarLogEntry.tsx +0 -0
  621. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/sidebar/SidebarScoreView.module.css +0 -0
  622. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/sidebar/SidebarScoreView.tsx +0 -0
  623. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/sidebar/SidebarScoresView.module.css +0 -0
  624. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/sidebar/SidebarScoresView.tsx +0 -0
  625. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/usage/ModelTokenTable.tsx +0 -0
  626. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/usage/ModelUsagePanel.module.css +0 -0
  627. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/usage/ModelUsagePanel.tsx +0 -0
  628. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/usage/TokenTable.module.css +0 -0
  629. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/usage/TokenTable.tsx +0 -0
  630. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/usage/UsageCard.module.css +0 -0
  631. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/app/usage/UsageCard.tsx +0 -0
  632. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/client/api/api-browser.ts +0 -0
  633. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/client/api/api-http.ts +0 -0
  634. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/client/api/api-shared.ts +0 -0
  635. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/client/api/api-vscode.ts +0 -0
  636. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/client/api/client-api.ts +0 -0
  637. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/client/api/index.ts +0 -0
  638. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/client/api/jsonrpc.ts +0 -0
  639. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/client/api/types.ts +0 -0
  640. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/client/remote/remoteLogFile.ts +0 -0
  641. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/client/remote/remoteZipFile.ts +0 -0
  642. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/client/storage/index.ts +0 -0
  643. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/AnsiDisplay.css +0 -0
  644. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/AnsiDisplay.tsx +0 -0
  645. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/AsciinemaPlayer.tsx +0 -0
  646. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/Card.css +0 -0
  647. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/Card.tsx +0 -0
  648. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/CopyButton.module.css +0 -0
  649. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/CopyButton.tsx +0 -0
  650. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/DownloadButton.css +0 -0
  651. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/DownloadButton.tsx +0 -0
  652. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/DownloadPanel.css +0 -0
  653. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/DownloadPanel.tsx +0 -0
  654. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/EmptyPanel.css +0 -0
  655. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/EmptyPanel.tsx +0 -0
  656. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/ErrorPanel.css +0 -0
  657. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/ErrorPanel.tsx +0 -0
  658. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/FindBand.css +0 -0
  659. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/FindBand.tsx +0 -0
  660. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/HumanBaselineView.css +0 -0
  661. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/HumanBaselineView.tsx +0 -0
  662. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/JsonPanel.css +0 -0
  663. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/JsonPanel.tsx +0 -0
  664. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/LabeledValue.css +0 -0
  665. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/LabeledValue.tsx +0 -0
  666. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/LargeModal.module.css +0 -0
  667. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/LargeModal.tsx +0 -0
  668. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/LightboxCarousel.module.css +0 -0
  669. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/LightboxCarousel.tsx +0 -0
  670. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/LinkButton.module.css +0 -0
  671. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/LinkButton.tsx +0 -0
  672. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/LiveVirtualList.module.css +0 -0
  673. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/LiveVirtualList.tsx +0 -0
  674. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/MarkdownDiv.css +0 -0
  675. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/MarkdownDiv.tsx +0 -0
  676. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/MessageBand.css +0 -0
  677. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/MessageBand.tsx +0 -0
  678. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/Modal.module.css +0 -0
  679. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/Modal.tsx +0 -0
  680. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/MorePopOver.css +0 -0
  681. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/MorePopOver.tsx +0 -0
  682. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/NavPills.module.css +0 -0
  683. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/NavPills.tsx +0 -0
  684. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/NoContentsPanel.module.css +0 -0
  685. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/NoContentsPanel.tsx +0 -0
  686. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/ProgressBar.module.css +0 -0
  687. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/ProgressBar.tsx +0 -0
  688. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/PulsingDots.module.css +0 -0
  689. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/PulsingDots.tsx +0 -0
  690. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/TabSet.module.css +0 -0
  691. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/TabSet.tsx +0 -0
  692. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/ToolButton.css +0 -0
  693. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/components/ToolButton.tsx +0 -0
  694. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/constants.ts +0 -0
  695. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/index.tsx +0 -0
  696. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/appSlice.ts +0 -0
  697. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/logPolling.ts +0 -0
  698. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/logsPolling.ts +0 -0
  699. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/logsSlice.ts +0 -0
  700. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/samplePolling.ts +0 -0
  701. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/sampleSlice.ts +0 -0
  702. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/sampleUtils.ts +0 -0
  703. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/scoring.ts +0 -0
  704. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/scrolling.ts +0 -0
  705. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/store.ts +0 -0
  706. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/store_filter.ts +0 -0
  707. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/state/utils.ts +0 -0
  708. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/tests/README.md +0 -0
  709. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/tests/__mocks__/fileMock.js +0 -0
  710. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/tests/__mocks__/styleMock.js +0 -0
  711. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/tests/setupTests.mjs +0 -0
  712. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/tests/utils/base64.test.ts +0 -0
  713. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/tests/utils/format.test.ts +0 -0
  714. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/tests/utils/path.test.ts +0 -0
  715. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/attachments.ts +0 -0
  716. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/base64.ts +0 -0
  717. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/browser.ts +0 -0
  718. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/debugging.ts +0 -0
  719. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/dom.ts +0 -0
  720. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/format.ts +0 -0
  721. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/git.ts +0 -0
  722. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/html.ts +0 -0
  723. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/http.ts +0 -0
  724. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/json-worker.ts +0 -0
  725. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/json.ts +0 -0
  726. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/logger.ts +0 -0
  727. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/numeric.ts +0 -0
  728. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/path.ts +0 -0
  729. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/polling.ts +0 -0
  730. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/print.ts +0 -0
  731. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/queue.ts +0 -0
  732. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/react.ts +0 -0
  733. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/sync.ts +0 -0
  734. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/type.ts +0 -0
  735. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/uri.ts +0 -0
  736. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/src/utils/vscode.ts +0 -0
  737. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/tsconfig.json +0 -0
  738. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/_view/www/vite.config.js +0 -0
  739. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/__init__.py +0 -0
  740. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_agent.py +0 -0
  741. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_as_solver.py +0 -0
  742. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_as_tool.py +0 -0
  743. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_bridge/__init__.py +0 -0
  744. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_bridge/bridge.py +0 -0
  745. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_filter.py +0 -0
  746. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_handoff.py +0 -0
  747. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/__init__.py +0 -0
  748. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/agent.py +0 -0
  749. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/commands/__init__.py +0 -0
  750. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/commands/clock.py +0 -0
  751. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/commands/command.py +0 -0
  752. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/commands/instructions.py +0 -0
  753. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/commands/note.py +0 -0
  754. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/commands/score.py +0 -0
  755. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/commands/status.py +0 -0
  756. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/commands/submit.py +0 -0
  757. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/install.py +0 -0
  758. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/panel.py +0 -0
  759. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/service.py +0 -0
  760. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/state.py +0 -0
  761. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_human/view.py +0 -0
  762. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_react.py +0 -0
  763. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_run.py +0 -0
  764. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/agent/_types.py +0 -0
  765. {inspect_ai-0.3.94/src/inspect_ai/approval/_human → inspect_ai-0.3.95/src/inspect_ai/analysis}/__init__.py +0 -0
  766. {inspect_ai-0.3.94/src/inspect_ai/dataset/_sources → inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe}/__init__.py +0 -0
  767. {inspect_ai-0.3.94/src/inspect_ai/tool/_tools → inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/evals}/__init__.py +0 -0
  768. {inspect_ai-0.3.94/src/inspect_tool_support/src/inspect_tool_support/_cli → inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/events}/__init__.py +0 -0
  769. {inspect_ai-0.3.94/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools → inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/messages}/__init__.py +0 -0
  770. {inspect_ai-0.3.94/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor → inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/samples}/__init__.py +0 -0
  771. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/approval/__init__.py +0 -0
  772. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/approval/_apply.py +0 -0
  773. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/approval/_approval.py +0 -0
  774. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/approval/_approver.py +0 -0
  775. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/approval/_auto.py +0 -0
  776. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/approval/_call.py +0 -0
  777. {inspect_ai-0.3.94/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_version → inspect_ai-0.3.95/src/inspect_ai/approval/_human}/__init__.py +0 -0
  778. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/approval/_human/approver.py +0 -0
  779. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/approval/_human/console.py +0 -0
  780. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/approval/_human/manager.py +0 -0
  781. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/approval/_human/panel.py +0 -0
  782. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/approval/_human/util.py +0 -0
  783. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/approval/_policy.py +0 -0
  784. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/approval/_registry.py +0 -0
  785. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/__init__.py +0 -0
  786. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/_dataset.py +0 -0
  787. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/_examples/bias_detection.jsonl +0 -0
  788. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/_examples/biology_qa.jsonl +0 -0
  789. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/_examples/popularity.jsonl +0 -0
  790. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/_examples/security_guide.jsonl +0 -0
  791. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/_examples/theory_of_mind.jsonl +0 -0
  792. {inspect_ai-0.3.94/src/inspect_tool_support/src/inspect_tool_support/_remote_tools → inspect_ai-0.3.95/src/inspect_ai/dataset/_sources}/__init__.py +0 -0
  793. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/_sources/csv.py +0 -0
  794. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/_sources/example.py +0 -0
  795. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/_sources/file.py +0 -0
  796. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/_sources/hf.py +0 -0
  797. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/_sources/json.py +0 -0
  798. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/_sources/util.py +0 -0
  799. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/dataset/_util.py +0 -0
  800. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/__init__.py +0 -0
  801. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_bundle.py +0 -0
  802. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_condense.py +0 -0
  803. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_convert.py +0 -0
  804. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_message.py +0 -0
  805. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_model.py +0 -0
  806. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_recorders/__init__.py +0 -0
  807. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_recorders/buffer/__init__.py +0 -0
  808. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_recorders/buffer/buffer.py +0 -0
  809. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_recorders/buffer/database.py +0 -0
  810. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_recorders/buffer/filestore.py +0 -0
  811. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_recorders/buffer/types.py +0 -0
  812. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_recorders/create.py +0 -0
  813. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_recorders/eval.py +0 -0
  814. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_recorders/file.py +0 -0
  815. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_recorders/json.py +0 -0
  816. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_recorders/recorder.py +0 -0
  817. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_recorders/types.py +0 -0
  818. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_retry.py +0 -0
  819. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_samples.py +0 -0
  820. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_transcript.py +0 -0
  821. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_tree.py +0 -0
  822. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/log/_util.py +0 -0
  823. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/__init__.py +0 -0
  824. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_cache.py +0 -0
  825. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_chat_message.py +0 -0
  826. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_conversation.py +0 -0
  827. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_display.py +0 -0
  828. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_generate_config.py +0 -0
  829. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_model_call.py +0 -0
  830. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_model_output.py +0 -0
  831. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_openai.py +0 -0
  832. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_openai_computer_use.py +0 -0
  833. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/azureai.py +0 -0
  834. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/bedrock.py +0 -0
  835. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/cloudflare.py +0 -0
  836. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/google.py +0 -0
  837. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/grok.py +0 -0
  838. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/groq.py +0 -0
  839. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/hf.py +0 -0
  840. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/llama_cpp_python.py +0 -0
  841. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/mistral.py +0 -0
  842. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/mockllm.py +0 -0
  843. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/none.py +0 -0
  844. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/ollama.py +0 -0
  845. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/openai.py +0 -0
  846. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/openai_compatible.py +0 -0
  847. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/openai_o1.py +0 -0
  848. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/openai_responses.py +0 -0
  849. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/openrouter.py +0 -0
  850. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/sglang.py +0 -0
  851. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/together.py +0 -0
  852. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/util/__init__.py +0 -0
  853. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/util/chatapi.py +0 -0
  854. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/util/hf_handler.py +0 -0
  855. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/util/hooks.py +0 -0
  856. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/util/llama31.py +0 -0
  857. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/util/util.py +0 -0
  858. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/vertex.py +0 -0
  859. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_providers/vllm.py +0 -0
  860. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_reasoning.py +0 -0
  861. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_registry.py +0 -0
  862. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_render.py +0 -0
  863. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/model/_trim.py +0 -0
  864. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/py.typed +0 -0
  865. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/__init__.py +0 -0
  866. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_answer.py +0 -0
  867. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_choice.py +0 -0
  868. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_classification.py +0 -0
  869. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_common.py +0 -0
  870. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_match.py +0 -0
  871. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_metric.py +0 -0
  872. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_metrics/__init__.py +0 -0
  873. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_metrics/accuracy.py +0 -0
  874. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_metrics/grouped.py +0 -0
  875. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_metrics/mean.py +0 -0
  876. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_metrics/std.py +0 -0
  877. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_model.py +0 -0
  878. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_multi.py +0 -0
  879. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_pattern.py +0 -0
  880. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_reducer/__init__.py +0 -0
  881. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_reducer/reducer.py +0 -0
  882. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_reducer/registry.py +0 -0
  883. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_reducer/types.py +0 -0
  884. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_score.py +0 -0
  885. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_scorer.py +0 -0
  886. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/scorer/_target.py +0 -0
  887. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/__init__.py +0 -0
  888. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_basic_agent.py +0 -0
  889. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_bridge.py +0 -0
  890. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_chain.py +0 -0
  891. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_critique.py +0 -0
  892. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_fork.py +0 -0
  893. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_human_agent.py +0 -0
  894. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_plan.py +0 -0
  895. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_prompt.py +0 -0
  896. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_run.py +0 -0
  897. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_solver.py +0 -0
  898. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_transcript.py +0 -0
  899. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_use_tools.py +0 -0
  900. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/solver/_util.py +0 -0
  901. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/__init__.py +0 -0
  902. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_json_rpc_helpers.py +0 -0
  903. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_mcp/__init__.py +0 -0
  904. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_mcp/_mcp.py +0 -0
  905. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_mcp/_sandbox.py +0 -0
  906. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_mcp/_types.py +0 -0
  907. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_mcp/connection.py +0 -0
  908. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_mcp/sampling.py +0 -0
  909. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_mcp/tools.py +0 -0
  910. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tool.py +0 -0
  911. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tool_call.py +0 -0
  912. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tool_choice.py +0 -0
  913. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tool_def.py +0 -0
  914. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tool_description.py +0 -0
  915. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tool_info.py +0 -0
  916. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tool_params.py +0 -0
  917. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tool_support_helpers.py +0 -0
  918. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tool_transcript.py +0 -0
  919. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tool_with.py +0 -0
  920. {inspect_ai-0.3.94/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session → inspect_ai-0.3.95/src/inspect_ai/tool/_tools}/__init__.py +0 -0
  921. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tools/_bash_session.py +0 -0
  922. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tools/_computer/__init__.py +0 -0
  923. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tools/_computer/_common.py +0 -0
  924. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tools/_computer/_computer.py +0 -0
  925. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tools/_execute.py +0 -0
  926. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tools/_text_editor.py +0 -0
  927. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tools/_web_browser/__init__.py +0 -0
  928. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tools/_web_browser/_back_compat.py +0 -0
  929. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/_tools/_web_browser/_web_browser.py +0 -0
  930. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/tool/beta.py +0 -0
  931. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/__init__.py +0 -0
  932. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_anyio.py +0 -0
  933. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_collect.py +0 -0
  934. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_concurrency.py +0 -0
  935. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_console.py +0 -0
  936. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_conversation.py +0 -0
  937. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_display.py +0 -0
  938. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_json.py +0 -0
  939. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_limit.py +0 -0
  940. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_limited_conversation.py +0 -0
  941. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_panel.py +0 -0
  942. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_resource.py +0 -0
  943. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/__init__.py +0 -0
  944. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/context.py +0 -0
  945. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/docker/cleanup.py +0 -0
  946. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/docker/compose.py +0 -0
  947. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/docker/config.py +0 -0
  948. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/docker/docker.py +0 -0
  949. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/docker/internal.py +0 -0
  950. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/docker/prereqs.py +0 -0
  951. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/docker/service.py +0 -0
  952. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/docker/util.py +0 -0
  953. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/environment.py +0 -0
  954. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/limits.py +0 -0
  955. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/local.py +0 -0
  956. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/registry.py +0 -0
  957. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/self_check.py +0 -0
  958. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_sandbox/service.py +0 -0
  959. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_span.py +0 -0
  960. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_store.py +0 -0
  961. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_store_model.py +0 -0
  962. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_subprocess.py +0 -0
  963. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_subtask.py +0 -0
  964. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai/util/_throttle.py +0 -0
  965. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai.egg-info/dependency_links.txt +0 -0
  966. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai.egg-info/entry_points.txt +0 -0
  967. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_ai.egg-info/top_level.txt +0 -0
  968. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/.bumpversion.cfg +0 -0
  969. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/.pylintrc +0 -0
  970. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/.vscode/launch.json +0 -0
  971. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/.vscode/settings.json +0 -0
  972. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/CHANGELOG.md +0 -0
  973. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/Dockerfile +0 -0
  974. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/Dockerfile.kali +0 -0
  975. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/Dockerfile.ubuntu +0 -0
  976. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/MANIFEST.in +0 -0
  977. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/README.md +0 -0
  978. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/cspell.json +0 -0
  979. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/kali-archive-keyring.gpg +0 -0
  980. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/make-release-commit +0 -0
  981. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/pyproject.toml +0 -0
  982. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/shared_tool_container_design.svg +0 -0
  983. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/__init__.py +0 -0
  984. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/__main__.py +0 -0
  985. {inspect_ai-0.3.94/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_mcp → inspect_ai-0.3.95/src/inspect_tool_support/src/inspect_tool_support/_cli}/__init__.py +0 -0
  986. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_cli/_post_install.py +0 -0
  987. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_cli/main.py +0 -0
  988. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_cli/server.py +0 -0
  989. {inspect_ai-0.3.94/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser → inspect_ai-0.3.95/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools}/__init__.py +0 -0
  990. {inspect_ai-0.3.94/src/inspect_tool_support/src/inspect_tool_support/_util → inspect_ai-0.3.95/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor}/__init__.py +0 -0
  991. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/_run.py +0 -0
  992. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/json_rpc_methods.py +0 -0
  993. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/text_editor.py +0 -0
  994. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/tool_types.py +0 -0
  995. {inspect_ai-0.3.94/tests/model → inspect_ai-0.3.95/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_version}/__init__.py +0 -0
  996. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_version/json_rpc_methods.py +0 -0
  997. {inspect_ai-0.3.94/tests/test_helpers → inspect_ai-0.3.95/src/inspect_tool_support/src/inspect_tool_support/_remote_tools}/__init__.py +0 -0
  998. {inspect_ai-0.3.94/tests/test_task_list → inspect_ai-0.3.95/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session}/__init__.py +0 -0
  999. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/_controller.py +0 -0
  1000. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/_process.py +0 -0
  1001. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/_session.py +0 -0
  1002. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/json_rpc_methods.py +0 -0
  1003. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/tool_types.py +0 -0
  1004. /inspect_ai-0.3.94/tests/test_package/inspect_package/py.typed → /inspect_ai-0.3.95/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_mcp/__init__.py +0 -0
  1005. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_mcp/json_rpc_methods.py +0 -0
  1006. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_mcp/mcp_server_session.py +0 -0
  1007. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_mcp/tool_types.py +0 -0
  1008. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/README.md +0 -0
  1009. /inspect_ai-0.3.94/tools/vscode/src/providers/activity-bar/webview/task-config-webview.css → /inspect_ai-0.3.95/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/__init__.py +0 -0
  1010. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/accessibility_tree.py +0 -0
  1011. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/accessibility_tree_node.py +0 -0
  1012. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/__init__.py +0 -0
  1013. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/a11y.py +0 -0
  1014. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/dom.py +0 -0
  1015. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/dom_snapshot.py +0 -0
  1016. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/page.py +0 -0
  1017. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/constants.py +0 -0
  1018. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/controller.py +0 -0
  1019. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/images/usage_diagram.svg +0 -0
  1020. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/json_rpc_methods.py +0 -0
  1021. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/mock_environment.py +0 -0
  1022. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/playwright_browser.py +0 -0
  1023. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/playwright_crawler.py +0 -0
  1024. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/playwright_page_crawler.py +0 -0
  1025. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/rectangle.py +0 -0
  1026. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/scale_factor.py +0 -0
  1027. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/test_accessibility_tree_node.py +0 -0
  1028. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/test_playwright_crawler.py +0 -0
  1029. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/test_rectangle.py +0 -0
  1030. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/test_web_client.py +0 -0
  1031. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/tool_types.py +0 -0
  1032. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_util/async_decoded_stream_reader.py +0 -0
  1033. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_util/common_types.py +0 -0
  1034. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_util/constants.py +0 -0
  1035. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_util/debugging.py +0 -0
  1036. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_util/json_rpc_helpers.py +0 -0
  1037. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_util/load_tools.py +0 -0
  1038. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_util/pseudo_terminal.py +0 -0
  1039. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_util/semver.py +0 -0
  1040. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_util/session_controller.py +0 -0
  1041. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_util/test_async_decoded_stream_reader.py +0 -0
  1042. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_util/timeout_event.py +0 -0
  1043. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/src/inspect_tool_support/src/inspect_tool_support/_util/validation.py +0 -0
  1044. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/agent/_human/test_state.py +0 -0
  1045. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/agent/compose.human.yaml +0 -0
  1046. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/agent/compose.yaml +0 -0
  1047. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/agent/human.Dockerfile +0 -0
  1048. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/agent/test_agent_description.py +0 -0
  1049. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/agent/test_agent_docs.py +0 -0
  1050. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/agent/test_agent_execute.py +0 -0
  1051. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/agent/test_agent_handoff.py +0 -0
  1052. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/agent/test_agent_human.py +0 -0
  1053. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/agent/test_agent_react.py +0 -0
  1054. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/approval/approve.yaml +0 -0
  1055. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/approval/escalate.yaml +0 -0
  1056. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/approval/modify.yaml +0 -0
  1057. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/approval/reject.yaml +0 -0
  1058. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/approval/terminate.yaml +0 -0
  1059. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/approval/test_approval.py +0 -0
  1060. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/conftest.py +0 -0
  1061. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/dataset/test_dataset/dataset.jsonl +0 -0
  1062. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/dataset/test_dataset/images/ballons.png +0 -0
  1063. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/dataset/test_dataset/images.jsonl +0 -0
  1064. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/dataset/test_dataset/samples-md.csv +0 -0
  1065. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/dataset/test_dataset/samples-md.json +0 -0
  1066. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/dataset/test_dataset/samples-md.jsonl +0 -0
  1067. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/dataset/test_dataset/samples.csv +0 -0
  1068. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/dataset/test_dataset/samples.json +0 -0
  1069. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/dataset/test_dataset/samples.jsonl +0 -0
  1070. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/dataset/test_dataset.py +0 -0
  1071. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_eval_log/log_formats.eval +0 -0
  1072. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_eval_log/log_formats.json +0 -0
  1073. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_eval_log/log_images.json +0 -0
  1074. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_eval_log/log_images_tc.json +0 -0
  1075. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_eval_log/log_invalid.txt +0 -0
  1076. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_eval_log/log_length_stop_reason.txt +0 -0
  1077. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_eval_log/log_streaming.eval +0 -0
  1078. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_eval_log/log_tool_call_error.json +0 -0
  1079. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_eval_log/log_valid.txt +0 -0
  1080. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_eval_log/log_version_3.txt +0 -0
  1081. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_eval_log/log_with_nan.txt +0 -0
  1082. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_eval_log.py +0 -0
  1083. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_event_tree.py +0 -0
  1084. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_list_logs/2024-11-05T13-31-45-05-00_input-task_8zXjbRzCWrL9GXiXo2vus9.json +0 -0
  1085. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_list_logs/2024-11-05T13-32-37-05-00_input-task_hxs4q9azL3ySGkjJirypKZ.eval +0 -0
  1086. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_list_logs/custom.eval +0 -0
  1087. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_list_logs/ignore.json +0 -0
  1088. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_list_logs.py +0 -0
  1089. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_log_attachments.py +0 -0
  1090. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_log_eventdb.py +0 -0
  1091. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_log_eventdb_sync.py +0 -0
  1092. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_log_filename.py +0 -0
  1093. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_log_formats.py +0 -0
  1094. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_log_level.py +0 -0
  1095. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_log_message_id.py +0 -0
  1096. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_log_streaming.py +0 -0
  1097. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_log_summaries.py +0 -0
  1098. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/log/test_log_tags.py +0 -0
  1099. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/gatsby.txt +0 -0
  1100. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_anthropic.py +0 -0
  1101. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_azureai.py +0 -0
  1102. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_cloudflare.py +0 -0
  1103. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_google.py +0 -0
  1104. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_grok.py +0 -0
  1105. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_groq.py +0 -0
  1106. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_hf.py +0 -0
  1107. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_llama_cpp_python.py +0 -0
  1108. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_mistral.py +0 -0
  1109. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_openai.py +0 -0
  1110. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_openai_compatible.py +0 -0
  1111. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_openai_o1.py +0 -0
  1112. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_openai_responses.py +0 -0
  1113. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_vertex.py +0 -0
  1114. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/providers/test_vllm.py +0 -0
  1115. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_api_key.py +0 -0
  1116. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_cache.py +0 -0
  1117. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_collapse_assistant_message.py +0 -0
  1118. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_collapse_user_message.py +0 -0
  1119. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_disable.py +0 -0
  1120. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_generate_loop.py +0 -0
  1121. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_get_model.py +0 -0
  1122. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_is_rate_limit.py +0 -0
  1123. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_logprobs.py +0 -0
  1124. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_mock_model_llm.py +0 -0
  1125. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_model_length.py +0 -0
  1126. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_model_output.py +0 -0
  1127. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_model_roles.py +0 -0
  1128. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_no_model.py +0 -0
  1129. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_num_choices.py +0 -0
  1130. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_parse_tool_call.py +0 -0
  1131. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_reasoning_claude.py +0 -0
  1132. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_reasoning_content.py +0 -0
  1133. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_reasoning_google.py +0 -0
  1134. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_reasoning_grok.py +0 -0
  1135. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_reasoning_openai.py +0 -0
  1136. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_reasoning_parse.py +0 -0
  1137. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_stop_reason.py +0 -0
  1138. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_structured_output.py +0 -0
  1139. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_tool_result_images_as_user_message.py +0 -0
  1140. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/model/test_trim_messages.py +0 -0
  1141. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/logs/2025-02-11T15-17-00-05-00_popularity_dPiJifoWeEQBrfWsAopzWr.eval +0 -0
  1142. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/logs/2025-02-11T15-18-04-05-00_popularity_mj7khqpMM4GBCfVQozKgzB.eval +0 -0
  1143. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/test_answer.py +0 -0
  1144. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/test_choice.py +0 -0
  1145. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/test_classification.py +0 -0
  1146. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/test_match.py +0 -0
  1147. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/test_metric.py +0 -0
  1148. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/test_model_graded.py +0 -0
  1149. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/test_multiscorer.py +0 -0
  1150. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/test_pattern.py +0 -0
  1151. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/test_reducers.py +0 -0
  1152. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/test_scorer.py +0 -0
  1153. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/test_task_score.py +0 -0
  1154. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/scorer/test_value_to_float.py +0 -0
  1155. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_basic_agent.py +0 -0
  1156. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_bridge.py +0 -0
  1157. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_chain.py +0 -0
  1158. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_fork.py +0 -0
  1159. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_prompt.py +0 -0
  1160. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_score.py +0 -0
  1161. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_setup.py +0 -0
  1162. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_solver.py +0 -0
  1163. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_solver_decorator.py +0 -0
  1164. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_solver_spec.py +0 -0
  1165. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_store.py +0 -0
  1166. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_store_model.py +0 -0
  1167. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_subtask.py +0 -0
  1168. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/solver/test_transcript.py +0 -0
  1169. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_eval.py +0 -0
  1170. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_eval_config/model.yaml +0 -0
  1171. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_eval_config/solver.yaml +0 -0
  1172. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_eval_config/task.yaml +0 -0
  1173. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_eval_config.py +0 -0
  1174. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_eval_set/2024-08-29T15-11-17+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
  1175. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_eval_set/2024-08-29T15-11-18+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
  1176. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_eval_set.py +0 -0
  1177. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_examples.py +0 -0
  1178. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_extensions.py +0 -0
  1179. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_fail_on_error.py +0 -0
  1180. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_helpers/file_runner.py +0 -0
  1181. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_helpers/limits.py +0 -0
  1182. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_helpers/tasks.py +0 -0
  1183. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_helpers/tool_call_utils.py +0 -0
  1184. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_helpers/tools.py +0 -0
  1185. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_helpers/utils.py +0 -0
  1186. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_list_task.py +0 -0
  1187. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_log_dir/example_task/example_task.py +0 -0
  1188. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_log_dir/test_log_dir.py +0 -0
  1189. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_metadata.py +0 -0
  1190. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_package/.gitignore +0 -0
  1191. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_package/inspect_package/__init__.py +0 -0
  1192. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_package/inspect_package/_registry.py +0 -0
  1193. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_package/inspect_package/approvers/renamer.py +0 -0
  1194. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_package/inspect_package/modelapi/custom.py +0 -0
  1195. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_package/inspect_package/sandboxenv/podman.py +0 -0
  1196. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_package/inspect_package/score/scorer.py +0 -0
  1197. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_package/inspect_package/solvers/cot.py +0 -0
  1198. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_package/pyproject.toml +0 -0
  1199. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_retry.py +0 -0
  1200. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_retry_on_error.py +0 -0
  1201. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_sample_id.py +0 -0
  1202. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_sample_limits.py +0 -0
  1203. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_attr.py +0 -0
  1204. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_list/attribs.ipynb +0 -0
  1205. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_list/multiple.py +0 -0
  1206. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_list/multiple_dir/_decoy/testit.py +0 -0
  1207. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_list/multiple_dir/_decoy2.py +0 -0
  1208. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_list/multiple_dir/bar.py +0 -0
  1209. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_list/multiple_dir/foo.py +0 -0
  1210. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_list/recurse/.folder3/epsilon.py +0 -0
  1211. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_list/recurse/folder1/_decoy.py +0 -0
  1212. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_list/recurse/folder1/theta.py +0 -0
  1213. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_list/recurse/folder2/.folder3/epsilon.py +0 -0
  1214. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_list/recurse/folder2/another.py +0 -0
  1215. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_list/recurse/folder2/first.py +0 -0
  1216. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_model.py +0 -0
  1217. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/test_task_with.py +0 -0
  1218. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/docker-compose-context/Dockerfile +0 -0
  1219. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/docker-compose-context-alpine/Dockerfile +0 -0
  1220. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/docker-mcp-server/Dockerfile +0 -0
  1221. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_bash_tool.py +0 -0
  1222. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_call_tools.py +0 -0
  1223. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_inspect_tool_support.py +0 -0
  1224. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_inspect_tool_support.yaml +0 -0
  1225. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_max_exec_output.py +0 -0
  1226. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_max_tool_output.py +0 -0
  1227. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_mcp_tools.py +0 -0
  1228. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_python_tool.py +0 -0
  1229. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_sandbox_compose.yaml +0 -0
  1230. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_sandbox_compose_alpine.yaml +0 -0
  1231. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_sandbox_docker_and_local.py +0 -0
  1232. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_sandbox_dockerfile.py +0 -0
  1233. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_sandbox_tool_eval.py +0 -0
  1234. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_think_tool.py +0 -0
  1235. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_tool_def.py +0 -0
  1236. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_tool_error.py +0 -0
  1237. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_tool_images.py +0 -0
  1238. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_tool_parse.py +0 -0
  1239. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_tool_source.py +0 -0
  1240. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_tool_truncate.py +0 -0
  1241. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_tool_types.py +0 -0
  1242. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_tool_view.py +0 -0
  1243. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_tool_with.py +0 -0
  1244. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_tools.py +0 -0
  1245. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_use_tools.py +0 -0
  1246. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/tools/test_web_browser.py +0 -0
  1247. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/Dockerfile +0 -0
  1248. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/Dockerfile.debug +0 -0
  1249. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/compose.dynamic-image.yaml +0 -0
  1250. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/compose.sandbox-service.yaml +0 -0
  1251. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/debug.Dockerfile +0 -0
  1252. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/docker_compose_multiple_services/docker-compose.yaml +0 -0
  1253. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/sandbox-service.Dockerfile +0 -0
  1254. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/sandbox_setup.sh +0 -0
  1255. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/sandbox_setup_error.sh +0 -0
  1256. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/sandbox_setup_symlink.sh +0 -0
  1257. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/test_docker_compose_multiple_services.py +0 -0
  1258. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/test_docker_dynamic_image.py +0 -0
  1259. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/test_docker_filenames.py +0 -0
  1260. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/test_docker_healthcheck.py +0 -0
  1261. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/test_multi_sandbox_context_management.py +0 -0
  1262. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/test_sandbox_service.py +0 -0
  1263. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/sandbox/test_sandbox_setup.py +0 -0
  1264. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_anyio.py +0 -0
  1265. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_display_counter.py +0 -0
  1266. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_file.py +0 -0
  1267. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_format_template.py +0 -0
  1268. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_images/images.jsonl +0 -0
  1269. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_images.py +0 -0
  1270. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_kvstore.py +0 -0
  1271. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_limit.py +0 -0
  1272. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_limit_message.py +0 -0
  1273. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_limit_token.py +0 -0
  1274. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_media/audio.jsonl +0 -0
  1275. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_media/sample.mp3 +0 -0
  1276. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_media/sample.wav +0 -0
  1277. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_media/video.jsonl +0 -0
  1278. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_media/video.mp4 +0 -0
  1279. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_media.py +0 -0
  1280. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_package.py +0 -0
  1281. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_registry.py +0 -0
  1282. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_str_to_float.py +0 -0
  1283. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_subprocess.py +0 -0
  1284. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/util/test_truncate.py +0 -0
  1285. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tests/view/test_bundle.py +0 -0
  1286. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/.gitignore +0 -0
  1287. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/.vscode/extensions.json +0 -0
  1288. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/.vscode/launch.json +0 -0
  1289. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/.vscode/settings.json +0 -0
  1290. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/.vscode/tasks.json +0 -0
  1291. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/.vscode-test.mjs +0 -0
  1292. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/.vscodeignore +0 -0
  1293. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/.yarnrc +0 -0
  1294. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/CHANGELOG.md +0 -0
  1295. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/LICENSE +0 -0
  1296. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/README.md +0 -0
  1297. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/assets/icon/eval-treeview-cancelled.svg +0 -0
  1298. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/assets/icon/eval-treeview-error.svg +0 -0
  1299. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/assets/icon/eval-treeview-started.svg +0 -0
  1300. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/assets/icon/eval-treeview.svg +0 -0
  1301. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/assets/icon/eval.svg +0 -0
  1302. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/assets/logo/inspect.png +0 -0
  1303. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/assets/logo/inspect.svg +0 -0
  1304. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/assets/templates/task.py.template +0 -0
  1305. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/assets/www/codicon/codicon.css +0 -0
  1306. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/assets/www/codicon/codicon.ttf +0 -0
  1307. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/assets/www/view/view-overrides.css +0 -0
  1308. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/eslint.config.mjs +0 -0
  1309. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/package.json +0 -0
  1310. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/@types/hooks.d.ts +0 -0
  1311. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/@types/log.d.ts +0 -0
  1312. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/components/document.ts +0 -0
  1313. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/components/error.ts +0 -0
  1314. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/components/focus.ts +0 -0
  1315. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/components/notebook.ts +0 -0
  1316. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/components/symbol.ts +0 -0
  1317. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/components/task.ts +0 -0
  1318. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/components/templates.ts +0 -0
  1319. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/components/webview.ts +0 -0
  1320. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/appdirs.ts +0 -0
  1321. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/command.ts +0 -0
  1322. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/dispose.ts +0 -0
  1323. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/env.ts +0 -0
  1324. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/file.ts +0 -0
  1325. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/git.ts +0 -0
  1326. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/jsonrpc.ts +0 -0
  1327. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/log.ts +0 -0
  1328. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/nonce.ts +0 -0
  1329. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/path.ts +0 -0
  1330. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/port.ts +0 -0
  1331. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/process.ts +0 -0
  1332. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/python/code.ts +0 -0
  1333. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/python/env.ts +0 -0
  1334. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/python/exec.ts +0 -0
  1335. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/python/index.ts +0 -0
  1336. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/python/interpreter.ts +0 -0
  1337. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/random.ts +0 -0
  1338. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/string.ts +0 -0
  1339. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/text.ts +0 -0
  1340. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/uri.ts +0 -0
  1341. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/vscode/association.ts +0 -0
  1342. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/wait.ts +0 -0
  1343. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/core/workspace.ts +0 -0
  1344. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/extension.ts +0 -0
  1345. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/hooks/hooks.ts +0 -0
  1346. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/hooks/index.ts +0 -0
  1347. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/hooks/preview.ts +0 -0
  1348. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/inspect/index.ts +0 -0
  1349. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/inspect/logs.ts +0 -0
  1350. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/inspect/props.ts +0 -0
  1351. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/inspect/version.ts +0 -0
  1352. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/active-task/active-task-command.ts +0 -0
  1353. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/active-task/active-task-provider.ts +0 -0
  1354. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/activity-bar-provider.ts +0 -0
  1355. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/env-config-provider.ts +0 -0
  1356. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/log-listing/log-directory-selector.ts +0 -0
  1357. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-data.ts +0 -0
  1358. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-mru.ts +0 -0
  1359. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-provider.ts +0 -0
  1360. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-server-queue.ts +0 -0
  1361. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/log-listing/log-listing.ts +0 -0
  1362. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/task-config-commands.ts +0 -0
  1363. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/task-config-provider.ts +0 -0
  1364. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/task-outline-commands.ts +0 -0
  1365. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/task-outline-provider.ts +0 -0
  1366. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.css +0 -0
  1367. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.ts +0 -0
  1368. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.ts +0 -0
  1369. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/webview/vscode-controls.css +0 -0
  1370. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/activity-bar/webview/webview-utils.ts +0 -0
  1371. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/codelens/codelens-provider.ts +0 -0
  1372. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/inspect/inspect-commands.ts +0 -0
  1373. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/inspect/inspect-constants.ts +0 -0
  1374. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/inspect/inspect-eval-commands.ts +0 -0
  1375. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/inspect/inspect-eval.ts +0 -0
  1376. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/inspect/inspect-logs-watcher.ts +0 -0
  1377. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/inspect/inspect-manager.ts +0 -0
  1378. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/inspect/inspect-view-server.ts +0 -0
  1379. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/lognotify.ts +0 -0
  1380. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/logview/commands.ts +0 -0
  1381. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/logview/log-file-selector.ts +0 -0
  1382. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/logview/logview-editor.ts +0 -0
  1383. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/logview/logview-link-provider.ts +0 -0
  1384. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/logview/logview-panel.ts +0 -0
  1385. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/logview/logview-state.ts +0 -0
  1386. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/logview/logview-view.ts +0 -0
  1387. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/logview/logview.ts +0 -0
  1388. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/openlog.ts +0 -0
  1389. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/protocol-handler.ts +0 -0
  1390. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/settings/inspect-settings.ts +0 -0
  1391. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/settings/user-settings.ts +0 -0
  1392. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/statusbar.ts +0 -0
  1393. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/workspace/workspace-env-commands.ts +0 -0
  1394. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/workspace/workspace-env-provider.ts +0 -0
  1395. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/workspace/workspace-state-provider.ts +0 -0
  1396. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/providers/workspace/workspace-task-provider.ts +0 -0
  1397. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/test/codelens-provider.test.ts +0 -0
  1398. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/test/extension.test.ts +0 -0
  1399. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/test/runTest.ts +0 -0
  1400. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/test/suite/codelens-provider.test.ts +0 -0
  1401. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/test/suite/extension.test.ts +0 -0
  1402. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/src/test/suite/index.ts +0 -0
  1403. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/tools/ts-to-mjs/.gitignore +0 -0
  1404. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/tools/ts-to-mjs/package.json +0 -0
  1405. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/tools/ts-to-mjs/rollup.config.js +0 -0
  1406. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/tools/ts-to-mjs/src/index.ts +0 -0
  1407. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/tools/ts-to-mjs/src/jsonrpc.ts +0 -0
  1408. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/tools/ts-to-mjs/yarn.lock +0 -0
  1409. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/tsconfig.json +0 -0
  1410. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/webpack.config.js +0 -0
  1411. {inspect_ai-0.3.94 → inspect_ai-0.3.95}/tools/vscode/yarn.lock +0 -0
@@ -1,9 +1,30 @@
1
+ ## v0.3.95 (10 May 2025)
2
+
3
+ - [DataFrame](https://inspect.aisi.org.uk/dataframe.html) functions for reading dataframes from log files.
4
+ - Web Search: Added provider for [Tavily](https://inspect.aisi.org.uk/tools-standard.html#tavily-provider) Research API.
5
+ - Multiple Choice: `max_tokens` option to control tokens used for `generate()`.
6
+ - Don't enforce sample `working_limit` after solvers have completed executing (matching behavior of other sample limits).
7
+ - Only pass `user` parameter on to sandboxes if is not `None` (eases compatibility with older sandbox providers).
8
+ - Anthropic: Retry when `type` in the error message body is "overloaded_error".
9
+ - Agent Bridge: Compatibility with `request()` method in v1.78.0 of `openai` package (now the minimum required version).
10
+ - Model Context Protocol: Update to typing changes made in v1.8.0 of `mcp` package (now the minimum required version).
11
+ - TaskState: `input_text` and `user_prompt` properties now read the last rather than first user message.
12
+ - Inspect View: Properly display 'more' options when content is collapsed.
13
+ - Inspect View: Fix issue that prevented filtering of sample list when viewing a running evaluation.
14
+ - Inspect View: Fix selection of specific metrics within scorers when a scorer produces more than one metric.
15
+ - Ignore OSError that occurs while rotating trace files.
16
+ - Restore logging `metadata` from `TaskState` rather than from `Sample`.
17
+ - Bugfix: Restore ability of operator to terminate the current sample in tool call approval.
18
+ - Bugfix: Ensure that "init" span is exited in the same async context when sandbox connection errors occur.
19
+ - Bugfix: Protect against no `thought` argument being passed to `think()` tool.
20
+ - Bugfix: Correct handling of `text_editor()` tool for Claude Sonnet 3.5.
21
+
1
22
  ## v0.3.94 (06 May 2025)
2
23
 
3
24
  - [span()](https://inspect.aisi.org.uk/agent-custom.html#grouping-with-spans) function for grouping transcript events.
4
25
  - [collect()](https://inspect.aisi.org.uk/agent-custom.html#grouping-with-spans) function for enclosing parallel tasks in spans.
5
26
  - [Event tree](https://inspect.aisi.org.uk/reference/inspect_ai.log.html#event-tree) functions for organising transcript events into a tree of spans.
6
- - `inspect convert` now always fully re-writes log files even of the same format (so that e.g. sample summaries always exist in the converted logs).
27
+ - `inspect log convert` now always fully re-writes log files even of the same format (so that e.g. sample summaries always exist in the converted logs).
7
28
  - React agent: `answer_only` and `answer_delimiter` to control how submitted answers are reflected in the assistant message content.
8
29
  - Python tool: Execute using a bash login shell for consistency of Python versions across `bash()` and `python()` tools.
9
30
  - Task display: Realtime display of events that occur within tool calls and subtasks.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: inspect_ai
3
- Version: 0.3.94
3
+ Version: 0.3.95
4
4
  Summary: Framework for large language model evaluations
5
5
  Author: UK AI Security Institute
6
6
  License: MIT License
@@ -32,6 +32,8 @@ Requires-Dist: httpx
32
32
  Requires-Dist: ijson>=3.2.0
33
33
  Requires-Dist: jsonlines>=3.0.0
34
34
  Requires-Dist: jsonpatch>=1.32
35
+ Requires-Dist: jsonpath-ng>=1.7.0
36
+ Requires-Dist: jsonref>=1.1.0
35
37
  Requires-Dist: jsonschema>3.1.1
36
38
  Requires-Dist: mmh3>3.1.0
37
39
  Requires-Dist: nest_asyncio
@@ -59,6 +61,7 @@ Requires-Dist: google-genai; extra == "dev"
59
61
  Requires-Dist: griffe; extra == "dev"
60
62
  Requires-Dist: groq; extra == "dev"
61
63
  Requires-Dist: ipython; extra == "dev"
64
+ Requires-Dist: jsonpath-ng; extra == "dev"
62
65
  Requires-Dist: markdown; extra == "dev"
63
66
  Requires-Dist: mcp; extra == "dev"
64
67
  Requires-Dist: mistralai; extra == "dev"
@@ -66,9 +69,11 @@ Requires-Dist: moto[server]; extra == "dev"
66
69
  Requires-Dist: mypy; extra == "dev"
67
70
  Requires-Dist: nbformat; extra == "dev"
68
71
  Requires-Dist: openai; extra == "dev"
72
+ Requires-Dist: pandas>=2.0.0; extra == "dev"
69
73
  Requires-Dist: panflute; extra == "dev"
70
74
  Requires-Dist: pip; extra == "dev"
71
75
  Requires-Dist: pre-commit; extra == "dev"
76
+ Requires-Dist: pyarrow>=10.0.1; extra == "dev"
72
77
  Requires-Dist: pylint; extra == "dev"
73
78
  Requires-Dist: pytest; extra == "dev"
74
79
  Requires-Dist: pytest-asyncio; extra == "dev"
@@ -78,6 +83,8 @@ Requires-Dist: pytest-xdist; extra == "dev"
78
83
  Requires-Dist: ruff==0.9.6; extra == "dev"
79
84
  Requires-Dist: textual-dev>=0.86.2; extra == "dev"
80
85
  Requires-Dist: trio; extra == "dev"
86
+ Requires-Dist: pandas-stubs; extra == "dev"
87
+ Requires-Dist: pyarrow-stubs; extra == "dev"
81
88
  Requires-Dist: types-Markdown; extra == "dev"
82
89
  Requires-Dist: types-PyYAML; extra == "dev"
83
90
  Requires-Dist: types-beautifulsoup4; extra == "dev"
@@ -97,9 +97,13 @@ website:
97
97
  - agent-bridge.qmd
98
98
  - human-agent.qmd
99
99
 
100
- - section: "Advanced"
100
+ - section: "Analysis"
101
101
  contents:
102
102
  - eval-logs.qmd
103
+ - dataframe.qmd
104
+
105
+ - section: "Advanced"
106
+ contents:
103
107
  - eval-sets.qmd
104
108
  - text: "Errors & Limits"
105
109
  href: errors-and-limits.qmd
@@ -0,0 +1,431 @@
1
+ ---
2
+ title: Log Dataframes
3
+ ---
4
+
5
+ ::: callout-note
6
+ Log 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
+ :::
8
+
9
+ ## Overview {#overview}
10
+
11
+ ```{=html}
12
+ <style type="text/css">
13
+ table a {
14
+ white-space: nowrap;
15
+ }
16
+ #overview table a {
17
+ text-decoration: none;
18
+ font-family: monospace;
19
+ font-size: 0.95rem;
20
+ }
21
+ </style>
22
+ ```
23
+
24
+ Inspect eval logs have a hierarchical structure which is well suited to flexibly capturing all the elements of an evaluation. However, when analysing or visualising log data you will often want to transform logs into a [dataframe](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html). The **inspect_ai.analysis** module includes a variety of functions for extracting [Pandas](https://pandas.pydata.org/) dataframes from logs, including:
25
+
26
+ | Function | Description |
27
+ |---------------------------|---------------------------------------------|
28
+ | [evals_df()](#evals) | Evaluation level data (e.g. task, model, scores, etc.). One row per log file. |
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
+ | [messages_df()](#messages) | Message level data (e.g. role, content, etc.). One row per message, where each sample contains many messages. |
31
+
32
+ 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
+ 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
+ ## Examples
37
+
38
+ ### Import Basics
39
+
40
+ 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
+ ``` python
43
+ from inspect_ai.analysis.beta import evals_df
44
+
45
+ evals_df("logs")
46
+ ```
47
+
48
+ ``` default
49
+ <class 'pandas.core.frame.DataFrame'>
50
+ RangeIndex: 9 entries, 0 to 8
51
+ Columns: 51 entries, eval_id to score_model_graded_qa_stderr
52
+ ```
53
+
54
+ The default configuration for `evals_df()` reads 51 columns. While this is the default, column reading can be customized in variety of ways (covered below in [Columns](#columns)).
55
+
56
+ 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
+ ``` python
59
+ from inspect_ai.analysis.beta import samples_df
60
+
61
+ samples_df("logs")
62
+ ```
63
+
64
+ ``` default
65
+ <class 'pandas.core.frame.DataFrame'>
66
+ RangeIndex: 408 entries, 0 to 407
67
+ Columns: 13 entries, sample_id to retries
68
+ ```
69
+
70
+ By default, `sample_df()` reads all of the columns in the `EvalSampleSummary` data structure (12 columns), along with the `eval_id` for linking back to the parent eval log file.
71
+
72
+ ### Column Groups
73
+
74
+ When reading dataframes, there are a number of pre-built column groups you can use to read various subsets of columns. For example:
75
+
76
+ ``` python
77
+ from inspect_ai.analysis.beta import (
78
+ EvalInfo, EvalModel, EvalResults, evals_df
79
+ )
80
+
81
+ evals_df(
82
+ logs="logs",
83
+ columns=EvalInfo + EvalModel + EvalResults
84
+ )
85
+ ```
86
+
87
+ ``` default
88
+ <class 'pandas.core.frame.DataFrame'>
89
+ RangeIndex: 9 entries, 0 to 8
90
+ Columns: 23 entries, eval_id to score_headline_value
91
+ ```
92
+
93
+ This dataframe has 23 columns rather than the 51 we saw when using the default `evals_df()` congiruation, reflecting the explicit columns groups specified.
94
+
95
+ You can also use column groups to join columns for doing analysis or plotting. For example, here we include eval level data along with each sample:
96
+
97
+ ``` python
98
+ from inspect_ai.analysis.beta import (
99
+ EvalInfo, EvalModel, SampleSummary, samples_df
100
+ )
101
+
102
+ samples_df(
103
+ logs="logs",
104
+ columns=EvalInfo + EvalModel + SampleSummary
105
+ )
106
+ ```
107
+
108
+ ``` default
109
+ <class 'pandas.core.frame.DataFrame'>
110
+ RangeIndex: 408 entries, 0 to 407
111
+ Columns: 27 entries, sample_id to retries
112
+ ```
113
+
114
+ 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
+ ### Databases
117
+
118
+ 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).
119
+
120
+ For example, here we read eval and sample level data from a log directory and import both tables into a DuckDb database:
121
+
122
+ ``` python
123
+ import duckdb
124
+ from inspect_ai.analysis.beta import evals_df, samples_df
125
+
126
+ con = duckdb.connect()
127
+ con.register('evals', evals_df("logs"))
128
+ con.register('samples', samples_df("logs"))
129
+ ```
130
+
131
+ We can now execute a query to find all samples generated using the `google` provider:
132
+
133
+ ``` python
134
+ result = con.execute("""
135
+ SELECT *
136
+ FROM evals e
137
+ JOIN samples s ON e.eval_id = s.eval_id
138
+ WHERE e.model LIKE 'google/%'
139
+ """).fetchdf()
140
+ ```
141
+
142
+ ## Columns {#columns}
143
+
144
+ The examples above all use built-in column specifications (e.g. `EvalModel`, `EvalResults`, `SampleSummary`, etc.). These specifications exist as a convenient starting point but can be replaced fully or partially by your own custom definitions.
145
+
146
+ Column definitions specify how JSON data is mapped into dataframe columns, and are specified using subclasses of the `Column` class (e.g. `EvalColumn`, `SampleColumn`). For example, here is the definition of the built-in `EvalTask` column group:
147
+
148
+ ``` python
149
+ EvalTask: list[Column] = [
150
+ EvalColumn("task_name", path="eval.task", required=True),
151
+ EvalColumn("task_version", path="eval.task_version", required=True),
152
+ EvalColumn("task_file", path="eval.task_file"),
153
+ EvalColumn("task_attribs", path="eval.task_attribs"),
154
+ EvalColumn("task_arg_*", path="eval.task_args"),
155
+ EvalColumn("solver", path="eval.solver"),
156
+ EvalColumn("solver_args", path="eval.solver_args"),
157
+ EvalColumn("sandbox_type", path="eval.sandbox.type"),
158
+ EvalColumn("sandbox_config", path="eval.sandbox.config"),
159
+ ]
160
+ ```
161
+
162
+ Columns are defined with a `name`, a `path` (location within JSON to read their value from), and other options (e.g. `required`, `type`, etc.) . Column paths use [JSON Path](https://github.com/h2non/jsonpath-ng) expressions to indicate how they should be read from JSON.
163
+
164
+ Many fields within eval logs are optional, and path expressions will automatically resolve to `None` when they include a missing field (unless the `required=True` option is specified).
165
+
166
+ Here are are all of the options available for `Column` definitions:
167
+
168
+ #### Column Options
169
+
170
+ | Parameter | Type | Description |
171
+ |-------------------|-------------------|----------------------------------|
172
+ | `name` | `str` | Column name for dataframe. Can include wildcard characters (e.g. `task_arg_*`) for mapping dictionaries into multiple columns. |
173
+ | `path` | `str` \| `JSONPath` | Path into JSON to extract the column from (uses [JSON Path](https://github.com/h2non/jsonpath-ng) expressions). Subclasses also implement path handlers that take e.g. an `EvalLog` and return a value. |
174
+ | `required` | `bool` | Is the field required (i.e. should an error occur if it not found). |
175
+ | `default` | `JsonValue` | Default value to yield if the field or its parents are not found in JSON. |
176
+ | `type` | `Type[ColumnType]` | Validation check and directive to attempt to coerce the data into the specified `type`. Coercion from `str` to other types is done after interpreting the string using YAML (e.g. `"true"` -\> `True`). |
177
+ | `value` | `Callable[[JsonValue], JsonValue]` | Function used to transform the value read from JSON into a value for the dataframe (e.g. converting a `list` to a comma-separated `str`). |
178
+
179
+ Here are some examples that demonstrate the use of various options:
180
+
181
+ ``` python
182
+ # required field
183
+ EvalColumn("run_id", path="eval.run_id", required=True)
184
+
185
+ # coerce field from int to str
186
+ SampleColumn("id", path="id", required=True, type=str)
187
+
188
+ # split metadata dict into multiple columns
189
+ SampleColumn("metadata_*", path="metadata")
190
+
191
+ # transform list[str] to str
192
+ SampleColumn("target", path="target", value=list_as_str),
193
+ ```
194
+
195
+ #### Column Merging
196
+
197
+ If a column is name is repeated within a list of columns then the column definition encountered last is utilised. This makes it straightforward to override default column definitions. For example, here we override the behaviour of the default sample `metadata` columns (keeping it as JSON rather than splitting it into multiple columns):
198
+
199
+ ``` python
200
+ samples_df(
201
+ logs="logs",
202
+ columns=SampleSummary + [SampleColumn("metadata", path="metadata")]
203
+ )
204
+ ```
205
+
206
+ #### Strict Mode
207
+
208
+ By default, dataframes are read in `strict` mode, which means that if fields are missing or paths are invalid an error is raised and the import is aborted. You can optionally set `strict=False`, in which case importing will proceed and a tuple containing `pd.DataFrame` and a list of any errors encountered is returned. For example:
209
+
210
+ ``` python
211
+ from inspect_ai.analysis.beta import evals_df
212
+
213
+ evals, errors = evals_df("logs", strict=False)
214
+ if len(errors) > 0:
215
+ print(errors)
216
+ ```
217
+
218
+ ### Evals {#evals}
219
+
220
+ `EvalColumns` defines a default set of roughly 50 columns to read from the top level of an eval log. `EvalColumns` is in turn composed of several sets of column definitions that you can be used independently, these include:
221
+
222
+ | Type | Description |
223
+ |------------------------------------|------------------------------------|
224
+ | [EvalInfo](https://github.com/UKGovernmentBEIS/inspect_ai/blob/main/src/inspect_ai/analysis/beta/_dataframe/evals/columns.py#L51) | Descriptive information (e.g. created, tags, metadata, git commit, etc.) |
225
+ | [EvalTask](https://github.com/UKGovernmentBEIS/inspect_ai/blob/main/src/inspect_ai/analysis/beta/_dataframe/evals/columns.py#L64) | Task configuration (name, file, args, solver, etc.) |
226
+ | [EvalModel](https://github.com/UKGovernmentBEIS/inspect_ai/blob/main/src/inspect_ai/analysis/beta/_dataframe/evals/columns.py#L77) | Model name, args, generation config, etc. |
227
+ | [EvalDataset](https://github.com/UKGovernmentBEIS/inspect_ai/blob/main/src/inspect_ai/analysis/beta/_dataframe/evals/columns.py#L86) | Dataset name, location, sample ids, etc. |
228
+ | [EvalConfig](https://github.com/UKGovernmentBEIS/inspect_ai/blob/main/src/inspect_ai/analysis/beta/_dataframe/evals/columns.py#L95) | Epochs, approval, sample limits, etc. |
229
+ | [EvalResults](https://github.com/UKGovernmentBEIS/inspect_ai/blob/main/src/inspect_ai/analysis/beta/_dataframe/evals/columns.py#L106) | Status, errors, samples completed, headline metric. |
230
+ | [EvalScores](https://github.com/UKGovernmentBEIS/inspect_ai/blob/main/src/inspect_ai/analysis/beta/_dataframe/evals/columns.py#L118) | All scores and metrics broken into separate columns. |
231
+
232
+ #### Custom Extraction
233
+
234
+ The `EvalColumn` class provides an additional facility for reading values based on a callback function that takes an `EvalLog`. This function is specified as the `path` in the column definition.
235
+
236
+ For example, here is the `path` function used to extract a simple dictionary of scores/metrics from the more complex `list[EvalScore]` type provided as `log.scores`:
237
+
238
+ ``` python
239
+ def scores_dict(log: EvalLog) -> JsonValue:
240
+ if log.results is None:
241
+ return None
242
+
243
+ metrics: JsonValue = [
244
+ {
245
+ score.name: {
246
+ metric.name: metric.value for metric in score.metrics.values()
247
+ }
248
+ }
249
+ for score in log.results.scores
250
+ ]
251
+ return metrics
252
+ ```
253
+
254
+ Which is then used in the definition of the `EvalScores` column group as follows:
255
+
256
+ ``` python
257
+ EvalScores: list[Column] = [
258
+ EvalColumn("score_*_*", path=scores_dict),
259
+ ]
260
+ ```
261
+
262
+ ### Samples {#samples}
263
+
264
+ The `samples_df()` function can read from either sample summaries (`EvalSampleSummary`) or full sample records (`EvalSample`).
265
+
266
+ By default, the `SampleSummary` column group is used, which reads only from summaries, resulting in considerably higher performance than reading full samples.
267
+
268
+ ``` python
269
+ SampleSummary: list[Column] = [
270
+ SampleColumn("id", path="id", required=True, type=str),
271
+ SampleColumn("epoch", path="epoch", required=True),
272
+ SampleColumn("input", path="input", required=True, value=input_as_str),
273
+ SampleColumn("target", path="target", required=True, value=list_as_str),
274
+ SampleColumn("metadata_*", path="metadata"),
275
+ SampleColumn("score_*", path="scores", value=score_values),
276
+ SampleColumn("model_usage", path="model_usage"),
277
+ SampleColumn("total_time", path="total_time"),
278
+ SampleColumn("working_time", path="total_time"),
279
+ SampleColumn("error", path="error"),
280
+ SampleColumn("limit", path="limit"),
281
+ SampleColumn("retries", path="retries"),
282
+ ]
283
+ ```
284
+
285
+ If you want to read all of the messages contained in a sample into a string column, use the `SampleMessages` column group. For example, here we read the summary field and the messages:
286
+
287
+ ``` python
288
+ from inspect_ai.analysis.beta import (
289
+ SampleMessages, SampleSummary, samples_df
290
+ )
291
+
292
+ samples_df(
293
+ logs="logs",
294
+ columns = SampleSummary + SampleMessages
295
+ )
296
+ ```
297
+
298
+ Note that reading `SampleMessages` requires reading full sample content, so will take considerably longer than reading only summaries.
299
+
300
+ #### Full Samples
301
+
302
+ `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:
303
+
304
+ ``` python
305
+ SampleColumn("limit_type", path="limit.type", full=True)
306
+ SampleColumn("limit_value", path="limit.limit", full=True)
307
+ ```
308
+
309
+ #### Custom Extraction
310
+
311
+ As with `EvalColumn`, you can also extract data from a sample using a callback function passed as the `path`:
312
+
313
+ ``` python
314
+ def model_reasoning_tokens(summary: EvalSampleSummary) -> JsonValue:
315
+ ## extract reasoning tokens from summary.model_usage
316
+
317
+ SampleColumn("model_reasoning_tokens", path=model_reasoning_tokens)
318
+ ```
319
+
320
+ ::: {.callout-note appearance="simple"}
321
+ Sample summaries were enhanced in version 0.3.93 (May 1, 2025) to include the `metadata`, `model_usage`, `total_time`, `working_time`, and `retries` fields. If you need to read any of these values you can update older logs with the new fields by round-tripping them through `inspect log convert`. For example:
322
+
323
+ ``` bash
324
+ $ inspect log convert ./logs --to eval --output-dir ./logs-amended
325
+ ```
326
+ :::
327
+
328
+ ### Messages {#messages}
329
+
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 `event_id` for linking back to its parents.
331
+
332
+ 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
+
334
+ ``` python
335
+ assistant_messages = messages_df("logs", filter=["assistant"])
336
+ ```
337
+
338
+ #### Default Columns
339
+
340
+ The default `MessageColumns` includes `MessageContent` and `MessageToolCalls`:
341
+
342
+ ``` python
343
+ MessageContent: list[Column] = [
344
+ MessageColumn("role", path="role", required=True),
345
+ MessageColumn("content", path=message_text),
346
+ MessageColumn("source", path="source"),
347
+ ]
348
+
349
+ MessageToolCalls: list[Column] = [
350
+ MessageColumn("tool_calls", path=message_tool_calls),
351
+ MessageColumn("tool_call_id", path="tool_call_id"),
352
+ MessageColumn("tool_call_function", path="function"),
353
+ MessageColumn("tool_call_error", path="error.message"),
354
+ ]
355
+
356
+ MessageColumns: list[Column] = MessageContent + MessageToolCalls
357
+ ```
358
+
359
+ #### Custom Extraction
360
+
361
+ Two of the fields above are resolved using custom extraction functions (`content` and `tool_calls`). Here is the source code for those functions:
362
+
363
+ ``` python
364
+ def message_text(message: ChatMessage) -> str:
365
+ return message.text
366
+
367
+
368
+ def message_tool_calls(message: ChatMessage) -> str | None:
369
+ if isinstance(message, ChatMessageAssistant) and message.tool_calls is not None:
370
+ tool_calls = "\n".join(
371
+ [
372
+ format_function_call(
373
+ tool_call.function, tool_call.arguments, width=1000
374
+ )
375
+ for tool_call in message.tool_calls
376
+ ]
377
+ )
378
+ return tool_calls
379
+ else:
380
+ return None
381
+ ```
382
+
383
+ ### Custom
384
+
385
+ 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.)
386
+
387
+ Here we define a new `ReportColumn` class that derives from `EvalColumn`:
388
+
389
+ ``` python
390
+ import functools
391
+ from typing import Callable
392
+ from pydantic import BaseModel, JsonValue
393
+
394
+ from inspect_ai.log import EvalLog
395
+ from inspect_ai.analysis.beta import EvalColumn
396
+
397
+ class ReportConfig(BaseModel):
398
+ # config fields
399
+ ...
400
+
401
+ class ReportColumn(EvalColumn):
402
+ def __init__(
403
+ self,
404
+ name: str,
405
+ config: ReportConfig,
406
+ extract: Callable[[ReportConfig, EvalLog], JsonValue],
407
+ *,
408
+ required: bool = False,
409
+ ) -> None:
410
+ super().__init__(
411
+ name=name,
412
+ path=functools.partial(extract, config),
413
+ required=required,
414
+ )
415
+ ```
416
+
417
+ The key here is using [functools.partial](https://www.geeksforgeeks.org/partial-functions-python/) to adapt the function that takes `config` and `log` into a function that takes `log` (which is what the `EvalColumn` class works with).
418
+
419
+ We can now create extraction functions that take a `ReportConfig` and an `EvalLog` and pass them to `ReportColumn`:
420
+
421
+ ``` python
422
+ # read dict scores from log according to config
423
+ def read_scores(config: ReportConfig, log: EvalLog) -> JsonValue:
424
+ ...
425
+
426
+ # config for a given report
427
+ config = ReportConfig(...)
428
+
429
+ # column that reads scores from log based on config
430
+ ReportColumn("score_*", config, read_scores)
431
+ ```
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: Eval Logs
2
+ title: Log Files
3
3
  ---
4
4
 
5
5
  ## Overview
@@ -239,9 +239,14 @@ These sections describe how to create agent evaluations with Inspect:
239
239
 
240
240
  - [Human Agent](human-agent.qmd) is a solver that enables human baselining on computing tasks.
241
241
 
242
+ These sections outline how to analyze data generated from evaluations:
243
+
244
+ - [Eval Logs](eval-logs.qmd) explores log viewing, log file formats, and the Python API for reading log files.
245
+
246
+ - [Data Frames](dataframe.qmd) documents the APIs available for extracting dataframes of evals, samples, messages, and events from log files.
247
+
242
248
  These sections discuss more advanced features and workflows. You don't need to review them at the outset, but be sure to revisit them as you get more comfortable with the basics.
243
249
 
244
- - [Eval Logs](eval-logs.qmd) explores how to get the most out of evaluation logs for developing, debugging, and analyzing evaluations.
245
250
 
246
251
  - [Eval Sets](eval-sets.qmd) covers Inspect's features for describing, running, and analysing larger sets of evaluation tasks.
247
252
 
@@ -35,6 +35,8 @@
35
35
  - [Human Agent](https://inspect.aisi.org.uk/human-agent.html.md): This article describes the `human_cli()` agent which enables human baselining for computing tasks.
36
36
 
37
37
  - [Eval Logs](https://inspect.aisi.org.uk/eval-logs.html.md): Explores how to get the most out of evaluation logs for developing, debugging, and analyzing evaluations.
38
+ - [Data Frames](https://inspect.aisi.org.uk/dataframe.html.md) documents the APIs available for extracting dataframes of evals, samples, messages, and events from log files.
39
+
38
40
  - [Eval Sets](https://inspect.aisi.org.uk/eval-sets.html.md): Covers Inspect's features for describing, running, and analysing larger sets of evaluation tasks.
39
41
  - [Errors and Limits](https://inspect.aisi.org.uk/errors-and-limits.html.md): This article covers various techniques for dealing with unexpected errors and setting limits on evaluation tasks and samples, including retrying failed evaluations, establishing a threshold of samples to tolerate errors for before failing an evaluation, and setting a maximum number of messages, tokens, or elapsed seconds in a sample before forcing the solver to give up.
40
42
  - [Typing](https://inspect.aisi.org.uk/typing.html.md): Provides guidance on using static type checking with Inspect, including creating typed interfaces to untyped storage (i.e. sample metadata and store).
@@ -54,6 +56,7 @@
54
56
  - [inspect_ai.dataset](https://inspect.aisi.org.uk/reference/inspect_ai.dataset.html.md) describes the types used to read and manipulate datasets and samples.
55
57
  - [inspect_ai.approval](https://inspect.aisi.org.uk/reference/inspect_ai.approval.html.md) covers using built in approvers as well as the types used to create custom approvers and approval policies.
56
58
  - [inspect_ai.log](https://inspect.aisi.org.uk/reference/inspect_ai.log.html.md) describes the types used to list, read, write, and traverse the contents of eval log files.
59
+ - [inspect_ai.analysis](https://inspect.aisi.org.uk/reference/inspect_ai.analysis.html.md) covers the Python API for reading logs into dataframes for analysis.
57
60
  - [inspect_ai.util](https://inspect.aisi.org.uk/reference/inspect_ai.util.html.md) covers various utility functions for concurrency, sandboxes, the store, and more.
58
61
 
59
62
  ## Reference: Command Line
@@ -10,7 +10,7 @@ Inspect View provides a convenient way to visualize evaluation logs, including d
10
10
 
11
11
  Below we'll describe how to get the most out of using Inspect View.
12
12
 
13
- Note that this section covers *interactively* exploring log files. You can also use the `EvalLog` API to compute on log files (e.g. to compare across runs or to more systematically traverse results). See the section on [Eval Logs](#sec-eval-logs) to learn more about how to process log files with code.
13
+ Note that this section covers *interactively* exploring log files. You can also use the `EvalLog` API to compute on log files (e.g. to compare across runs or to more systematically traverse results). See the sections on [Eval Logs](#sec-eval-logs) and [Data Frames](dataframe.qmd) to learn more about how to process log files with code.
14
14
 
15
15
  ## VS Code Extension
16
16
 
@@ -459,6 +459,55 @@ website:
459
459
  href: reference/inspect_ai.log.qmd#spanendevent
460
460
  - text: SubtaskEvent
461
461
  href: reference/inspect_ai.log.qmd#subtaskevent
462
+ - section: inspect_ai.analysis
463
+ href: reference/inspect_ai.analysis.qmd
464
+ contents:
465
+ - text: evals_df
466
+ href: reference/inspect_ai.analysis.qmd#evals_df
467
+ - text: EvalColumn
468
+ href: reference/inspect_ai.analysis.qmd#evalcolumn
469
+ - text: EvalColumns
470
+ href: reference/inspect_ai.analysis.qmd#evalcolumns
471
+ - text: EvalInfo
472
+ href: reference/inspect_ai.analysis.qmd#evalinfo
473
+ - text: EvalTask
474
+ href: reference/inspect_ai.analysis.qmd#evaltask
475
+ - text: EvalModel
476
+ href: reference/inspect_ai.analysis.qmd#evalmodel
477
+ - text: EvalConfig
478
+ href: reference/inspect_ai.analysis.qmd#evalconfig
479
+ - text: EvalResults
480
+ href: reference/inspect_ai.analysis.qmd#evalresults
481
+ - text: EvalScores
482
+ href: reference/inspect_ai.analysis.qmd#evalscores
483
+ - text: samples_df
484
+ href: reference/inspect_ai.analysis.qmd#samples_df
485
+ - text: SampleColumn
486
+ href: reference/inspect_ai.analysis.qmd#samplecolumn
487
+ - text: SampleSummary
488
+ href: reference/inspect_ai.analysis.qmd#samplesummary
489
+ - text: SampleMessages
490
+ href: reference/inspect_ai.analysis.qmd#samplemessages
491
+ - text: messages_df
492
+ href: reference/inspect_ai.analysis.qmd#messages_df
493
+ - text: MessageFilter
494
+ href: reference/inspect_ai.analysis.qmd#messagefilter
495
+ - text: MessageColumn
496
+ href: reference/inspect_ai.analysis.qmd#messagecolumn
497
+ - text: MessageContent
498
+ href: reference/inspect_ai.analysis.qmd#messagecontent
499
+ - text: MessageToolCalls
500
+ href: reference/inspect_ai.analysis.qmd#messagetoolcalls
501
+ - text: MessageColumns
502
+ href: reference/inspect_ai.analysis.qmd#messagecolumns
503
+ - text: Column
504
+ href: reference/inspect_ai.analysis.qmd#column
505
+ - text: ColumnType
506
+ href: reference/inspect_ai.analysis.qmd#columntype
507
+ - text: ColumnError
508
+ href: reference/inspect_ai.analysis.qmd#columnerror
509
+ - text: ColumnErrors
510
+ href: reference/inspect_ai.analysis.qmd#columnerrors
462
511
  - section: inspect_ai.util
463
512
  href: reference/inspect_ai.util.qmd
464
513
  contents:
@@ -20,6 +20,7 @@ reference_docs = ["reference/inspect_ai.qmd"] + [
20
20
  "dataset.qmd",
21
21
  "approval.qmd",
22
22
  "log.qmd",
23
+ "analysis.qmd",
23
24
  "util.qmd",
24
25
  ]
25
26
  ]
@@ -18,6 +18,7 @@ toc-depth: 4
18
18
  | [inspect_ai.dataset](inspect_ai.dataset.qmd) | Reading samples from datasets. |
19
19
  | [inspect_ai.approval](inspect_ai.approval.qmd) | Approvers and approval policies. |
20
20
  | [inspect_ai.log](inspect_ai.log.qmd) | List, read, write, and analyse logs. |
21
+ | [inspect_ai.analysis](inspect_ai.analysis.qmd) | Data frames for analysis. |
21
22
  | [inspect_ai.util](inspect_ai.util.qmd) | Miscellaneous utility functions. |
22
23
 
23
24
  : {.borderless}