inspect-ai 0.3.95__tar.gz → 0.3.96__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1419) hide show
  1. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/dependabot.yml +2 -0
  2. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/CHANGELOG.md +8 -1
  3. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/PKG-INFO +2 -2
  4. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/dataframe.qmd +144 -19
  5. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/_sidebar.yml +12 -0
  6. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.analysis.qmd +9 -0
  7. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/popularity.py +2 -2
  8. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/requirements.txt +1 -1
  9. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/local_server.py +16 -0
  10. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_types.py +1 -1
  11. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/__init__.py +11 -1
  12. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/evals/table.py +65 -28
  13. inspect_ai-0.3.96/src/inspect_ai/analysis/beta/_dataframe/events/columns.py +87 -0
  14. inspect_ai-0.3.96/src/inspect_ai/analysis/beta/_dataframe/events/extract.py +26 -0
  15. inspect_ai-0.3.96/src/inspect_ai/analysis/beta/_dataframe/events/table.py +100 -0
  16. inspect_ai-0.3.96/src/inspect_ai/analysis/beta/_dataframe/extract.py +73 -0
  17. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/messages/table.py +6 -14
  18. inspect_ai-0.3.96/src/inspect_ai/analysis/beta/_dataframe/progress.py +26 -0
  19. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/samples/columns.py +7 -3
  20. inspect_ai-0.3.96/src/inspect_ai/analysis/beta/_dataframe/samples/extract.py +54 -0
  21. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/samples/table.py +76 -35
  22. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/util.py +19 -16
  23. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_file.py +9 -2
  24. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_task_state.py +1 -1
  25. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/_sandbox.py +17 -14
  26. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai.egg-info/PKG-INFO +2 -2
  27. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai.egg-info/SOURCES.txt +6 -1
  28. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai.egg-info/requires.txt +1 -1
  29. inspect_ai-0.3.96/tests/analysis/test_df.py +102 -0
  30. inspect_ai-0.3.96/tests/analysis/test_logs/2025-05-12T20-27-36-04-00_browser.json +3596 -0
  31. inspect_ai-0.3.96/tests/analysis/test_logs/2025-05-12T20-28-13-04-00_popularity.json +1330 -0
  32. inspect_ai-0.3.96/tests/analysis/test_logs/2025-05-12T20-28-26-04-00_security-guide.json +1794 -0
  33. inspect_ai-0.3.95/examples/imp.py +0 -38
  34. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/events/columns.py +0 -37
  35. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/events/table.py +0 -14
  36. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/extract.py +0 -54
  37. inspect_ai-0.3.95/src/inspect_ai/analysis/beta/_dataframe/samples/extract.py +0 -82
  38. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/pull_request_template.md +0 -0
  39. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/workflows/build.yml +0 -0
  40. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/workflows/docker.yml +0 -0
  41. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/workflows/docs.yml +0 -0
  42. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/workflows/log_viewer.yml +0 -0
  43. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/workflows/pypi.yml +0 -0
  44. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.github/workflows/vscode.yml +0 -0
  45. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.gitignore +0 -0
  46. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.pre-commit-config.yaml +0 -0
  47. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.pylintrc +0 -0
  48. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.vscode/extensions.json +0 -0
  49. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.vscode/launch.json +0 -0
  50. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/.vscode/settings.json +0 -0
  51. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/CITATION.cff +0 -0
  52. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/CLAUDE.md +0 -0
  53. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/LICENSE +0 -0
  54. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/MANIFEST.in +0 -0
  55. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/Makefile +0 -0
  56. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/README.md +0 -0
  57. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/.gitignore +0 -0
  58. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/CNAME +0 -0
  59. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_container_limits.md +0 -0
  60. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_errors_and_retries.md +0 -0
  61. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_max_samples.md +0 -0
  62. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_message_limits.md +0 -0
  63. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_metadata_typing.md +0 -0
  64. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_model-providers.md +0 -0
  65. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_quarto.yml +0 -0
  66. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_sample-preservation.md +0 -0
  67. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_sandbox-dockerfile.md +0 -0
  68. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_sandbox-image.md +0 -0
  69. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_sandboxenv-interface.md +0 -0
  70. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_setting_max_samples.md +0 -0
  71. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_shuffling-choices.md +0 -0
  72. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_store_typing.md +0 -0
  73. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_token_limits.md +0 -0
  74. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_tools-annotations-required.md +0 -0
  75. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_tools-basics.md +0 -0
  76. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_tools-configuration.md +0 -0
  77. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_tools-standard.md +0 -0
  78. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_variables.yml +0 -0
  79. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/_vscode-viewing-logs.md +0 -0
  80. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/agent-bridge.qmd +0 -0
  81. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/agent-custom.qmd +0 -0
  82. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/agents.qmd +0 -0
  83. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/approval.qmd +0 -0
  84. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/caching.qmd +0 -0
  85. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/datasets.qmd +0 -0
  86. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/errors-and-limits.qmd +0 -0
  87. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/eval-logs.qmd +0 -0
  88. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/eval-sets.qmd +0 -0
  89. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/evals/evals.css +0 -0
  90. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/evals/evals.ejs +0 -0
  91. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/evals/evals.yml +0 -0
  92. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/evals/import.py +0 -0
  93. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/evals/index.qmd +0 -0
  94. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/evals/listing.yml +0 -0
  95. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/extensions.qmd +0 -0
  96. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/human-agent.qmd +0 -0
  97. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/aisi-logo.svg +0 -0
  98. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/eval-log.png +0 -0
  99. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-activity-bar.png +0 -0
  100. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-human-agent-container.png +0 -0
  101. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-human-agent.png +0 -0
  102. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-multiple-models.png +0 -0
  103. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-terminal-transcript.png +0 -0
  104. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-answers.png +0 -0
  105. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-filter.png +0 -0
  106. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-history.png +0 -0
  107. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-home.png +0 -0
  108. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-info.png +0 -0
  109. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-log-link.png +0 -0
  110. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-logging-console.png +0 -0
  111. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-logging.png +0 -0
  112. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-main.png +0 -0
  113. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-messages.png +0 -0
  114. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-metadata.png +0 -0
  115. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-scoring.png +0 -0
  116. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-sort.png +0 -0
  117. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-view-splash.png +0 -0
  118. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-vscode-config.png +0 -0
  119. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-vscode-install.png +0 -0
  120. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-vscode-logview.png +0 -0
  121. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-vscode-output-channel.png +0 -0
  122. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect-vscode-run-task.png +0 -0
  123. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/inspect.png +0 -0
  124. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/logs-drop-down.png +0 -0
  125. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/logs-open-button.png +0 -0
  126. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/logs.png +0 -0
  127. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/popularity.png +0 -0
  128. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/python-tool-view.png +0 -0
  129. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/rate-limit.png +0 -0
  130. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/running-theory.png +0 -0
  131. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/task-max-sandboxes.png +0 -0
  132. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/toolenv-no-cleanup.png +0 -0
  133. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/vnc-port-info.png +0 -0
  134. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/vnc-view-only.png +0 -0
  135. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/images/web-browser-tool-view.png +0 -0
  136. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/index.qmd +0 -0
  137. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/interactivity.qmd +0 -0
  138. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/llms.txt +0 -0
  139. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/log-viewer.qmd +0 -0
  140. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/models.qmd +0 -0
  141. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/multi-agent.qmd +0 -0
  142. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/multimodal.qmd +0 -0
  143. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/options.qmd +0 -0
  144. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/parallelism.qmd +0 -0
  145. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/providers.qmd +0 -0
  146. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reasoning.qmd +0 -0
  147. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/.gitignore +0 -0
  148. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/_metadata.yml +0 -0
  149. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/commands.py +0 -0
  150. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/filter.py +0 -0
  151. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/interlink.lua +0 -0
  152. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/parse.py +0 -0
  153. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/post.lua +0 -0
  154. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/render.py +0 -0
  155. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/filter/sidebar.py +0 -0
  156. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/index.qmd +0 -0
  157. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.agent.qmd +0 -0
  158. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.approval.qmd +0 -0
  159. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.dataset.qmd +0 -0
  160. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.log.qmd +0 -0
  161. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.model.qmd +0 -0
  162. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.qmd +0 -0
  163. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.scorer.qmd +0 -0
  164. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.solver.qmd +0 -0
  165. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.tool.qmd +0 -0
  166. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_ai.util.qmd +0 -0
  167. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_cache.qmd +0 -0
  168. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_eval-retry.qmd +0 -0
  169. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_eval-set.qmd +0 -0
  170. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_eval.qmd +0 -0
  171. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_info.qmd +0 -0
  172. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_list.qmd +0 -0
  173. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_log.qmd +0 -0
  174. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_sandbox.qmd +0 -0
  175. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_score.qmd +0 -0
  176. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_trace.qmd +0 -0
  177. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/reference/inspect_view.qmd +0 -0
  178. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/sandboxing.qmd +0 -0
  179. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/scorers.qmd +0 -0
  180. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/scripts/post-render.sh +0 -0
  181. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/solvers.qmd +0 -0
  182. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/structured.qmd +0 -0
  183. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tasks.qmd +0 -0
  184. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/theme.scss +0 -0
  185. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tools-custom.qmd +0 -0
  186. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tools-mcp.qmd +0 -0
  187. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tools-standard.qmd +0 -0
  188. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tools.qmd +0 -0
  189. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tracing.qmd +0 -0
  190. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/tutorial.qmd +0 -0
  191. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/typing.qmd +0 -0
  192. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/docs/vscode.qmd +0 -0
  193. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/approval/README.md +0 -0
  194. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/approval/approval.py +0 -0
  195. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/approval/approval.yaml +0 -0
  196. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/biology_qa.py +0 -0
  197. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/autogen/README.md +0 -0
  198. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/autogen/agent.py +0 -0
  199. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/autogen/dataset.json +0 -0
  200. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/autogen/requirements.txt +0 -0
  201. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/autogen/task.py +0 -0
  202. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/langchain/README.md +0 -0
  203. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/langchain/agent.py +0 -0
  204. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/langchain/dataset.json +0 -0
  205. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/langchain/requirements.txt +0 -0
  206. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/bridge/langchain/task.py +0 -0
  207. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/browser/browser.py +0 -0
  208. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/browser/compose.yaml +0 -0
  209. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/cache.py +0 -0
  210. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/computer/compose.yaml +0 -0
  211. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/computer/computer.py +0 -0
  212. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/computer/moonWeight.ods +0 -0
  213. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/evalset.py +0 -0
  214. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/hello_world.py +0 -0
  215. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/human/Dockerfile +0 -0
  216. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/human/compose.yaml +0 -0
  217. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/human/human.py +0 -0
  218. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/images/ballons.png +0 -0
  219. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/images/bike.png +0 -0
  220. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/images/images.jsonl +0 -0
  221. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/images/images.py +0 -0
  222. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/README.md +0 -0
  223. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/computer/approval.yaml +0 -0
  224. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/computer/compose.yaml +0 -0
  225. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/intervention.py +0 -0
  226. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/multi_tool/compose.yaml +0 -0
  227. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/shell/Dockerfile +0 -0
  228. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/intervention/shell/compose.yaml +0 -0
  229. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/mcp_tools.py +0 -0
  230. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/prefill.py +0 -0
  231. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/scorer.py +0 -0
  232. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/security_guide.py +0 -0
  233. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/structured.py +0 -0
  234. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/surfer.py +0 -0
  235. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/theory_of_mind.py +0 -0
  236. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/examples/tool_use.py +0 -0
  237. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/pyproject.toml +0 -0
  238. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/setup.cfg +0 -0
  239. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/__init__.py +0 -0
  240. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/__main__.py +0 -0
  241. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/cache.py +0 -0
  242. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/common.py +0 -0
  243. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/eval.py +0 -0
  244. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/info.py +0 -0
  245. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/list.py +0 -0
  246. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/log.py +0 -0
  247. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/main.py +0 -0
  248. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/sandbox.py +0 -0
  249. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/score.py +0 -0
  250. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/trace.py +0 -0
  251. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/util.py +0 -0
  252. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_cli/view.py +0 -0
  253. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/__init__.py +0 -0
  254. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/active.py +0 -0
  255. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/config.py +0 -0
  256. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/display.py +0 -0
  257. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/footer.py +0 -0
  258. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/panel.py +0 -0
  259. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/progress.py +0 -0
  260. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/results.py +0 -0
  261. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/rich.py +0 -0
  262. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/core/textual.py +0 -0
  263. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/plain/__init__.py +0 -0
  264. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/plain/display.py +0 -0
  265. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/rich/__init__.py +0 -0
  266. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/rich/display.py +0 -0
  267. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/app.py +0 -0
  268. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/app.tcss +0 -0
  269. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/display.py +0 -0
  270. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/theme.py +0 -0
  271. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/clock.py +0 -0
  272. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/console.py +0 -0
  273. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/footer.py +0 -0
  274. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/port_mappings.py +0 -0
  275. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/samples.py +0 -0
  276. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/sandbox.py +0 -0
  277. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/task_detail.py +0 -0
  278. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/tasks.py +0 -0
  279. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/titlebar.py +0 -0
  280. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/toggle.py +0 -0
  281. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/transcript.py +0 -0
  282. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_display/textual/widgets/vscode.py +0 -0
  283. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/__init__.py +0 -0
  284. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/context.py +0 -0
  285. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/eval.py +0 -0
  286. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/evalset.py +0 -0
  287. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/list.py +0 -0
  288. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/loader.py +0 -0
  289. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/registry.py +0 -0
  290. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/run.py +0 -0
  291. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/score.py +0 -0
  292. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/__init__.py +0 -0
  293. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/constants.py +0 -0
  294. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/epochs.py +0 -0
  295. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/error.py +0 -0
  296. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/generate.py +0 -0
  297. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/images.py +0 -0
  298. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/log.py +0 -0
  299. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/resolved.py +0 -0
  300. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/results.py +0 -0
  301. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/run.py +0 -0
  302. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/sandbox.py +0 -0
  303. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/task.py +0 -0
  304. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/tasks.py +0 -0
  305. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_eval/task/util.py +0 -0
  306. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/__init__.py +0 -0
  307. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/_async.py +0 -0
  308. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/ansi.py +0 -0
  309. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/answer.py +0 -0
  310. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/appdirs.py +0 -0
  311. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/config.py +0 -0
  312. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/constants.py +0 -0
  313. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/content.py +0 -0
  314. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/datetime.py +0 -0
  315. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/decorator.py +0 -0
  316. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/deprecation.py +0 -0
  317. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/dev.py +0 -0
  318. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/dict.py +0 -0
  319. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/dotenv.py +0 -0
  320. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/entrypoints.py +0 -0
  321. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/environ.py +0 -0
  322. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/error.py +0 -0
  323. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/exception.py +0 -0
  324. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/file.py +0 -0
  325. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/format.py +0 -0
  326. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/future.py +0 -0
  327. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/git.py +0 -0
  328. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/hash.py +0 -0
  329. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/hooks.py +0 -0
  330. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/html.py +0 -0
  331. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/http.py +0 -0
  332. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/httpx.py +0 -0
  333. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/images.py +0 -0
  334. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/interrupt.py +0 -0
  335. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/json.py +0 -0
  336. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/kvstore.py +0 -0
  337. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/list.py +0 -0
  338. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/logger.py +0 -0
  339. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/notebook.py +0 -0
  340. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/notgiven.py +0 -0
  341. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/package.py +0 -0
  342. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/path.py +0 -0
  343. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/pattern.py +0 -0
  344. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/platform.py +0 -0
  345. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/port_names.py +0 -0
  346. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/registry.py +0 -0
  347. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/retry.py +0 -0
  348. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/rich.py +0 -0
  349. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/samples.py +0 -0
  350. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/terminal.py +0 -0
  351. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/text.py +0 -0
  352. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/thread.py +0 -0
  353. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/throttle.py +0 -0
  354. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/trace.py +0 -0
  355. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/transcript.py +0 -0
  356. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/url.py +0 -0
  357. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/version.py +0 -0
  358. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/vscode.py +0 -0
  359. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_util/working.py +0 -0
  360. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/notify.py +0 -0
  361. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/schema.py +0 -0
  362. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/server.py +0 -0
  363. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/view.py +0 -0
  364. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/.gitignore +0 -0
  365. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/.prettierignore +0 -0
  366. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/.prettierrc.js +0 -0
  367. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/.tool-versions +0 -0
  368. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/.vscode/extensions.json +0 -0
  369. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/.vscode/settings.json +0 -0
  370. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/README.md +0 -0
  371. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/babel.config.js +0 -0
  372. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/dist/assets/favicon.svg +0 -0
  373. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/dist/assets/index.css +0 -0
  374. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/dist/assets/index.js +0 -0
  375. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/dist/index.html +0 -0
  376. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/eslint.config.mjs +0 -0
  377. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/favicon.svg +0 -0
  378. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/index.html +0 -0
  379. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/jest.config.mjs +0 -0
  380. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/jsconfig.json +0 -0
  381. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/log-schema.json +0 -0
  382. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/package.json +0 -0
  383. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/postcss.config.cjs +0 -0
  384. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/@types/asciicinema-player.d.ts +0 -0
  385. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/@types/jsondiffpatch.d.ts +0 -0
  386. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/@types/log.d.ts +0 -0
  387. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/@types/markdown-it-katex.d.ts +0 -0
  388. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/@types/prism.d.ts +0 -0
  389. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/App.css +0 -0
  390. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/App.tsx +0 -0
  391. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/AppErrorBoundary.tsx +0 -0
  392. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/appearance/colors.ts +0 -0
  393. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/appearance/fonts.ts +0 -0
  394. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/appearance/icons.ts +0 -0
  395. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/appearance/styles.ts +0 -0
  396. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/MetaDataGrid.tsx +0 -0
  397. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/MetaDataView.module.css +0 -0
  398. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/MetaDataView.tsx +0 -0
  399. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/MetadataGrid.module.css +0 -0
  400. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/RenderedContent.module.css +0 -0
  401. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/RenderedContent.tsx +0 -0
  402. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/content/types.ts +0 -0
  403. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/LogView.module.css +0 -0
  404. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/LogView.tsx +0 -0
  405. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/LogViewContainer.tsx +0 -0
  406. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/LogViewLayout.tsx +0 -0
  407. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/error/TaskErrorPanel.module.css +0 -0
  408. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/error/TaskErrorPanel.tsx +0 -0
  409. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/ModelRolesView.module.css +0 -0
  410. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/ModelRolesView.tsx +0 -0
  411. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/Navbar.module.css +0 -0
  412. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/Navbar.tsx +0 -0
  413. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/PrimaryBar.module.css +0 -0
  414. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/PrimaryBar.tsx +0 -0
  415. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/ResultsPanel.module.css +0 -0
  416. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/ResultsPanel.tsx +0 -0
  417. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/RunningStatusPanel.module.css +0 -0
  418. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/RunningStatusPanel.tsx +0 -0
  419. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/ScoreGrid.module.css +0 -0
  420. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/ScoreGrid.tsx +0 -0
  421. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/SecondaryBar.module.css +0 -0
  422. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/SecondaryBar.tsx +0 -0
  423. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/StatusPanel.module.css +0 -0
  424. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/navbar/StatusPanel.tsx +0 -0
  425. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/InfoTab.module.css +0 -0
  426. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/InfoTab.tsx +0 -0
  427. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/JsonTab.module.css +0 -0
  428. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/JsonTab.tsx +0 -0
  429. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/ModelsTab.module.css +0 -0
  430. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/ModelsTab.tsx +0 -0
  431. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/RunningNoSamples.module.css +0 -0
  432. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/RunningNoSamples.tsx +0 -0
  433. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/SamplesTab.tsx +0 -0
  434. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/TaskTab.module.css +0 -0
  435. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/TaskTab.tsx +0 -0
  436. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/grouping.ts +0 -0
  437. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/tabs/types.ts +0 -0
  438. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/types.ts +0 -0
  439. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/log-view/utils.ts +0 -0
  440. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/DatasetDetailView.module.css +0 -0
  441. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/DatasetDetailView.tsx +0 -0
  442. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/DetailStep.module.css +0 -0
  443. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/DetailStep.tsx +0 -0
  444. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/ModelCard.module.css +0 -0
  445. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/ModelCard.tsx +0 -0
  446. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/PlanCard.tsx +0 -0
  447. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/PlanDetailView.module.css +0 -0
  448. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/PlanDetailView.tsx +0 -0
  449. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/ScorerDetailView.module.css +0 -0
  450. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/ScorerDetailView.tsx +0 -0
  451. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/SolverDetailView.module.css +0 -0
  452. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/plan/SolverDetailView.tsx +0 -0
  453. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/routing/AppRouter.tsx +0 -0
  454. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/routing/navigationHooks.ts +0 -0
  455. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/routing/url.ts +0 -0
  456. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/InlineSampleDisplay.module.css +0 -0
  457. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/InlineSampleDisplay.tsx +0 -0
  458. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/SampleDialog.tsx +0 -0
  459. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/SampleDisplay.module.css +0 -0
  460. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/SampleDisplay.tsx +0 -0
  461. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/SampleSummaryView.module.css +0 -0
  462. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/SampleSummaryView.tsx +0 -0
  463. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/SamplesTools.tsx +0 -0
  464. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessage.module.css +0 -0
  465. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessage.tsx +0 -0
  466. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessageRenderer.tsx +0 -0
  467. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessageRow.module.css +0 -0
  468. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatMessageRow.tsx +0 -0
  469. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatView.tsx +0 -0
  470. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatViewVirtualList.module.css +0 -0
  471. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/ChatViewVirtualList.tsx +0 -0
  472. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/MessageContent.module.css +0 -0
  473. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/MessageContent.tsx +0 -0
  474. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/MessageContents.module.css +0 -0
  475. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/MessageContents.tsx +0 -0
  476. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/messages.ts +0 -0
  477. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolCallView.module.css +0 -0
  478. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolCallView.tsx +0 -0
  479. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolInput.module.css +0 -0
  480. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolInput.tsx +0 -0
  481. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolOutput.module.css +0 -0
  482. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolOutput.tsx +0 -0
  483. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolTitle.module.css +0 -0
  484. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/ToolTitle.tsx +0 -0
  485. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/tools/tool.ts +0 -0
  486. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/chat/types.ts +0 -0
  487. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/samplesDescriptor.tsx +0 -0
  488. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/BooleanScoreDescriptor.module.css +0 -0
  489. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/BooleanScoreDescriptor.tsx +0 -0
  490. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/CategoricalScoreDescriptor.tsx +0 -0
  491. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/NumericScoreDescriptor.tsx +0 -0
  492. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/ObjectScoreDescriptor.module.css +0 -0
  493. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/ObjectScoreDescriptor.tsx +0 -0
  494. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/OtherScoreDescriptor.tsx +0 -0
  495. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/PassFailScoreDescriptor.module.css +0 -0
  496. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/PassFailScoreDescriptor.tsx +0 -0
  497. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/score/ScoreDescriptor.tsx +0 -0
  498. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/descriptor/types.ts +0 -0
  499. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/error/FlatSampleErrorView.module.css +0 -0
  500. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/error/FlatSampleErrorView.tsx +0 -0
  501. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/error/SampleErrorView.module.css +0 -0
  502. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/error/SampleErrorView.tsx +0 -0
  503. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/error/error.ts +0 -0
  504. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleFooter.module.css +0 -0
  505. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleFooter.tsx +0 -0
  506. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleHeader.module.css +0 -0
  507. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleHeader.tsx +0 -0
  508. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleList.module.css +0 -0
  509. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleList.tsx +0 -0
  510. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleRow.module.css +0 -0
  511. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleRow.tsx +0 -0
  512. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleSeparator.module.css +0 -0
  513. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/list/SampleSeparator.tsx +0 -0
  514. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/EpochFilter.module.css +0 -0
  515. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/EpochFilter.tsx +0 -0
  516. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/SelectScorer.module.css +0 -0
  517. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/SelectScorer.tsx +0 -0
  518. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/SortFilter.module.css +0 -0
  519. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/SortFilter.tsx +0 -0
  520. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/filters.ts +0 -0
  521. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/SampleFilter.module.css +0 -0
  522. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/SampleFilter.tsx +0 -0
  523. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/completions.ts +0 -0
  524. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/language.ts +0 -0
  525. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/tokenize.ts +0 -0
  526. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sampleDataAdapter.ts +0 -0
  527. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/sampleLimit.ts +0 -0
  528. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScores.module.css +0 -0
  529. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScores.tsx +0 -0
  530. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScoresGrid.module.css +0 -0
  531. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScoresGrid.tsx +0 -0
  532. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScoresView.module.css +0 -0
  533. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/scores/SampleScoresView.tsx +0 -0
  534. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ApprovalEventView.tsx +0 -0
  535. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ErrorEventView.tsx +0 -0
  536. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/InfoEventView.module.css +0 -0
  537. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/InfoEventView.tsx +0 -0
  538. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/InputEventView.tsx +0 -0
  539. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/LoggerEventView.module.css +0 -0
  540. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/LoggerEventView.tsx +0 -0
  541. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ModelEventView.module.css +0 -0
  542. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ModelEventView.tsx +0 -0
  543. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SampleInitEventView.module.css +0 -0
  544. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SampleInitEventView.tsx +0 -0
  545. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SampleLimitEventView.tsx +0 -0
  546. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SandboxEventView.module.css +0 -0
  547. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SandboxEventView.tsx +0 -0
  548. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ScoreEventView.module.css +0 -0
  549. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ScoreEventView.tsx +0 -0
  550. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SpanEventView.tsx +0 -0
  551. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/StepEventView.tsx +0 -0
  552. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SubtaskEventView.module.css +0 -0
  553. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/SubtaskEventView.tsx +0 -0
  554. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ToolEventView.module.css +0 -0
  555. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/ToolEventView.tsx +0 -0
  556. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/TranscriptView.module.css +0 -0
  557. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/TranscriptView.tsx +0 -0
  558. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/TranscriptVirtualListComponent.module.css +0 -0
  559. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/TranscriptVirtualListComponent.tsx +0 -0
  560. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventNav.module.css +0 -0
  561. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventNav.tsx +0 -0
  562. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventNavs.module.css +0 -0
  563. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventNavs.tsx +0 -0
  564. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventPanel.module.css +0 -0
  565. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventPanel.tsx +0 -0
  566. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventProgressPanel.module.css +0 -0
  567. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventProgressPanel.tsx +0 -0
  568. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventRow.module.css +0 -0
  569. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventRow.tsx +0 -0
  570. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventSection.module.css +0 -0
  571. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventSection.tsx +0 -0
  572. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventTimingPanel.module.css +0 -0
  573. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/EventTimingPanel.tsx +0 -0
  574. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/event/utils.ts +0 -0
  575. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateDiffView.tsx +0 -0
  576. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateEventRenderers.tsx +0 -0
  577. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateEventRenders.module.css +0 -0
  578. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateEventView.module.css +0 -0
  579. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/state/StateEventView.tsx +0 -0
  580. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/transform/fixups.ts +0 -0
  581. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/transform/treeify.ts +0 -0
  582. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/transform/utils.ts +0 -0
  583. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/samples/transcript/types.ts +0 -0
  584. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/EvalStatus.module.css +0 -0
  585. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/EvalStatus.tsx +0 -0
  586. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/LogDirectoryTitleView.module.css +0 -0
  587. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/LogDirectoryTitleView.tsx +0 -0
  588. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/Sidebar.module.css +0 -0
  589. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/Sidebar.tsx +0 -0
  590. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/SidebarLogEntry.module.css +0 -0
  591. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/SidebarLogEntry.tsx +0 -0
  592. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/SidebarScoreView.module.css +0 -0
  593. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/SidebarScoreView.tsx +0 -0
  594. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/SidebarScoresView.module.css +0 -0
  595. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/sidebar/SidebarScoresView.tsx +0 -0
  596. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/types.ts +0 -0
  597. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/ModelTokenTable.tsx +0 -0
  598. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/ModelUsagePanel.module.css +0 -0
  599. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/ModelUsagePanel.tsx +0 -0
  600. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/TokenTable.module.css +0 -0
  601. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/TokenTable.tsx +0 -0
  602. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/UsageCard.module.css +0 -0
  603. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/app/usage/UsageCard.tsx +0 -0
  604. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/api-browser.ts +0 -0
  605. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/api-http.ts +0 -0
  606. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/api-shared.ts +0 -0
  607. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/api-vscode.ts +0 -0
  608. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/client-api.ts +0 -0
  609. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/index.ts +0 -0
  610. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/jsonrpc.ts +0 -0
  611. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/api/types.ts +0 -0
  612. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/remote/remoteLogFile.ts +0 -0
  613. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/remote/remoteZipFile.ts +0 -0
  614. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/client/storage/index.ts +0 -0
  615. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/AnsiDisplay.css +0 -0
  616. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/AnsiDisplay.tsx +0 -0
  617. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/AsciinemaPlayer.tsx +0 -0
  618. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/Card.css +0 -0
  619. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/Card.tsx +0 -0
  620. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/CopyButton.module.css +0 -0
  621. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/CopyButton.tsx +0 -0
  622. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/DownloadButton.css +0 -0
  623. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/DownloadButton.tsx +0 -0
  624. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/DownloadPanel.css +0 -0
  625. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/DownloadPanel.tsx +0 -0
  626. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/EmptyPanel.css +0 -0
  627. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/EmptyPanel.tsx +0 -0
  628. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ErrorPanel.css +0 -0
  629. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ErrorPanel.tsx +0 -0
  630. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ExpandablePanel.module.css +0 -0
  631. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ExpandablePanel.tsx +0 -0
  632. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/FindBand.css +0 -0
  633. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/FindBand.tsx +0 -0
  634. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/HumanBaselineView.css +0 -0
  635. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/HumanBaselineView.tsx +0 -0
  636. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/JsonPanel.css +0 -0
  637. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/JsonPanel.tsx +0 -0
  638. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LabeledValue.css +0 -0
  639. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LabeledValue.tsx +0 -0
  640. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LargeModal.module.css +0 -0
  641. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LargeModal.tsx +0 -0
  642. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LightboxCarousel.module.css +0 -0
  643. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LightboxCarousel.tsx +0 -0
  644. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LinkButton.module.css +0 -0
  645. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LinkButton.tsx +0 -0
  646. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LiveVirtualList.module.css +0 -0
  647. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/LiveVirtualList.tsx +0 -0
  648. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/MarkdownDiv.css +0 -0
  649. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/MarkdownDiv.tsx +0 -0
  650. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/MessageBand.css +0 -0
  651. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/MessageBand.tsx +0 -0
  652. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/Modal.module.css +0 -0
  653. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/Modal.tsx +0 -0
  654. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/MorePopOver.css +0 -0
  655. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/MorePopOver.tsx +0 -0
  656. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/NavPills.module.css +0 -0
  657. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/NavPills.tsx +0 -0
  658. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/NoContentsPanel.module.css +0 -0
  659. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/NoContentsPanel.tsx +0 -0
  660. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ProgressBar.module.css +0 -0
  661. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ProgressBar.tsx +0 -0
  662. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/PulsingDots.module.css +0 -0
  663. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/PulsingDots.tsx +0 -0
  664. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/TabSet.module.css +0 -0
  665. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/TabSet.tsx +0 -0
  666. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ToolButton.css +0 -0
  667. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/components/ToolButton.tsx +0 -0
  668. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/constants.ts +0 -0
  669. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/index.tsx +0 -0
  670. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/appSlice.ts +0 -0
  671. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/hooks.ts +0 -0
  672. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/logPolling.ts +0 -0
  673. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/logSlice.ts +0 -0
  674. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/logsPolling.ts +0 -0
  675. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/logsSlice.ts +0 -0
  676. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/samplePolling.ts +0 -0
  677. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/sampleSlice.ts +0 -0
  678. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/sampleUtils.ts +0 -0
  679. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/scoring.ts +0 -0
  680. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/scrolling.ts +0 -0
  681. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/store.ts +0 -0
  682. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/store_filter.ts +0 -0
  683. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/state/utils.ts +0 -0
  684. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/README.md +0 -0
  685. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/__mocks__/fileMock.js +0 -0
  686. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/__mocks__/styleMock.js +0 -0
  687. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/setupTests.mjs +0 -0
  688. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/utils/base64.test.ts +0 -0
  689. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/utils/format.test.ts +0 -0
  690. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/tests/utils/path.test.ts +0 -0
  691. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/attachments.ts +0 -0
  692. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/base64.ts +0 -0
  693. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/browser.ts +0 -0
  694. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/debugging.ts +0 -0
  695. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/dom.ts +0 -0
  696. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/format.ts +0 -0
  697. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/git.ts +0 -0
  698. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/html.ts +0 -0
  699. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/http.ts +0 -0
  700. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/json-worker.ts +0 -0
  701. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/json.ts +0 -0
  702. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/logger.ts +0 -0
  703. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/numeric.ts +0 -0
  704. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/path.ts +0 -0
  705. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/polling.ts +0 -0
  706. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/print.ts +0 -0
  707. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/queue.ts +0 -0
  708. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/react.ts +0 -0
  709. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/sync.ts +0 -0
  710. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/type.ts +0 -0
  711. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/uri.ts +0 -0
  712. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/src/utils/vscode.ts +0 -0
  713. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/tsconfig.json +0 -0
  714. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/vite.config.js +0 -0
  715. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/_view/www/yarn.lock +0 -0
  716. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/__init__.py +0 -0
  717. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_agent.py +0 -0
  718. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_as_solver.py +0 -0
  719. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_as_tool.py +0 -0
  720. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_bridge/__init__.py +0 -0
  721. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_bridge/bridge.py +0 -0
  722. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_bridge/patch.py +0 -0
  723. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_filter.py +0 -0
  724. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_handoff.py +0 -0
  725. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/__init__.py +0 -0
  726. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/agent.py +0 -0
  727. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/__init__.py +0 -0
  728. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/clock.py +0 -0
  729. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/command.py +0 -0
  730. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/instructions.py +0 -0
  731. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/note.py +0 -0
  732. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/score.py +0 -0
  733. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/status.py +0 -0
  734. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/commands/submit.py +0 -0
  735. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/install.py +0 -0
  736. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/panel.py +0 -0
  737. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/service.py +0 -0
  738. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/state.py +0 -0
  739. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_human/view.py +0 -0
  740. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_react.py +0 -0
  741. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/agent/_run.py +0 -0
  742. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/__init__.py +0 -0
  743. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/__init__.py +0 -0
  744. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/columns.py +0 -0
  745. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/evals/__init__.py +0 -0
  746. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/evals/columns.py +0 -0
  747. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/evals/extract.py +0 -0
  748. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/events/__init__.py +0 -0
  749. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/messages/__init__.py +0 -0
  750. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/messages/columns.py +1 -1
  751. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/messages/extract.py +0 -0
  752. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/record.py +0 -0
  753. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/samples/__init__.py +0 -0
  754. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/analysis/beta/_dataframe/validate.py +0 -0
  755. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/__init__.py +0 -0
  756. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_apply.py +0 -0
  757. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_approval.py +0 -0
  758. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_approver.py +0 -0
  759. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_auto.py +0 -0
  760. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_call.py +0 -0
  761. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_human/__init__.py +0 -0
  762. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_human/approver.py +0 -0
  763. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_human/console.py +0 -0
  764. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_human/manager.py +0 -0
  765. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_human/panel.py +0 -0
  766. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_human/util.py +0 -0
  767. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_policy.py +0 -0
  768. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/approval/_registry.py +0 -0
  769. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/__init__.py +0 -0
  770. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_dataset.py +0 -0
  771. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_examples/bias_detection.jsonl +0 -0
  772. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_examples/biology_qa.jsonl +0 -0
  773. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_examples/popularity.jsonl +0 -0
  774. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_examples/security_guide.jsonl +0 -0
  775. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_examples/theory_of_mind.jsonl +0 -0
  776. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/__init__.py +0 -0
  777. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/csv.py +0 -0
  778. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/example.py +0 -0
  779. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/file.py +0 -0
  780. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/hf.py +0 -0
  781. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/json.py +0 -0
  782. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_sources/util.py +0 -0
  783. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/dataset/_util.py +0 -0
  784. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/__init__.py +0 -0
  785. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_bundle.py +0 -0
  786. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_condense.py +0 -0
  787. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_convert.py +0 -0
  788. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_log.py +0 -0
  789. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_message.py +0 -0
  790. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_model.py +0 -0
  791. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/__init__.py +0 -0
  792. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/buffer/__init__.py +0 -0
  793. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/buffer/buffer.py +0 -0
  794. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/buffer/database.py +0 -0
  795. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/buffer/filestore.py +0 -0
  796. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/buffer/types.py +0 -0
  797. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/create.py +0 -0
  798. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/eval.py +0 -0
  799. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/file.py +0 -0
  800. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/json.py +0 -0
  801. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/recorder.py +0 -0
  802. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_recorders/types.py +0 -0
  803. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_retry.py +0 -0
  804. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_samples.py +0 -0
  805. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_transcript.py +0 -0
  806. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_tree.py +0 -0
  807. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/log/_util.py +0 -0
  808. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/__init__.py +0 -0
  809. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_cache.py +0 -0
  810. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_call_tools.py +0 -0
  811. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_chat_message.py +0 -0
  812. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_conversation.py +0 -0
  813. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_display.py +0 -0
  814. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_generate_config.py +0 -0
  815. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_model.py +0 -0
  816. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_model_call.py +0 -0
  817. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_model_output.py +0 -0
  818. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_openai.py +0 -0
  819. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_openai_computer_use.py +0 -0
  820. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_openai_responses.py +0 -0
  821. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/anthropic.py +0 -0
  822. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/azureai.py +0 -0
  823. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/bedrock.py +0 -0
  824. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/cloudflare.py +0 -0
  825. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/google.py +0 -0
  826. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/grok.py +0 -0
  827. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/groq.py +0 -0
  828. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/hf.py +0 -0
  829. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/llama_cpp_python.py +0 -0
  830. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/mistral.py +0 -0
  831. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/mockllm.py +0 -0
  832. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/none.py +0 -0
  833. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/ollama.py +0 -0
  834. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/openai.py +0 -0
  835. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/openai_compatible.py +0 -0
  836. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/openai_o1.py +0 -0
  837. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/openai_responses.py +0 -0
  838. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/openrouter.py +0 -0
  839. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/providers.py +0 -0
  840. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/sglang.py +0 -0
  841. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/together.py +0 -0
  842. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/util/__init__.py +0 -0
  843. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/util/chatapi.py +0 -0
  844. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/util/hf_handler.py +0 -0
  845. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/util/hooks.py +0 -0
  846. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/util/llama31.py +0 -0
  847. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/util/util.py +0 -0
  848. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/vertex.py +0 -0
  849. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_providers/vllm.py +0 -0
  850. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_reasoning.py +0 -0
  851. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_registry.py +0 -0
  852. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_render.py +0 -0
  853. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/model/_trim.py +0 -0
  854. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/py.typed +0 -0
  855. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/__init__.py +0 -0
  856. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_answer.py +0 -0
  857. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_choice.py +0 -0
  858. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_classification.py +0 -0
  859. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_common.py +0 -0
  860. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_match.py +0 -0
  861. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_metric.py +0 -0
  862. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_metrics/__init__.py +0 -0
  863. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_metrics/accuracy.py +0 -0
  864. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_metrics/grouped.py +0 -0
  865. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_metrics/mean.py +0 -0
  866. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_metrics/std.py +0 -0
  867. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_model.py +0 -0
  868. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_multi.py +0 -0
  869. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_pattern.py +0 -0
  870. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_reducer/__init__.py +0 -0
  871. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_reducer/reducer.py +0 -0
  872. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_reducer/registry.py +0 -0
  873. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_reducer/types.py +0 -0
  874. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_score.py +0 -0
  875. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_scorer.py +0 -0
  876. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/scorer/_target.py +0 -0
  877. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/__init__.py +0 -0
  878. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_basic_agent.py +0 -0
  879. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_bridge.py +0 -0
  880. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_chain.py +0 -0
  881. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_critique.py +0 -0
  882. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_fork.py +0 -0
  883. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_human_agent.py +0 -0
  884. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_multiple_choice.py +0 -0
  885. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_plan.py +0 -0
  886. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_prompt.py +0 -0
  887. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_run.py +0 -0
  888. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_solver.py +0 -0
  889. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_transcript.py +0 -0
  890. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_use_tools.py +0 -0
  891. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/solver/_util.py +0 -0
  892. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/__init__.py +0 -0
  893. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_json_rpc_helpers.py +0 -0
  894. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/__init__.py +0 -0
  895. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/_context.py +0 -0
  896. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/_mcp.py +0 -0
  897. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/_types.py +0 -0
  898. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/connection.py +0 -0
  899. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/sampling.py +0 -0
  900. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/server.py +0 -0
  901. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_mcp/tools.py +0 -0
  902. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool.py +0 -0
  903. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_call.py +0 -0
  904. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_choice.py +0 -0
  905. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_def.py +0 -0
  906. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_description.py +0 -0
  907. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_info.py +0 -0
  908. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_params.py +0 -0
  909. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_support_helpers.py +0 -0
  910. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_transcript.py +0 -0
  911. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tool_with.py +0 -0
  912. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/__init__.py +0 -0
  913. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_bash_session.py +0 -0
  914. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_computer/__init__.py +0 -0
  915. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_computer/_common.py +0 -0
  916. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_computer/_computer.py +0 -0
  917. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_execute.py +0 -0
  918. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_text_editor.py +0 -0
  919. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_think.py +0 -0
  920. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_browser/__init__.py +0 -0
  921. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_browser/_back_compat.py +0 -0
  922. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_browser/_web_browser.py +0 -0
  923. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_search/__init__.py +0 -0
  924. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_search/_google.py +0 -0
  925. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_search/_tavily.py +0 -0
  926. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/_tools/_web_search/_web_search.py +0 -0
  927. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/tool/beta.py +0 -0
  928. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/__init__.py +0 -0
  929. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_anyio.py +0 -0
  930. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_collect.py +0 -0
  931. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_concurrency.py +0 -0
  932. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_console.py +0 -0
  933. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_conversation.py +0 -0
  934. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_display.py +0 -0
  935. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_json.py +0 -0
  936. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_limit.py +0 -0
  937. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_limited_conversation.py +0 -0
  938. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_panel.py +0 -0
  939. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_resource.py +0 -0
  940. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/__init__.py +0 -0
  941. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/context.py +0 -0
  942. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/cleanup.py +0 -0
  943. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/compose.py +0 -0
  944. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/config.py +0 -0
  945. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/docker.py +0 -0
  946. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/internal.py +0 -0
  947. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/prereqs.py +0 -0
  948. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/service.py +0 -0
  949. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/docker/util.py +0 -0
  950. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/environment.py +0 -0
  951. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/events.py +0 -0
  952. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/limits.py +0 -0
  953. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/local.py +0 -0
  954. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/registry.py +0 -0
  955. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/self_check.py +0 -0
  956. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_sandbox/service.py +0 -0
  957. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_span.py +0 -0
  958. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_store.py +0 -0
  959. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_store_model.py +0 -0
  960. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_subprocess.py +0 -0
  961. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_subtask.py +0 -0
  962. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai/util/_throttle.py +0 -0
  963. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai.egg-info/dependency_links.txt +0 -0
  964. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai.egg-info/entry_points.txt +0 -0
  965. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_ai.egg-info/top_level.txt +0 -0
  966. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/.bumpversion.cfg +0 -0
  967. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/.pylintrc +0 -0
  968. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/.vscode/launch.json +0 -0
  969. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/.vscode/settings.json +0 -0
  970. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/CHANGELOG.md +0 -0
  971. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/Dockerfile +0 -0
  972. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/Dockerfile.kali +0 -0
  973. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/Dockerfile.ubuntu +0 -0
  974. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/MANIFEST.in +0 -0
  975. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/README.md +0 -0
  976. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/cspell.json +0 -0
  977. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/kali-archive-keyring.gpg +0 -0
  978. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/make-release-commit +0 -0
  979. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/pyproject.toml +0 -0
  980. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/shared_tool_container_design.svg +0 -0
  981. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/__init__.py +0 -0
  982. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/__main__.py +0 -0
  983. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_cli/__init__.py +0 -0
  984. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_cli/_post_install.py +0 -0
  985. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_cli/main.py +0 -0
  986. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_cli/server.py +0 -0
  987. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/__init__.py +0 -0
  988. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/__init__.py +0 -0
  989. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/_run.py +0 -0
  990. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/json_rpc_methods.py +0 -0
  991. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/text_editor.py +0 -0
  992. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_text_editor/tool_types.py +0 -0
  993. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_version/__init__.py +0 -0
  994. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_in_process_tools/_version/json_rpc_methods.py +0 -0
  995. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/__init__.py +0 -0
  996. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/__init__.py +0 -0
  997. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/_controller.py +0 -0
  998. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/_process.py +0 -0
  999. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/_session.py +0 -0
  1000. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/json_rpc_methods.py +0 -0
  1001. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_bash_session/tool_types.py +0 -0
  1002. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_mcp/__init__.py +0 -0
  1003. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_mcp/json_rpc_methods.py +0 -0
  1004. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_mcp/mcp_server_session.py +0 -0
  1005. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_mcp/tool_types.py +0 -0
  1006. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/README.md +0 -0
  1007. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/__init__.py +0 -0
  1008. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/accessibility_tree.py +0 -0
  1009. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/accessibility_tree_node.py +0 -0
  1010. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/__init__.py +0 -0
  1011. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/a11y.py +0 -0
  1012. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/dom.py +0 -0
  1013. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/dom_snapshot.py +0 -0
  1014. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/cdp/page.py +0 -0
  1015. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/constants.py +0 -0
  1016. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/controller.py +0 -0
  1017. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/images/usage_diagram.svg +0 -0
  1018. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/json_rpc_methods.py +0 -0
  1019. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/mock_environment.py +0 -0
  1020. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/playwright_browser.py +0 -0
  1021. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/playwright_crawler.py +0 -0
  1022. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/playwright_page_crawler.py +0 -0
  1023. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/rectangle.py +0 -0
  1024. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/scale_factor.py +0 -0
  1025. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/test_accessibility_tree_node.py +0 -0
  1026. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/test_playwright_crawler.py +0 -0
  1027. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/test_rectangle.py +0 -0
  1028. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/test_web_client.py +0 -0
  1029. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_remote_tools/_web_browser/tool_types.py +0 -0
  1030. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/__init__.py +0 -0
  1031. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/async_decoded_stream_reader.py +0 -0
  1032. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/common_types.py +0 -0
  1033. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/constants.py +0 -0
  1034. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/debugging.py +0 -0
  1035. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/json_rpc_helpers.py +0 -0
  1036. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/load_tools.py +0 -0
  1037. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/pseudo_terminal.py +0 -0
  1038. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/semver.py +0 -0
  1039. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/session_controller.py +0 -0
  1040. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/test_async_decoded_stream_reader.py +0 -0
  1041. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/timeout_event.py +0 -0
  1042. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/src/inspect_tool_support/src/inspect_tool_support/_util/validation.py +0 -0
  1043. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/_human/test_state.py +0 -0
  1044. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/compose.human.yaml +0 -0
  1045. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/compose.yaml +0 -0
  1046. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/human.Dockerfile +0 -0
  1047. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/test_agent_description.py +0 -0
  1048. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/test_agent_docs.py +0 -0
  1049. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/test_agent_execute.py +0 -0
  1050. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/test_agent_handoff.py +0 -0
  1051. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/test_agent_human.py +0 -0
  1052. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/agent/test_agent_react.py +0 -0
  1053. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/analysis/test_expand.py +0 -0
  1054. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/analysis/test_import.py +0 -0
  1055. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/analysis/test_validate.py +0 -0
  1056. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/approval/approve.yaml +0 -0
  1057. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/approval/escalate.yaml +0 -0
  1058. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/approval/modify.yaml +0 -0
  1059. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/approval/reject.yaml +0 -0
  1060. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/approval/terminate.yaml +0 -0
  1061. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/approval/test_approval.py +0 -0
  1062. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/conftest.py +0 -0
  1063. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/dataset.jsonl +0 -0
  1064. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/images/ballons.png +0 -0
  1065. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/images.jsonl +0 -0
  1066. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/samples-md.csv +0 -0
  1067. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/samples-md.json +0 -0
  1068. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/samples-md.jsonl +0 -0
  1069. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/samples.csv +0 -0
  1070. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/samples.json +0 -0
  1071. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset/samples.jsonl +0 -0
  1072. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/dataset/test_dataset.py +0 -0
  1073. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_formats.eval +0 -0
  1074. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_formats.json +0 -0
  1075. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_images.json +0 -0
  1076. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_images_tc.json +0 -0
  1077. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_invalid.txt +0 -0
  1078. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_length_stop_reason.txt +0 -0
  1079. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_streaming.eval +0 -0
  1080. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_tool_call_error.json +0 -0
  1081. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_valid.txt +0 -0
  1082. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_version_3.txt +0 -0
  1083. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log/log_with_nan.txt +0 -0
  1084. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_eval_log.py +0 -0
  1085. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_event_tree.py +0 -0
  1086. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_list_logs/2024-11-05T13-31-45-05-00_input-task_8zXjbRzCWrL9GXiXo2vus9.json +0 -0
  1087. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_list_logs/2024-11-05T13-32-37-05-00_input-task_hxs4q9azL3ySGkjJirypKZ.eval +0 -0
  1088. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_list_logs/custom.eval +0 -0
  1089. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_list_logs/ignore.json +0 -0
  1090. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_list_logs.py +0 -0
  1091. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_attachments.py +0 -0
  1092. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_eventdb.py +0 -0
  1093. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_eventdb_sync.py +0 -0
  1094. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_filename.py +0 -0
  1095. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_formats.py +0 -0
  1096. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_level.py +0 -0
  1097. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_message_id.py +0 -0
  1098. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_streaming.py +0 -0
  1099. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_summaries.py +0 -0
  1100. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/log/test_log_tags.py +0 -0
  1101. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/__init__.py +0 -0
  1102. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/gatsby.txt +0 -0
  1103. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_anthropic.py +0 -0
  1104. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_azureai.py +0 -0
  1105. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_cloudflare.py +0 -0
  1106. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_google.py +0 -0
  1107. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_grok.py +0 -0
  1108. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_groq.py +0 -0
  1109. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_hf.py +0 -0
  1110. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_llama_cpp_python.py +0 -0
  1111. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_mistral.py +0 -0
  1112. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_openai.py +0 -0
  1113. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_openai_compatible.py +0 -0
  1114. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_openai_o1.py +0 -0
  1115. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_openai_responses.py +0 -0
  1116. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_vertex.py +0 -0
  1117. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/providers/test_vllm.py +0 -0
  1118. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_api_key.py +0 -0
  1119. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_cache.py +0 -0
  1120. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_collapse_assistant_message.py +0 -0
  1121. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_collapse_user_message.py +0 -0
  1122. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_disable.py +0 -0
  1123. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_generate_loop.py +0 -0
  1124. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_get_model.py +0 -0
  1125. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_is_rate_limit.py +0 -0
  1126. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_logprobs.py +0 -0
  1127. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_mock_model_llm.py +0 -0
  1128. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_model_length.py +0 -0
  1129. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_model_output.py +0 -0
  1130. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_model_roles.py +0 -0
  1131. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_no_model.py +0 -0
  1132. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_num_choices.py +0 -0
  1133. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_parse_tool_call.py +0 -0
  1134. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_reasoning_claude.py +0 -0
  1135. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_reasoning_content.py +0 -0
  1136. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_reasoning_google.py +0 -0
  1137. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_reasoning_grok.py +0 -0
  1138. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_reasoning_openai.py +0 -0
  1139. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_reasoning_parse.py +0 -0
  1140. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_stop_reason.py +0 -0
  1141. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_structured_output.py +0 -0
  1142. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_tool_result_images_as_user_message.py +0 -0
  1143. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/model/test_trim_messages.py +0 -0
  1144. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/logs/2025-02-11T15-17-00-05-00_popularity_dPiJifoWeEQBrfWsAopzWr.eval +0 -0
  1145. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/logs/2025-02-11T15-18-04-05-00_popularity_mj7khqpMM4GBCfVQozKgzB.eval +0 -0
  1146. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_answer.py +0 -0
  1147. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_choice.py +0 -0
  1148. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_classification.py +0 -0
  1149. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_match.py +0 -0
  1150. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_metric.py +0 -0
  1151. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_model_graded.py +0 -0
  1152. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_multiscorer.py +0 -0
  1153. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_pattern.py +0 -0
  1154. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_reducers.py +0 -0
  1155. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_scorer.py +0 -0
  1156. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_task_score.py +0 -0
  1157. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/scorer/test_value_to_float.py +0 -0
  1158. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_basic_agent.py +0 -0
  1159. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_bridge.py +0 -0
  1160. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_chain.py +0 -0
  1161. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_fork.py +0 -0
  1162. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_multiple_choice.py +0 -0
  1163. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_prompt.py +0 -0
  1164. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_score.py +0 -0
  1165. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_setup.py +0 -0
  1166. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_solver.py +0 -0
  1167. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_solver_decorator.py +0 -0
  1168. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_solver_spec.py +0 -0
  1169. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_store.py +0 -0
  1170. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_store_model.py +0 -0
  1171. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_subtask.py +0 -0
  1172. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/solver/test_transcript.py +0 -0
  1173. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval.py +0 -0
  1174. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_config/model.yaml +0 -0
  1175. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_config/solver.yaml +0 -0
  1176. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_config/task.yaml +0 -0
  1177. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_config.py +0 -0
  1178. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_set/2024-08-29T15-11-17+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
  1179. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_set/2024-08-29T15-11-18+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
  1180. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_eval_set.py +0 -0
  1181. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_examples.py +0 -0
  1182. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_extensions.py +0 -0
  1183. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_fail_on_error.py +0 -0
  1184. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/__init__.py +0 -0
  1185. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/file_runner.py +0 -0
  1186. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/limits.py +0 -0
  1187. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/tasks.py +0 -0
  1188. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/tool_call_utils.py +0 -0
  1189. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/tools.py +0 -0
  1190. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_helpers/utils.py +0 -0
  1191. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_list_task.py +0 -0
  1192. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_log_dir/example_task/example_task.py +0 -0
  1193. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_log_dir/test_log_dir.py +0 -0
  1194. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_metadata.py +0 -0
  1195. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/.gitignore +0 -0
  1196. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/__init__.py +0 -0
  1197. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/_registry.py +0 -0
  1198. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/approvers/renamer.py +0 -0
  1199. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/modelapi/custom.py +0 -0
  1200. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/py.typed +0 -0
  1201. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/sandboxenv/podman.py +0 -0
  1202. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/score/scorer.py +0 -0
  1203. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/inspect_package/solvers/cot.py +0 -0
  1204. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_package/pyproject.toml +0 -0
  1205. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_retry.py +0 -0
  1206. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_retry_on_error.py +0 -0
  1207. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_sample_id.py +0 -0
  1208. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_sample_limits.py +0 -0
  1209. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_attr.py +0 -0
  1210. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/__init__.py +0 -0
  1211. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/attribs.ipynb +0 -0
  1212. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/multiple.py +0 -0
  1213. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/multiple_dir/_decoy/testit.py +0 -0
  1214. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/multiple_dir/_decoy2.py +0 -0
  1215. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/multiple_dir/bar.py +0 -0
  1216. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/multiple_dir/foo.py +0 -0
  1217. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/recurse/.folder3/epsilon.py +0 -0
  1218. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/recurse/folder1/_decoy.py +0 -0
  1219. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/recurse/folder1/theta.py +0 -0
  1220. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/recurse/folder2/.folder3/epsilon.py +0 -0
  1221. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/recurse/folder2/another.py +0 -0
  1222. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_list/recurse/folder2/first.py +0 -0
  1223. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_model.py +0 -0
  1224. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/test_task_with.py +0 -0
  1225. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/docker-compose-context/Dockerfile +0 -0
  1226. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/docker-compose-context-alpine/Dockerfile +0 -0
  1227. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/docker-mcp-server/Dockerfile +0 -0
  1228. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_bash_tool.py +0 -0
  1229. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_call_tools.py +0 -0
  1230. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_inspect_tool_support.py +0 -0
  1231. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_inspect_tool_support.yaml +0 -0
  1232. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_max_exec_output.py +0 -0
  1233. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_max_tool_output.py +0 -0
  1234. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_mcp_tools.py +0 -0
  1235. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_python_tool.py +0 -0
  1236. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_sandbox_compose.yaml +0 -0
  1237. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_sandbox_compose_alpine.yaml +0 -0
  1238. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_sandbox_docker_and_local.py +0 -0
  1239. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_sandbox_dockerfile.py +0 -0
  1240. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_sandbox_tool_eval.py +0 -0
  1241. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_think_tool.py +0 -0
  1242. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_def.py +0 -0
  1243. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_error.py +0 -0
  1244. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_images.py +0 -0
  1245. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_parse.py +0 -0
  1246. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_source.py +0 -0
  1247. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_truncate.py +0 -0
  1248. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_types.py +0 -0
  1249. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_view.py +0 -0
  1250. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tool_with.py +0 -0
  1251. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_tools.py +0 -0
  1252. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_use_tools.py +0 -0
  1253. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/tools/test_web_browser.py +0 -0
  1254. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/Dockerfile +0 -0
  1255. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/Dockerfile.debug +0 -0
  1256. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/compose.dynamic-image.yaml +0 -0
  1257. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/compose.sandbox-service.yaml +0 -0
  1258. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/debug.Dockerfile +0 -0
  1259. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/docker_compose_multiple_services/docker-compose.yaml +0 -0
  1260. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/sandbox-service.Dockerfile +0 -0
  1261. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/sandbox_setup.sh +0 -0
  1262. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/sandbox_setup_error.sh +0 -0
  1263. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/sandbox_setup_symlink.sh +0 -0
  1264. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_docker_compose_multiple_services.py +0 -0
  1265. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_docker_dynamic_image.py +0 -0
  1266. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_docker_filenames.py +0 -0
  1267. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_docker_healthcheck.py +0 -0
  1268. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_multi_sandbox_context_management.py +0 -0
  1269. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_sandbox_service.py +0 -0
  1270. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/sandbox/test_sandbox_setup.py +0 -0
  1271. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_anyio.py +0 -0
  1272. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_display_counter.py +0 -0
  1273. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_file.py +0 -0
  1274. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_format_template.py +0 -0
  1275. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_images/images.jsonl +0 -0
  1276. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_images.py +0 -0
  1277. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_kvstore.py +0 -0
  1278. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_limit.py +0 -0
  1279. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_limit_message.py +0 -0
  1280. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_limit_token.py +0 -0
  1281. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_media/audio.jsonl +0 -0
  1282. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_media/sample.mp3 +0 -0
  1283. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_media/sample.wav +0 -0
  1284. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_media/video.jsonl +0 -0
  1285. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_media/video.mp4 +0 -0
  1286. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_media.py +0 -0
  1287. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_package.py +0 -0
  1288. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_registry.py +0 -0
  1289. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_str_to_float.py +0 -0
  1290. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_subprocess.py +0 -0
  1291. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/util/test_truncate.py +0 -0
  1292. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tests/view/test_bundle.py +0 -0
  1293. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.gitignore +0 -0
  1294. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.vscode/extensions.json +0 -0
  1295. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.vscode/launch.json +0 -0
  1296. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.vscode/settings.json +0 -0
  1297. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.vscode/tasks.json +0 -0
  1298. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.vscode-test.mjs +0 -0
  1299. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.vscodeignore +0 -0
  1300. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/.yarnrc +0 -0
  1301. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/CHANGELOG.md +0 -0
  1302. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/LICENSE +0 -0
  1303. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/README.md +0 -0
  1304. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/icon/eval-treeview-cancelled.svg +0 -0
  1305. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/icon/eval-treeview-error.svg +0 -0
  1306. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/icon/eval-treeview-started.svg +0 -0
  1307. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/icon/eval-treeview.svg +0 -0
  1308. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/icon/eval.svg +0 -0
  1309. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/logo/inspect.png +0 -0
  1310. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/logo/inspect.svg +0 -0
  1311. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/templates/task.py.template +0 -0
  1312. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/www/codicon/codicon.css +0 -0
  1313. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/www/codicon/codicon.ttf +0 -0
  1314. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/assets/www/view/view-overrides.css +0 -0
  1315. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/eslint.config.mjs +0 -0
  1316. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/package.json +0 -0
  1317. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/@types/hooks.d.ts +0 -0
  1318. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/@types/log.d.ts +0 -0
  1319. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/document.ts +0 -0
  1320. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/error.ts +0 -0
  1321. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/focus.ts +0 -0
  1322. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/notebook.ts +0 -0
  1323. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/symbol.ts +0 -0
  1324. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/task.ts +0 -0
  1325. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/templates.ts +0 -0
  1326. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/components/webview.ts +0 -0
  1327. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/appdirs.ts +0 -0
  1328. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/command.ts +0 -0
  1329. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/dispose.ts +0 -0
  1330. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/env.ts +0 -0
  1331. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/file.ts +0 -0
  1332. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/git.ts +0 -0
  1333. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/jsonrpc.ts +0 -0
  1334. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/log.ts +0 -0
  1335. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/nonce.ts +0 -0
  1336. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/path.ts +0 -0
  1337. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/port.ts +0 -0
  1338. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/process.ts +0 -0
  1339. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/python/code.ts +0 -0
  1340. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/python/env.ts +0 -0
  1341. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/python/exec.ts +0 -0
  1342. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/python/index.ts +0 -0
  1343. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/python/interpreter.ts +0 -0
  1344. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/random.ts +0 -0
  1345. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/string.ts +0 -0
  1346. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/text.ts +0 -0
  1347. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/uri.ts +0 -0
  1348. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/vscode/association.ts +0 -0
  1349. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/wait.ts +0 -0
  1350. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/core/workspace.ts +0 -0
  1351. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/extension.ts +0 -0
  1352. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/hooks/hooks.ts +0 -0
  1353. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/hooks/index.ts +0 -0
  1354. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/hooks/preview.ts +0 -0
  1355. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/inspect/index.ts +0 -0
  1356. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/inspect/logs.ts +0 -0
  1357. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/inspect/props.ts +0 -0
  1358. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/inspect/version.ts +0 -0
  1359. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/active-task/active-task-command.ts +0 -0
  1360. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/active-task/active-task-provider.ts +0 -0
  1361. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/activity-bar-provider.ts +0 -0
  1362. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/env-config-provider.ts +0 -0
  1363. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/log-listing/log-directory-selector.ts +0 -0
  1364. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-data.ts +0 -0
  1365. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-mru.ts +0 -0
  1366. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-provider.ts +0 -0
  1367. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-server-queue.ts +0 -0
  1368. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/log-listing/log-listing.ts +0 -0
  1369. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/task-config-commands.ts +0 -0
  1370. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/task-config-provider.ts +0 -0
  1371. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/task-outline-commands.ts +0 -0
  1372. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/task-outline-provider.ts +0 -0
  1373. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.css +0 -0
  1374. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.ts +0 -0
  1375. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.css +0 -0
  1376. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.ts +0 -0
  1377. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/webview/vscode-controls.css +0 -0
  1378. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/activity-bar/webview/webview-utils.ts +0 -0
  1379. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/codelens/codelens-provider.ts +0 -0
  1380. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-commands.ts +0 -0
  1381. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-constants.ts +0 -0
  1382. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-eval-commands.ts +0 -0
  1383. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-eval.ts +0 -0
  1384. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-logs-watcher.ts +0 -0
  1385. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-manager.ts +0 -0
  1386. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/inspect/inspect-view-server.ts +0 -0
  1387. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/lognotify.ts +0 -0
  1388. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/commands.ts +0 -0
  1389. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/log-file-selector.ts +0 -0
  1390. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/logview-editor.ts +0 -0
  1391. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/logview-link-provider.ts +0 -0
  1392. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/logview-panel.ts +0 -0
  1393. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/logview-state.ts +0 -0
  1394. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/logview-view.ts +0 -0
  1395. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/logview/logview.ts +0 -0
  1396. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/openlog.ts +0 -0
  1397. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/protocol-handler.ts +0 -0
  1398. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/settings/inspect-settings.ts +0 -0
  1399. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/settings/user-settings.ts +0 -0
  1400. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/statusbar.ts +0 -0
  1401. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/workspace/workspace-env-commands.ts +0 -0
  1402. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/workspace/workspace-env-provider.ts +0 -0
  1403. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/workspace/workspace-state-provider.ts +0 -0
  1404. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/providers/workspace/workspace-task-provider.ts +0 -0
  1405. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/test/codelens-provider.test.ts +0 -0
  1406. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/test/extension.test.ts +0 -0
  1407. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/test/runTest.ts +0 -0
  1408. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/test/suite/codelens-provider.test.ts +0 -0
  1409. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/test/suite/extension.test.ts +0 -0
  1410. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/src/test/suite/index.ts +0 -0
  1411. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tools/ts-to-mjs/.gitignore +0 -0
  1412. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tools/ts-to-mjs/package.json +0 -0
  1413. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tools/ts-to-mjs/rollup.config.js +0 -0
  1414. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tools/ts-to-mjs/src/index.ts +0 -0
  1415. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tools/ts-to-mjs/src/jsonrpc.ts +0 -0
  1416. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tools/ts-to-mjs/yarn.lock +0 -0
  1417. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/tsconfig.json +0 -0
  1418. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/webpack.config.js +0 -0
  1419. {inspect_ai-0.3.95 → inspect_ai-0.3.96}/tools/vscode/yarn.lock +0 -0
