inspect-ai 0.3.57__tar.gz → 0.3.58__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 (876) hide show
  1. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.pre-commit-config.yaml +1 -1
  2. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/CHANGELOG.md +18 -0
  3. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/PKG-INFO +2 -2
  4. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_quarto.yml +1 -0
  5. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_sandboxenv-interface.md +3 -0
  6. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/approval.qmd +3 -3
  7. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/datasets.qmd +6 -36
  8. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/index.qmd +2 -0
  9. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/interactivity.qmd +10 -3
  10. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/llms.txt +1 -0
  11. inspect_ai-0.3.58/docs/multimodal.qmd +176 -0
  12. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/scorers.qmd +3 -3
  13. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/scripts/post-render.sh +1 -1
  14. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/tracing.qmd +12 -0
  15. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/workflow.qmd +0 -5
  16. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/approval/README.md +3 -9
  17. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/approval/approval.py +1 -7
  18. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/intervention/README.md +2 -7
  19. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/intervention/intervention.py +1 -5
  20. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/pyproject.toml +1 -1
  21. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/__init__.py +2 -1
  22. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/common.py +4 -2
  23. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/eval.py +2 -0
  24. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/trace.py +21 -2
  25. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/active.py +0 -2
  26. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/rich/display.py +4 -4
  27. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/app.py +4 -1
  28. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/samples.py +41 -5
  29. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/eval.py +32 -20
  30. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/evalset.py +7 -5
  31. inspect_ai-0.3.58/src/inspect_ai/_eval/task/__init__.py +4 -0
  32. inspect_ai-0.3.58/src/inspect_ai/_eval/task/images.py +114 -0
  33. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/run.py +141 -119
  34. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/task.py +140 -25
  35. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/constants.py +1 -0
  36. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/content.py +23 -1
  37. inspect_ai-0.3.58/src/inspect_ai/_util/images.py +48 -0
  38. inspect_ai-0.3.58/src/inspect_ai/_util/kvstore.py +73 -0
  39. inspect_ai-0.3.58/src/inspect_ai/_util/notgiven.py +18 -0
  40. inspect_ai-0.3.58/src/inspect_ai/_util/thread.py +5 -0
  41. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/dist/assets/index.js +37 -3
  42. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/log-schema.json +97 -13
  43. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/MessageBand.mjs +2 -2
  44. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/MessageContent.mjs +43 -1
  45. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SamplesDescriptor.mjs +5 -1
  46. {inspect_ai-0.3.57/tools/vscode/src/@types → inspect_ai-0.3.58/src/inspect_ai/_view/www/src/types}/log.d.ts +51 -27
  47. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_human/util.py +2 -2
  48. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_sources/csv.py +2 -1
  49. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_sources/json.py +2 -1
  50. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_sources/util.py +15 -7
  51. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_condense.py +11 -1
  52. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_log.py +2 -5
  53. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_recorders/eval.py +19 -8
  54. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_samples.py +10 -5
  55. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_transcript.py +28 -1
  56. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/__init__.py +10 -2
  57. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_call_tools.py +55 -12
  58. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_chat_message.py +2 -4
  59. inspect_ai-0.3.57/src/inspect_ai/model/_trace.py → inspect_ai-0.3.58/src/inspect_ai/model/_conversation.py +9 -8
  60. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_model.py +2 -2
  61. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/anthropic.py +9 -7
  62. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/azureai.py +6 -4
  63. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/bedrock.py +6 -4
  64. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/google.py +79 -8
  65. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/groq.py +7 -5
  66. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/hf.py +11 -6
  67. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/mistral.py +6 -9
  68. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/openai.py +17 -5
  69. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/vertex.py +17 -4
  70. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/__init__.py +13 -2
  71. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_metrics/__init__.py +2 -2
  72. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_metrics/std.py +3 -3
  73. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/__init__.py +9 -1
  74. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool.py +9 -2
  75. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/__init__.py +0 -3
  76. inspect_ai-0.3.57/src/inspect_ai/util/_trace.py → inspect_ai-0.3.58/src/inspect_ai/util/_conversation.py +3 -17
  77. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_display.py +14 -4
  78. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/context.py +12 -13
  79. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/compose.py +24 -11
  80. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/docker.py +20 -13
  81. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/environment.py +13 -1
  82. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/local.py +1 -0
  83. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai.egg-info/PKG-INFO +2 -2
  84. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai.egg-info/SOURCES.txt +15 -3
  85. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai.egg-info/requires.txt +1 -1
  86. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_log_formats.py +21 -0
  87. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_set.py +30 -0
  88. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_helpers/tasks.py +1 -0
  89. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/sandboxenv/podman.py +1 -0
  90. inspect_ai-0.3.58/tests/test_task_with.py +31 -0
  91. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tool_images.py +2 -2
  92. inspect_ai-0.3.58/tests/tools/test_tool_truncate.py +11 -0
  93. inspect_ai-0.3.58/tests/util/sandbox/sandbox_setup_error.sh +4 -0
  94. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/sandbox/test_sandbox_setup.py +20 -0
  95. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_images.py +6 -0
  96. inspect_ai-0.3.58/tests/util/test_kvstore.py +141 -0
  97. inspect_ai-0.3.58/tests/util/test_media/audio.jsonl +1 -0
  98. inspect_ai-0.3.58/tests/util/test_media/sample.mp3 +0 -0
  99. inspect_ai-0.3.58/tests/util/test_media/video.jsonl +1 -0
  100. inspect_ai-0.3.58/tests/util/test_media/video.mp4 +0 -0
  101. inspect_ai-0.3.58/tests/util/test_media.py +62 -0
  102. {inspect_ai-0.3.57/src/inspect_ai/_view/www/src/types → inspect_ai-0.3.58/tools/vscode/src/@types}/log.d.ts +51 -27
  103. inspect_ai-0.3.57/docs/_trace.md +0 -16
  104. inspect_ai-0.3.57/src/inspect_ai/_eval/task/__init__.py +0 -4
  105. inspect_ai-0.3.57/src/inspect_ai/_eval/task/images.py +0 -99
  106. inspect_ai-0.3.57/src/inspect_ai/_util/images.py +0 -45
  107. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/dependabot.yml +0 -0
  108. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/pull_request_template.md +0 -0
  109. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/workflows/build.yml +0 -0
  110. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/workflows/docs.yml +0 -0
  111. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/workflows/log_viewer.yml +0 -0
  112. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/workflows/pypi.yml +0 -0
  113. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.github/workflows/vscode.yml +0 -0
  114. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.gitignore +0 -0
  115. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.vscode/extensions.json +0 -0
  116. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/.vscode/settings.json +0 -0
  117. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/CITATION.cff +0 -0
  118. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/LICENSE +0 -0
  119. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/Makefile +0 -0
  120. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/README.md +0 -0
  121. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/.gitignore +0 -0
  122. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/CNAME +0 -0
  123. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_container_limits.md +0 -0
  124. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_errors_and_retries.md +0 -0
  125. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_max_samples.md +0 -0
  126. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_metadata_typing.md +0 -0
  127. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_sample-preservation.md +0 -0
  128. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_setting_max_samples.md +0 -0
  129. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_store_typing.md +0 -0
  130. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_tools-annotations-required.md +0 -0
  131. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_tools-scaffold.md +0 -0
  132. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/_variables.yml +0 -0
  133. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/agents-api.qmd +0 -0
  134. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/agents.qmd +0 -0
  135. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/caching.qmd +0 -0
  136. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/errors-and-limits.qmd +0 -0
  137. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/eval-logs.qmd +0 -0
  138. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/eval-sets.qmd +0 -0
  139. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/examples/examples.bib +0 -0
  140. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/examples/examples.css +0 -0
  141. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/examples/examples.ejs +0 -0
  142. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/examples/examples.yml +0 -0
  143. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/examples/index.qmd +0 -0
  144. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/extensions.qmd +0 -0
  145. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/human-agent.qmd +0 -0
  146. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/aisi-logo.png +0 -0
  147. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/eval-log.png +0 -0
  148. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-activity-bar.png +0 -0
  149. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-human-agent-container.png +0 -0
  150. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-human-agent.png +0 -0
  151. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-multiple-models.png +0 -0
  152. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-terminal-transcript.png +0 -0
  153. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-answers.png +0 -0
  154. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-filter.png +0 -0
  155. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-history.png +0 -0
  156. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-home.png +0 -0
  157. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-info.png +0 -0
  158. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-logging-console.png +0 -0
  159. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-logging.png +0 -0
  160. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-main.png +0 -0
  161. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-messages.png +0 -0
  162. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-metadata.png +0 -0
  163. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-scoring.png +0 -0
  164. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-sort.png +0 -0
  165. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-view-splash.png +0 -0
  166. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-vscode-config.png +0 -0
  167. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-vscode-install.png +0 -0
  168. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-vscode-logview.png +0 -0
  169. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-vscode-output-channel.png +0 -0
  170. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect-vscode-run-task.png +0 -0
  171. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/inspect.png +0 -0
  172. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/logs-drop-down.png +0 -0
  173. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/logs-open-button.png +0 -0
  174. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/logs.png +0 -0
  175. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/popularity.png +0 -0
  176. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/python-tool-view.png +0 -0
  177. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/rate-limit.png +0 -0
  178. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/running-theory.png +0 -0
  179. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/task-max-sandboxes.png +0 -0
  180. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/toolenv-no-cleanup.png +0 -0
  181. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/images/web-browser-tool-view.png +0 -0
  182. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/log-viewer.qmd +0 -0
  183. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/models.qmd +0 -0
  184. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/parallelism.qmd +0 -0
  185. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/sandboxing.qmd +0 -0
  186. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/solvers.qmd +0 -0
  187. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/theme.scss +0 -0
  188. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/tools.qmd +0 -0
  189. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/tutorial.qmd +0 -0
  190. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/typing.qmd +0 -0
  191. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/docs/vscode.qmd +0 -0
  192. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/approval/approval.yaml +0 -0
  193. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/biology_qa.py +0 -0
  194. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/browser/browser.py +0 -0
  195. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/browser/compose.yaml +0 -0
  196. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/cache.py +0 -0
  197. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/evalset.py +0 -0
  198. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/hello_world.py +0 -0
  199. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/images/ballons.png +0 -0
  200. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/images/bike.png +0 -0
  201. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/images/images.jsonl +0 -0
  202. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/images/images.py +0 -0
  203. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/intervention/Dockerfile +0 -0
  204. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/intervention/compose.yaml +0 -0
  205. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/.env.example +0 -0
  206. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/.gitignore +0 -0
  207. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/README.md +0 -0
  208. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/inspect_langchain.py +0 -0
  209. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/requirements.txt +0 -0
  210. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/wikipedia.jsonl +0 -0
  211. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/langchain/wikipedia.py +0 -0
  212. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/popularity.py +0 -0
  213. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/security_guide.py +0 -0
  214. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/theory_of_mind.py +0 -0
  215. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/examples/tool_use.py +0 -0
  216. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/requirements.txt +0 -0
  217. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/setup.cfg +0 -0
  218. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/__main__.py +0 -0
  219. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/cache.py +0 -0
  220. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/info.py +0 -0
  221. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/list.py +0 -0
  222. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/log.py +0 -0
  223. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/main.py +0 -0
  224. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/sandbox.py +0 -0
  225. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/score.py +0 -0
  226. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/util.py +0 -0
  227. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_cli/view.py +0 -0
  228. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/__init__.py +0 -0
  229. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/config.py +0 -0
  230. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/display.py +0 -0
  231. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/footer.py +0 -0
  232. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/group.py +0 -0
  233. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/panel.py +0 -0
  234. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/progress.py +0 -0
  235. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/results.py +0 -0
  236. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/rich.py +0 -0
  237. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/core/textual.py +0 -0
  238. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/rich/__init__.py +0 -0
  239. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/app.tcss +0 -0
  240. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/display.py +0 -0
  241. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/theme.py +0 -0
  242. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/clock.py +0 -0
  243. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/console.py +0 -0
  244. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/footer.py +0 -0
  245. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/task_detail.py +0 -0
  246. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/tasks.py +0 -0
  247. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/titlebar.py +0 -0
  248. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/toggle.py +0 -0
  249. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_display/textual/widgets/transcript.py +0 -0
  250. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/context.py +0 -0
  251. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/list.py +0 -0
  252. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/loader.py +0 -0
  253. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/registry.py +0 -0
  254. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/run.py +0 -0
  255. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/score.py +0 -0
  256. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/constants.py +0 -0
  257. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/epochs.py +0 -0
  258. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/error.py +0 -0
  259. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/generate.py +0 -0
  260. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/log.py +0 -0
  261. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/results.py +0 -0
  262. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/rundir.py +0 -0
  263. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/sandbox.py +0 -0
  264. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_eval/task/util.py +0 -0
  265. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/_async.py +0 -0
  266. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/ansi.py +0 -0
  267. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/appdirs.py +0 -0
  268. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/config.py +0 -0
  269. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/datetime.py +0 -0
  270. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/decorator.py +0 -0
  271. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/deprecation.py +0 -0
  272. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/dev.py +0 -0
  273. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/dict.py +0 -0
  274. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/dotenv.py +0 -0
  275. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/entrypoints.py +0 -0
  276. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/environ.py +0 -0
  277. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/error.py +0 -0
  278. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/file.py +0 -0
  279. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/format.py +0 -0
  280. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/git.py +0 -0
  281. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/hash.py +0 -0
  282. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/hooks.py +0 -0
  283. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/html.py +0 -0
  284. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/http.py +0 -0
  285. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/json.py +0 -0
  286. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/list.py +0 -0
  287. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/logger.py +0 -0
  288. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/notebook.py +0 -0
  289. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/package.py +0 -0
  290. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/path.py +0 -0
  291. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/pattern.py +0 -0
  292. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/platform.py +0 -0
  293. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/registry.py +0 -0
  294. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/retry.py +0 -0
  295. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/rich.py +0 -0
  296. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/samples.py +0 -0
  297. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/terminal.py +0 -0
  298. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/text.py +0 -0
  299. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/throttle.py +0 -0
  300. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/timeouts.py +0 -0
  301. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/trace.py +0 -0
  302. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/transcript.py +0 -0
  303. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/url.py +0 -0
  304. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/version.py +0 -0
  305. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_util/vscode.py +0 -0
  306. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/notify.py +0 -0
  307. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/schema.py +0 -0
  308. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/server.py +0 -0
  309. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/view.py +0 -0
  310. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/.gitignore +0 -0
  311. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/.prettierignore +0 -0
  312. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/.prettierrc.js +0 -0
  313. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/.tool-versions +0 -0
  314. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/App.css +0 -0
  315. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/README.md +0 -0
  316. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/dist/assets/favicon.svg +0 -0
  317. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/dist/assets/index.css +0 -0
  318. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/dist/index.html +0 -0
  319. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/eslint.config.mjs +0 -0
  320. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/favicon.svg +0 -0
  321. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/index.html +0 -0
  322. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/jsconfig.json +0 -0
  323. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/package.json +0 -0
  324. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/postcss.config.cjs +0 -0
  325. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/App.mjs +0 -0
  326. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/Register.mjs +0 -0
  327. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/Types.mjs +0 -0
  328. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/Types.mjs +0 -0
  329. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/api-browser.mjs +0 -0
  330. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/api-http.mjs +0 -0
  331. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/api-shared.mjs +0 -0
  332. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/api-vscode.mjs +0 -0
  333. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/client-api.mjs +0 -0
  334. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/index.mjs +0 -0
  335. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/api/jsonrpc.mjs +0 -0
  336. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/appearance/Colors.mjs +0 -0
  337. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/appearance/Fonts.mjs +0 -0
  338. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/appearance/Icons.mjs +0 -0
  339. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/appearance/Styles.mjs +0 -0
  340. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/AnsiDisplay.css +0 -0
  341. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/AnsiDisplay.mjs +0 -0
  342. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/AppErrorBoundary.mjs +0 -0
  343. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/AsciiCinemaPlayer.mjs +0 -0
  344. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/Browser.mjs +0 -0
  345. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/Card.mjs +0 -0
  346. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/ChatView.mjs +0 -0
  347. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/CopyButton.mjs +0 -0
  348. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/Dialog.mjs +0 -0
  349. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/DownloadButton.mjs +0 -0
  350. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/DownloadPanel.mjs +0 -0
  351. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/EmptyPanel.mjs +0 -0
  352. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/ErrorPanel.mjs +0 -0
  353. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/ExpandablePanel.mjs +0 -0
  354. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/FindBand.mjs +0 -0
  355. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/HumanBaselineView.mjs +0 -0
  356. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/JsonPanel.mjs +0 -0
  357. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/LabeledValue.mjs +0 -0
  358. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/LargeModal.mjs +0 -0
  359. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/LightboxCarousel.mjs +0 -0
  360. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/MarkdownDiv.mjs +0 -0
  361. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/MetaDataGrid.mjs +0 -0
  362. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/MetaDataView.mjs +0 -0
  363. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/MorePopOver.mjs +0 -0
  364. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/NavPills.mjs +0 -0
  365. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/ProgressBar.mjs +0 -0
  366. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/RenderedContent/ChatMessageRenderer.mjs +0 -0
  367. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/RenderedContent/RenderedContent.mjs +0 -0
  368. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/RenderedContent/Types.mjs +0 -0
  369. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/TabSet.mjs +0 -0
  370. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/ToolButton.mjs +0 -0
  371. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/Tools.mjs +0 -0
  372. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/VirtualList.mjs +0 -0
  373. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/components/ansi-output.js +0 -0
  374. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/constants.mjs +0 -0
  375. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/index.js +0 -0
  376. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/json/JsonTab.mjs +0 -0
  377. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/log/remoteLogFile.mjs +0 -0
  378. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/log-reader/Log-Reader.mjs +0 -0
  379. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/log-reader/Native-Log-Reader.mjs +0 -0
  380. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/log-reader/Open-AI-Log-Reader.mjs +0 -0
  381. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/navbar/Navbar.mjs +0 -0
  382. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/navbar/SecondaryBar.mjs +0 -0
  383. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/plan/PlanCard.mjs +0 -0
  384. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleDialog.mjs +0 -0
  385. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleDisplay.mjs +0 -0
  386. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleError.mjs +0 -0
  387. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleLimit.mjs +0 -0
  388. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleList.mjs +0 -0
  389. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleScoreView.mjs +0 -0
  390. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleScores.mjs +0 -0
  391. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SampleTranscript.mjs +0 -0
  392. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SamplesTab.mjs +0 -0
  393. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/SamplesTools.mjs +0 -0
  394. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/tools/EpochFilter.mjs +0 -0
  395. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/tools/SampleFilter.mjs +0 -0
  396. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/tools/SelectScorer.mjs +0 -0
  397. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/tools/SortFilter.mjs +0 -0
  398. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/tools/filters.mjs +0 -0
  399. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/ApprovalEventView.mjs +0 -0
  400. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/ErrorEventView.mjs +0 -0
  401. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/EventPanel.mjs +0 -0
  402. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/EventRow.mjs +0 -0
  403. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/EventSection.mjs +0 -0
  404. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/InfoEventView.mjs +0 -0
  405. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/InputEventView.mjs +0 -0
  406. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/LoggerEventView.mjs +0 -0
  407. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/ModelEventView.mjs +0 -0
  408. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/SampleInitEventView.mjs +0 -0
  409. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/SampleLimitEventView.mjs +0 -0
  410. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/ScoreEventView.mjs +0 -0
  411. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/StepEventView.mjs +0 -0
  412. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.mjs +0 -0
  413. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/ToolEventView.mjs +0 -0
  414. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptState.mjs +0 -0
  415. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptView.mjs +0 -0
  416. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/Types.mjs +0 -0
  417. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/state/StateDiffView.mjs +0 -0
  418. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventRenderers.mjs +0 -0
  419. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventView.mjs +0 -0
  420. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/sidebar/Sidebar.mjs +0 -0
  421. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/types/asciicinema-player.d.ts +0 -0
  422. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/types/jsondiffpatch.d.ts +0 -0
  423. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/types/prism.d.ts +0 -0
  424. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/usage/ModelTokenTable.mjs +0 -0
  425. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/usage/UsageCard.mjs +0 -0
  426. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Base64.mjs +0 -0
  427. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Format.mjs +0 -0
  428. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Git.mjs +0 -0
  429. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Html.mjs +0 -0
  430. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Json.mjs +0 -0
  431. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Path.mjs +0 -0
  432. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Print.mjs +0 -0
  433. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/Type.mjs +0 -0
  434. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/attachments.mjs +0 -0
  435. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/debugging.mjs +0 -0
  436. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/http.mjs +0 -0
  437. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/queue.mjs +0 -0
  438. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/remoteZipFile.mjs +0 -0
  439. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/sync.mjs +0 -0
  440. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/utils/vscode.mjs +0 -0
  441. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/workspace/TaskErrorPanel.mjs +0 -0
  442. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/src/workspace/WorkSpace.mjs +0 -0
  443. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/tsconfig.json +0 -0
  444. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/vite.config.js +0 -0
  445. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/_view/www/yarn.lock +0 -0
  446. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/__init__.py +0 -0
  447. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_apply.py +0 -0
  448. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_approval.py +0 -0
  449. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_approver.py +0 -0
  450. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_auto.py +0 -0
  451. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_call.py +0 -0
  452. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_human/approver.py +0 -0
  453. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_human/console.py +0 -0
  454. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_human/manager.py +0 -0
  455. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_human/panel.py +0 -0
  456. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_policy.py +0 -0
  457. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/approval/_registry.py +0 -0
  458. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/__init__.py +0 -0
  459. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_dataset.py +0 -0
  460. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_examples/bias_detection.jsonl +0 -0
  461. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_examples/biology_qa.jsonl +0 -0
  462. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_examples/popularity.jsonl +0 -0
  463. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_examples/security_guide.jsonl +0 -0
  464. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_examples/theory_of_mind.jsonl +0 -0
  465. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_sources/example.py +0 -0
  466. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_sources/file.py +0 -0
  467. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_sources/hf.py +0 -0
  468. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/dataset/_util.py +0 -0
  469. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/__init__.py +0 -0
  470. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_bundle.py +0 -0
  471. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_convert.py +0 -0
  472. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_file.py +0 -0
  473. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_message.py +0 -0
  474. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_recorders/__init__.py +0 -0
  475. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_recorders/create.py +0 -0
  476. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_recorders/file.py +0 -0
  477. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_recorders/json.py +0 -0
  478. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_recorders/recorder.py +0 -0
  479. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/log/_retry.py +0 -0
  480. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_cache.py +0 -0
  481. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_generate_config.py +0 -0
  482. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_image.py +0 -0
  483. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_model_call.py +0 -0
  484. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_model_output.py +0 -0
  485. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/cloudflare.py +0 -0
  486. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/grok.py +0 -0
  487. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/llama_cpp_python.py +0 -0
  488. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/mockllm.py +0 -0
  489. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/ollama.py +0 -0
  490. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/openai_o1.py +0 -0
  491. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/providers.py +0 -0
  492. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/together.py +0 -0
  493. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/util/__init__.py +0 -0
  494. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/util/chatapi.py +0 -0
  495. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/util/hf_handler.py +0 -0
  496. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/util/llama31.py +0 -0
  497. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/util/util.py +0 -0
  498. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_providers/vllm.py +0 -0
  499. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_registry.py +0 -0
  500. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/model/_render.py +0 -0
  501. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/py.typed +0 -0
  502. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_answer.py +0 -0
  503. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_choice.py +0 -0
  504. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_classification.py +0 -0
  505. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_common.py +0 -0
  506. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_match.py +0 -0
  507. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_metric.py +0 -0
  508. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_metrics/accuracy.py +0 -0
  509. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_metrics/mean.py +0 -0
  510. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_model.py +0 -0
  511. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_multi.py +0 -0
  512. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_pattern.py +0 -0
  513. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_reducer/__init__.py +0 -0
  514. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_reducer/reducer.py +0 -0
  515. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_reducer/registry.py +0 -0
  516. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_reducer/types.py +0 -0
  517. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_score.py +0 -0
  518. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_scorer.py +0 -0
  519. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/scorer/_target.py +0 -0
  520. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/__init__.py +0 -0
  521. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_basic_agent.py +0 -0
  522. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_chain.py +0 -0
  523. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_critique.py +0 -0
  524. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_fork.py +0 -0
  525. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/agent.py +0 -0
  526. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/__init__.py +0 -0
  527. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/clock.py +0 -0
  528. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/command.py +0 -0
  529. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/instructions.py +0 -0
  530. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/note.py +0 -0
  531. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/score.py +0 -0
  532. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/status.py +0 -0
  533. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/commands/submit.py +0 -0
  534. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/install.py +0 -0
  535. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/panel.py +0 -0
  536. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/service.py +0 -0
  537. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/state.py +0 -0
  538. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_human_agent/view.py +0 -0
  539. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_multiple_choice.py +0 -0
  540. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_plan.py +0 -0
  541. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_prompt.py +0 -0
  542. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_solver.py +0 -0
  543. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_task_state.py +0 -0
  544. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_transcript.py +0 -0
  545. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_use_tools.py +0 -0
  546. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/solver/_util.py +0 -0
  547. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_call.py +0 -0
  548. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_choice.py +0 -0
  549. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_def.py +0 -0
  550. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_description.py +0 -0
  551. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_info.py +0 -0
  552. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_params.py +0 -0
  553. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_transcript.py +0 -0
  554. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tool_with.py +0 -0
  555. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_execute.py +0 -0
  556. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/__init__.py +0 -0
  557. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/Dockerfile +0 -0
  558. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/README.md +0 -0
  559. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/accessibility_node.py +0 -0
  560. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/dm_env_servicer.py +0 -0
  561. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/images/usage_diagram.png +0 -0
  562. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/mock_environment.py +0 -0
  563. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/playwright_crawler.py +0 -0
  564. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_accessibility_node.py +0 -0
  565. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_dm_env_servicer.py +0 -0
  566. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_playwright_crawler.py +0 -0
  567. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_web_environment.py +0 -0
  568. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client.py +0 -0
  569. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client_new_session.py +0 -0
  570. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_environment.py +0 -0
  571. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_server.py +0 -0
  572. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_browser/_web_browser.py +0 -0
  573. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/tool/_tools/_web_search.py +0 -0
  574. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_concurrency.py +0 -0
  575. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_console.py +0 -0
  576. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_panel.py +0 -0
  577. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_resource.py +0 -0
  578. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/__init__.py +0 -0
  579. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/cleanup.py +0 -0
  580. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/config.py +0 -0
  581. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/internal.py +0 -0
  582. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/prereqs.py +0 -0
  583. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/docker/util.py +0 -0
  584. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/limits.py +0 -0
  585. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/registry.py +0 -0
  586. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/self_check.py +0 -0
  587. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_sandbox/service.py +0 -0
  588. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_store.py +0 -0
  589. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_store_model.py +0 -0
  590. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_subprocess.py +0 -0
  591. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_subtask.py +0 -0
  592. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai/util/_throttle.py +0 -0
  593. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai.egg-info/dependency_links.txt +0 -0
  594. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai.egg-info/entry_points.txt +0 -0
  595. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/src/inspect_ai.egg-info/top_level.txt +0 -0
  596. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/approval/approve.yaml +0 -0
  597. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/approval/escalate.yaml +0 -0
  598. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/approval/modify.yaml +0 -0
  599. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/approval/reject.yaml +0 -0
  600. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/approval/terminate.yaml +0 -0
  601. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/approval/test_approval.py +0 -0
  602. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/conftest.py +0 -0
  603. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/dataset.jsonl +0 -0
  604. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/images/ballons.png +0 -0
  605. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/images.jsonl +0 -0
  606. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/samples-md.csv +0 -0
  607. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/samples-md.json +0 -0
  608. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/samples-md.jsonl +0 -0
  609. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/samples.csv +0 -0
  610. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/samples.json +0 -0
  611. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset/samples.jsonl +0 -0
  612. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/dataset/test_dataset.py +0 -0
  613. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_formats.json +0 -0
  614. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_images.json +0 -0
  615. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_images_tc.json +0 -0
  616. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_invalid.txt +0 -0
  617. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_length_stop_reason.txt +0 -0
  618. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_streaming.eval +0 -0
  619. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_valid.txt +0 -0
  620. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_version_3.txt +0 -0
  621. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log/log_with_nan.txt +0 -0
  622. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_eval_log.py +0 -0
  623. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_list_logs/2024-11-05T13-31-45-05-00_input-task_8zXjbRzCWrL9GXiXo2vus9.json +0 -0
  624. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_list_logs/2024-11-05T13-32-37-05-00_input-task_hxs4q9azL3ySGkjJirypKZ.eval +0 -0
  625. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_list_logs/custom.eval +0 -0
  626. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_list_logs/ignore.json +0 -0
  627. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_list_logs.py +0 -0
  628. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_log_attachments.py +0 -0
  629. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_log_level.py +0 -0
  630. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_log_streaming.py +0 -0
  631. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/log/test_log_tags.py +0 -0
  632. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_anthropic.py +0 -0
  633. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_azureai.py +0 -0
  634. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_cloudflare.py +0 -0
  635. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_google.py +0 -0
  636. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_grok.py +0 -0
  637. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_groq.py +0 -0
  638. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_hf.py +0 -0
  639. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_llama_cpp_python.py +0 -0
  640. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_openai.py +0 -0
  641. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_openai_o1.py +0 -0
  642. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_vertex.py +0 -0
  643. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/providers/test_vllm.py +0 -0
  644. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_api_key.py +0 -0
  645. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_cache.py +0 -0
  646. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_collapse_assistant_message.py +0 -0
  647. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_collapse_user_message.py +0 -0
  648. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_disable.py +0 -0
  649. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_logprobs.py +0 -0
  650. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_mock_model_llm.py +0 -0
  651. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_num_choices.py +0 -0
  652. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_parse_tool_call.py +0 -0
  653. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/model/test_stop_reason.py +0 -0
  654. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_answer.py +0 -0
  655. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_choice.py +0 -0
  656. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_classification.py +0 -0
  657. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_match.py +0 -0
  658. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_metric.py +0 -0
  659. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_model_graded.py +0 -0
  660. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_multiscorer.py +0 -0
  661. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_pattern.py +0 -0
  662. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_reducers.py +0 -0
  663. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_scorer.py +0 -0
  664. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/scorer/test_value_to_float.py +0 -0
  665. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_basic_agent.py +0 -0
  666. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_chain.py +0 -0
  667. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_fork.py +0 -0
  668. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_multiple_choice.py +0 -0
  669. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_prompt.py +0 -0
  670. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_setup.py +0 -0
  671. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_solver.py +0 -0
  672. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_solver_decorator.py +0 -0
  673. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_solver_spec.py +0 -0
  674. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_store.py +0 -0
  675. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_store_model.py +0 -0
  676. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_subtask.py +0 -0
  677. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/solver/test_transcript.py +0 -0
  678. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval.py +0 -0
  679. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_config/model.yaml +0 -0
  680. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_config/solver.yaml +0 -0
  681. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_config/task.yaml +0 -0
  682. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_config.py +0 -0
  683. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_set/2024-08-29T15-11-17+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
  684. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_eval_set/2024-08-29T15-11-18+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
  685. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_examples.py +0 -0
  686. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_extensions.py +0 -0
  687. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_fail_on_error.py +0 -0
  688. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_helpers/__init__.py +0 -0
  689. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_helpers/tool_call_utils.py +0 -0
  690. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_helpers/tools.py +0 -0
  691. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_helpers/utils.py +0 -0
  692. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_list_task.py +0 -0
  693. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_log_dir/example_task/example_task.py +0 -0
  694. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_log_dir/test_log_dir.py +0 -0
  695. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/.gitignore +0 -0
  696. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/__init__.py +0 -0
  697. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/_registry.py +0 -0
  698. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/approvers/renamer.py +0 -0
  699. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/modelapi/custom.py +0 -0
  700. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/py.typed +0 -0
  701. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/score/scorer.py +0 -0
  702. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/inspect_package/solvers/cot.py +0 -0
  703. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_package/pyproject.toml +0 -0
  704. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_retry.py +0 -0
  705. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_run_dir/task1/task1.py +0 -0
  706. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_run_dir/task2/task2.py +0 -0
  707. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_run_dir.py +0 -0
  708. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_sample_id.py +0 -0
  709. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_sample_limits.py +0 -0
  710. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_attr.py +0 -0
  711. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/__init__.py +0 -0
  712. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/attribs.ipynb +0 -0
  713. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/multiple.py +0 -0
  714. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/multiple_dir/_decoy/testit.py +0 -0
  715. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/multiple_dir/_decoy2.py +0 -0
  716. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/multiple_dir/bar.py +0 -0
  717. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/multiple_dir/foo.py +0 -0
  718. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/recurse/.folder3/epsilon.py +0 -0
  719. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/recurse/folder1/_decoy.py +0 -0
  720. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/recurse/folder1/theta.py +0 -0
  721. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/recurse/folder2/.folder3/epsilon.py +0 -0
  722. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/recurse/folder2/another.py +0 -0
  723. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/test_task_list/recurse/folder2/first.py +0 -0
  724. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/docker-compose-context/Dockerfile +0 -0
  725. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/docker-compose-context-alpine/Dockerfile +0 -0
  726. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_bash_tool.py +0 -0
  727. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_max_exec_output.py +0 -0
  728. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_max_tool_output.py +0 -0
  729. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_python_tool.py +0 -0
  730. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_sandbox_compose.yaml +0 -0
  731. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_sandbox_compose_alpine.yaml +0 -0
  732. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_sandbox_docker_and_local.py +0 -0
  733. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_sandbox_dockerfile.py +0 -0
  734. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_sandbox_tool_eval.py +0 -0
  735. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tool_def.py +0 -0
  736. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tool_parse.py +0 -0
  737. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tool_types.py +0 -0
  738. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tool_view.py +0 -0
  739. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tool_with.py +0 -0
  740. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_tools.py +0 -0
  741. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_use_tools.py +0 -0
  742. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_web_browser.py +0 -0
  743. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/tools/test_web_browser_compose.yaml +0 -0
  744. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/sandbox/docker_compose_multiple_services/docker-compose.yaml +0 -0
  745. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/sandbox/sandbox_setup.sh +0 -0
  746. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/sandbox/test_docker_compose_multiple_services.py +0 -0
  747. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/sandbox/test_sandbox_service.py +0 -0
  748. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_file.py +0 -0
  749. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_images/images.jsonl +0 -0
  750. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_package.py +0 -0
  751. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_registry.py +0 -0
  752. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_str_to_float.py +0 -0
  753. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/util/test_subprocess.py +0 -0
  754. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tests/view/test_bundle.py +0 -0
  755. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.eslintrc.json +0 -0
  756. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.gitignore +0 -0
  757. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.vscode/extensions.json +0 -0
  758. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.vscode/launch.json +0 -0
  759. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.vscode/settings.json +0 -0
  760. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.vscode/tasks.json +0 -0
  761. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.vscode-test.mjs +0 -0
  762. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.vscodeignore +0 -0
  763. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/.yarnrc +0 -0
  764. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/CHANGELOG.md +0 -0
  765. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/LICENSE +0 -0
  766. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/README.md +0 -0
  767. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/icon/eval-treeview-cancelled.svg +0 -0
  768. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/icon/eval-treeview-error.svg +0 -0
  769. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/icon/eval-treeview-started.svg +0 -0
  770. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/icon/eval-treeview.svg +0 -0
  771. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/icon/eval.svg +0 -0
  772. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/logo/inspect.png +0 -0
  773. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/logo/inspect.svg +0 -0
  774. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/templates/task.py.template +0 -0
  775. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/www/codicon/codicon.css +0 -0
  776. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/www/codicon/codicon.ttf +0 -0
  777. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/assets/www/view/view-overrides.css +0 -0
  778. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/package.json +0 -0
  779. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/@types/hooks.d.ts +0 -0
  780. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/document.ts +0 -0
  781. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/error.ts +0 -0
  782. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/focus.ts +0 -0
  783. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/notebook.ts +0 -0
  784. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/symbol.ts +0 -0
  785. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/task.ts +0 -0
  786. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/templates.ts +0 -0
  787. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/components/webview.ts +0 -0
  788. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/appdirs.ts +0 -0
  789. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/command.ts +0 -0
  790. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/dispose.ts +0 -0
  791. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/env.ts +0 -0
  792. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/file.ts +0 -0
  793. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/git.ts +0 -0
  794. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/jsonrpc.ts +0 -0
  795. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/log.ts +0 -0
  796. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/nonce.ts +0 -0
  797. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/path.ts +0 -0
  798. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/port.ts +0 -0
  799. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/process.ts +0 -0
  800. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/python/code.ts +0 -0
  801. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/python/env.ts +0 -0
  802. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/python/exec.ts +0 -0
  803. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/python/index.ts +0 -0
  804. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/python/interpreter.ts +0 -0
  805. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/random.ts +0 -0
  806. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/string.ts +0 -0
  807. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/text.ts +0 -0
  808. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/uri.ts +0 -0
  809. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/vscode/association.ts +0 -0
  810. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/wait.ts +0 -0
  811. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/core/workspace.ts +0 -0
  812. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/extension.ts +0 -0
  813. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/hooks/hooks.ts +0 -0
  814. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/hooks/index.ts +0 -0
  815. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/hooks/preview.ts +0 -0
  816. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/inspect/index.ts +0 -0
  817. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/inspect/logs.ts +0 -0
  818. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/inspect/props.ts +0 -0
  819. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/inspect/version.ts +0 -0
  820. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/active-task/active-task-command.ts +0 -0
  821. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/active-task/active-task-provider.ts +0 -0
  822. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/activity-bar-provider.ts +0 -0
  823. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/env-config-provider.ts +0 -0
  824. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/log-listing/log-directory-selector.ts +0 -0
  825. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-data.ts +0 -0
  826. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-mru.ts +0 -0
  827. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-provider.ts +0 -0
  828. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-server-queue.ts +0 -0
  829. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/log-listing/log-listing.ts +0 -0
  830. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/task-config-commands.ts +0 -0
  831. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/task-config-provider.ts +0 -0
  832. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/task-outline-commands.ts +0 -0
  833. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/task-outline-provider.ts +0 -0
  834. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.css +0 -0
  835. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.ts +0 -0
  836. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.css +0 -0
  837. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.ts +0 -0
  838. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/webview/vscode-controls.css +0 -0
  839. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/activity-bar/webview/webview-utils.ts +0 -0
  840. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/codelens/codelens-provider.ts +0 -0
  841. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-commands.ts +0 -0
  842. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-constants.ts +0 -0
  843. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-eval-commands.ts +0 -0
  844. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-eval.ts +0 -0
  845. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-logs-watcher.ts +0 -0
  846. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-manager.ts +0 -0
  847. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/inspect/inspect-view-server.ts +0 -0
  848. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/lognotify.ts +0 -0
  849. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/commands.ts +0 -0
  850. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/logview-editor.ts +0 -0
  851. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/logview-link-provider.ts +0 -0
  852. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/logview-panel.ts +0 -0
  853. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/logview-state.ts +0 -0
  854. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/logview-view.ts +0 -0
  855. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/logview/logview.ts +0 -0
  856. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/openlog.ts +0 -0
  857. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/protocol-handler.ts +0 -0
  858. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/settings/inspect-settings.ts +0 -0
  859. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/settings/user-settings.ts +0 -0
  860. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/statusbar.ts +0 -0
  861. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/workspace/workspace-env-commands.ts +0 -0
  862. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/workspace/workspace-env-provider.ts +0 -0
  863. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/workspace/workspace-init.ts +0 -0
  864. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/workspace/workspace-state-provider.ts +0 -0
  865. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/providers/workspace/workspace-task-provider.ts +0 -0
  866. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/test/codelens-provider.test.ts +0 -0
  867. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/src/test/extension.test.ts +0 -0
  868. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tools/ts-to-mjs/.gitignore +0 -0
  869. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tools/ts-to-mjs/package.json +0 -0
  870. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tools/ts-to-mjs/rollup.config.js +0 -0
  871. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tools/ts-to-mjs/src/index.ts +0 -0
  872. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tools/ts-to-mjs/src/jsonrpc.ts +0 -0
  873. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tools/ts-to-mjs/yarn.lock +0 -0
  874. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/tsconfig.json +0 -0
  875. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/webpack.config.js +0 -0
  876. {inspect_ai-0.3.57 → inspect_ai-0.3.58}/tools/vscode/yarn.lock +0 -0
