inspect-ai 0.3.56__tar.gz → 0.3.57__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 (861) hide show
  1. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.github/workflows/build.yml +1 -1
  2. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.pre-commit-config.yaml +9 -9
  3. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/CHANGELOG.md +19 -0
  4. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/PKG-INFO +3 -3
  5. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_container_limits.md +4 -0
  6. inspect_ai-0.3.57/docs/_max_samples.md +7 -0
  7. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_sample-preservation.md +1 -4
  8. inspect_ai-0.3.57/docs/_setting_max_samples.md +3 -0
  9. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/eval-logs.qmd +1 -4
  10. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/scorers.qmd +1 -1
  11. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/tracing.qmd +38 -2
  12. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/typing.qmd +11 -0
  13. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/pyproject.toml +1 -1
  14. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/panel.py +1 -1
  15. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/run.py +16 -11
  16. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/datetime.py +1 -1
  17. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/deprecation.py +1 -1
  18. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/json.py +11 -1
  19. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/logger.py +2 -1
  20. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/trace.py +39 -3
  21. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/transcript.py +36 -7
  22. inspect_ai-0.3.57/src/inspect_ai/_view/www/.prettierrc.js +12 -0
  23. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/dist/assets/index.js +286 -224
  24. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/log-schema.json +124 -125
  25. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/App.mjs +18 -9
  26. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/Types.mjs +0 -1
  27. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/Types.mjs +15 -4
  28. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/api-http.mjs +2 -0
  29. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/ExpandablePanel.mjs +2 -2
  30. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/FindBand.mjs +5 -4
  31. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/LargeModal.mjs +1 -1
  32. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/MessageContent.mjs +1 -1
  33. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/TabSet.mjs +1 -1
  34. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/Tools.mjs +18 -3
  35. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/VirtualList.mjs +15 -17
  36. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/log/remoteLogFile.mjs +2 -1
  37. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/navbar/Navbar.mjs +44 -32
  38. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleDisplay.mjs +1 -2
  39. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleList.mjs +35 -4
  40. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleScoreView.mjs +13 -2
  41. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleScores.mjs +11 -2
  42. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SamplesDescriptor.mjs +238 -178
  43. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SamplesTab.mjs +4 -2
  44. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/tools/SampleFilter.mjs +5 -5
  45. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/tools/SelectScorer.mjs +7 -0
  46. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/tools/SortFilter.mjs +3 -3
  47. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/ToolEventView.mjs +1 -1
  48. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/types/log.d.ts +2 -8
  49. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/workspace/WorkSpace.mjs +1 -1
  50. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_log.py +25 -0
  51. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_recorders/eval.py +2 -0
  52. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_call_tools.py +27 -5
  53. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/google.py +24 -6
  54. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/openai.py +17 -3
  55. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/openai_o1.py +10 -12
  56. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_info.py +2 -1
  57. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/dm_env_servicer.py +9 -9
  58. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_web_browser.py +3 -3
  59. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/__init__.py +4 -0
  60. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/compose.py +1 -3
  61. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/util.py +2 -1
  62. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/self_check.py +18 -18
  63. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_store.py +2 -2
  64. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_subprocess.py +3 -3
  65. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai.egg-info/PKG-INFO +3 -3
  66. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai.egg-info/SOURCES.txt +8 -0
  67. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai.egg-info/requires.txt +1 -1
  68. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_log_formats.py +6 -6
  69. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_store_model.py +32 -3
  70. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tool_types.py +42 -0
  71. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_web_browser.py +23 -0
  72. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_subprocess.py +1 -1
  73. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/CHANGELOG.md +5 -0
  74. inspect_ai-0.3.57/tools/vscode/assets/icon/eval-treeview-cancelled.svg +13 -0
  75. inspect_ai-0.3.57/tools/vscode/assets/icon/eval-treeview-error.svg +13 -0
  76. inspect_ai-0.3.57/tools/vscode/assets/icon/eval-treeview-started.svg +14 -0
  77. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/package.json +3 -3
  78. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/@types/log.d.ts +2 -8
  79. inspect_ai-0.3.57/tools/vscode/src/providers/activity-bar/log-listing/log-listing-data.ts +217 -0
  80. inspect_ai-0.3.57/tools/vscode/src/providers/activity-bar/log-listing/log-listing-server-queue.ts +310 -0
  81. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/log-listing/log-listing.ts +56 -38
  82. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/codelens/codelens-provider.ts +54 -7
  83. inspect_ai-0.3.57/tools/vscode/src/test/codelens-provider.test.ts +269 -0
  84. inspect_ai-0.3.56/tools/vscode/src/providers/activity-bar/log-listing/log-listing-data.ts +0 -308
  85. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.github/dependabot.yml +0 -0
  86. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.github/pull_request_template.md +0 -0
  87. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.github/workflows/docs.yml +0 -0
  88. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.github/workflows/log_viewer.yml +0 -0
  89. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.github/workflows/pypi.yml +0 -0
  90. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.github/workflows/vscode.yml +0 -0
  91. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.gitignore +0 -0
  92. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.vscode/extensions.json +0 -0
  93. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/.vscode/settings.json +0 -0
  94. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/CITATION.cff +0 -0
  95. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/LICENSE +0 -0
  96. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/Makefile +0 -0
  97. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/README.md +0 -0
  98. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/.gitignore +0 -0
  99. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/CNAME +0 -0
  100. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_errors_and_retries.md +0 -0
  101. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_metadata_typing.md +0 -0
  102. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_quarto.yml +0 -0
  103. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_sandboxenv-interface.md +0 -0
  104. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_store_typing.md +0 -0
  105. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_tools-annotations-required.md +0 -0
  106. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_tools-scaffold.md +0 -0
  107. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_trace.md +0 -0
  108. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/_variables.yml +0 -0
  109. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/agents-api.qmd +0 -0
  110. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/agents.qmd +0 -0
  111. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/approval.qmd +0 -0
  112. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/caching.qmd +0 -0
  113. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/datasets.qmd +0 -0
  114. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/errors-and-limits.qmd +0 -0
  115. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/eval-sets.qmd +0 -0
  116. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/examples/examples.bib +0 -0
  117. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/examples/examples.css +0 -0
  118. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/examples/examples.ejs +0 -0
  119. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/examples/examples.yml +0 -0
  120. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/examples/index.qmd +0 -0
  121. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/extensions.qmd +0 -0
  122. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/human-agent.qmd +0 -0
  123. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/aisi-logo.png +0 -0
  124. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/eval-log.png +0 -0
  125. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-activity-bar.png +0 -0
  126. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-human-agent-container.png +0 -0
  127. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-human-agent.png +0 -0
  128. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-multiple-models.png +0 -0
  129. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-terminal-transcript.png +0 -0
  130. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-answers.png +0 -0
  131. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-filter.png +0 -0
  132. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-history.png +0 -0
  133. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-home.png +0 -0
  134. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-info.png +0 -0
  135. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-logging-console.png +0 -0
  136. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-logging.png +0 -0
  137. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-main.png +0 -0
  138. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-messages.png +0 -0
  139. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-metadata.png +0 -0
  140. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-scoring.png +0 -0
  141. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-sort.png +0 -0
  142. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-view-splash.png +0 -0
  143. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-vscode-config.png +0 -0
  144. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-vscode-install.png +0 -0
  145. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-vscode-logview.png +0 -0
  146. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-vscode-output-channel.png +0 -0
  147. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect-vscode-run-task.png +0 -0
  148. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/inspect.png +0 -0
  149. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/logs-drop-down.png +0 -0
  150. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/logs-open-button.png +0 -0
  151. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/logs.png +0 -0
  152. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/popularity.png +0 -0
  153. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/python-tool-view.png +0 -0
  154. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/rate-limit.png +0 -0
  155. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/running-theory.png +0 -0
  156. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/task-max-sandboxes.png +0 -0
  157. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/toolenv-no-cleanup.png +0 -0
  158. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/images/web-browser-tool-view.png +0 -0
  159. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/index.qmd +0 -0
  160. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/interactivity.qmd +0 -0
  161. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/llms.txt +0 -0
  162. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/log-viewer.qmd +0 -0
  163. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/models.qmd +0 -0
  164. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/parallelism.qmd +0 -0
  165. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/sandboxing.qmd +0 -0
  166. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/scripts/post-render.sh +0 -0
  167. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/solvers.qmd +0 -0
  168. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/theme.scss +0 -0
  169. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/tools.qmd +0 -0
  170. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/tutorial.qmd +0 -0
  171. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/vscode.qmd +0 -0
  172. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/docs/workflow.qmd +0 -0
  173. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/approval/README.md +0 -0
  174. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/approval/approval.py +0 -0
  175. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/approval/approval.yaml +0 -0
  176. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/biology_qa.py +0 -0
  177. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/browser/browser.py +0 -0
  178. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/browser/compose.yaml +0 -0
  179. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/cache.py +0 -0
  180. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/evalset.py +0 -0
  181. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/hello_world.py +0 -0
  182. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/images/ballons.png +0 -0
  183. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/images/bike.png +0 -0
  184. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/images/images.jsonl +0 -0
  185. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/images/images.py +0 -0
  186. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/intervention/Dockerfile +0 -0
  187. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/intervention/README.md +0 -0
  188. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/intervention/compose.yaml +0 -0
  189. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/intervention/intervention.py +0 -0
  190. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/.env.example +0 -0
  191. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/.gitignore +0 -0
  192. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/README.md +0 -0
  193. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/inspect_langchain.py +0 -0
  194. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/requirements.txt +0 -0
  195. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/wikipedia.jsonl +0 -0
  196. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/langchain/wikipedia.py +0 -0
  197. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/popularity.py +0 -0
  198. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/security_guide.py +0 -0
  199. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/theory_of_mind.py +0 -0
  200. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/examples/tool_use.py +0 -0
  201. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/requirements.txt +0 -0
  202. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/setup.cfg +0 -0
  203. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/__init__.py +0 -0
  204. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/__main__.py +0 -0
  205. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/cache.py +0 -0
  206. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/common.py +0 -0
  207. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/eval.py +0 -0
  208. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/info.py +0 -0
  209. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/list.py +0 -0
  210. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/log.py +0 -0
  211. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/main.py +0 -0
  212. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/sandbox.py +0 -0
  213. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/score.py +0 -0
  214. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/trace.py +0 -0
  215. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/util.py +0 -0
  216. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_cli/view.py +0 -0
  217. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/__init__.py +0 -0
  218. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/active.py +0 -0
  219. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/config.py +0 -0
  220. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/display.py +0 -0
  221. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/footer.py +0 -0
  222. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/group.py +0 -0
  223. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/progress.py +0 -0
  224. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/results.py +0 -0
  225. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/rich.py +0 -0
  226. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/core/textual.py +0 -0
  227. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/rich/__init__.py +0 -0
  228. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/rich/display.py +0 -0
  229. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/app.py +0 -0
  230. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/app.tcss +0 -0
  231. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/display.py +0 -0
  232. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/theme.py +0 -0
  233. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/clock.py +0 -0
  234. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/console.py +0 -0
  235. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/footer.py +0 -0
  236. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/samples.py +0 -0
  237. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/task_detail.py +0 -0
  238. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/tasks.py +0 -0
  239. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/titlebar.py +0 -0
  240. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/toggle.py +0 -0
  241. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_display/textual/widgets/transcript.py +0 -0
  242. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/context.py +0 -0
  243. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/eval.py +0 -0
  244. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/evalset.py +0 -0
  245. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/list.py +0 -0
  246. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/loader.py +0 -0
  247. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/registry.py +0 -0
  248. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/score.py +0 -0
  249. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/__init__.py +0 -0
  250. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/constants.py +0 -0
  251. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/epochs.py +0 -0
  252. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/error.py +0 -0
  253. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/generate.py +0 -0
  254. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/images.py +0 -0
  255. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/log.py +0 -0
  256. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/results.py +0 -0
  257. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/run.py +0 -0
  258. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/rundir.py +0 -0
  259. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/sandbox.py +0 -0
  260. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/task.py +0 -0
  261. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_eval/task/util.py +0 -0
  262. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/_async.py +0 -0
  263. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/ansi.py +0 -0
  264. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/appdirs.py +0 -0
  265. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/config.py +0 -0
  266. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/constants.py +0 -0
  267. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/content.py +0 -0
  268. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/decorator.py +0 -0
  269. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/dev.py +0 -0
  270. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/dict.py +0 -0
  271. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/dotenv.py +0 -0
  272. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/entrypoints.py +0 -0
  273. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/environ.py +0 -0
  274. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/error.py +0 -0
  275. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/file.py +0 -0
  276. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/format.py +0 -0
  277. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/git.py +0 -0
  278. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/hash.py +0 -0
  279. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/hooks.py +0 -0
  280. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/html.py +0 -0
  281. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/http.py +0 -0
  282. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/images.py +0 -0
  283. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/list.py +0 -0
  284. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/notebook.py +0 -0
  285. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/package.py +0 -0
  286. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/path.py +0 -0
  287. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/pattern.py +0 -0
  288. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/platform.py +0 -0
  289. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/registry.py +0 -0
  290. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/retry.py +0 -0
  291. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/rich.py +0 -0
  292. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/samples.py +0 -0
  293. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/terminal.py +0 -0
  294. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/text.py +0 -0
  295. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/throttle.py +0 -0
  296. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/timeouts.py +0 -0
  297. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/url.py +0 -0
  298. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/version.py +0 -0
  299. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_util/vscode.py +0 -0
  300. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/notify.py +0 -0
  301. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/schema.py +0 -0
  302. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/server.py +0 -0
  303. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/view.py +0 -0
  304. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/.gitignore +0 -0
  305. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/.prettierignore +0 -0
  306. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/.tool-versions +0 -0
  307. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/App.css +0 -0
  308. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/README.md +0 -0
  309. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/dist/assets/favicon.svg +0 -0
  310. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/dist/assets/index.css +0 -0
  311. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/dist/index.html +0 -0
  312. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/eslint.config.mjs +0 -0
  313. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/favicon.svg +0 -0
  314. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/index.html +0 -0
  315. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/jsconfig.json +0 -0
  316. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/package.json +0 -0
  317. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/postcss.config.cjs +0 -0
  318. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/Register.mjs +0 -0
  319. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/api-browser.mjs +0 -0
  320. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/api-shared.mjs +0 -0
  321. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/api-vscode.mjs +0 -0
  322. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/client-api.mjs +0 -0
  323. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/index.mjs +0 -0
  324. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/api/jsonrpc.mjs +0 -0
  325. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/appearance/Colors.mjs +0 -0
  326. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/appearance/Fonts.mjs +0 -0
  327. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/appearance/Icons.mjs +0 -0
  328. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/appearance/Styles.mjs +0 -0
  329. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/AnsiDisplay.css +0 -0
  330. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/AnsiDisplay.mjs +0 -0
  331. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/AppErrorBoundary.mjs +0 -0
  332. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/AsciiCinemaPlayer.mjs +0 -0
  333. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/Browser.mjs +0 -0
  334. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/Card.mjs +0 -0
  335. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/ChatView.mjs +0 -0
  336. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/CopyButton.mjs +0 -0
  337. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/Dialog.mjs +0 -0
  338. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/DownloadButton.mjs +0 -0
  339. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/DownloadPanel.mjs +0 -0
  340. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/EmptyPanel.mjs +0 -0
  341. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/ErrorPanel.mjs +0 -0
  342. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/HumanBaselineView.mjs +0 -0
  343. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/JsonPanel.mjs +0 -0
  344. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/LabeledValue.mjs +0 -0
  345. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/LightboxCarousel.mjs +0 -0
  346. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/MarkdownDiv.mjs +0 -0
  347. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/MessageBand.mjs +0 -0
  348. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/MetaDataGrid.mjs +0 -0
  349. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/MetaDataView.mjs +0 -0
  350. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/MorePopOver.mjs +0 -0
  351. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/NavPills.mjs +0 -0
  352. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/ProgressBar.mjs +0 -0
  353. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/RenderedContent/ChatMessageRenderer.mjs +0 -0
  354. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/RenderedContent/RenderedContent.mjs +0 -0
  355. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/RenderedContent/Types.mjs +0 -0
  356. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/ToolButton.mjs +0 -0
  357. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/components/ansi-output.js +0 -0
  358. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/constants.mjs +0 -0
  359. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/index.js +0 -0
  360. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/json/JsonTab.mjs +0 -0
  361. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/log-reader/Log-Reader.mjs +0 -0
  362. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/log-reader/Native-Log-Reader.mjs +0 -0
  363. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/log-reader/Open-AI-Log-Reader.mjs +0 -0
  364. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/navbar/SecondaryBar.mjs +0 -0
  365. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/plan/PlanCard.mjs +0 -0
  366. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleDialog.mjs +0 -0
  367. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleError.mjs +0 -0
  368. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleLimit.mjs +0 -0
  369. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SampleTranscript.mjs +0 -0
  370. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/SamplesTools.mjs +0 -0
  371. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/tools/EpochFilter.mjs +0 -0
  372. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/tools/filters.mjs +0 -0
  373. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/ApprovalEventView.mjs +0 -0
  374. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/ErrorEventView.mjs +0 -0
  375. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/EventPanel.mjs +0 -0
  376. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/EventRow.mjs +0 -0
  377. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/EventSection.mjs +0 -0
  378. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/InfoEventView.mjs +0 -0
  379. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/InputEventView.mjs +0 -0
  380. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/LoggerEventView.mjs +0 -0
  381. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/ModelEventView.mjs +0 -0
  382. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/SampleInitEventView.mjs +0 -0
  383. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/SampleLimitEventView.mjs +0 -0
  384. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/ScoreEventView.mjs +0 -0
  385. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/StepEventView.mjs +0 -0
  386. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.mjs +0 -0
  387. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptState.mjs +0 -0
  388. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptView.mjs +0 -0
  389. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/Types.mjs +0 -0
  390. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/state/StateDiffView.mjs +0 -0
  391. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventRenderers.mjs +0 -0
  392. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventView.mjs +0 -0
  393. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/sidebar/Sidebar.mjs +0 -0
  394. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/types/asciicinema-player.d.ts +0 -0
  395. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/types/jsondiffpatch.d.ts +0 -0
  396. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/types/prism.d.ts +0 -0
  397. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/usage/ModelTokenTable.mjs +0 -0
  398. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/usage/UsageCard.mjs +0 -0
  399. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Base64.mjs +0 -0
  400. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Format.mjs +0 -0
  401. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Git.mjs +0 -0
  402. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Html.mjs +0 -0
  403. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Json.mjs +0 -0
  404. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Path.mjs +0 -0
  405. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Print.mjs +0 -0
  406. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/Type.mjs +0 -0
  407. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/attachments.mjs +0 -0
  408. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/debugging.mjs +0 -0
  409. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/http.mjs +0 -0
  410. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/queue.mjs +0 -0
  411. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/remoteZipFile.mjs +0 -0
  412. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/sync.mjs +0 -0
  413. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/utils/vscode.mjs +0 -0
  414. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/src/workspace/TaskErrorPanel.mjs +0 -0
  415. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/tsconfig.json +0 -0
  416. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/vite.config.js +0 -0
  417. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/_view/www/yarn.lock +0 -0
  418. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/__init__.py +0 -0
  419. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_apply.py +0 -0
  420. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_approval.py +0 -0
  421. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_approver.py +0 -0
  422. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_auto.py +0 -0
  423. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_call.py +0 -0
  424. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_human/approver.py +0 -0
  425. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_human/console.py +0 -0
  426. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_human/manager.py +0 -0
  427. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_human/panel.py +0 -0
  428. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_human/util.py +0 -0
  429. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_policy.py +0 -0
  430. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/approval/_registry.py +0 -0
  431. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/__init__.py +0 -0
  432. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_dataset.py +0 -0
  433. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_examples/bias_detection.jsonl +0 -0
  434. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_examples/biology_qa.jsonl +0 -0
  435. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_examples/popularity.jsonl +0 -0
  436. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_examples/security_guide.jsonl +0 -0
  437. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_examples/theory_of_mind.jsonl +0 -0
  438. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_sources/csv.py +0 -0
  439. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_sources/example.py +0 -0
  440. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_sources/file.py +0 -0
  441. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_sources/hf.py +0 -0
  442. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_sources/json.py +0 -0
  443. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_sources/util.py +0 -0
  444. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/dataset/_util.py +0 -0
  445. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/__init__.py +0 -0
  446. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_bundle.py +0 -0
  447. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_condense.py +0 -0
  448. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_convert.py +0 -0
  449. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_file.py +0 -0
  450. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_message.py +0 -0
  451. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_recorders/__init__.py +0 -0
  452. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_recorders/create.py +0 -0
  453. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_recorders/file.py +0 -0
  454. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_recorders/json.py +0 -0
  455. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_recorders/recorder.py +0 -0
  456. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_retry.py +0 -0
  457. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_samples.py +0 -0
  458. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/log/_transcript.py +0 -0
  459. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/__init__.py +0 -0
  460. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_cache.py +0 -0
  461. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_chat_message.py +0 -0
  462. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_generate_config.py +0 -0
  463. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_image.py +0 -0
  464. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_model.py +0 -0
  465. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_model_call.py +0 -0
  466. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_model_output.py +0 -0
  467. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/anthropic.py +0 -0
  468. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/azureai.py +0 -0
  469. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/bedrock.py +0 -0
  470. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/cloudflare.py +0 -0
  471. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/grok.py +0 -0
  472. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/groq.py +0 -0
  473. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/hf.py +0 -0
  474. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/llama_cpp_python.py +0 -0
  475. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/mistral.py +0 -0
  476. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/mockllm.py +0 -0
  477. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/ollama.py +0 -0
  478. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/providers.py +0 -0
  479. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/together.py +0 -0
  480. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/util/__init__.py +0 -0
  481. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/util/chatapi.py +0 -0
  482. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/util/hf_handler.py +0 -0
  483. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/util/llama31.py +0 -0
  484. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/util/util.py +0 -0
  485. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/vertex.py +0 -0
  486. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_providers/vllm.py +0 -0
  487. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_registry.py +0 -0
  488. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_render.py +0 -0
  489. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/model/_trace.py +0 -0
  490. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/py.typed +0 -0
  491. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/__init__.py +0 -0
  492. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_answer.py +0 -0
  493. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_choice.py +0 -0
  494. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_classification.py +0 -0
  495. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_common.py +0 -0
  496. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_match.py +0 -0
  497. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_metric.py +0 -0
  498. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_metrics/__init__.py +0 -0
  499. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_metrics/accuracy.py +0 -0
  500. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_metrics/mean.py +0 -0
  501. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_metrics/std.py +0 -0
  502. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_model.py +0 -0
  503. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_multi.py +0 -0
  504. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_pattern.py +0 -0
  505. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_reducer/__init__.py +0 -0
  506. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_reducer/reducer.py +0 -0
  507. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_reducer/registry.py +0 -0
  508. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_reducer/types.py +0 -0
  509. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_score.py +0 -0
  510. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_scorer.py +0 -0
  511. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/scorer/_target.py +0 -0
  512. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/__init__.py +0 -0
  513. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_basic_agent.py +0 -0
  514. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_chain.py +0 -0
  515. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_critique.py +0 -0
  516. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_fork.py +0 -0
  517. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/agent.py +0 -0
  518. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/__init__.py +0 -0
  519. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/clock.py +0 -0
  520. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/command.py +0 -0
  521. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/instructions.py +0 -0
  522. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/note.py +0 -0
  523. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/score.py +0 -0
  524. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/status.py +0 -0
  525. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/commands/submit.py +0 -0
  526. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/install.py +0 -0
  527. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/panel.py +0 -0
  528. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/service.py +0 -0
  529. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/state.py +0 -0
  530. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_human_agent/view.py +0 -0
  531. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_multiple_choice.py +0 -0
  532. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_plan.py +0 -0
  533. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_prompt.py +0 -0
  534. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_solver.py +0 -0
  535. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_task_state.py +0 -0
  536. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_transcript.py +0 -0
  537. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_use_tools.py +0 -0
  538. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/solver/_util.py +0 -0
  539. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/__init__.py +0 -0
  540. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool.py +0 -0
  541. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_call.py +0 -0
  542. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_choice.py +0 -0
  543. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_def.py +0 -0
  544. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_description.py +0 -0
  545. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_params.py +0 -0
  546. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_transcript.py +0 -0
  547. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tool_with.py +0 -0
  548. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_execute.py +0 -0
  549. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/__init__.py +0 -0
  550. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/Dockerfile +0 -0
  551. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/README.md +0 -0
  552. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/accessibility_node.py +0 -0
  553. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/images/usage_diagram.png +0 -0
  554. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/mock_environment.py +0 -0
  555. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/playwright_crawler.py +0 -0
  556. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_accessibility_node.py +0 -0
  557. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_dm_env_servicer.py +0 -0
  558. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_playwright_crawler.py +0 -0
  559. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_web_environment.py +0 -0
  560. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client.py +0 -0
  561. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client_new_session.py +0 -0
  562. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_environment.py +0 -0
  563. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_server.py +0 -0
  564. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/tool/_tools/_web_search.py +0 -0
  565. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_concurrency.py +0 -0
  566. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_console.py +0 -0
  567. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_display.py +0 -0
  568. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_panel.py +0 -0
  569. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_resource.py +0 -0
  570. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/__init__.py +0 -0
  571. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/context.py +0 -0
  572. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/cleanup.py +0 -0
  573. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/config.py +0 -0
  574. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/docker.py +0 -0
  575. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/internal.py +0 -0
  576. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/docker/prereqs.py +0 -0
  577. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/environment.py +0 -0
  578. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/limits.py +0 -0
  579. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/local.py +0 -0
  580. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/registry.py +0 -0
  581. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_sandbox/service.py +0 -0
  582. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_store_model.py +0 -0
  583. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_subtask.py +0 -0
  584. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_throttle.py +0 -0
  585. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai/util/_trace.py +0 -0
  586. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai.egg-info/dependency_links.txt +0 -0
  587. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai.egg-info/entry_points.txt +0 -0
  588. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/src/inspect_ai.egg-info/top_level.txt +0 -0
  589. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/approval/approve.yaml +0 -0
  590. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/approval/escalate.yaml +0 -0
  591. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/approval/modify.yaml +0 -0
  592. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/approval/reject.yaml +0 -0
  593. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/approval/terminate.yaml +0 -0
  594. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/approval/test_approval.py +0 -0
  595. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/conftest.py +0 -0
  596. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/dataset.jsonl +0 -0
  597. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/images/ballons.png +0 -0
  598. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/images.jsonl +0 -0
  599. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/samples-md.csv +0 -0
  600. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/samples-md.json +0 -0
  601. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/samples-md.jsonl +0 -0
  602. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/samples.csv +0 -0
  603. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/samples.json +0 -0
  604. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset/samples.jsonl +0 -0
  605. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/dataset/test_dataset.py +0 -0
  606. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_formats.json +0 -0
  607. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_images.json +0 -0
  608. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_images_tc.json +0 -0
  609. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_invalid.txt +0 -0
  610. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_length_stop_reason.txt +0 -0
  611. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_streaming.eval +0 -0
  612. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_valid.txt +0 -0
  613. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_version_3.txt +0 -0
  614. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log/log_with_nan.txt +0 -0
  615. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_eval_log.py +0 -0
  616. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_list_logs/2024-11-05T13-31-45-05-00_input-task_8zXjbRzCWrL9GXiXo2vus9.json +0 -0
  617. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_list_logs/2024-11-05T13-32-37-05-00_input-task_hxs4q9azL3ySGkjJirypKZ.eval +0 -0
  618. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_list_logs/custom.eval +0 -0
  619. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_list_logs/ignore.json +0 -0
  620. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_list_logs.py +0 -0
  621. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_log_attachments.py +0 -0
  622. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_log_level.py +0 -0
  623. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_log_streaming.py +0 -0
  624. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/log/test_log_tags.py +0 -0
  625. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_anthropic.py +0 -0
  626. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_azureai.py +0 -0
  627. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_cloudflare.py +0 -0
  628. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_google.py +0 -0
  629. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_grok.py +0 -0
  630. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_groq.py +0 -0
  631. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_hf.py +0 -0
  632. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_llama_cpp_python.py +0 -0
  633. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_openai.py +0 -0
  634. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_openai_o1.py +0 -0
  635. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_vertex.py +0 -0
  636. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/providers/test_vllm.py +0 -0
  637. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_api_key.py +0 -0
  638. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_cache.py +0 -0
  639. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_collapse_assistant_message.py +0 -0
  640. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_collapse_user_message.py +0 -0
  641. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_disable.py +0 -0
  642. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_logprobs.py +0 -0
  643. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_mock_model_llm.py +0 -0
  644. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_num_choices.py +0 -0
  645. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_parse_tool_call.py +0 -0
  646. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/model/test_stop_reason.py +0 -0
  647. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_answer.py +0 -0
  648. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_choice.py +0 -0
  649. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_classification.py +0 -0
  650. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_match.py +0 -0
  651. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_metric.py +0 -0
  652. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_model_graded.py +0 -0
  653. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_multiscorer.py +0 -0
  654. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_pattern.py +0 -0
  655. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_reducers.py +0 -0
  656. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_scorer.py +0 -0
  657. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/scorer/test_value_to_float.py +0 -0
  658. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_basic_agent.py +0 -0
  659. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_chain.py +0 -0
  660. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_fork.py +0 -0
  661. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_multiple_choice.py +0 -0
  662. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_prompt.py +0 -0
  663. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_setup.py +0 -0
  664. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_solver.py +0 -0
  665. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_solver_decorator.py +0 -0
  666. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_solver_spec.py +0 -0
  667. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_store.py +0 -0
  668. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_subtask.py +0 -0
  669. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/solver/test_transcript.py +0 -0
  670. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval.py +0 -0
  671. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_config/model.yaml +0 -0
  672. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_config/solver.yaml +0 -0
  673. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_config/task.yaml +0 -0
  674. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_config.py +0 -0
  675. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_set/2024-08-29T15-11-17+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
  676. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_set/2024-08-29T15-11-18+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
  677. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_eval_set.py +0 -0
  678. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_examples.py +0 -0
  679. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_extensions.py +0 -0
  680. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_fail_on_error.py +0 -0
  681. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_helpers/__init__.py +0 -0
  682. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_helpers/tasks.py +0 -0
  683. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_helpers/tool_call_utils.py +0 -0
  684. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_helpers/tools.py +0 -0
  685. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_helpers/utils.py +0 -0
  686. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_list_task.py +0 -0
  687. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_log_dir/example_task/example_task.py +0 -0
  688. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_log_dir/test_log_dir.py +0 -0
  689. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/.gitignore +0 -0
  690. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/__init__.py +0 -0
  691. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/_registry.py +0 -0
  692. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/approvers/renamer.py +0 -0
  693. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/modelapi/custom.py +0 -0
  694. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/py.typed +0 -0
  695. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/sandboxenv/podman.py +0 -0
  696. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/score/scorer.py +0 -0
  697. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/inspect_package/solvers/cot.py +0 -0
  698. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_package/pyproject.toml +0 -0
  699. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_retry.py +0 -0
  700. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_run_dir/task1/task1.py +0 -0
  701. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_run_dir/task2/task2.py +0 -0
  702. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_run_dir.py +0 -0
  703. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_sample_id.py +0 -0
  704. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_sample_limits.py +0 -0
  705. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_attr.py +0 -0
  706. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/__init__.py +0 -0
  707. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/attribs.ipynb +0 -0
  708. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/multiple.py +0 -0
  709. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/multiple_dir/_decoy/testit.py +0 -0
  710. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/multiple_dir/_decoy2.py +0 -0
  711. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/multiple_dir/bar.py +0 -0
  712. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/multiple_dir/foo.py +0 -0
  713. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/recurse/.folder3/epsilon.py +0 -0
  714. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/recurse/folder1/_decoy.py +0 -0
  715. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/recurse/folder1/theta.py +0 -0
  716. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/recurse/folder2/.folder3/epsilon.py +0 -0
  717. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/recurse/folder2/another.py +0 -0
  718. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/test_task_list/recurse/folder2/first.py +0 -0
  719. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/docker-compose-context/Dockerfile +0 -0
  720. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/docker-compose-context-alpine/Dockerfile +0 -0
  721. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_bash_tool.py +0 -0
  722. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_max_exec_output.py +0 -0
  723. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_max_tool_output.py +0 -0
  724. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_python_tool.py +0 -0
  725. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_sandbox_compose.yaml +0 -0
  726. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_sandbox_compose_alpine.yaml +0 -0
  727. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_sandbox_docker_and_local.py +0 -0
  728. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_sandbox_dockerfile.py +0 -0
  729. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_sandbox_tool_eval.py +0 -0
  730. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tool_def.py +0 -0
  731. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tool_images.py +0 -0
  732. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tool_parse.py +0 -0
  733. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tool_view.py +0 -0
  734. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tool_with.py +0 -0
  735. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_tools.py +0 -0
  736. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_use_tools.py +0 -0
  737. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/tools/test_web_browser_compose.yaml +0 -0
  738. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/sandbox/docker_compose_multiple_services/docker-compose.yaml +0 -0
  739. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/sandbox/sandbox_setup.sh +0 -0
  740. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/sandbox/test_docker_compose_multiple_services.py +0 -0
  741. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/sandbox/test_sandbox_service.py +0 -0
  742. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/sandbox/test_sandbox_setup.py +0 -0
  743. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_file.py +0 -0
  744. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_images/images.jsonl +0 -0
  745. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_images.py +0 -0
  746. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_package.py +0 -0
  747. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_registry.py +0 -0
  748. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/util/test_str_to_float.py +0 -0
  749. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tests/view/test_bundle.py +0 -0
  750. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.eslintrc.json +0 -0
  751. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.gitignore +0 -0
  752. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.vscode/extensions.json +0 -0
  753. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.vscode/launch.json +0 -0
  754. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.vscode/settings.json +0 -0
  755. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.vscode/tasks.json +0 -0
  756. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.vscode-test.mjs +0 -0
  757. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.vscodeignore +0 -0
  758. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/.yarnrc +0 -0
  759. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/LICENSE +0 -0
  760. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/README.md +0 -0
  761. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/icon/eval-treeview.svg +0 -0
  762. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/icon/eval.svg +0 -0
  763. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/logo/inspect.png +0 -0
  764. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/logo/inspect.svg +0 -0
  765. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/templates/task.py.template +0 -0
  766. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/www/codicon/codicon.css +0 -0
  767. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/www/codicon/codicon.ttf +0 -0
  768. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/assets/www/view/view-overrides.css +0 -0
  769. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/@types/hooks.d.ts +0 -0
  770. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/document.ts +0 -0
  771. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/error.ts +0 -0
  772. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/focus.ts +0 -0
  773. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/notebook.ts +0 -0
  774. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/symbol.ts +0 -0
  775. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/task.ts +0 -0
  776. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/templates.ts +0 -0
  777. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/components/webview.ts +0 -0
  778. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/appdirs.ts +0 -0
  779. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/command.ts +0 -0
  780. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/dispose.ts +0 -0
  781. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/env.ts +0 -0
  782. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/file.ts +0 -0
  783. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/git.ts +0 -0
  784. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/jsonrpc.ts +0 -0
  785. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/log.ts +0 -0
  786. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/nonce.ts +0 -0
  787. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/path.ts +0 -0
  788. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/port.ts +0 -0
  789. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/process.ts +0 -0
  790. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/python/code.ts +0 -0
  791. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/python/env.ts +0 -0
  792. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/python/exec.ts +0 -0
  793. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/python/index.ts +0 -0
  794. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/python/interpreter.ts +0 -0
  795. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/random.ts +0 -0
  796. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/string.ts +0 -0
  797. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/text.ts +0 -0
  798. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/uri.ts +0 -0
  799. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/vscode/association.ts +0 -0
  800. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/wait.ts +0 -0
  801. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/core/workspace.ts +0 -0
  802. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/extension.ts +0 -0
  803. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/hooks/hooks.ts +0 -0
  804. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/hooks/index.ts +0 -0
  805. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/hooks/preview.ts +0 -0
  806. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/inspect/index.ts +0 -0
  807. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/inspect/logs.ts +0 -0
  808. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/inspect/props.ts +0 -0
  809. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/inspect/version.ts +0 -0
  810. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/active-task/active-task-command.ts +0 -0
  811. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/active-task/active-task-provider.ts +0 -0
  812. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/activity-bar-provider.ts +0 -0
  813. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/env-config-provider.ts +0 -0
  814. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/log-listing/log-directory-selector.ts +0 -0
  815. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-mru.ts +0 -0
  816. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-provider.ts +0 -0
  817. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/task-config-commands.ts +0 -0
  818. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/task-config-provider.ts +0 -0
  819. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/task-outline-commands.ts +0 -0
  820. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/task-outline-provider.ts +0 -0
  821. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.css +0 -0
  822. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.ts +0 -0
  823. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.css +0 -0
  824. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.ts +0 -0
  825. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/webview/vscode-controls.css +0 -0
  826. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/activity-bar/webview/webview-utils.ts +0 -0
  827. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-commands.ts +0 -0
  828. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-constants.ts +0 -0
  829. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-eval-commands.ts +0 -0
  830. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-eval.ts +0 -0
  831. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-logs-watcher.ts +0 -0
  832. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-manager.ts +0 -0
  833. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/inspect/inspect-view-server.ts +0 -0
  834. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/lognotify.ts +0 -0
  835. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/commands.ts +0 -0
  836. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/logview-editor.ts +0 -0
  837. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/logview-link-provider.ts +0 -0
  838. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/logview-panel.ts +0 -0
  839. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/logview-state.ts +0 -0
  840. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/logview-view.ts +0 -0
  841. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/logview/logview.ts +0 -0
  842. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/openlog.ts +0 -0
  843. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/protocol-handler.ts +0 -0
  844. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/settings/inspect-settings.ts +0 -0
  845. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/settings/user-settings.ts +0 -0
  846. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/statusbar.ts +0 -0
  847. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/workspace/workspace-env-commands.ts +0 -0
  848. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/workspace/workspace-env-provider.ts +0 -0
  849. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/workspace/workspace-init.ts +0 -0
  850. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/workspace/workspace-state-provider.ts +0 -0
  851. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/providers/workspace/workspace-task-provider.ts +0 -0
  852. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/src/test/extension.test.ts +0 -0
  853. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tools/ts-to-mjs/.gitignore +0 -0
  854. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tools/ts-to-mjs/package.json +0 -0
  855. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tools/ts-to-mjs/rollup.config.js +0 -0
  856. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tools/ts-to-mjs/src/index.ts +0 -0
  857. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tools/ts-to-mjs/src/jsonrpc.ts +0 -0
  858. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tools/ts-to-mjs/yarn.lock +0 -0
  859. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/tsconfig.json +0 -0
  860. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/webpack.config.js +0 -0
  861. {inspect_ai-0.3.56 → inspect_ai-0.3.57}/tools/vscode/yarn.lock +0 -0