@@ -20,3 +20,5 @@ updates:
20
20
  versions: [">=14.0.0"]
21
21
  - dependency-name: "fsspec"
22
22
  versions: [">=2024.12.0"]
23
+ - dependency-name: "click"
24
+ versions: [">=8.2.0"]
@@ -1,6 +1,13 @@
1
+ ## v0.3.96 (13 May 2025)
2
+
3
+ - Dataframes: `events_df()` function, improved message reading, log filtering, don't re-sort passed logs
4
+ - Model Context Protocol: Upgrade sandbox client to typing changes made in v1.8.0 of `mcp` package.
5
+ - vLLM/SGLang: Fix dynamic port binding for local server on Mac OS X.
6
+ - React Agent: Improve continue prompt to remind the model to include the answer in their call to `submit()`.
7
+
1
8
  ## v0.3.95 (10 May 2025)
2
9
 
3
- - [DataFrame](https://inspect.aisi.org.uk/dataframe.html) functions for reading dataframes from log files.
10
+ - [Dataframe](https://inspect.aisi.org.uk/dataframe.html) functions for reading dataframes from log files.
4
11
  - Web Search: Added provider for [Tavily](https://inspect.aisi.org.uk/tools-standard.html#tavily-provider) Research API.
5
12
  - Multiple Choice: `max_tokens` option to control tokens used for `generate()`.
6
13
  - Don't enforce sample `working_limit` after solvers have completed executing (matching behavior of other sample limits).
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: inspect_ai
3
- Version: 0.3.95
3
+ Version: 0.3.96
4
4
  Summary: Framework for large language model evaluations
5
5
  Author: UK AI Security Institute
6
6
  License: MIT License
@@ -23,7 +23,7 @@ License-File: LICENSE
23
23
  Requires-Dist: aiohttp>=3.9.0
24
24
  Requires-Dist: anyio>=4.8.0
25
25
  Requires-Dist: beautifulsoup4
26
- Requires-Dist: click>=8.1.3
26
+ Requires-Dist: click<8.2.0,>=8.1.3
27
27
  Requires-Dist: debugpy
28
28
  Requires-Dist: docstring-parser>=0.16
29
29
  Requires-Dist: exceptiongroup>=1.0.2; python_version < "3.11"
@@ -3,7 +3,7 @@ title: Log Dataframes
3
3
  ---
4
4
 
5
5
  ::: callout-note
6
- 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.
6
+ Dataframe functions are currently in beta and are exported from the **inspect_ai.analysis.beta** module. The beta module will be preserved after final release so that code written against it now will continue to work after the beta.
7
7
  :::
8
8
 
9
9
  ## Overview {#overview}
@@ -28,21 +28,22 @@ Inspect eval logs have a hierarchical structure which is well suited to flexibly
28
28
  | [evals_df()](#evals) | Evaluation level data (e.g. task, model, scores, etc.). One row per log file. |
29
29
  | [samples_df()](#samples) | Sample level data (e.g. input, metadata, scores, errors, etc.) One row per sample, where each log file contains many samples. |
30
30
  | [messages_df()](#messages) | Message level data (e.g. role, content, etc.). One row per message, where each sample contains many messages. |
31
+ | [events_df()](#events) | Event level data (type, timing, content, etc.). One row per event, where each sample contains many events. |
31
32
 
32
33
  Each function extracts a default set of columns, however you can tailor column reading to work in whatever way you need for your analysis. Extracted dataframes can either be denormalized (e.g. if you want to immediately summarise or plot them) or normalised (e.g. if you are importing them into a SQL database).
33
34
 
34
35
  Below we'll walk through a few examples, then after that provide more in-depth documentation on customising how dataframes are read for various scenarios.
35
36
 
36
- ## Examples
37
+ ## Basics
37
38
 
38
- ### Import Basics
39
+ ### Reading Data
39
40
 
40
41
  Use the `evals_df()` function to read a dataframe containing a row for each log file (note that we import from `inspect_ai.analysis.beta` since the dataframe functions are currently in beta):
41
42
 
42
43
  ``` python
44
+ # read logs from a given log directory
43
45
  from inspect_ai.analysis.beta import evals_df
44
-
45
- evals_df("logs")
46
+ evals_df("logs")
46
47
  ```
47
48
 
48
49
  ``` default
@@ -51,7 +52,7 @@ RangeIndex: 9 entries, 0 to 8
51
52
  Columns: 51 entries, eval_id to score_model_graded_qa_stderr
52
53
  ```
53
54
 
54
- The default configuration for `evals_df()` reads 51 columns. While this is the default, column reading can be customized in variety of ways (covered below in [Columns](#columns)).
55
+ The default configuration for `evals_df()` reads a predefined set of columns. You can customise column reading in a variety of ways (covered below in [Columns](#columns)).
55
56
 
56
57
  Use the `samples_df()` function to read a dataframe with a record for each sample across a set of log files. For example, here we read all of the samples in the "logs" directory:
57
58
 
@@ -113,6 +114,37 @@ Columns: 27 entries, sample_id to retries
113
114
 
114
115
  This dataframe has 27 columns rather than than the 13 we saw for the default `samples_df()` behavior, reflecting the additional eval level columns. You can create your own column groups and definitions to further customise reading (see [Columns](#columns) for details).
115
116
 
117
+ ### Filtering Logs
118
+
119
+ The above examples read all of the logs within a given directory. You can also use the `list_eval_logs()` function to filter the list of logs based on arbitrary criteria as well control whether log listings are recursive.
120
+
121
+ For example, here we read only log files with a `status` of "success":
122
+
123
+ ``` python
124
+ # read only successful logs from a given log directory
125
+ logs = list_eval_logs("logs", filter=lambda log: log.status == "success")
126
+ evals_df(logs)
127
+ ```
128
+
129
+ Here we read only logs with the task name "popularity":
130
+
131
+ ``` python
132
+ # read only logs with task name 'popularity'
133
+ def task_filter(log: EvalLog) -> bool:
134
+ return log.eval.task == "popularity"
135
+
136
+ logs = list_eval_logs("logs", filter=task_filter)
137
+ evals_df(logs)
138
+ ```
139
+
140
+ We can also choose to read a directory non-recursively:
141
+
142
+ ``` python
143
+ # read only the logs at the top level of 'logs'
144
+ logs = list_eval_logs("logs", recursive=False)
145
+ evals_df(logs)
146
+ ```
147
+
116
148
  ### Databases
117
149
 
118
150
  You can also read multiple dataframes and combine them into a relational database. Imported dataframes automatically include fields that can be used to join them (e.g. `eval_id` is in both the evals and samples tables).
@@ -221,19 +253,42 @@ if len(errors) > 0:
221
253
 
222
254
  | Type | Description |
223
255
  |------------------------------------|------------------------------------|
224
- | [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. |
256
+ | `EvalInfo` | Descriptive information (e.g. created, tags, metadata, git commit, etc.) |
257
+ | `EvalTask` | Task configuration (name, file, args, solver, etc.) |
258
+ | `EvalModel` | Model name, args, generation config, etc. |
259
+ | `EvalDataset` | Dataset name, location, sample ids, etc. |
260
+ | `EvalConfig` | Epochs, approval, sample limits, etc. |
261
+ | `EvalResults` | Status, errors, samples completed, headline metric. |
262
+ | `EvalScores` | All scores and metrics broken into separate columns. |
263
+
264
+ #### Multi-Columns
265
+
266
+ The `task_args` dictionary and eval scores data structure are both expanded into multiple columns by default:
267
+
268
+ ``` python
269
+ EvalColumn("task_arg_*", path="eval.task_args")
270
+ EvalColumn("score_*_*", path=eval_log_scores_dict)
271
+ ```
272
+
273
+ Note that scores are a two-level dictionary of `score_<scorer>_<metric>` and are extracted using a custom function. If you want to handle scores a different way you can build your own set of eval columns with a custom scores handler. For example, here we take a subset of eval columns along with our own custom handler (`custom_scores_fn`) for scores:
274
+
275
+ ``` python
276
+ evals_df(
277
+ logs="logs",
278
+ columns=(
279
+ EvalInfo
280
+ + EvalModel
281
+ + EvalResults
282
+ + ([EvalColumn("score_*_*", path=custom_scores_fn)])
283
+ )
284
+ )
285
+ ```
231
286
 
232
287
  #### Custom Extraction
233
288
 
234
- The `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.
289
+ The example above demonstrates the use of custom extraction functions, which take an `EvalLog` and return a `JsonValue`.
235
290
 
236
- For example, here is the `path` function used to extract a simple dictionary of scores/metrics from the more complex `list[EvalScore]` type provided as `log.scores`:
291
+ For example, here is the default extraction function for the the dictionary of scores/metrics:
237
292
 
238
293
  ``` python
239
294
  def scores_dict(log: EvalLog) -> JsonValue:
@@ -269,7 +324,7 @@ By default, the `SampleSummary` column group is used, which reads only from summ
269
324
  SampleSummary: list[Column] = [
270
325
  SampleColumn("id", path="id", required=True, type=str),
271
326
  SampleColumn("epoch", path="epoch", required=True),
272
- SampleColumn("input", path="input", required=True, value=input_as_str),
327
+ SampleColumn("input", path=sample_input_as_str, required=True),
273
328
  SampleColumn("target", path="target", required=True, value=list_as_str),
274
329
  SampleColumn("metadata_*", path="metadata"),
275
330
  SampleColumn("score_*", path="scores", value=score_values),
@@ -297,6 +352,33 @@ samples_df(
297
352
 
298
353
  Note that reading `SampleMessages` requires reading full sample content, so will take considerably longer than reading only summaries.
299
354
 
355
+ When you create a samples data frame the `eval_id` of its parent evaluation is automatically included. You can additionally include other fields from the evals table, for example:
356
+
357
+ ``` python
358
+ samples_df(
359
+ logs="logs",
360
+ columns = EvalModel + SampleSummary + SampleMessages
361
+ )
362
+ ```
363
+
364
+ #### Multi-Columns
365
+
366
+ Note that the `metadata` and `score` columns are both dictionaries that are expanded into multiple columns:
367
+
368
+ ``` python
369
+ SampleColumn("metadata_*", path="metadata")
370
+ SampleColumn("score_*", path="scores", value=score_values)
371
+ ```
372
+
373
+ This might or might not be what you want for your data frame. To preserve them as JSON, remove the `_*`:
374
+
375
+ ``` python
376
+ SampleColumn("metadata", path="metadata")
377
+ SampleColumn("score", path="scores")
378
+ ```
379
+
380
+ You could also write a custom [extraction](#custom-extraction-1) handler to read them in some other way.
381
+
300
382
  #### Full Samples
301
383
 
302
384
  `SampleColumn` will automatically determine whether it is referencing a field that requires a full sample read (for example, `messages` or `store`). There are five fields in sample summaries that have reduced footprint in the summary (`input`, `metadata`, and `scores`, `error`, and `limit`). For these, fields specify `full=True` to force reading from the full sample record. For example:
@@ -306,7 +388,7 @@ SampleColumn("limit_type", path="limit.type", full=True)
306
388
  SampleColumn("limit_value", path="limit.limit", full=True)
307
389
  ```
308
390
 
309
- #### Custom Extraction
391
+ #### Custom Extraction {#custom-extraction-1}
310
392
 
311
393
  As with `EvalColumn`, you can also extract data from a sample using a callback function passed as the `path`:
312
394
 
@@ -327,7 +409,7 @@ $ inspect log convert ./logs --to eval --output-dir ./logs-amended
327
409
 
328
410
  ### Messages {#messages}
329
411
 
330
- The `messages_df()` function enables reading message level data from a set of eval logs. Each row corresponds to a message, and includes a `sample_id` and `event_id` for linking back to its parents.
412
+ The `messages_df()` function enables reading message level data from a set of eval logs. Each row corresponds to a message, and includes a `sample_id` and `eval_id` for linking back to its parents.
331
413
 
332
414
  The `messages_df()` function takes a `filter` parameter which can either be a list of `role` designations or a function that performs filtering. For example:
333
415
 
@@ -356,6 +438,15 @@ MessageToolCalls: list[Column] = [
356
438
  MessageColumns: list[Column] = MessageContent + MessageToolCalls
357
439
  ```
358
440
 
441
+ When you create a messages data frame the parent `sample_id` and `eval_id` are automatically included in each record. You can additionally include other fields from these tables, for example:
442
+
443
+ ``` python
444
+ messages = messages_df(
445
+ logs="logs",
446
+ columns=EvalModel + MessageColumns
447
+ )
448
+ ```
449
+
359
450
  #### Custom Extraction
360
451
 
361
452
  Two of the fields above are resolved using custom extraction functions (`content` and `tool_calls`). Here is the source code for those functions:
@@ -364,7 +455,6 @@ Two of the fields above are resolved using custom extraction functions (`content
364
455
  def message_text(message: ChatMessage) -> str:
365
456
  return message.text
366
457
 
367
-
368
458
  def message_tool_calls(message: ChatMessage) -> str | None:
369
459
  if isinstance(message, ChatMessageAssistant) and message.tool_calls is not None:
370
460
  tool_calls = "\n".join(
@@ -380,6 +470,41 @@ def message_tool_calls(message: ChatMessage) -> str | None:
380
470
  return None
381
471
  ```
382
472
 
473
+ ### Events {#events}
474
+
475
+ The `events_df()` function enables reading event level data from a set of eval logs. Each row corresponds to an event, and includes a `sample_id` and `eval_id` for linking back to its parents.
476
+
477
+ Because events are so heterogeneous, there is no default `columns` specification for calls to `events_df()`. Rather, you can compose columns from the following pre-built groups:
478
+
479
+ | Type | Description |
480
+ |------------------------------------|------------------------------------|
481
+ | `EventInfo` | Event type and span id. |
482
+ | `EventTiming` | Start and end times (both clock time and working time) |
483
+ | `ModelEventColumns` | Read data from model events. |
484
+ | `ToolEventColumns` | Read data from tool events. |
485
+
486
+ The `events_df()` function also takes a `filter` parameter which can either be a list of event types or a function that performs filtering. For example, to read all model events:
487
+
488
+ ``` python
489
+ model_events = events_df(
490
+ logs="logs",
491
+ columns=EventTiming + ModelEventColumns,
492
+ filter=["model"]
493
+ )
494
+ ```
495
+
496
+ To read all tool events:
497
+
498
+ ``` python
499
+ model_events = events_df(
500
+ logs="logs",
501
+ columns=EvalModel + EventTiming + ToolEventColumns,
502
+ filter=["tool"]
503
+ )
504
+ ```
505
+
506
+ Note that for tool events we also include the `EvalModel` column group as model information is not directly embedded in tool events (whereas it is within model events).
507
+
383
508
  ### Custom
384
509
 
385
510
  You can create custom column types that extract data based on additional parameters. For example, imagine you want to write a set of extraction functions that are passed a `ReportConfig` and an `EvalLog` (the report configuration might specify scores to extract, normalisation constraints, etc.)
@@ -500,6 +500,18 @@ website:
500
500
  href: reference/inspect_ai.analysis.qmd#messagetoolcalls
501
501
  - text: MessageColumns
502
502
  href: reference/inspect_ai.analysis.qmd#messagecolumns
503
+ - text: events_df
504
+ href: reference/inspect_ai.analysis.qmd#events_df
505
+ - text: EventColumn
506
+ href: reference/inspect_ai.analysis.qmd#eventcolumn
507
+ - text: EventInfo
508
+ href: reference/inspect_ai.analysis.qmd#eventinfo
509
+ - text: EventTiming
510
+ href: reference/inspect_ai.analysis.qmd#eventtiming
511
+ - text: ModelEventColumns
512
+ href: reference/inspect_ai.analysis.qmd#modeleventcolumns
513
+ - text: ToolEventColumns
514
+ href: reference/inspect_ai.analysis.qmd#tooleventcolumns
503
515
  - text: Column
504
516
  href: reference/inspect_ai.analysis.qmd#column
505
517
  - text: ColumnType
@@ -35,6 +35,15 @@ Analysis functions are currently in beta and are exported from the **inspect_ai.
35
35
  ### MessageToolCalls
36
36
  ### MessageColumns
37
37
 
38
+ ## Events
39
+
40
+ ### events_df
41
+ ### EventColumn
42
+ ### EventInfo
43
+ ### EventTiming
44
+ ### ModelEventColumns
45
+ ### ToolEventColumns
46
+
38
47
  ## Columns
39
48
 
40
49
  ### Column
@@ -1,6 +1,6 @@
1
1
  from inspect_ai import Task, task
2
2
  from inspect_ai.dataset import FieldSpec, example_dataset
3
- from inspect_ai.scorer import includes, match
3
+ from inspect_ai.scorer import match
4
4
  from inspect_ai.solver import generate, system_message
5
5
 
6
6
  SYSTEM_MESSAGE = r"""
@@ -22,5 +22,5 @@ def popularity():
22
22
  return Task(
23
23
  dataset=dataset,
24
24
  solver=[system_message(SYSTEM_MESSAGE), generate()],
25
- scorer=[match(), includes()],
25
+ scorer=[match()],
26
26
  )
@@ -1,7 +1,7 @@
1
1
  aiohttp>=3.9.0
2
2
  anyio>=4.8.0
3
3
  beautifulsoup4
4
- click>=8.1.3
4
+ click>=8.1.3,<8.2.0
5
5
  debugpy
6
6
  docstring-parser>=0.16
7
7
  exceptiongroup>=1.0.2; python_version < '3.11'
@@ -1,6 +1,7 @@
1
1
  import json
2
2
  import logging
3
3
  import os
4
+ import platform
4
5
  import random
5
6
  import socket
6
7
  import subprocess
@@ -33,6 +34,21 @@ def reserve_port(
33
34
  Returns:
34
35
  A tuple (port, lock_socket) where `lock_socket` is kept open to hold the lock.
35
36
  """
37
+ is_macos = platform.system() == "Darwin"
38
+
39
+ if is_macos:
40
+ logger.info(
41
+ "MacOS system detected. A free binding port will be identified, but not reserved until the server binds to it."
42
+ )
43
+ # On macOS, let the OS pick a free port but not open it
44
+ # It leads to a small racode condition window until the port
45
+ # is actually opened by the llm server
46
+ with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
47
+ s.bind((host, 0)) # Bind to any free port
48
+ port = s.getsockname()[1]
49
+ return port, s
50
+
51
+ # Non-macOS behavior: try ports in range
36
52
  candidates = list(range(start, end))
37
53
  random.shuffle(candidates)
38
54
 
@@ -43,7 +43,7 @@ class AgentPrompt(NamedTuple):
43
43
 
44
44
  DEFAULT_CONTINUE_PROMPT = """
45
45
  Please proceed to the next step using your best judgement. If you believe you
46
- have completed the task, please call the `{submit}()` tool.
46
+ have completed the task, please call the `{submit}()` tool with your final answer.
47
47
  """
48
48
 
49
49
 
@@ -15,7 +15,13 @@ from ._dataframe.evals.columns import (
15
15
  EvalTask,
16
16
  )
17
17
  from ._dataframe.evals.table import evals_df
18
- from ._dataframe.events.columns import EventColumn
18
+ from ._dataframe.events.columns import (
19
+ EventColumn,
20
+ EventInfo,
21
+ EventTiming,
22
+ ModelEventColumns,
23
+ ToolEventColumns,
24
+ )
19
25
  from ._dataframe.events.table import events_df
20
26
  from ._dataframe.messages.columns import (
21
27
  MessageColumn,
@@ -50,6 +56,10 @@ __all__ = [
50
56
  "MessageFilter",
51
57
  "events_df",
52
58
  "EventColumn",
59
+ "EventInfo",
60
+ "EventTiming",
61
+ "ModelEventColumns",
62
+ "ToolEventColumns",
53
63
  "Column",
54
64
  "ColumnType",
55
65
  "ColumnError",
@@ -1,10 +1,11 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import TYPE_CHECKING, Literal, overload
3
+ from typing import TYPE_CHECKING, Callable, Literal, overload
4
4
 
5
- from inspect_ai._display import display
6
5
  from inspect_ai._util.path import pretty_path
6
+ from inspect_ai.analysis.beta._dataframe.progress import import_progress
7
7
  from inspect_ai.log._file import (
8
+ list_eval_logs,
8
9
  read_eval_log,
9
10
  )
10
11
 
@@ -29,39 +30,32 @@ EVAL_SUFFIX = "_eval"
29
30
 
30
31
  @overload
31
32
  def evals_df(
32
- logs: LogPaths,
33
+ logs: LogPaths = list_eval_logs(),
33
34
  columns: list[Column] = EvalColumns,
34
- recursive: bool = True,
35
- reverse: bool = False,
36
35
  strict: Literal[True] = True,
37
36
  ) -> "pd.DataFrame": ...
38
37
 
39
38
 
40
39
  @overload
41
40
  def evals_df(
42
- logs: LogPaths,
41
+ logs: LogPaths = list_eval_logs(),
43
42
  columns: list[Column] = EvalColumns,
44
- recursive: bool = True,
45
- reverse: bool = False,
46
43
  strict: Literal[False] = False,
47
44
  ) -> tuple["pd.DataFrame", ColumnErrors]: ...
48
45
 
49
46
 
50
47
  def evals_df(
51
- logs: LogPaths,
48
+ logs: LogPaths = list_eval_logs(),
52
49
  columns: list[Column] = EvalColumns,
53
- recursive: bool = True,
54
- reverse: bool = False,
55
50
  strict: bool = True,
56
51
  ) -> "pd.DataFrame" | tuple["pd.DataFrame", ColumnErrors]:
57
52
  """Read a dataframe containing evals.
58
53
 
59
54
  Args:
60
55
  logs: One or more paths to log files or log directories.
56
+ Defaults to the contents of the currently active log directory
57
+ (e.g. ./logs or INSPECT_LOG_DIR).
61
58
  columns: Specification for what columns to read from log files.
62
- recursive: Include recursive contents of directories (defaults to `True`)
63
- reverse: Reverse the order of the dataframe (by default, items
64
- are ordered from oldest to newest).
65
59
  strict: Raise import errors immediately. Defaults to `True`.
66
60
  If `False` then a tuple of `DataFrame` and errors is returned.
67
61
 
@@ -73,7 +67,46 @@ def evals_df(
73
67
  verify_prerequisites()
74
68
 
75
69
  # resolve logs
76
- log_paths = resolve_logs(logs, recursive=recursive, reverse=reverse)
70
+ log_paths = resolve_logs(logs)
71
+
72
+ with import_progress("reading logs", total=len(log_paths)) as (p, task_id):
73
+ if strict:
74
+ evals_table, _ = _read_evals_df(
75
+ log_paths, columns, True, lambda: p.update(task_id, advance=1)
76
+ )
77
+ return evals_table
78
+ else:
79
+ evals_table, all_errors, _ = _read_evals_df(
80
+ log_paths, columns, False, lambda: p.update(task_id, advance=1)
81
+ )
82
+ return evals_table, all_errors
83
+
84
+
85
+ @overload
86
+ def _read_evals_df(
87
+ log_paths: list[str],
88
+ columns: list[Column],
89
+ strict: Literal[True],
90
+ progress: Callable[[], None],
91
+ ) -> tuple["pd.DataFrame", int]: ...
92
+
93
+
94
+ @overload
95
+ def _read_evals_df(
96
+ log_paths: list[str],
97
+ columns: list[Column],
98
+ strict: Literal[False],
99
+ progress: Callable[[], None],
100
+ ) -> tuple["pd.DataFrame", ColumnErrors, int]: ...
101
+
102
+
103
+ def _read_evals_df(
104
+ log_paths: list[str],
105
+ columns: list[Column],
106
+ strict: bool,
107
+ progress: Callable[[], None],
108
+ ) -> tuple["pd.DataFrame", int] | tuple["pd.DataFrame", ColumnErrors, int]:
109
+ verify_prerequisites()
77
110
 
78
111
  # resolve duplicate columns
79
112
  columns = resolve_duplicate_columns(columns)
@@ -85,27 +118,31 @@ def evals_df(
85
118
  ensure_eval_id(columns)
86
119
 
87
120
  # read logs
121
+ total_samples = 0
88
122
  records: list[dict[str, ColumnType]] = []
89
- with display().progress(total=len(log_paths)) as p:
90
- for log_path in log_paths:
91
- log = read_eval_log(log_path, header_only=True)
92
- if strict:
93
- record = import_record(log, columns, strict=True)
94
- else:
95
- record, errors = import_record(log, columns, strict=False)
96
- all_errors[pretty_path(log_path)] = errors
97
- records.append(record)
98
-
99
- p.update()
123
+ for log_path in log_paths:
124
+ log = read_eval_log(log_path, header_only=True)
125
+ if strict:
126
+ record = import_record(log, columns, strict=True)
127
+ else:
128
+ record, errors = import_record(log, columns, strict=False)
129
+ all_errors[pretty_path(log_path)] = errors
130
+ records.append(record)
131
+ total_samples += (
132
+ len(log.eval.dataset.sample_ids)
133
+ if log.eval.dataset.sample_ids is not None
134
+ else (log.eval.dataset.samples or 100)
135
+ )
136
+ progress()
100
137
 
101
138
  # return table (+errors if strict=False)
102
139
  evals_table = records_to_pandas(records)
103
140
  evals_table = reorder_evals_df_columns(evals_table, columns)
104
141
 
105
142
  if strict:
106
- return evals_table
143
+ return evals_table, total_samples
107
144
  else:
108
- return evals_table, all_errors
145
+ return evals_table, all_errors, total_samples
109
146
 
110
147
 
111
148
  def ensure_eval_id(columns: list[Column]) -> None:
@@ -0,0 +1,87 @@
1
+ from datetime import datetime
2
+ from typing import Any, Callable, Mapping, Type
3
+
4
+ from jsonpath_ng import JSONPath # type: ignore
5
+ from pydantic import JsonValue
6
+ from typing_extensions import override
7
+
8
+ from inspect_ai.log._transcript import Event
9
+
10
+ from ..columns import Column, ColumnType
11
+ from .extract import (
12
+ completion_as_str,
13
+ model_event_input_as_str,
14
+ tool_choice_as_str,
15
+ tool_view_as_str,
16
+ )
17
+
18
+
19
+ class EventColumn(Column):
20
+ """Column which maps to `Event`."""
21
+
22
+ def __init__(
23
+ self,
24
+ name: str,
25
+ *,
26
+ path: str | JSONPath | Callable[[Event], JsonValue],
27
+ required: bool = False,
28
+ default: JsonValue | None = None,
29
+ type: Type[ColumnType] | None = None,
30
+ value: Callable[[JsonValue], JsonValue] | None = None,
31
+ ) -> None:
32
+ super().__init__(
33
+ name=name,
34
+ path=path if not callable(path) else None,
35
+ required=required,
36
+ default=default,
37
+ type=type,
38
+ value=value,
39
+ )
40
+ self._extract_event = path if callable(path) else None
41
+
42
+ @override
43
+ def path_schema(self) -> Mapping[str, Any] | None:
44
+ return None
45
+
46
+
47
+ EventInfo: list[Column] = [
48
+ EventColumn("event", path="event"),
49
+ EventColumn("span_id", path="span_id"),
50
+ ]
51
+ """Event basic information columns."""
52
+
53
+ EventTiming: list[Column] = [
54
+ EventColumn("timestamp", path="timestamp", type=datetime),
55
+ EventColumn("completed", path="completed", type=datetime),
56
+ EventColumn("working_start", path="working_start"),
57
+ EventColumn("working_time", path="working_time"),
58
+ ]
59
+ """Event timing columns."""
60
+
61
+ ModelEventColumns: list[Column] = [
62
+ EventColumn("model_event_model", path="model"),
63
+ EventColumn("model_event_role", path="role"),
64
+ EventColumn("model_event_input", path=model_event_input_as_str),
65
+ EventColumn("model_event_tools", path="tools"),
66
+ EventColumn("model_event_tool_choice", path=tool_choice_as_str),
67
+ EventColumn("model_event_config", path="config"),
68
+ EventColumn("model_event_usage", path="output.usage"),
69
+ EventColumn("model_event_time", path="output.time"),
70
+ EventColumn("model_event_completion", path=completion_as_str),
71
+ EventColumn("model_event_retries", path="retries"),
72
+ EventColumn("model_event_error", path="error"),
73
+ EventColumn("model_event_cache", path="cache"),
74
+ EventColumn("model_event_call", path="call"),
75
+ ]
76
+ """Model event columns."""
77
+
78
+ ToolEventColumns: list[Column] = [
79
+ EventColumn("tool_event_function", path="function"),
80
+ EventColumn("tool_event_arguments", path="arguments"),
81
+ EventColumn("tool_event_view", path=tool_view_as_str),
82
+ EventColumn("tool_event_result", path="result"),
83
+ EventColumn("tool_event_truncated", path="truncated"),
84
+ EventColumn("tool_event_error_type", path="error.type"),
85
+ EventColumn("tool_event_error_message", path="error.message"),
86
+ ]
87
+ """Tool event columns."""