@@ -5,7 +5,7 @@ default_language_version:
5
5
  python: python3.11
6
6
  repos:
7
7
  - repo: https://github.com/astral-sh/ruff-pre-commit
8
- rev: v0.9.0
8
+ rev: v0.9.1
9
9
  hooks:
10
10
  # Run the linter.
11
11
  - id: ruff
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.3.58 (16 January 2025)
4
+
5
+ - Support for [audio and video](https://github.com/UKGovernmentBEIS/inspect_ai/pull/1102) inputs for Open AI and Google Gemini models.
6
+ - Task display: Added Timeout Tool button for manually timing out a tool call.
7
+ - Task display: Automatically switch to "plain" mode when running in a background thread
8
+ - Sandboxes: Setup and initialisation errors are now handled at the sample level.
9
+ - Sandboxes: Increase setup script timeout to 5 minutes (from 30 seconds) and do not retry setup scripts (in case they aren't idempotent).
10
+ - Sandboxes: Add `timeout_retry` option (defaulting to `True`) to `exec()` function.
11
+ - Sandboxes: Add `type` and optional `container` properties to `SandboxConnection`.
12
+ - Docker: Services which exit with status 0 during setup no longer cause an error.
13
+ - `task_with()` function for creating task variants.
14
+ - Added `--filter` argument to trace CLI commands for filtering on trace log message content.
15
+ - Print model conversations to terminal with `--display=conversation` (was formerly `--trace`, which is now deprecated).
16
+ - HuggingFace: Support models that don't provide a chat template (e.g. gpt2)
17
+ - Eval Set: Ensure that logs with status 'started' are retried.
18
+ - Rename the built in `bootstrap_std` metric to `bootstrap_stderr` (deprecate `bootstrap_std`)
19
+ - Bugfix: Fix duplication of summaries when eval log file is rewritten.
20
+
3
21
  ## v0.3.57 (09 January 2025)
4
22
 
5
23
  - [Tracing API](https://inspect.ai-safety-institute.org.uk/tracing.html#tracing-api) for custom trace logging.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: inspect_ai
3
- Version: 0.3.57
3
+ Version: 0.3.58
4
4
  Summary: Framework for large language model evaluations
5
5
  Author: UK AI Safety Institute
6
6
  License: MIT License
@@ -67,7 +67,7 @@ Requires-Dist: pytest-asyncio; extra == "dev"
67
67
  Requires-Dist: pytest-cov; extra == "dev"
68
68
  Requires-Dist: pytest-dotenv; extra == "dev"
69
69
  Requires-Dist: pytest-xdist; extra == "dev"
70
- Requires-Dist: ruff==0.9.0; extra == "dev"
70
+ Requires-Dist: ruff==0.9.1; extra == "dev"
71
71
  Requires-Dist: textual-dev>=0.86.2; extra == "dev"
72
72
  Requires-Dist: types-PyYAML; extra == "dev"
73
73
  Requires-Dist: types-beautifulsoup4; extra == "dev"
@@ -64,6 +64,7 @@ website:
64
64
  - eval-sets.qmd
65
65
  - text: "Errors & Limits"
66
66
  href: errors-and-limits.qmd
67
+ - multimodal.qmd
67
68
  - typing.qmd
68
69
  - tracing.qmd
69
70
  - caching.qmd
@@ -10,6 +10,7 @@ class SandboxEnvironment:
10
10
  env: dict[str, str] = {},
11
11
  user: str | None = None,
12
12
  timeout: int | None = None,
13
+ timeout_retry: bool = True
13
14
  ) -> ExecResult[str]:
14
15
  """
15
16
  Raises:
@@ -64,4 +65,6 @@ The `read_file()` method should should preserve newline constructs (e.g. crlf sh
64
65
 
65
66
  The `connection()` method is optional, and provides commands that can be used to login to the sandbox container from a terminal or IDE.
66
67
 
68
+ Note that to deal with potential unreliability of container services, the `exec()` method includes a `timeout_retry` parameter that defaults to `True`. For sandbox implementations this parameter is _advisory_ (they should only use it if potential unreliablity exists in their runtime). No more than 2 retries should be attempted and both with timeouts less than 60 seconds. If you are executing commands that are not idempotent (i.e. the side effects of a failed first attempt may affect the results of subsequent attempts) then you can specify `timeout_retry=False` to override this behavior.
69
+
67
70
  For each method there is a documented set of errors that are raised: these are _expected_ errors and can either be caught by tools or allowed to propagate in which case they will be reported to the model for potential recovery. In addition, _unexpected_ errors may occur (e.g. a networking error connecting to a remote container): these errors are not reported to the model and fail the `Sample` with an error state.
@@ -19,10 +19,10 @@ Approvers can be specified at either the eval level or at the task level. The ex
19
19
  The simplest approval policy is interactive human approval of all tool calls. You can enable this policy by using the `--approval human` CLI option (or the `approval = "human"`) argument to `eval()`:
20
20
 
21
21
  ``` bash
22
- inspect eval browser.py --approval human --trace
22
+ inspect eval browser.py --approval human
23
23
  ```
24
24
 
25
- Note that we also enable [trace mode](interactivity.qmd#sec-trace-mode) so that we can see all messages exchanged with the model for context. This example provides the model with the built-in [web browser](tools.qmd#sec-web-browser) tool and asks it to navigate to a web and perform a search.
25
+ This example provides the model with the built-in [web browser](tools.qmd#sec-web-browser) tool and asks it to navigate to a web and perform a search.
26
26
 
27
27
  ## Auto Approver
28
28
 
@@ -44,7 +44,7 @@ Navigational web browser tool calls (e.g. `web_browser_go`) are approved automat
44
44
  To use this policy, pass the path to the policy YAML file as the approver. For example:
45
45
 
46
46
  ``` bash
47
- inspect eval browser.py --approval approval.yaml --trace
47
+ inspect eval browser.py --approval approval.yaml
48
48
  ```
49
49
 
50
50
  ## Approvers in Code
@@ -66,6 +66,10 @@ Files are copied into the default sandbox environment unless their name contains
66
66
  "victim:/shared/flag.txt": "flag.txt"
67
67
  ```
68
68
 
69
+ ### Setup
70
+
71
+ The `setup` field contains either a path to a bash setup script (resolved relative to the dataset path) or the contents of a script to execute. Setup scripts are executed with a 5 minute timeout. If you have setup scripts that may take longer than this you should move some of your setup code into the container build setup (e.g. Dockerfile).
72
+
69
73
  ## Field Mapping
70
74
 
71
75
  If your dataset contains inputs and targets that don't use `input` and `target` as field names, you can map them into a `Dataset` using a `FieldSpec`. This same mechanism also enables you to collect arbitrary additional fields into the `Sample` `metadata` bucket. For example:
@@ -188,7 +192,7 @@ The most important data structure within `Sample` is the `ChatMessage`. Note tha
188
192
  | Field | Type | Description |
189
193
  |-------------------|---------------------|--------------------------------|
190
194
  | `role` | `"system" | "user" | "assistant" | "tool"` | Role of this chat message. |
191
- | `content` | `str | list[ChatContent]` | The content of the message. Can be a simple string or a list of content parts intermixing text and images. |
195
+ | `content` | `str | list[Content]` | The content of the message. Can be a simple string or a list of content parts intermixing text and images. |
192
196
 
193
197
  : {tbl-colwidths="\[10,35,55\]"}
194
198
 
@@ -205,40 +209,6 @@ An input with chat messages in your dataset might will look something like this:
205
209
 
206
210
  Note that for this example we wouldn't normally use a full chat message object (rather we'd just provide a simple string). Chat message objects are more useful when you want to include a system prompt or prime the conversation with "assistant" responses.
207
211
 
208
- ## Image Input
209
-
210
- ::: {.callout-note appearance="simple"}
211
- Image input is currently only supported for OpenAI vision models (e.g. [gpt-4-vision-preview](https://platform.openai.com/docs/guides/vision)), Google Gemini vision models (e.g. [gemini-pro-vision](https://console.cloud.google.com/vertex-ai/publishers/google/model-garden/gemini-pro-vision)), and Anthropic Claude 3 models.
212
- :::
213
-
214
- To include an image, your dataset input might look like this:
215
-
216
- ``` javascript
217
- "input": [
218
- {
219
- "role": "user",
220
- "content": [
221
- { "type": "text", "text": "What is this a picture of?"},
222
- { "type": "image", "image": "picture.png"}
223
- ]
224
- }
225
- ]
226
- ```
227
-
228
- Where `"picture.png"` is resolved relative to the directory containing the dataset file. The image can be specified either as a URL (accessible to the model), a local file path, or a base64 encoded [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs).
229
-
230
- If you are constructing chat messages programmatically, then the equivalent to the above would be:
231
-
232
- ``` python
233
- ChatMessageUser(content = [
234
- ContentText(text="What is this a picture of?"),
235
- ContentImage(image="picture.png")
236
- ])
237
- ```
238
-
239
- If you are using paths or URLs to images and want the full base64 encoded content of images included in log files, use the `--log-images` CLI flag (or `log_images` argument to `eval`). Note however that you should generally not do this if you have either large images or a large quantity of images, as this can substantially increase the size of the log file, making it difficult to load into Inspect View with reasonable performance.
240
-
241
-
242
212
 
243
213
  ## Custom Reader {#sec-custom-reader}
244
214
 
@@ -266,4 +236,4 @@ def security_guide():
266
236
  )
267
237
  ```
268
238
 
269
- So if the built in dataset functions don't meet your needs, you can create a custom function that yields a `MemoryDataset`and pass those directly to your `Task`.
239
+ So if the built in dataset functions don't meet your needs, you can create a custom function that yields a `MemoryDataset`and pass those directly to your `Task`.
@@ -288,6 +288,8 @@ These sections discuss more advanced features and workflow. You don't need to re
288
288
 
289
289
  - [Errors and Limits](errors-and-limits.qmd) covers various techniques for dealing with unexpected errors and setting limits on evaluation tasks and samples.
290
290
 
291
+ - [Multimodal](multimodal.qmd) documents the APIs available for creating multimodal evaluations (including images, audio, and video).
292
+
291
293
  - [Typing](typing.qmd): provides guideance on using static type checking with Inspect, including creating typed interfaces to untyped storage (i.e. sample metadata and store).
292
294
 
293
295
  - [Tracing](tracing.qmd) Describes advanced execution tracing tools used to diagnose runtime issues.
@@ -60,11 +60,18 @@ with input_screen() as console:
60
60
 
61
61
  The `Prompt` class is designed to be subclassed for more specialized inputs. The `IntPrompt` and `FloatPrompt` classes are built-in, but you can also create your own more customised prompts (the `Confirm` class is another example of this). See the [prompt.py](https://github.com/Textualize/rich/blob/master/rich/prompt.py) source code for additional details.
62
62
 
63
- ## Trace Mode {#sec-trace-mode}
63
+ ## Conversation Display {#sec-conversation-display}
64
64
 
65
- When introducing interactions it's often useful to see a trace of message activity for additional context. You can do this via the `--trace` CLI option (or `trace` parameter of the `eval()` function). For example:
65
+ When introducing interactions it's often useful to see the full chat conversation printed for additional context. You can do this via the `--display=conversation` CLI option, for example:
66
+
67
+ ``` bash
68
+ $ inspect eval theory.py --display conversation
69
+ ```
70
+
71
+ In conversation display mode, all messages exchanged with the model are printed to the terminal (tool output is truncated at 100 lines).
72
+
73
+ Note that enabling conversation display automatically sets `max_tasks` and `max_samples` to 1, as otherwise messages from concurrently running samples would be interleaved together in an incoherent jumble.
66
74
 
67
- {{< include _trace.md >}}
68
75
 
69
76
 
70
77
  ## Progress
@@ -21,6 +21,7 @@
21
21
  - [Eval Logs](https://inspect.ai-safety-institute.org.uk/eval-logs.html.md): Explores how to get the most out of evaluation logs for developing, debugging, and analyzing evaluations.
22
22
  - [Eval Sets](https://inspect.ai-safety-institute.org.uk/eval-sets.html.md): Covers Inspect's features for describing, running, and analysing larger sets of evaluation tasks.
23
23
  - [Errors and Limits](https://inspect.ai-safety-institute.org.uk/errors-and-limits.html.md): This article covers various techniques for dealing with unexpected errors and setting limits on evaluation tasks and samples, including retrying failed evaluations, establishing a threshold of samples to tolerate errors for before failing an evaluation, and setting a maximum number of messages, tokens, or elapsed seconds in a sample before forcing the solver to give up.
24
+ - [Multimodal](https://inspect.ai-safety-institute.org.uk/multimodal.html.md) This article describes how to use images, audio, and video in evaluations.
24
25
  - [Typing](https://inspect.ai-safety-institute.org.uk/typing.html.md): Provides guideance on using static type checking with Inspect, including creating typed interfaces to untyped storage (i.e. sample metadata and store).
25
26
  - [Tracing](https://inspect.ai-safety-institute.org.uk/tracing.html.md): Describes advanced execution tracing tools used to diagnose runtime issues.
26
27
  - [Caching](https://inspect.ai-safety-institute.org.uk/caching.html.md): Caching enables you to cache model output to reduce the number of API calls made, saving both time and expense.
@@ -0,0 +1,176 @@
1
+ ---
2
+ title: Multimodal
3
+ ---
4
+
5
+ ## Overview
6
+
7
+ Many models now support multimodal inputs, including images, audio, and video. This article describes how to how to create evaluations that include these data types.
8
+
9
+ The following providers currently have support for multimodal inputs:
10
+
11
+ | Provider | Images | Audio | Video |
12
+ |-----------|:------:|:-----:|:-----:|
13
+ | OpenAI | • | • | |
14
+ | Anthropic | • | | |
15
+ | Google | • | • | • |
16
+ | Vertex | • | • | |
17
+ | Mistral | • | | |
18
+ | Grok | • | | |
19
+ | Bedrock | • | | |
20
+ | AzureAI | • | | |
21
+ | Groq | • | | |
22
+
23
+ : {tbl-colwidths=\[40,20,20,20\]}
24
+
25
+ Note that model providers only support multimodal inputs for a subset of their models. In the sections below on images, audio, and video we'll enumerate which models can handle these input types. It's also always a good idea to check the provider documentation for the most up to date compatiblity matrix.
26
+
27
+ ## Images {#provider-notes}
28
+
29
+ The following models currently support image inputs:
30
+
31
+ - OpenAI: GPT-4o series and the full o1 model,
32
+ - Anthropic: Claude 3.5 Sonnet and all of the Claude 3 series models.
33
+ - Google/Vertex: Gemini 1.5 and Gemini 2.0 models.
34
+ - Mistral: Pixstral models (e.g. `pixtral-12b-2409`)
35
+ - Grok: Vision models (e.g. `grok-vision-beta`)
36
+
37
+ For Bedrock, AzureAI, and Groq, please consult model provider documentation for details on which models support image inputs.
38
+
39
+ To include an image in a [dataset](datasets.qmd) you should use JSON input format (either standard JSON or JSON Lines). For example, here we include an image alongside some text content:
40
+
41
+ ``` javascript
42
+ "input": [
43
+ {
44
+ "role": "user",
45
+ "content": [
46
+ { "type": "image", "image": "picture.png"},
47
+ { "type": "text", "text": "What is this a picture of?"}
48
+ ]
49
+ }
50
+ ]
51
+ ```
52
+
53
+ The `"picture.png"` path is resolved relative to the directory containing the dataset file. The image can be specified either as a file path or a base64 encoded [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs).
54
+
55
+ If you are constructing chat messages programmatically, then the equivalent to the above would be:
56
+
57
+ ``` python
58
+ input = [
59
+ ChatMessageUser(content = [
60
+ ContentImage(image="picture.png"),
61
+ ContentText(text="What is this a picture of?")
62
+ ])
63
+ ]
64
+ ```
65
+
66
+ ### Detail
67
+
68
+ Some providers support a `detail` option that control over how the model processes the image and generates its textual understanding. Valid options are `auto` (the default), `low`, and `high`. See the [Open AI documentation](https://platform.openai.com/docs/guides/vision#low-or-high-fidelity-image-understanding) for more information on using this option. The Mistral, AzureAI, and Groq APIs also support the `detail` parameter. For example, here we explicitly specify image detail:
69
+
70
+ ``` python
71
+ ContentImage(image="picture.png", detail="low")
72
+ ```
73
+
74
+ ## Audio
75
+
76
+ The following models currently support audio inputs:
77
+
78
+ - Open AI: `gpt-4o-audio-preview`
79
+ - Google/Vertex: Gemini 1.5 and 2.0 models
80
+
81
+ To include audio in a [dataset](datasets.qmd) you should use JSON input format (either standard JSON or JSON Lines). For example, here we include audio alongside some text content:
82
+
83
+ ``` javascript
84
+ "input": [
85
+ {
86
+ "role": "user",
87
+ "content": [
88
+ { "type": "audio", "audio": "sample.mp3", "format": "mp3" },
89
+ { "type": "text", "text": "What words are spoken in this audio sample?"}
90
+ ]
91
+ }
92
+ ]
93
+ ```
94
+
95
+ The "sample.mp3" path is resolved relative to the directory containing the dataset file. The audio file can be specified either as a file path or a base64 encoded [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs).
96
+
97
+ If you are constructing chat messages programmatically, then the equivalent to the above would be:
98
+
99
+ ``` python
100
+ input = [
101
+ ChatMessageUser(content = [
102
+ ContentAudio(audio="sample.mp3", format="mp3"),
103
+ ContentText(text="What words are spoken in this audio sample?")
104
+ ])
105
+ ]
106
+ ```
107
+
108
+ ### Formats
109
+
110
+ You can provide audio files in one of two formats:
111
+
112
+ - MP3
113
+ - WAV
114
+
115
+ As demonstrated above, you should specify the format explicitly when including audio input.
116
+
117
+ ## Video
118
+
119
+ The following models currently support video inputs:
120
+
121
+ - Google: Gemini 1.5 and 2.0 models
122
+
123
+ To include video in a [dataset](datasets.qmd) you should use JSON input format (either standard JSON or JSON Lines). For example, here we include video alongside some text content:
124
+
125
+ ``` javascript
126
+ "input": [
127
+ {
128
+ "role": "user",
129
+ "content": [
130
+ { "type": "video", "video": "video.mp4", "format": "mp4" },
131
+ { "type": "text", "text": "Can you please describe the attached video?"}
132
+ ]
133
+ }
134
+ ]
135
+ ```
136
+
137
+ The "video.mp4" path is resolved relative to the directory containing the dataset file. The video file can be specified either as a file path or a base64 encoded [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs).
138
+
139
+ If you are constructing chat messages programmatically, then the equivalent to the above would be:
140
+
141
+ ``` python
142
+ input = [
143
+ ChatMessageUser(content = [
144
+ ContentVideo(video="video.mp4", format="mp4"),
145
+ ContentText(text="Can you please describe the attached video?")
146
+ ])
147
+ ]
148
+ ```
149
+
150
+ ### Formats
151
+
152
+ You can provide video files in one of three formats:
153
+
154
+ - MP4
155
+ - MPEG
156
+ - MOV
157
+
158
+ As demonstrated above, you should specify the format explicitly when including video input.
159
+
160
+ ## Uploads
161
+
162
+ When using audio and video with the Google Gemini API, media is first uploaded using the [File API](https://ai.google.dev/gemini-api/docs/audio?lang=python#upload-audio) and then the URL to the uploaded file is referenced in the chat message. This results in much faster performance for subsequent uses of the media file.
163
+
164
+ The File API lets you store up to 20GB of files per project, with a per-file maximum size of 2GB. Files are stored for 48 hours. They can be accessed in that period with your API key, but cannot be downloaded from the API. The File API is available at no cost in all regions where the Gemini API is available.
165
+
166
+ ## Logging
167
+
168
+ By default, full base64 encoded copies of media files are included in the log file. Media file logging will not create performance problems when using `.eval` logs, however if you are using `.json` logs then large numbers of media files could become unwieldy (i.e. if your `.json` log file grows to 100MB or larger as a result).
169
+
170
+ You can disable all media logging using the `--no-log-images` flag. For example, here we enable the `.json` log format and disable media logging:
171
+
172
+ ``` bash
173
+ inspect eval images.py --log-format=json --no-log-images
174
+ ```
175
+
176
+ You can also use the `INSPECT_EVAL_LOG_IMAGES` environment variable to set a global default in your `.env` configuration file.
@@ -72,7 +72,7 @@ Task(
72
72
  ```
73
73
 
74
74
  ::: {#stderr-note .callout-note}
75
- The current development version of Inspect replaces the use of the `bootstrap_std` metric with `stderr` for the built in scorers enumerated above.
75
+ The current development version of Inspect replaces the use of the `bootstrap_stderr` metric with `stderr` for the built in scorers enumerated above.
76
76
 
77
77
  Since eval scores are means of numbers having finite variance, we can compute standard errors using the Central Limit Theorem rather than bootstrapping. Bootstrapping is generally useful in contexts with more complex structure or non-mean summary statistics (e.g. quantiles). You will notice that the bootstrap numbers will come in quite close to the analytic numbers, since they are estimating the same thing.
78
78
 
@@ -217,7 +217,7 @@ def includes(ignore_case: bool = True):
217
217
  1. The function applies the `@scorer` decorator and registers two metrics for use with the scorer.
218
218
  2. The `score()` function is declared as `async`. This is so that it can participate in Inspect's optimised scheduling for expensive model generation calls (this scorer doesn't call a model but others will).
219
219
  3. We make use of the `text` property on the `Target`. This is a convenience property to get a simple text value out of the `Target` (as targets can technically be a list of strings).
220
- 4. We use the special constants `CORRECT` and `INCORRECT` for the score value (as the `accuracy()`, `stderr()`, and `bootstrap_std()` metrics know how to convert these special constants to float values (1.0 and 0.0 respectively).
220
+ 4. We use the special constants `CORRECT` and `INCORRECT` for the score value (as the `accuracy()`, `stderr()`, and `bootstrap_stderr()` metrics know how to convert these special constants to float values (1.0 and 0.0 respectively).
221
221
  5. We provide the full model completion as the answer for the score (`answer` is optional, but highly recommended as it is often useful to refer to during evaluation development).
222
222
 
223
223
  ### Example: Model Grading
@@ -514,7 +514,7 @@ Inspect includes some simple built in metrics for calculating accuracy, mean, et
514
514
 
515
515
  Standard error of the mean.
516
516
 
517
- - `bootstrap_std()`
517
+ - `bootstrap_stderr()`
518
518
 
519
519
  Standard deviation of a bootstrapped estimate of the mean. 1000 samples are taken by default (modify this using the `num_samples` option).
520
520
 
@@ -1,6 +1,6 @@
1
1
  #!/bin/bash
2
2
 
3
- files=("index" "tutorial" "workflow" "log-viewer" "vscode" "solvers" "tools" "scorers" "datasets" "models" "agents" "sandboxing" "agents-api" "human-agent" "approval" "eval-logs" "eval-sets" "typing" "errors-and-limits" "tracing" "caching" "parallelism" "interactivity" "extensions")
3
+ files=("index" "tutorial" "workflow" "log-viewer" "vscode" "solvers" "tools" "scorers" "datasets" "models" "agents" "sandboxing" "agents-api" "human-agent" "approval" "eval-logs" "eval-sets" "errors-and-limits" "multimodal" "typing" "tracing" "caching" "parallelism" "interactivity" "extensions")
4
4
 
5
5
 
6
6
  if [ "$QUARTO_PROJECT_RENDER_ALL" = "1" ]; then
@@ -31,6 +31,12 @@ Trace logs are written using [JSON Lines](https://jsonlines.org/) format and are
31
31
  inspect trace dump trace-86396.log.gz
32
32
  ```
33
33
 
34
+ You can also apply a filter to the trace file using the `--filter` argument (which will match log message text case insensitively). For example:
35
+
36
+ ``` bash
37
+ inspect trace dump trace-86396.log.gz --filter model
38
+ ```
39
+
34
40
  ## Anomalies {#anomalies}
35
41
 
36
42
  If an evaluation is running and is not terminating, you can execute the following command to list instances of actions (e.g. model API generates, docker compose commands, tool calls, etc.) that are still running:
@@ -57,6 +63,12 @@ inspect trace anomalies --all
57
63
 
58
64
  Note that errors and timeouts are not by themselves evidence of problems, since both occur in the normal course of running evaluations (e.g. model generate calls can return errors that are retried and Docker or S3 can also return retryable errors or timeout when they are under heavy load).
59
65
 
66
+ As with the `inspect trace dump` command, you can apply a filter when listing anomolies. For example:
67
+
68
+ ```bash
69
+ inspect trace anomalies --filter model
70
+ ```
71
+
60
72
  ## Tracing API {#tracing-api}
61
73
 
62
74
  In addition to the standard set of actions which are trace logged, you can do your own custom trace logging using the `trace_action()` and `trace_message()` APIs. Trace logging is a great way to make sure that logging context is *always captured* (since the last 10 trace logs are always available) without cluttering up the console or eval transcripts.
@@ -208,11 +208,6 @@ Note that `.env` files are searched for in parent directories, so if you run an
208
208
  `.env` files should *never* be checked into version control, as they nearly always contain either secret API keys or machine specific paths. A best practice is often to check in an `.env.example` file to version control which provides an outline (e.g. keys only not values) of variables that are required by the current project.
209
209
  :::
210
210
 
211
- ## Trace Mode
212
-
213
- In some cases during development of an evaluation you'll want to see message activity in realtime. You can do this via the `--trace` CLI option (or `trace` parameter of the `eval()` function). For example:
214
-
215
- {{< include _trace.md >}}
216
211
 
217
212
  ## Exploratory
218
213
 
@@ -4,17 +4,11 @@
4
4
 
5
5
  This is a demonstrate of Inspect's [Approval Mode](https://inspect.ai-safety-institute.org.uk/approval.html) whereby tool calls are approved by a combination of approvers and approval policies.
6
6
 
7
- To run this demonstration, specify the approval configuration file and the `--trace` option to see model interactions printed to the terminal:
7
+ To run this demonstration, specify the approval configuration file as follows:
8
8
 
9
9
  ``` bash
10
10
  cd examples/approval
11
- inspect eval approval.py --approval approval.yaml --trace
12
- ```
13
-
14
- You can also run the approval script directly and it will run the task in the appropriate approval and trace modes:
15
-
16
- ``` bash
17
- python3 examples/approval/approval.py
11
+ inspect eval approval.py --approval approval.yaml
18
12
  ```
19
13
 
20
14
  ## Task Setup
@@ -49,7 +43,7 @@ def approval_demo() -> Task:
49
43
  We'll evaluate this task using the approval policy defined in `approval.yaml`:
50
44
 
51
45
  ```bash
52
- inspect eval approval.py --approval approval.yaml --trace
46
+ inspect eval approval.py --approval approval.yaml
53
47
  ```
54
48
 
55
49
  Here is the approval configuration:
@@ -1,9 +1,8 @@
1
1
  import ast
2
2
  import shlex
3
- from pathlib import Path
4
3
  from typing import Set
5
4
 
6
- from inspect_ai import Task, eval, task
5
+ from inspect_ai import Task, task
7
6
  from inspect_ai.approval import Approval, Approver, approver
8
7
  from inspect_ai.dataset import Sample
9
8
  from inspect_ai.solver import TaskState, generate, system_message, use_tools
@@ -220,8 +219,3 @@ def python_allowlist(
220
219
  return Approval(decision="approve", explanation="Python code is approved.")
221
220
 
222
221
  return approve
223
-
224
-
225
- if __name__ == "__main__":
226
- approval = (Path(__file__).parent / "approval.yaml").as_posix()
227
- eval(approval_demo(), approval=approval)
@@ -4,17 +4,12 @@
4
4
 
5
5
  This is a prototype of an Inspect agent with human intervention. It utilises Inspect's [Interactivity features](https://inspect.ai-safety-institute.org.uk/interactivity.html). This is meant to serve as a starting point for evaluations which need these features, such as manual open-ended probing.
6
6
 
7
- This gives an overview of this task and how to customise it. Note that this task is intended to be run within Inspect's approval mode (so you can confirm tool calls) and trace mode (so you can see the conversation with the model). For example:
7
+ This gives an overview of this task and how to customise it. Note that this task is intended to be run within Inspect's approval mode (so you can confirm tool calls) and conversation display mode (so you can see the conversation with the model). For example:
8
8
 
9
9
  ``` bash
10
- inspect eval intervention.py --approval human --trace
10
+ inspect eval exmaples/intervention.py --approval human --display conversation
11
11
  ```
12
12
 
13
- You can also run the intervention script directly and it will run the task in the appropriate approval and trace modes:
14
-
15
- ``` bash
16
- python3 intervention.py
17
- ```
18
13
 
19
14
  ## Inspect Code
20
15
 
@@ -2,7 +2,7 @@ from textwrap import dedent
2
2
 
3
3
  from rich.prompt import Prompt
4
4
 
5
- from inspect_ai import Task, eval, task
5
+ from inspect_ai import Task, task
6
6
  from inspect_ai.model import ChatMessageUser
7
7
  from inspect_ai.solver import (
8
8
  Generate,
@@ -108,7 +108,3 @@ def ask_for_next_action() -> str:
108
108
  default="",
109
109
  console=console,
110
110
  )
111
-
112
-
113
- if __name__ == "__main__":
114
- eval(intervention(), approval="human", trace=True)
@@ -129,7 +129,7 @@ dev = [
129
129
  "pytest-cov",
130
130
  "pytest-dotenv",
131
131
  "pytest-xdist",
132
- "ruff==0.9.0", # match version specified in .pre-commit-config.yaml
132
+ "ruff==0.9.1", # match version specified in .pre-commit-config.yaml
133
133
  "textual-dev>=0.86.2",
134
134
  "types-PyYAML",
135
135
  "types-beautifulsoup4",
@@ -7,7 +7,7 @@ from inspect_ai._eval.evalset import eval_set
7
7
  from inspect_ai._eval.list import list_tasks
8
8
  from inspect_ai._eval.registry import task
9
9
  from inspect_ai._eval.score import score, score_async
10
- from inspect_ai._eval.task import Epochs, Task, TaskInfo, Tasks
10
+ from inspect_ai._eval.task import Epochs, Task, TaskInfo, Tasks, task_with
11
11
  from inspect_ai._util.constants import PKG_NAME
12
12
  from inspect_ai.solver._human_agent.agent import human_agent
13
13
 
@@ -29,4 +29,5 @@ __all__ = [
29
29
  "TaskInfo",
30
30
  "Tasks",
31
31
  "task",
32
+ "task_with",
32
33
  ]
@@ -17,7 +17,7 @@ class CommonOptions(TypedDict):
17
17
  log_level: str
18
18
  log_level_transcript: str
19
19
  log_dir: str
20
- display: Literal["full", "rich", "plain", "none"]
20
+ display: Literal["full", "conversation", "rich", "plain", "none"]
21
21
  no_ansi: bool | None
22
22
  debug: bool
23
23
  debug_port: int
@@ -64,7 +64,9 @@ def common_options(func: Callable[..., Any]) -> Callable[..., click.Context]:
64
64
  )
65
65
  @click.option(
66
66
  "--display",
67
- type=click.Choice(["full", "rich", "plain", "none"], case_sensitive=False),
67
+ type=click.Choice(
68
+ ["full", "conversation", "rich", "plain", "none"], case_sensitive=False
69
+ ),
68
70
  default=DEFAULT_DISPLAY,
69
71
  envvar="INSPECT_DISPLAY",
70
72
  help="Set the display type (defaults to 'full')",
@@ -118,6 +118,7 @@ def eval_options(func: Callable[..., Any]) -> Callable[..., click.Context]:
118
118
  "--trace",
119
119
  type=bool,
120
120
  is_flag=True,
121
+ hidden=True,
121
122
  envvar="INSPECT_EVAL_TRACE",
122
123
  help="Trace message interactions with evaluated model to terminal.",
123
124
  )
@@ -886,6 +887,7 @@ def parse_comma_separated(value: str | None) -> list[str] | None:
886
887
  "--trace",
887
888
  type=bool,
888
889
  is_flag=True,
890
+ hidden=True,
889
891
  help="Trace message interactions with evaluated model to terminal.",
890
892
  envvar="INSPECT_EVAL_TRACE",
891
893
  )