@@ -90,4 +90,4 @@ jobs:
90
90
  - name: Delete knowingly duplicated files
91
91
  run: rm src/inspect_ai/_view/www/favicon.svg
92
92
 
93
- - uses: hynek/build-and-inspect-python-package@v1
93
+ - uses: hynek/build-and-inspect-python-package@v2
@@ -4,15 +4,15 @@
4
4
  default_language_version:
5
5
  python: python3.11
6
6
  repos:
7
- - repo: https://github.com/astral-sh/ruff-pre-commit
8
- rev: v0.8.4
9
- hooks:
10
- # Run the linter.
11
- - id: ruff
12
- args: [ --fix ]
13
- # Run the formatter.
14
- - id: ruff-format
15
- - repo: https://github.com/pre-commit/pre-commit-hooks
7
+ - repo: https://github.com/astral-sh/ruff-pre-commit
8
+ rev: v0.9.0
9
+ hooks:
10
+ # Run the linter.
11
+ - id: ruff
12
+ args: [--fix]
13
+ # Run the formatter.
14
+ - id: ruff-format
15
+ - repo: https://github.com/pre-commit/pre-commit-hooks
16
16
  rev: v4.5.0
17
17
  hooks:
18
18
  - id: check-added-large-files
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.3.57 (09 January 2025)
4
+
5
+ - [Tracing API](https://inspect.ai-safety-institute.org.uk/tracing.html#tracing-api) for custom trace logging.
6
+ - Inspect View: never truncate tool result images and display at default width of 800px.
7
+ - Inspect View: display tool error messages in transcript when tool errors occur.
8
+ - Inspect View: display any completed samples even if the task fails because of an error
9
+ - Inspect View: don't display the 'input' column heading if there isn't an input
10
+ - Open AI: Handle additional bad request status codes (mapping them to appropriate `StopReason`)
11
+ - Open AI: Use new `max_completion_tokens` option for o1 full.
12
+ - Web Browser: raise error when both `error` and `web_at` fields are present in response.
13
+ - Sandboxes: Apply dataset filters (limit and sample id) prior to sandbox initialisation.
14
+ - Docker: Prevent issue with container/project names that have a trailing underscore.
15
+ - Store: initialise `Store` from existing dictionary.
16
+ - Log: provide `metadata_as` and `store_as` typed accessors for sample metadata and store.
17
+ - Tool parameters with a default of `None` are now supported.
18
+ - More fine graned HTML escaping for sample transcripts displalyed in terminal.
19
+ - Bugfix: prevent errors when a state or storage value uses a tilda or slash in the key name.
20
+ - Bugfix: Include input in sample summary when the sample input contains a simple string.
21
+
3
22
  ## v0.3.56 (01 January 2025)
4
23
 
5
24
  - [Human Agent](https://inspect.ai-safety-institute.org.uk/human-agent.html) solver for human baselining of computing tasks.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: inspect_ai
3
- Version: 0.3.56
3
+ Version: 0.3.57
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.8.4; extra == "dev"
70
+ Requires-Dist: ruff==0.9.0; 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"
@@ -13,3 +13,7 @@ Note that when `max_sandboxes` is applied this effectively creates a global `max
13
13
  ### Max Subprocesses
14
14
 
15
15
  The `max_subprocesses` option determines how many subprocess calls can run in parallel. By default, this is set to `os.cpu_count()`. Depending on the nature of execution done inside sandbox environments, you might benefit from increasing or decreasing `max_subprocesses`.
16
+
17
+ ### Max Samples
18
+
19
+ {{< include _max_samples.md >}}
@@ -0,0 +1,7 @@
1
+
2
+ Another consideration is `max_samples`, which is the maximum number of samples to run concurrently within a task. Larger numbers of concurrent samples will result in higher throughput, but will also result in completed samples being written less frequently to the log file, and consequently less total recovable samples in the case of an interrupted task.
3
+
4
+ By default, Inspect sets the value of `max_samples` to `max_connections + 1` (note that it would rarely make sense to set it _lower_ than `max_connections`). The default `max_connections` is 10, which will typically result in samples being written to the log frequently. On the other hand, setting a very large `max_connections` (e.g. 100 `max_connections` for a dataset with 100 samples) may result in very few recoverable samples in the case of an interruption.
5
+
6
+ {{< include _setting_max_samples.md >}}
7
+
@@ -14,7 +14,4 @@ If dataset shuffling is important to your evaluation and you want to preserve sa
14
14
 
15
15
  #### Max Samples
16
16
 
17
- Another consideration is `max_samples`, which is the maximum number of samples to run concurrently within a task. Larger numbers of concurrent samples will result in higher throughput, but will also result in completed samples being written less frequently to the log file, and consequently less total recovable samples in the case of an interrupted task.
18
-
19
- By default, Inspect sets the value of `max_samples` to `max_connections + 1`, ensuring that the model API is always fully saturated (note that it would rarely make sense to set it _lower_ than `max_connections`). The default `max_connections` is 10, which will typically result in samples being written to the log frequently. On the other hand, setting a very large `max_connections` (e.g. 100 `max_connections` for a dataset with 100 samples) may result in very few recoverable samples in the case of an interruption.
20
-
17
+ {{< include _max_samples.md >}}
@@ -0,0 +1,3 @@
1
+ ::: {.callout-note appearance="simple"}
2
+ If your task involves tool calls and/or sandboxes, then you will likely want to set `max_samples` to greater than `max_connections`, as your samples will sometimes be calling the model (using up concurrent connections) and sometimes be executing code in the sandbox (using up concurrent subprocess calls). While running tasks you can see the utilization of connections and subprocesses in realtime and tune your `max_samples` accordingly.
3
+ :::
@@ -246,11 +246,8 @@ Note you will most typically *not* want to resolve attachments. The two cases th
246
246
 
247
247
  {{< include _sample-preservation.md >}}
248
248
 
249
- ::: {.callout-note appearance="simple"}
250
- ### Eval Sets
251
-
252
249
  We've discussed how to manage retries for a single evaluation run interactively. For the case of running many evaluation tasks in batch and retrying those which failed, see the documentation on [Eval Sets](eval-sets.qmd)
253
- :::
250
+
254
251
 
255
252
  ## Amazon S3 {#sec-amazon-s3}
256
253
 
@@ -100,7 +100,7 @@ def model_graded_qa(
100
100
 
101
101
  The default model graded QA scorer is tuned to grade answers to open ended questions. The default `template` and `instructions` ask the model to produce a grade in the format `GRADE: C` or `GRADE: I`, and this grade is extracted using the default `grade_pattern` regular expression. The grading is by default done with the model currently being evaluated. There are a few ways you can customise the default behaviour:
102
102
 
103
- 1. Provide alternate `instructions`—the default instructions ass the model to use chain of thought reasoning and provide grades in the format `GRADE: C` or `GRADE: I`. Note that if you provide instructions that ask the model to format grades in a different way, you will also want to customise the `grade_pattern`.
103
+ 1. Provide alternate `instructions`—the default instructions ask the model to use chain of thought reasoning and provide grades in the format `GRADE: C` or `GRADE: I`. Note that if you provide instructions that ask the model to format grades in a different way, you will also want to customise the `grade_pattern`.
104
104
  2. Specify `include_history = True` to include the full chat history in the presented question (by default only the original sample input is presented). You may optionally instead pass a function that enables customising the presentation of the chat history.
105
105
  3. Specify `partial_credit = True` to prompt the model to assign partial credit to answers that are not entirely right but come close (metrics by default convert this to a value of 0.5). Note that this parameter is only valid when using the default `instructions`.
106
106
  4. Specify an alternate `model` to perform the grading (e.g. a more powerful model or a model fine tuned for grading).
@@ -31,7 +31,7 @@ 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
- ## Anomalies
34
+ ## Anomalies {#anomalies}
35
35
 
36
36
  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:
37
37
 
@@ -55,4 +55,40 @@ By default, the `inspect trace anomalies` command prints only currently running
55
55
  inspect trace anomalies --all
56
56
  ```
57
57
 
58
- 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).
58
+ 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
+
60
+ ## Tracing API {#tracing-api}
61
+
62
+ 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.
63
+
64
+ ### trace_action()
65
+
66
+ Use the `trace_action()` context manager to collect data on the resolution (e.g. succeeded, cancelled, failed, timed out, etc.) and duration of actions. For example, let's say you are interacting with a remote content database:
67
+
68
+ ``` python
69
+ from inspect_ai.util import trace_action
70
+
71
+ from logging import getLogger
72
+ logger = getLogger(__name__)
73
+
74
+ server = "https://contentdb.example.com"
75
+ query = "<content-db-query>"
76
+
77
+ with trace_action(logger, "ContentDB", f"{server}: {query}"):
78
+ # perform content database query
79
+ ```
80
+
81
+ Your custom trace actions will be reported alongside the standard traced actions in `inspect trace anomalies`, `inspect trace dump`, etc.
82
+
83
+ ### trace_message()
84
+
85
+ Use the `trace_message()` function to trace events that don't fall into enter/exit pattern supported by `trace_action()`. For example, let's say you want to track every invocation of a custom tool:
86
+
87
+ ``` python
88
+ from inspect_ai.util import trace_message
89
+
90
+ from logging import getLogger
91
+ logger = getLogger(__name__)
92
+
93
+ trace_message(logger, "MyTool", "message related to tool")
94
+ ```
@@ -16,3 +16,14 @@ The sample store and sample metadata interfaces are weakly typed to accommodate
16
16
 
17
17
  {{< include _metadata_typing.md >}}
18
18
 
19
+ ## Log Samples
20
+
21
+ The `store_as()` and `metadata_as()` typed accessors are also available when reading samples from the eval log. Continuing from the examples above, you access typed interfaces as follows from an `EvalLog`:
22
+
23
+ ```python
24
+ # typed store
25
+ activity = log.samples[0].store_as(Activity)
26
+
27
+ # typed metadata
28
+ metadata = log.samples[0].metadata_as(PopularityMetadata)
29
+ ```
@@ -129,7 +129,7 @@ dev = [
129
129
  "pytest-cov",
130
130
  "pytest-dotenv",
131
131
  "pytest-xdist",
132
- "ruff==0.8.4", # match version specified in .pre-commit-config.yaml
132
+ "ruff==0.9.0", # match version specified in .pre-commit-config.yaml
133
133
  "textual-dev>=0.86.2",
134
134
  "types-PyYAML",
135
135
  "types-beautifulsoup4",
@@ -112,7 +112,7 @@ def tasks_title(completed: int, total: int) -> str:
112
112
  def task_title(profile: TaskProfile, show_model: bool) -> str:
113
113
  eval_epochs = profile.eval_config.epochs or 1
114
114
  epochs = f" x {profile.eval_config.epochs}" if eval_epochs > 1 else ""
115
- samples = f"{profile.samples//eval_epochs:,}{epochs} sample{'s' if profile.samples != 1 else ''}"
115
+ samples = f"{profile.samples // eval_epochs:,}{epochs} sample{'s' if profile.samples != 1 else ''}"
116
116
  title = f"{registry_unqualified_name(profile.name)} ({samples})"
117
117
  if show_model:
118
118
  title = f"{title}: {profile.model}"
@@ -42,7 +42,7 @@ from .task.log import TaskLogger
42
42
  from .task.run import TaskRunOptions, task_run
43
43
  from .task.rundir import task_run_dir_switching
44
44
  from .task.sandbox import TaskSandboxEnvironment, resolve_sandbox_for_task
45
- from .task.util import task_run_dir
45
+ from .task.util import slice_dataset, task_run_dir
46
46
 
47
47
  log = logging.getLogger(__name__)
48
48
 
@@ -70,12 +70,23 @@ async def eval_run(
70
70
  # get cwd before switching to task dir
71
71
  eval_wd = os.getcwd()
72
72
 
73
+ # ensure sample ids
74
+ for resolved_task in tasks:
75
+ # add sample ids to dataset if they aren't there (start at 1 not 0)
76
+ task = resolved_task.task
77
+ for id, sample in enumerate(task.dataset):
78
+ if sample.id is None:
79
+ sample.id = id + 1
80
+
81
+ # Ensure sample ids are unique
82
+ ensure_unique_ids(task.dataset)
83
+
73
84
  # run startup pass for the sandbox environments
74
85
  shutdown_sandbox_environments: Callable[[], Awaitable[None]] | None = None
75
86
  if has_sandbox:
76
87
  cleanup = eval_config.sandbox_cleanup is not False
77
88
  shutdown_sandbox_environments = await startup_sandbox_environments(
78
- resolve_sandbox_environment(eval_sandbox), tasks, cleanup
89
+ resolve_sandbox_environment(eval_sandbox), tasks, eval_config, cleanup
79
90
  )
80
91
 
81
92
  # resolve solver and solver spec
@@ -146,14 +157,6 @@ async def eval_run(
146
157
  else:
147
158
  task.fail_on_error = task_eval_config.fail_on_error
148
159
 
149
- # add sample ids to dataset if they aren't there (start at 1 not 0)
150
- for id, sample in enumerate(task.dataset):
151
- if sample.id is None:
152
- sample.id = id + 1
153
-
154
- # Ensure sample ids are unique
155
- ensure_unique_ids(task.dataset)
156
-
157
160
  # create and track the logger
158
161
  logger = TaskLogger(
159
162
  task_name=task.name,
@@ -340,13 +343,15 @@ async def run_multiple(tasks: list[TaskRunOptions], parallel: int) -> list[EvalL
340
343
  async def startup_sandbox_environments(
341
344
  eval_sandbox: SandboxEnvironmentSpec | None,
342
345
  tasks: list[ResolvedTask],
346
+ config: EvalConfig,
343
347
  cleanup: bool,
344
348
  ) -> Callable[[], Awaitable[None]]:
345
349
  # find unique sandboxenvs
346
350
  sandboxenvs: Set[TaskSandboxEnvironment] = set()
347
351
  for task in tasks:
348
352
  # resolve each sample and add to sandboxenvs
349
- for sample in task.task.dataset:
353
+ dataset = slice_dataset(task.task.dataset, config.limit, config.sample_id)
354
+ for sample in dataset:
350
355
  sandbox = resolve_sandbox_for_task(eval_sandbox, task.task, sample)
351
356
  if sandbox is not None and sandbox not in sandboxenvs:
352
357
  sandboxenvs.add(sandbox)
@@ -4,7 +4,7 @@ from typing import Literal
4
4
 
5
5
  def iso_now(
6
6
  timespec: Literal[
7
- "auto", "hours", "minutes", "seconds", "milliseconds" "microseconds"
7
+ "auto", "hours", "minutes", "seconds", "milliseconds", "microseconds"
8
8
  ] = "seconds",
9
9
  ) -> str:
10
10
  return datetime.now().astimezone().isoformat(timespec=timespec)
@@ -174,7 +174,7 @@ def default_deprecation_msg(
174
174
 
175
175
  _qual = getattr(obj, "__qualname__", "") or ""
176
176
  if _qual.endswith(".__init__") or _qual.endswith(".__new__"):
177
- _obj = f' class ({_qual.rsplit(".", 1)[0]})'
177
+ _obj = f" class ({_qual.rsplit('.', 1)[0]})"
178
178
  elif _qual and _obj:
179
179
  _obj += f" ({_qual})"
180
180
 
@@ -103,10 +103,20 @@ def json_changes(
103
103
  paths = json_change.path.split("/")[1:]
104
104
  replaced = before
105
105
  for path in paths:
106
- index: Any = int(path) if path.isnumeric() else path
106
+ decoded_path = decode_json_pointer_segment(path)
107
+ index: Any = (
108
+ int(decoded_path) if decoded_path.isnumeric() else decoded_path
109
+ )
107
110
  replaced = replaced[index]
108
111
  json_change.replaced = replaced
109
112
  changes.append(json_change)
110
113
  return changes
111
114
  else:
112
115
  return None
116
+
117
+
118
+ def decode_json_pointer_segment(segment: str) -> str:
119
+ """Decode a single JSON Pointer segment."""
120
+ # JSON points encode ~ and / because they are special characters
121
+ # this decodes these values (https://www.rfc-editor.org/rfc/rfc6901)
122
+ return segment.replace("~1", "/").replace("~0", "~")
@@ -1,5 +1,6 @@
1
1
  import atexit
2
2
  import os
3
+ import re
3
4
  from logging import (
4
5
  DEBUG,
5
6
  INFO,
@@ -182,7 +183,7 @@ def notify_logger_record(record: LogRecord, write: bool) -> None:
182
183
  if write:
183
184
  transcript()._event(LoggerEvent(message=LoggingMessage.from_log_record(record)))
184
185
  global _rate_limit_count
185
- if (record.levelno <= INFO and "429" in record.getMessage()) or (
186
+ if (record.levelno <= INFO and re.search(r"\b429\b", record.getMessage())) or (
186
187
  record.levelno == DEBUG
187
188
  # See https://boto3.amazonaws.com/v1/documentation/api/latest/guide/retries.html#validating-retry-attempts
188
189
  # for boto retry logic / log messages (this is tracking standard or adapative retries)
@@ -33,6 +33,22 @@ def inspect_trace_file() -> Path:
33
33
  def trace_action(
34
34
  logger: Logger, action: str, message: str, *args: Any, **kwargs: Any
35
35
  ) -> Generator[None, None, None]:
36
+ """Trace a long running or poentially unreliable action.
37
+
38
+ Trace actions for which you want to collect data on the resolution
39
+ (e.g. succeeded, cancelled, failed, timed out, etc.) and duration of.
40
+
41
+ Traces are written to the `TRACE` log level (which is just below
42
+ `HTTP` and `INFO`). List and read trace logs with `inspect trace list`
43
+ and related commands (see `inspect trace --help` for details).
44
+
45
+ Args:
46
+ logger (Logger): Logger to use for tracing (e.g. from `getLogger(__name__)`)
47
+ action (str): Name of action to trace (e.g. 'Model', 'Subprocess', etc.)
48
+ message (str): Message describing action (can be a format string w/ args or kwargs)
49
+ *args (Any): Positional arguments for `message` format string.
50
+ **kwargs (Any): Named args for `message` format string.
51
+ """
36
52
  trace_id = uuid()
37
53
  start_monotonic = time.monotonic()
38
54
  start_wall = time.time()
@@ -117,6 +133,19 @@ def trace_action(
117
133
  def trace_message(
118
134
  logger: Logger, category: str, message: str, *args: Any, **kwargs: Any
119
135
  ) -> None:
136
+ """Log a message using the TRACE log level.
137
+
138
+ The `TRACE` log level is just below `HTTP` and `INFO`). List and
139
+ read trace logs with `inspect trace list` and related commands
140
+ (see `inspect trace --help` for details).
141
+
142
+ Args:
143
+ logger (Logger): Logger to use for tracing (e.g. from `getLogger(__name__)`)
144
+ category (str): Category of trace message.
145
+ message (str): Trace message (can be a format string w/ args or kwargs)
146
+ *args (Any): Positional arguments for `message` format string.
147
+ **kwargs (Any): Named args for `message` format string.
148
+ """
120
149
  logger.log(TRACE, f"[{category}] {message}", *args, **kwargs)
121
150
 
122
151
 
@@ -250,9 +279,16 @@ def read_trace_file(file: Path) -> list[TraceRecord]:
250
279
 
251
280
 
252
281
  def rotate_trace_files() -> None:
253
- rotate_files = list_trace_files()[10:]
254
- for file in rotate_files:
255
- file.file.unlink(missing_ok=True)
282
+ # if multiple inspect processes start up at once they
283
+ # will all be attempting to rotate at the same time,
284
+ # which can lead to FileNotFoundError -- ignore these
285
+ # errors if they occur
286
+ try:
287
+ rotate_files = list_trace_files()[10:]
288
+ for file in rotate_files:
289
+ file.file.unlink(missing_ok=True)
290
+ except FileNotFoundError:
291
+ pass
256
292
 
257
293
 
258
294
  def compress_trace_log(log_handler: FileHandler) -> Callable[[], None]:
@@ -1,4 +1,5 @@
1
1
  import html
2
+ import re
2
3
  from typing import Any
3
4
 
4
5
  from rich.align import AlignMethod
@@ -19,13 +20,43 @@ def transcript_code_theme() -> str:
19
20
  def transcript_markdown(content: str, *, escape: bool = False) -> Markdown:
20
21
  code_theme = transcript_code_theme()
21
22
  return Markdown(
22
- html.escape(content) if escape else content,
23
+ html_escape_markdown(content) if escape else content,
23
24
  code_theme=code_theme,
24
25
  inline_code_lexer="python",
25
26
  inline_code_theme=code_theme,
26
27
  )
27
28
 
28
29
 
30
+ def html_escape_markdown(content: str) -> str:
31
+ """Escape markdown lines that aren't in a code block."""
32
+ codeblock_pattern = re.compile("`{3,}")
33
+ current_codeblock = ""
34
+ escaped: list[str] = []
35
+ lines = content.splitlines()
36
+ for line in lines:
37
+ # look for matching end of codeblock
38
+ if current_codeblock:
39
+ if current_codeblock in line:
40
+ current_codeblock = ""
41
+ escaped.append(line)
42
+ continue
43
+
44
+ # look for beginning of codeblock
45
+ match = codeblock_pattern.search(line)
46
+ if match:
47
+ current_codeblock = match[0]
48
+ escaped.append(line)
49
+ continue
50
+
51
+ # escape if we are not in a codeblock
52
+ if current_codeblock:
53
+ escaped.append(line)
54
+ else:
55
+ escaped.append(html.escape(line, quote=False))
56
+
57
+ return "\n".join(escaped)
58
+
59
+
29
60
  def set_transcript_markdown_options(markdown: Markdown) -> None:
30
61
  code_theme = transcript_code_theme()
31
62
  markdown.code_theme = code_theme
@@ -89,12 +120,10 @@ def transcript_function(function: str, arguments: dict[str, Any]) -> RenderableT
89
120
  return transcript_markdown("```python\n" + call + "\n```\n")
90
121
 
91
122
 
92
- DOUBLE_LINE = Box(
93
- " ══ \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n"
94
- )
123
+ DOUBLE_LINE = Box(" ══ \n \n \n \n \n \n \n \n")
95
124
 
96
- LINE = Box(" ── \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n")
125
+ LINE = Box(" ── \n \n \n \n \n \n \n \n")
97
126
 
98
- DOTTED = Box(" ·· \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n")
127
+ DOTTED = Box(" ·· \n \n \n \n \n \n \n \n")
99
128
 
100
- NOBORDER = Box(" \n" " \n" " \n" " \n" " \n" " \n" " \n" " \n")
129
+ NOBORDER = Box(" \n \n \n \n \n \n \n \n")
@@ -0,0 +1,12 @@
1
+ // Do not remove this file even if the config is empty!
2
+ // VSCode's "Format Document" will respect this config and use the default
3
+ // settings, which is what we want. Without prettierrc, VSCode falls back to
4
+ // users settings, which could be different.
5
+
6
+ /**
7
+ * @see https://prettier.io/docs/en/configuration.html
8
+ * @type {import("prettier").Config}
9
+ */
10
+ const config = {};
11
+
12
+ export default config;