inspect-ai 0.3.55__tar.gz → 0.3.56__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 (855) hide show
  1. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/CHANGELOG.md +13 -0
  2. {inspect_ai-0.3.55/src/inspect_ai.egg-info → inspect_ai-0.3.56}/PKG-INFO +1 -1
  3. inspect_ai-0.3.56/docs/_metadata_typing.md +34 -0
  4. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/_quarto.yml +2 -0
  5. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/_sandboxenv-interface.md +10 -1
  6. inspect_ai-0.3.56/docs/_store_typing.md +52 -0
  7. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/agents-api.qmd +10 -12
  8. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/agents.qmd +14 -0
  9. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/approval.qmd +29 -0
  10. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/datasets.qmd +4 -0
  11. inspect_ai-0.3.56/docs/human-agent.qmd +166 -0
  12. inspect_ai-0.3.56/docs/images/inspect-human-agent-container.png +0 -0
  13. inspect_ai-0.3.56/docs/images/inspect-human-agent.png +0 -0
  14. inspect_ai-0.3.56/docs/images/inspect-terminal-transcript.png +0 -0
  15. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/index.qmd +6 -2
  16. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/llms.txt +2 -0
  17. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/scripts/post-render.sh +1 -1
  18. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/tools.qmd +2 -2
  19. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/tracing.qmd +3 -3
  20. inspect_ai-0.3.56/docs/typing.qmd +18 -0
  21. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/__init__.py +1 -0
  22. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_cli/common.py +1 -1
  23. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_cli/trace.py +33 -20
  24. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/core/active.py +1 -1
  25. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/core/display.py +1 -1
  26. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/core/footer.py +1 -1
  27. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/core/progress.py +0 -6
  28. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/core/rich.py +1 -1
  29. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/rich/display.py +2 -2
  30. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/textual/app.py +15 -17
  31. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/textual/widgets/clock.py +3 -3
  32. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/textual/widgets/samples.py +6 -13
  33. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/context.py +9 -1
  34. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/score.py +4 -10
  35. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/task/results.py +5 -4
  36. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/task/run.py +6 -12
  37. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/task/task.py +10 -0
  38. inspect_ai-0.3.56/src/inspect_ai/_util/ansi.py +31 -0
  39. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/format.py +7 -0
  40. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/logger.py +12 -12
  41. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/throttle.py +10 -1
  42. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/trace.py +43 -47
  43. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/transcript.py +4 -0
  44. inspect_ai-0.3.56/src/inspect_ai/_util/vscode.py +51 -0
  45. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/notify.py +2 -1
  46. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/App.css +22 -1
  47. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/dist/assets/index.css +2374 -2
  48. inspect_ai-0.3.56/src/inspect_ai/_view/www/dist/assets/index.js +31859 -0
  49. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/log-schema.json +138 -90
  50. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/package.json +1 -0
  51. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/App.mjs +1 -0
  52. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/appearance/Icons.mjs +2 -0
  53. inspect_ai-0.3.56/src/inspect_ai/_view/www/src/components/AsciiCinemaPlayer.mjs +74 -0
  54. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/CopyButton.mjs +0 -1
  55. inspect_ai-0.3.56/src/inspect_ai/_view/www/src/components/HumanBaselineView.mjs +168 -0
  56. inspect_ai-0.3.56/src/inspect_ai/_view/www/src/components/LightboxCarousel.mjs +217 -0
  57. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/Tools.mjs +11 -3
  58. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/ModelEventView.mjs +3 -2
  59. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptView.mjs +1 -0
  60. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventRenderers.mjs +56 -0
  61. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventView.mjs +17 -5
  62. inspect_ai-0.3.56/src/inspect_ai/_view/www/src/types/asciicinema-player.d.ts +26 -0
  63. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/types/log.d.ts +26 -12
  64. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/yarn.lock +44 -0
  65. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/approval/_apply.py +4 -0
  66. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/approval/_human/panel.py +5 -8
  67. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/_dataset.py +51 -10
  68. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/_util.py +31 -3
  69. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/__init__.py +2 -0
  70. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_log.py +5 -2
  71. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_call_tools.py +4 -2
  72. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_chat_message.py +3 -0
  73. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_model.py +42 -1
  74. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/anthropic.py +4 -0
  75. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_render.py +9 -2
  76. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_metric.py +12 -1
  77. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/solver/__init__.py +2 -0
  78. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/agent.py +83 -0
  79. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/commands/__init__.py +36 -0
  80. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/commands/clock.py +70 -0
  81. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/commands/command.py +59 -0
  82. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/commands/instructions.py +74 -0
  83. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/commands/note.py +42 -0
  84. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/commands/score.py +80 -0
  85. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/commands/status.py +62 -0
  86. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/commands/submit.py +151 -0
  87. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/install.py +222 -0
  88. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/panel.py +252 -0
  89. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/service.py +45 -0
  90. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/state.py +55 -0
  91. inspect_ai-0.3.56/src/inspect_ai/solver/_human_agent/view.py +24 -0
  92. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/solver/_task_state.py +28 -2
  93. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tool.py +10 -2
  94. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_web_browser.py +13 -10
  95. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/__init__.py +8 -4
  96. inspect_ai-0.3.55/src/inspect_ai/_util/display.py → inspect_ai-0.3.56/src/inspect_ai/util/_display.py +6 -0
  97. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_panel.py +31 -9
  98. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/__init__.py +0 -3
  99. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/context.py +5 -1
  100. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/docker/compose.py +16 -10
  101. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/docker/docker.py +9 -6
  102. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/docker/internal.py +1 -1
  103. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/docker/util.py +2 -2
  104. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/environment.py +6 -5
  105. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/local.py +1 -1
  106. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/service.py +22 -7
  107. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_store.py +5 -6
  108. inspect_ai-0.3.56/src/inspect_ai/util/_store_model.py +110 -0
  109. inspect_ai-0.3.56/src/inspect_ai/util/_throttle.py +32 -0
  110. {inspect_ai-0.3.55 → inspect_ai-0.3.56/src/inspect_ai.egg-info}/PKG-INFO +1 -1
  111. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai.egg-info/SOURCES.txt +32 -1
  112. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/approval/test_approval.py +29 -14
  113. inspect_ai-0.3.56/tests/dataset/test_dataset/samples-md.csv +2 -0
  114. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/dataset/test_dataset/samples-md.json +3 -3
  115. inspect_ai-0.3.56/tests/dataset/test_dataset/samples-md.jsonl +1 -0
  116. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/dataset/test_dataset.py +51 -1
  117. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/solver/test_store.py +18 -0
  118. inspect_ai-0.3.56/tests/solver/test_store_model.py +222 -0
  119. inspect_ai-0.3.56/tests/tools/test_tool_images.py +69 -0
  120. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/util/sandbox/test_sandbox_service.py +3 -2
  121. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/@types/log.d.ts +26 -12
  122. inspect_ai-0.3.55/src/inspect_ai/_view/www/dist/assets/index.js +0 -26661
  123. inspect_ai-0.3.55/tests/dataset/test_dataset/samples-md.csv +0 -2
  124. inspect_ai-0.3.55/tests/dataset/test_dataset/samples-md.jsonl +0 -1
  125. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/.github/dependabot.yml +0 -0
  126. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/.github/pull_request_template.md +0 -0
  127. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/.github/workflows/build.yml +0 -0
  128. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/.github/workflows/docs.yml +0 -0
  129. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/.github/workflows/log_viewer.yml +0 -0
  130. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/.github/workflows/pypi.yml +0 -0
  131. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/.github/workflows/vscode.yml +0 -0
  132. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/.gitignore +0 -0
  133. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/.pre-commit-config.yaml +0 -0
  134. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/.vscode/extensions.json +0 -0
  135. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/.vscode/settings.json +0 -0
  136. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/CITATION.cff +0 -0
  137. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/LICENSE +0 -0
  138. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/Makefile +0 -0
  139. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/README.md +0 -0
  140. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/.gitignore +0 -0
  141. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/CNAME +0 -0
  142. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/_container_limits.md +0 -0
  143. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/_errors_and_retries.md +0 -0
  144. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/_sample-preservation.md +0 -0
  145. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/_tools-annotations-required.md +0 -0
  146. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/_tools-scaffold.md +0 -0
  147. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/_trace.md +0 -0
  148. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/_variables.yml +0 -0
  149. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/caching.qmd +0 -0
  150. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/errors-and-limits.qmd +0 -0
  151. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/eval-logs.qmd +0 -0
  152. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/eval-sets.qmd +0 -0
  153. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/examples/examples.bib +0 -0
  154. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/examples/examples.css +0 -0
  155. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/examples/examples.ejs +0 -0
  156. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/examples/examples.yml +0 -0
  157. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/examples/index.qmd +0 -0
  158. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/extensions.qmd +0 -0
  159. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/aisi-logo.png +0 -0
  160. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/eval-log.png +0 -0
  161. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-activity-bar.png +0 -0
  162. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-multiple-models.png +0 -0
  163. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-view-answers.png +0 -0
  164. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-view-filter.png +0 -0
  165. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-view-history.png +0 -0
  166. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-view-home.png +0 -0
  167. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-view-info.png +0 -0
  168. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-view-logging-console.png +0 -0
  169. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-view-logging.png +0 -0
  170. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-view-main.png +0 -0
  171. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-view-messages.png +0 -0
  172. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-view-metadata.png +0 -0
  173. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-view-scoring.png +0 -0
  174. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-view-sort.png +0 -0
  175. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-view-splash.png +0 -0
  176. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-vscode-config.png +0 -0
  177. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-vscode-install.png +0 -0
  178. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-vscode-logview.png +0 -0
  179. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-vscode-output-channel.png +0 -0
  180. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect-vscode-run-task.png +0 -0
  181. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/inspect.png +0 -0
  182. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/logs-drop-down.png +0 -0
  183. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/logs-open-button.png +0 -0
  184. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/logs.png +0 -0
  185. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/popularity.png +0 -0
  186. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/python-tool-view.png +0 -0
  187. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/rate-limit.png +0 -0
  188. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/running-theory.png +0 -0
  189. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/task-max-sandboxes.png +0 -0
  190. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/toolenv-no-cleanup.png +0 -0
  191. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/images/web-browser-tool-view.png +0 -0
  192. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/interactivity.qmd +0 -0
  193. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/log-viewer.qmd +0 -0
  194. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/models.qmd +0 -0
  195. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/parallelism.qmd +0 -0
  196. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/sandboxing.qmd +0 -0
  197. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/scorers.qmd +0 -0
  198. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/solvers.qmd +0 -0
  199. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/theme.scss +0 -0
  200. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/tutorial.qmd +0 -0
  201. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/vscode.qmd +0 -0
  202. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/docs/workflow.qmd +0 -0
  203. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/approval/README.md +0 -0
  204. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/approval/approval.py +0 -0
  205. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/approval/approval.yaml +0 -0
  206. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/biology_qa.py +0 -0
  207. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/browser/browser.py +0 -0
  208. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/browser/compose.yaml +0 -0
  209. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/cache.py +0 -0
  210. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/evalset.py +0 -0
  211. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/hello_world.py +0 -0
  212. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/images/ballons.png +0 -0
  213. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/images/bike.png +0 -0
  214. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/images/images.jsonl +0 -0
  215. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/images/images.py +0 -0
  216. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/intervention/Dockerfile +0 -0
  217. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/intervention/README.md +0 -0
  218. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/intervention/compose.yaml +0 -0
  219. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/intervention/intervention.py +0 -0
  220. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/langchain/.env.example +0 -0
  221. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/langchain/.gitignore +0 -0
  222. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/langchain/README.md +0 -0
  223. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/langchain/inspect_langchain.py +0 -0
  224. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/langchain/requirements.txt +0 -0
  225. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/langchain/wikipedia.jsonl +0 -0
  226. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/langchain/wikipedia.py +0 -0
  227. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/popularity.py +0 -0
  228. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/security_guide.py +0 -0
  229. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/theory_of_mind.py +0 -0
  230. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/examples/tool_use.py +0 -0
  231. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/pyproject.toml +0 -0
  232. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/requirements.txt +0 -0
  233. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/setup.cfg +0 -0
  234. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/__main__.py +0 -0
  235. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_cli/cache.py +0 -0
  236. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_cli/eval.py +0 -0
  237. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_cli/info.py +0 -0
  238. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_cli/list.py +0 -0
  239. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_cli/log.py +0 -0
  240. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_cli/main.py +0 -0
  241. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_cli/sandbox.py +0 -0
  242. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_cli/score.py +0 -0
  243. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_cli/util.py +0 -0
  244. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_cli/view.py +0 -0
  245. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/__init__.py +0 -0
  246. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/core/config.py +0 -0
  247. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/core/group.py +0 -0
  248. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/core/panel.py +0 -0
  249. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/core/results.py +0 -0
  250. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/core/textual.py +0 -0
  251. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/rich/__init__.py +0 -0
  252. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/textual/app.tcss +0 -0
  253. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/textual/display.py +0 -0
  254. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/textual/theme.py +0 -0
  255. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/textual/widgets/console.py +0 -0
  256. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/textual/widgets/footer.py +0 -0
  257. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/textual/widgets/task_detail.py +0 -0
  258. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/textual/widgets/tasks.py +0 -0
  259. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/textual/widgets/titlebar.py +0 -0
  260. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/textual/widgets/toggle.py +0 -0
  261. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_display/textual/widgets/transcript.py +0 -0
  262. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/eval.py +0 -0
  263. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/evalset.py +0 -0
  264. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/list.py +0 -0
  265. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/loader.py +0 -0
  266. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/registry.py +0 -0
  267. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/run.py +0 -0
  268. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/task/__init__.py +0 -0
  269. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/task/constants.py +0 -0
  270. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/task/epochs.py +0 -0
  271. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/task/error.py +0 -0
  272. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/task/generate.py +0 -0
  273. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/task/images.py +0 -0
  274. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/task/log.py +0 -0
  275. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/task/rundir.py +0 -0
  276. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/task/sandbox.py +0 -0
  277. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_eval/task/util.py +0 -0
  278. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/_async.py +0 -0
  279. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/appdirs.py +0 -0
  280. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/config.py +0 -0
  281. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/constants.py +0 -0
  282. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/content.py +0 -0
  283. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/datetime.py +0 -0
  284. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/decorator.py +0 -0
  285. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/deprecation.py +0 -0
  286. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/dev.py +0 -0
  287. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/dict.py +0 -0
  288. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/dotenv.py +0 -0
  289. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/entrypoints.py +0 -0
  290. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/environ.py +0 -0
  291. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/error.py +0 -0
  292. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/file.py +0 -0
  293. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/git.py +0 -0
  294. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/hash.py +0 -0
  295. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/hooks.py +0 -0
  296. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/html.py +0 -0
  297. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/http.py +0 -0
  298. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/images.py +0 -0
  299. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/json.py +0 -0
  300. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/list.py +0 -0
  301. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/notebook.py +0 -0
  302. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/package.py +0 -0
  303. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/path.py +0 -0
  304. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/pattern.py +0 -0
  305. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/platform.py +0 -0
  306. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/registry.py +0 -0
  307. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/retry.py +0 -0
  308. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/rich.py +0 -0
  309. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/samples.py +0 -0
  310. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/terminal.py +0 -0
  311. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/text.py +0 -0
  312. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/timeouts.py +0 -0
  313. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/url.py +0 -0
  314. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_util/version.py +0 -0
  315. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/schema.py +0 -0
  316. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/server.py +0 -0
  317. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/view.py +0 -0
  318. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/.gitignore +0 -0
  319. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/.prettierignore +0 -0
  320. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/.tool-versions +0 -0
  321. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/README.md +0 -0
  322. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/dist/assets/favicon.svg +0 -0
  323. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/dist/index.html +0 -0
  324. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/eslint.config.mjs +0 -0
  325. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/favicon.svg +0 -0
  326. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/index.html +0 -0
  327. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/jsconfig.json +0 -0
  328. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/postcss.config.cjs +0 -0
  329. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/Register.mjs +0 -0
  330. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/Types.mjs +0 -0
  331. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/api/Types.mjs +0 -0
  332. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/api/api-browser.mjs +0 -0
  333. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/api/api-http.mjs +0 -0
  334. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/api/api-shared.mjs +0 -0
  335. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/api/api-vscode.mjs +0 -0
  336. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/api/client-api.mjs +0 -0
  337. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/api/index.mjs +0 -0
  338. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/api/jsonrpc.mjs +0 -0
  339. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/appearance/Colors.mjs +0 -0
  340. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/appearance/Fonts.mjs +0 -0
  341. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/appearance/Styles.mjs +0 -0
  342. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/AnsiDisplay.css +0 -0
  343. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/AnsiDisplay.mjs +0 -0
  344. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/AppErrorBoundary.mjs +0 -0
  345. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/Browser.mjs +0 -0
  346. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/Card.mjs +0 -0
  347. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/ChatView.mjs +0 -0
  348. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/Dialog.mjs +0 -0
  349. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/DownloadButton.mjs +0 -0
  350. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/DownloadPanel.mjs +0 -0
  351. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/EmptyPanel.mjs +0 -0
  352. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/ErrorPanel.mjs +0 -0
  353. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/ExpandablePanel.mjs +0 -0
  354. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/FindBand.mjs +0 -0
  355. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/JsonPanel.mjs +0 -0
  356. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/LabeledValue.mjs +0 -0
  357. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/LargeModal.mjs +0 -0
  358. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/MarkdownDiv.mjs +0 -0
  359. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/MessageBand.mjs +0 -0
  360. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/MessageContent.mjs +0 -0
  361. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/MetaDataGrid.mjs +0 -0
  362. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/MetaDataView.mjs +0 -0
  363. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/MorePopOver.mjs +0 -0
  364. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/NavPills.mjs +0 -0
  365. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/ProgressBar.mjs +0 -0
  366. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/RenderedContent/ChatMessageRenderer.mjs +0 -0
  367. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/RenderedContent/RenderedContent.mjs +0 -0
  368. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/RenderedContent/Types.mjs +0 -0
  369. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/TabSet.mjs +0 -0
  370. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/ToolButton.mjs +0 -0
  371. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/VirtualList.mjs +0 -0
  372. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/components/ansi-output.js +0 -0
  373. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/constants.mjs +0 -0
  374. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/index.js +0 -0
  375. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/json/JsonTab.mjs +0 -0
  376. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/log/remoteLogFile.mjs +0 -0
  377. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/log-reader/Log-Reader.mjs +0 -0
  378. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/log-reader/Native-Log-Reader.mjs +0 -0
  379. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/log-reader/Open-AI-Log-Reader.mjs +0 -0
  380. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/navbar/Navbar.mjs +0 -0
  381. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/navbar/SecondaryBar.mjs +0 -0
  382. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/plan/PlanCard.mjs +0 -0
  383. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/SampleDialog.mjs +0 -0
  384. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/SampleDisplay.mjs +0 -0
  385. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/SampleError.mjs +0 -0
  386. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/SampleLimit.mjs +0 -0
  387. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/SampleList.mjs +0 -0
  388. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/SampleScoreView.mjs +0 -0
  389. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/SampleScores.mjs +0 -0
  390. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/SampleTranscript.mjs +0 -0
  391. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/SamplesDescriptor.mjs +0 -0
  392. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/SamplesTab.mjs +0 -0
  393. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/SamplesTools.mjs +0 -0
  394. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/tools/EpochFilter.mjs +0 -0
  395. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/tools/SampleFilter.mjs +0 -0
  396. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/tools/SelectScorer.mjs +0 -0
  397. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/tools/SortFilter.mjs +0 -0
  398. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/tools/filters.mjs +0 -0
  399. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/ApprovalEventView.mjs +0 -0
  400. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/ErrorEventView.mjs +0 -0
  401. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/EventPanel.mjs +0 -0
  402. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/EventRow.mjs +0 -0
  403. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/EventSection.mjs +0 -0
  404. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/InfoEventView.mjs +0 -0
  405. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/InputEventView.mjs +0 -0
  406. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/LoggerEventView.mjs +0 -0
  407. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/SampleInitEventView.mjs +0 -0
  408. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/SampleLimitEventView.mjs +0 -0
  409. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/ScoreEventView.mjs +0 -0
  410. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/StepEventView.mjs +0 -0
  411. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.mjs +0 -0
  412. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/ToolEventView.mjs +0 -0
  413. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptState.mjs +0 -0
  414. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/Types.mjs +0 -0
  415. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/samples/transcript/state/StateDiffView.mjs +0 -0
  416. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/sidebar/Sidebar.mjs +0 -0
  417. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/types/jsondiffpatch.d.ts +0 -0
  418. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/types/prism.d.ts +0 -0
  419. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/usage/ModelTokenTable.mjs +0 -0
  420. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/usage/UsageCard.mjs +0 -0
  421. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/Base64.mjs +0 -0
  422. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/Format.mjs +0 -0
  423. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/Git.mjs +0 -0
  424. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/Html.mjs +0 -0
  425. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/Json.mjs +0 -0
  426. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/Path.mjs +0 -0
  427. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/Print.mjs +0 -0
  428. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/Type.mjs +0 -0
  429. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/attachments.mjs +0 -0
  430. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/debugging.mjs +0 -0
  431. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/http.mjs +0 -0
  432. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/queue.mjs +0 -0
  433. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/remoteZipFile.mjs +0 -0
  434. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/sync.mjs +0 -0
  435. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/utils/vscode.mjs +0 -0
  436. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/workspace/TaskErrorPanel.mjs +0 -0
  437. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/src/workspace/WorkSpace.mjs +0 -0
  438. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/tsconfig.json +0 -0
  439. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/_view/www/vite.config.js +0 -0
  440. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/approval/__init__.py +0 -0
  441. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/approval/_approval.py +0 -0
  442. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/approval/_approver.py +0 -0
  443. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/approval/_auto.py +0 -0
  444. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/approval/_call.py +0 -0
  445. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/approval/_human/approver.py +0 -0
  446. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/approval/_human/console.py +0 -0
  447. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/approval/_human/manager.py +0 -0
  448. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/approval/_human/util.py +0 -0
  449. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/approval/_policy.py +0 -0
  450. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/approval/_registry.py +0 -0
  451. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/__init__.py +0 -0
  452. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/_examples/bias_detection.jsonl +0 -0
  453. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/_examples/biology_qa.jsonl +0 -0
  454. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/_examples/popularity.jsonl +0 -0
  455. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/_examples/security_guide.jsonl +0 -0
  456. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/_examples/theory_of_mind.jsonl +0 -0
  457. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/_sources/csv.py +0 -0
  458. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/_sources/example.py +0 -0
  459. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/_sources/file.py +0 -0
  460. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/_sources/hf.py +0 -0
  461. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/_sources/json.py +0 -0
  462. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/dataset/_sources/util.py +0 -0
  463. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_bundle.py +0 -0
  464. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_condense.py +0 -0
  465. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_convert.py +0 -0
  466. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_file.py +0 -0
  467. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_message.py +0 -0
  468. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_recorders/__init__.py +0 -0
  469. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_recorders/create.py +0 -0
  470. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_recorders/eval.py +0 -0
  471. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_recorders/file.py +0 -0
  472. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_recorders/json.py +0 -0
  473. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_recorders/recorder.py +0 -0
  474. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_retry.py +0 -0
  475. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_samples.py +0 -0
  476. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/log/_transcript.py +0 -0
  477. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/__init__.py +0 -0
  478. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_cache.py +0 -0
  479. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_generate_config.py +0 -0
  480. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_image.py +0 -0
  481. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_model_call.py +0 -0
  482. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_model_output.py +0 -0
  483. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/azureai.py +0 -0
  484. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/bedrock.py +0 -0
  485. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/cloudflare.py +0 -0
  486. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/google.py +0 -0
  487. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/grok.py +0 -0
  488. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/groq.py +0 -0
  489. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/hf.py +0 -0
  490. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/llama_cpp_python.py +0 -0
  491. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/mistral.py +0 -0
  492. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/mockllm.py +0 -0
  493. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/ollama.py +0 -0
  494. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/openai.py +0 -0
  495. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/openai_o1.py +0 -0
  496. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/providers.py +0 -0
  497. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/together.py +0 -0
  498. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/util/__init__.py +0 -0
  499. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/util/chatapi.py +0 -0
  500. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/util/hf_handler.py +0 -0
  501. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/util/llama31.py +0 -0
  502. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/util/util.py +0 -0
  503. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/vertex.py +0 -0
  504. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_providers/vllm.py +0 -0
  505. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_registry.py +0 -0
  506. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/model/_trace.py +0 -0
  507. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/py.typed +0 -0
  508. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/__init__.py +0 -0
  509. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_answer.py +0 -0
  510. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_choice.py +0 -0
  511. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_classification.py +0 -0
  512. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_common.py +0 -0
  513. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_match.py +0 -0
  514. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_metrics/__init__.py +0 -0
  515. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_metrics/accuracy.py +0 -0
  516. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_metrics/mean.py +0 -0
  517. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_metrics/std.py +0 -0
  518. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_model.py +0 -0
  519. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_multi.py +0 -0
  520. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_pattern.py +0 -0
  521. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_reducer/__init__.py +0 -0
  522. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_reducer/reducer.py +0 -0
  523. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_reducer/registry.py +0 -0
  524. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_reducer/types.py +0 -0
  525. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_score.py +0 -0
  526. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_scorer.py +0 -0
  527. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/scorer/_target.py +0 -0
  528. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/solver/_basic_agent.py +0 -0
  529. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/solver/_chain.py +0 -0
  530. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/solver/_critique.py +0 -0
  531. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/solver/_fork.py +0 -0
  532. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/solver/_multiple_choice.py +0 -0
  533. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/solver/_plan.py +0 -0
  534. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/solver/_prompt.py +0 -0
  535. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/solver/_solver.py +0 -0
  536. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/solver/_transcript.py +0 -0
  537. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/solver/_use_tools.py +0 -0
  538. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/solver/_util.py +0 -0
  539. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/__init__.py +0 -0
  540. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tool_call.py +0 -0
  541. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tool_choice.py +0 -0
  542. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tool_def.py +0 -0
  543. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tool_description.py +0 -0
  544. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tool_info.py +0 -0
  545. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tool_params.py +0 -0
  546. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tool_transcript.py +0 -0
  547. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tool_with.py +0 -0
  548. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_execute.py +0 -0
  549. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/__init__.py +0 -0
  550. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/Dockerfile +0 -0
  551. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/README.md +0 -0
  552. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/accessibility_node.py +0 -0
  553. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/dm_env_servicer.py +0 -0
  554. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/images/usage_diagram.png +0 -0
  555. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/mock_environment.py +0 -0
  556. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/playwright_crawler.py +0 -0
  557. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_accessibility_node.py +0 -0
  558. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_dm_env_servicer.py +0 -0
  559. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_playwright_crawler.py +0 -0
  560. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_web_environment.py +0 -0
  561. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client.py +0 -0
  562. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client_new_session.py +0 -0
  563. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_environment.py +0 -0
  564. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_server.py +0 -0
  565. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/tool/_tools/_web_search.py +0 -0
  566. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_concurrency.py +0 -0
  567. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_console.py +0 -0
  568. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_resource.py +0 -0
  569. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/docker/cleanup.py +0 -0
  570. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/docker/config.py +0 -0
  571. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/docker/prereqs.py +0 -0
  572. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/limits.py +0 -0
  573. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/registry.py +0 -0
  574. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_sandbox/self_check.py +0 -0
  575. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_subprocess.py +0 -0
  576. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_subtask.py +0 -0
  577. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai/util/_trace.py +0 -0
  578. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai.egg-info/dependency_links.txt +0 -0
  579. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai.egg-info/entry_points.txt +0 -0
  580. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai.egg-info/requires.txt +0 -0
  581. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/src/inspect_ai.egg-info/top_level.txt +0 -0
  582. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/approval/approve.yaml +0 -0
  583. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/approval/escalate.yaml +0 -0
  584. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/approval/modify.yaml +0 -0
  585. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/approval/reject.yaml +0 -0
  586. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/approval/terminate.yaml +0 -0
  587. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/conftest.py +0 -0
  588. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/dataset/test_dataset/dataset.jsonl +0 -0
  589. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/dataset/test_dataset/images/ballons.png +0 -0
  590. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/dataset/test_dataset/images.jsonl +0 -0
  591. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/dataset/test_dataset/samples.csv +0 -0
  592. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/dataset/test_dataset/samples.json +0 -0
  593. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/dataset/test_dataset/samples.jsonl +0 -0
  594. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_eval_log/log_formats.json +0 -0
  595. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_eval_log/log_images.json +0 -0
  596. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_eval_log/log_images_tc.json +0 -0
  597. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_eval_log/log_invalid.txt +0 -0
  598. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_eval_log/log_length_stop_reason.txt +0 -0
  599. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_eval_log/log_streaming.eval +0 -0
  600. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_eval_log/log_valid.txt +0 -0
  601. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_eval_log/log_version_3.txt +0 -0
  602. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_eval_log/log_with_nan.txt +0 -0
  603. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_eval_log.py +0 -0
  604. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_list_logs/2024-11-05T13-31-45-05-00_input-task_8zXjbRzCWrL9GXiXo2vus9.json +0 -0
  605. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_list_logs/2024-11-05T13-32-37-05-00_input-task_hxs4q9azL3ySGkjJirypKZ.eval +0 -0
  606. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_list_logs/custom.eval +0 -0
  607. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_list_logs/ignore.json +0 -0
  608. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_list_logs.py +0 -0
  609. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_log_attachments.py +0 -0
  610. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_log_formats.py +0 -0
  611. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_log_level.py +0 -0
  612. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_log_streaming.py +0 -0
  613. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/log/test_log_tags.py +0 -0
  614. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/providers/test_anthropic.py +0 -0
  615. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/providers/test_azureai.py +0 -0
  616. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/providers/test_cloudflare.py +0 -0
  617. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/providers/test_google.py +0 -0
  618. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/providers/test_grok.py +0 -0
  619. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/providers/test_groq.py +0 -0
  620. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/providers/test_hf.py +0 -0
  621. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/providers/test_llama_cpp_python.py +0 -0
  622. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/providers/test_openai.py +0 -0
  623. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/providers/test_openai_o1.py +0 -0
  624. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/providers/test_vertex.py +0 -0
  625. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/providers/test_vllm.py +0 -0
  626. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/test_api_key.py +0 -0
  627. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/test_cache.py +0 -0
  628. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/test_collapse_assistant_message.py +0 -0
  629. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/test_collapse_user_message.py +0 -0
  630. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/test_disable.py +0 -0
  631. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/test_logprobs.py +0 -0
  632. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/test_mock_model_llm.py +0 -0
  633. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/test_num_choices.py +0 -0
  634. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/test_parse_tool_call.py +0 -0
  635. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/model/test_stop_reason.py +0 -0
  636. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/scorer/test_answer.py +0 -0
  637. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/scorer/test_choice.py +0 -0
  638. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/scorer/test_classification.py +0 -0
  639. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/scorer/test_match.py +0 -0
  640. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/scorer/test_metric.py +0 -0
  641. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/scorer/test_model_graded.py +0 -0
  642. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/scorer/test_multiscorer.py +0 -0
  643. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/scorer/test_pattern.py +0 -0
  644. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/scorer/test_reducers.py +0 -0
  645. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/scorer/test_scorer.py +0 -0
  646. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/scorer/test_value_to_float.py +0 -0
  647. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/solver/test_basic_agent.py +0 -0
  648. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/solver/test_chain.py +0 -0
  649. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/solver/test_fork.py +0 -0
  650. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/solver/test_multiple_choice.py +0 -0
  651. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/solver/test_prompt.py +0 -0
  652. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/solver/test_setup.py +0 -0
  653. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/solver/test_solver.py +0 -0
  654. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/solver/test_solver_decorator.py +0 -0
  655. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/solver/test_solver_spec.py +0 -0
  656. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/solver/test_subtask.py +0 -0
  657. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/solver/test_transcript.py +0 -0
  658. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_eval.py +0 -0
  659. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_eval_config/model.yaml +0 -0
  660. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_eval_config/solver.yaml +0 -0
  661. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_eval_config/task.yaml +0 -0
  662. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_eval_config.py +0 -0
  663. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_eval_set/2024-08-29T15-11-17+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
  664. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_eval_set/2024-08-29T15-11-18+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
  665. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_eval_set.py +0 -0
  666. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_examples.py +0 -0
  667. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_extensions.py +0 -0
  668. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_fail_on_error.py +0 -0
  669. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_helpers/__init__.py +0 -0
  670. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_helpers/tasks.py +0 -0
  671. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_helpers/tool_call_utils.py +0 -0
  672. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_helpers/tools.py +0 -0
  673. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_helpers/utils.py +0 -0
  674. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_list_task.py +0 -0
  675. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_log_dir/example_task/example_task.py +0 -0
  676. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_log_dir/test_log_dir.py +0 -0
  677. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_package/.gitignore +0 -0
  678. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_package/inspect_package/__init__.py +0 -0
  679. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_package/inspect_package/_registry.py +0 -0
  680. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_package/inspect_package/approvers/renamer.py +0 -0
  681. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_package/inspect_package/modelapi/custom.py +0 -0
  682. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_package/inspect_package/py.typed +0 -0
  683. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_package/inspect_package/sandboxenv/podman.py +0 -0
  684. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_package/inspect_package/score/scorer.py +0 -0
  685. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_package/inspect_package/solvers/cot.py +0 -0
  686. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_package/pyproject.toml +0 -0
  687. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_retry.py +0 -0
  688. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_run_dir/task1/task1.py +0 -0
  689. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_run_dir/task2/task2.py +0 -0
  690. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_run_dir.py +0 -0
  691. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_sample_id.py +0 -0
  692. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_sample_limits.py +0 -0
  693. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_attr.py +0 -0
  694. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_list/__init__.py +0 -0
  695. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_list/attribs.ipynb +0 -0
  696. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_list/multiple.py +0 -0
  697. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_list/multiple_dir/_decoy/testit.py +0 -0
  698. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_list/multiple_dir/_decoy2.py +0 -0
  699. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_list/multiple_dir/bar.py +0 -0
  700. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_list/multiple_dir/foo.py +0 -0
  701. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_list/recurse/.folder3/epsilon.py +0 -0
  702. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_list/recurse/folder1/_decoy.py +0 -0
  703. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_list/recurse/folder1/theta.py +0 -0
  704. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_list/recurse/folder2/.folder3/epsilon.py +0 -0
  705. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_list/recurse/folder2/another.py +0 -0
  706. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/test_task_list/recurse/folder2/first.py +0 -0
  707. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/docker-compose-context/Dockerfile +0 -0
  708. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/docker-compose-context-alpine/Dockerfile +0 -0
  709. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_bash_tool.py +0 -0
  710. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_max_exec_output.py +0 -0
  711. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_max_tool_output.py +0 -0
  712. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_python_tool.py +0 -0
  713. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_sandbox_compose.yaml +0 -0
  714. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_sandbox_compose_alpine.yaml +0 -0
  715. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_sandbox_docker_and_local.py +0 -0
  716. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_sandbox_dockerfile.py +0 -0
  717. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_sandbox_tool_eval.py +0 -0
  718. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_tool_def.py +0 -0
  719. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_tool_parse.py +0 -0
  720. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_tool_types.py +0 -0
  721. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_tool_view.py +0 -0
  722. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_tool_with.py +0 -0
  723. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_tools.py +0 -0
  724. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_use_tools.py +0 -0
  725. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_web_browser.py +0 -0
  726. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/tools/test_web_browser_compose.yaml +0 -0
  727. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/util/sandbox/docker_compose_multiple_services/docker-compose.yaml +0 -0
  728. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/util/sandbox/sandbox_setup.sh +0 -0
  729. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/util/sandbox/test_docker_compose_multiple_services.py +0 -0
  730. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/util/sandbox/test_sandbox_setup.py +0 -0
  731. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/util/test_file.py +0 -0
  732. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/util/test_images/images.jsonl +0 -0
  733. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/util/test_images.py +0 -0
  734. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/util/test_package.py +0 -0
  735. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/util/test_registry.py +0 -0
  736. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/util/test_str_to_float.py +0 -0
  737. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/util/test_subprocess.py +0 -0
  738. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tests/view/test_bundle.py +0 -0
  739. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/.eslintrc.json +0 -0
  740. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/.gitignore +0 -0
  741. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/.vscode/extensions.json +0 -0
  742. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/.vscode/launch.json +0 -0
  743. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/.vscode/settings.json +0 -0
  744. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/.vscode/tasks.json +0 -0
  745. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/.vscode-test.mjs +0 -0
  746. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/.vscodeignore +0 -0
  747. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/.yarnrc +0 -0
  748. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/CHANGELOG.md +0 -0
  749. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/LICENSE +0 -0
  750. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/README.md +0 -0
  751. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/assets/icon/eval-treeview.svg +0 -0
  752. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/assets/icon/eval.svg +0 -0
  753. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/assets/logo/inspect.png +0 -0
  754. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/assets/logo/inspect.svg +0 -0
  755. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/assets/templates/task.py.template +0 -0
  756. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/assets/www/codicon/codicon.css +0 -0
  757. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/assets/www/codicon/codicon.ttf +0 -0
  758. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/assets/www/view/view-overrides.css +0 -0
  759. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/package.json +0 -0
  760. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/@types/hooks.d.ts +0 -0
  761. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/components/document.ts +0 -0
  762. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/components/error.ts +0 -0
  763. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/components/focus.ts +0 -0
  764. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/components/notebook.ts +0 -0
  765. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/components/symbol.ts +0 -0
  766. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/components/task.ts +0 -0
  767. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/components/templates.ts +0 -0
  768. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/components/webview.ts +0 -0
  769. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/appdirs.ts +0 -0
  770. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/command.ts +0 -0
  771. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/dispose.ts +0 -0
  772. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/env.ts +0 -0
  773. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/file.ts +0 -0
  774. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/git.ts +0 -0
  775. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/jsonrpc.ts +0 -0
  776. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/log.ts +0 -0
  777. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/nonce.ts +0 -0
  778. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/path.ts +0 -0
  779. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/port.ts +0 -0
  780. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/process.ts +0 -0
  781. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/python/code.ts +0 -0
  782. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/python/env.ts +0 -0
  783. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/python/exec.ts +0 -0
  784. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/python/index.ts +0 -0
  785. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/python/interpreter.ts +0 -0
  786. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/random.ts +0 -0
  787. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/string.ts +0 -0
  788. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/text.ts +0 -0
  789. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/uri.ts +0 -0
  790. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/vscode/association.ts +0 -0
  791. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/wait.ts +0 -0
  792. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/core/workspace.ts +0 -0
  793. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/extension.ts +0 -0
  794. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/hooks/hooks.ts +0 -0
  795. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/hooks/index.ts +0 -0
  796. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/hooks/preview.ts +0 -0
  797. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/inspect/index.ts +0 -0
  798. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/inspect/logs.ts +0 -0
  799. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/inspect/props.ts +0 -0
  800. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/inspect/version.ts +0 -0
  801. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/active-task/active-task-command.ts +0 -0
  802. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/active-task/active-task-provider.ts +0 -0
  803. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/activity-bar-provider.ts +0 -0
  804. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/env-config-provider.ts +0 -0
  805. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/log-listing/log-directory-selector.ts +0 -0
  806. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-data.ts +0 -0
  807. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-mru.ts +0 -0
  808. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-provider.ts +0 -0
  809. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/log-listing/log-listing.ts +0 -0
  810. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/task-config-commands.ts +0 -0
  811. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/task-config-provider.ts +0 -0
  812. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/task-outline-commands.ts +0 -0
  813. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/task-outline-provider.ts +0 -0
  814. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.css +0 -0
  815. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.ts +0 -0
  816. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.css +0 -0
  817. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.ts +0 -0
  818. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/webview/vscode-controls.css +0 -0
  819. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/activity-bar/webview/webview-utils.ts +0 -0
  820. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/codelens/codelens-provider.ts +0 -0
  821. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/inspect/inspect-commands.ts +0 -0
  822. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/inspect/inspect-constants.ts +0 -0
  823. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/inspect/inspect-eval-commands.ts +0 -0
  824. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/inspect/inspect-eval.ts +0 -0
  825. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/inspect/inspect-logs-watcher.ts +0 -0
  826. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/inspect/inspect-manager.ts +0 -0
  827. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/inspect/inspect-view-server.ts +0 -0
  828. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/lognotify.ts +0 -0
  829. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/logview/commands.ts +0 -0
  830. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/logview/logview-editor.ts +0 -0
  831. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/logview/logview-link-provider.ts +0 -0
  832. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/logview/logview-panel.ts +0 -0
  833. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/logview/logview-state.ts +0 -0
  834. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/logview/logview-view.ts +0 -0
  835. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/logview/logview.ts +0 -0
  836. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/openlog.ts +0 -0
  837. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/protocol-handler.ts +0 -0
  838. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/settings/inspect-settings.ts +0 -0
  839. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/settings/user-settings.ts +0 -0
  840. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/statusbar.ts +0 -0
  841. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/workspace/workspace-env-commands.ts +0 -0
  842. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/workspace/workspace-env-provider.ts +0 -0
  843. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/workspace/workspace-init.ts +0 -0
  844. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/workspace/workspace-state-provider.ts +0 -0
  845. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/providers/workspace/workspace-task-provider.ts +0 -0
  846. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/src/test/extension.test.ts +0 -0
  847. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/tools/ts-to-mjs/.gitignore +0 -0
  848. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/tools/ts-to-mjs/package.json +0 -0
  849. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/tools/ts-to-mjs/rollup.config.js +0 -0
  850. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/tools/ts-to-mjs/src/index.ts +0 -0
  851. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/tools/ts-to-mjs/src/jsonrpc.ts +0 -0
  852. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/tools/ts-to-mjs/yarn.lock +0 -0
  853. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/tsconfig.json +0 -0
  854. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/webpack.config.js +0 -0
  855. {inspect_ai-0.3.55 → inspect_ai-0.3.56}/tools/vscode/yarn.lock +0 -0
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.3.56 (01 January 2025)
4
+
5
+ - [Human Agent](https://inspect.ai-safety-institute.org.uk/human-agent.html) solver for human baselining of computing tasks.
6
+ - [Typed interfaces](https://inspect.ai-safety-institute.org.uk/typing.html) to `Sample` store and metadata using Pydantic models.
7
+ - [Approval policies](https://inspect.ai-safety-institute.org.uk/approval.html#task-approvers) can now be defined at the `Task` level (`eval` level approval policies take precedence).
8
+ - Tools can now return `ContentText` and `ContentImage`.
9
+ - Move tool result images into subsequent user messages for models that don't support tools returning images.
10
+ - `SandboxConnection` that contains login information from sandboxes.
11
+ - `display_type()` function for detecting the current display type (e.g. "full", "rich", etc.)
12
+ - Trace: improved handling of `eval()` running in multiple processes at once (trace file per-process)
13
+ - Docker: don't apply timeouts to `docker build` and `docker pull` commands.
14
+ - Bugfix: fix issue w/ `store.get()` not auto-inserting `default` value.
15
+
3
16
  ## v0.3.55 (29 December 2024)
4
17
 
5
18
  - Bedrock: redact authentication model args from eval logs.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: inspect_ai
3
- Version: 0.3.55
3
+ Version: 0.3.56
4
4
  Summary: Framework for large language model evaluations
5
5
  Author: UK AI Safety Institute
6
6
  License: MIT License
@@ -0,0 +1,34 @@
1
+
2
+
3
+ If you want a more strongly typed interface to sample metadata, you can define a [Pydantic model](https://docs.pydantic.dev/latest/concepts/models/) and use it to both validate and read metadata.
4
+
5
+ For validation, pass a `BaseModel` derived class in the `FieldSpec`. The interface to metadata is read-only so you must also specify `frozen=True`. For example:
6
+
7
+ ```python
8
+ from pydantic import BaseModel
9
+
10
+ class PopularityMetadata(BaseModel, frozen=True):
11
+ category: str
12
+ label_confidence: float
13
+
14
+ dataset = json_dataset(
15
+ "popularity.jsonl",
16
+ FieldSpec(
17
+ input="question",
18
+ target="answer_matching_behavior",
19
+ id="question_id",
20
+ metadata=PopularityMetadata,
21
+ ),
22
+ )
23
+ ```
24
+
25
+ To read metadata in a typesafe fashion, us the `metadata_as()` method on `Sample` or `TaskState`:
26
+
27
+ ```python
28
+ metadata = state.metadata_as(PopularityMetadata)
29
+ ```
30
+
31
+ Note again that the intended semantics of `metadata` are read-only, so attempting to write into the returned metadata will raise a Pydantic `FrozenInstanceError`.
32
+
33
+ If you need per-sample mutable data, use the [sample store](agents-api.qmd#sample-store), which also supports [typing](agents-api.qmd#store-typing) using Pydantic models.
34
+
@@ -55,6 +55,7 @@ website:
55
55
  - agents.qmd
56
56
  - sandboxing.qmd
57
57
  - agents-api.qmd
58
+ - human-agent.qmd
58
59
  - approval.qmd
59
60
 
60
61
  - section: "Advanced"
@@ -63,6 +64,7 @@ website:
63
64
  - eval-sets.qmd
64
65
  - text: "Errors & Limits"
65
66
  href: errors-and-limits.qmd
67
+ - typing.qmd
66
68
  - tracing.qmd
67
69
  - caching.qmd
68
70
  - parallelism.qmd
@@ -51,8 +51,17 @@ class SandboxEnvironment:
51
51
  exceeds the 100 MiB limit.
52
52
  """
53
53
  ...
54
+
55
+ async def connection(self) -> SandboxConnection:
56
+ """
57
+ Raises:
58
+ NotImplementedError: For sandboxes that don't provide connections
59
+ ConnectionError: If sandbox is not currently running.
60
+ """
54
61
  ```
55
62
 
56
- Note that `write_file()` automatically creates parent directories as required if they don't exist.
63
+ The `read_file()` method should should preserve newline constructs (e.g. crlf should be preserved not converted to lf). This is equivalent to specifying `newline=""` in a call to the Python `open()` function. Note that `write_file()` automatically creates parent directories as required if they don't exist.
64
+
65
+ The `connection()` method is optional, and provides commands that can be used to login to the sandbox container from a terminal or IDE.
57
66
 
58
67
  For each method there is a documented set of errors that are raised: these are _expected_ errors and can either be caught by tools or allowed to propagate in which case they will be reported to the model for potential recovery. In addition, _unexpected_ errors may occur (e.g. a networking error connecting to a remote container): these errors are not reported to the model and fail the `Sample` with an error state.
@@ -0,0 +1,52 @@
1
+
2
+ If you prefer a typesafe interface to the sample store, you can define a [Pydantic model](https://docs.pydantic.dev/latest/concepts/models/) which reads and writes values into the store. There are several benefits to using Pydantic models for store access:
3
+
4
+ 1. You can provide type annotations and validation rules for all fields.
5
+ 2. Default values for all fields are declared using standard Pydantic syntax.
6
+ 3. Store names are automatically namespaced (to prevent conflicts between multiple store accessors).
7
+
8
+ #### Definition
9
+
10
+ First, derive a class from `StoreModel` (which in turn derives from Pydantic `BaseModel`):
11
+
12
+ ```python
13
+ from pydantic import Field
14
+ from inspect_ai.util import StoreModel
15
+
16
+ class Activity(StoreModel):
17
+ active: bool = Field(default=False)
18
+ tries: int = Field(default=0)
19
+ actions: list[str] = Field(default_factory=list)
20
+ ```
21
+
22
+ Note that we define defaults for all fields. This is generally required so that you can initialise your Pydantic model from an empty store. For collections (`list` and `dict`) you should use `default_factory` so that each instance gets its own default.
23
+
24
+ #### Usage
25
+
26
+ Use the `store_as()` function to get a typesafe interface to the store based on your model:
27
+
28
+ ```python
29
+ # typed interface to store from state
30
+ activity = state.store_as(Activity)
31
+ activity.active = True
32
+ activity.tries += 1
33
+
34
+ # global store_as() function (e.g. for use from tools)
35
+ from inspect_ai.util import store_as
36
+ activity = store_as(Activity)
37
+ ```
38
+
39
+ Note that all instances of `Activity` created within a running sample share the same sample `Store` so can see each other's changes. For example, you can call `state.store_as()` in multiple solvers and/or scorers and it will resolve to the same sample-scoped instance.
40
+
41
+ The names used in the underlying `Store` are namespaced to prevent collisions with other `Store` accessors. For example, the `active` field in the `Activity` class is written to the store with the name `Activity:active`.
42
+
43
+ #### Explicit Store
44
+
45
+ The `store_as()` function automatically binds to the current sample `Store`. You can alternatively create an explicit `Store` and pass it directly to the model (e.g. for testing purposes):
46
+
47
+ ```python
48
+ from inspect_ai.util import Store
49
+ store = Store()
50
+ activity = Activity(store=store)
51
+ ```
52
+
@@ -6,7 +6,7 @@ title: Agents API
6
6
 
7
7
  This article describes advanced Inspect APIs available for creating evaluations with agents. You can also build agents evals using Inspect's built in [Basic Agent](agents.qmd#sec-basic-agent) or by bridging to an external agent library (see the main [Agents](agents.qmd) article for further details). Topics covered in this article include:
8
8
 
9
- 1. Sharing state across solvers and tools
9
+ 1. Sharing per-sample state across solvers and tools
10
10
  2. Creating a custom tool use loop
11
11
  3. Dynamically customising tool descriptions
12
12
  4. Observability with sample transcripts.
@@ -15,19 +15,10 @@ This article describes advanced Inspect APIs available for creating evaluations
15
15
 
16
16
  We'll assume that you have already covered the basics of [Solvers](solvers.qmd), [Tools](tools.qmd), and [Agents](agents.qmd) (please review those articles as required before proceeding).
17
17
 
18
- ## Use of `metadata`
19
18
 
20
- Before proceeding, it's important to point that some of the features described below were previously approximated by using the `metadata` field of `TaskState`, specifically `metadata` was often used as a catch-all storage location for:
19
+ ## Sample Store
21
20
 
22
- - Sharing state between solvers.
23
- - Providing a place to log additional structured data.
24
- - Recording calls to "helper" models used for elicitation or scoring.
25
-
26
- The `metadata` field no longer need be used for these scenarios (and in fact should now be treated as a read-only part of the `TaskState`). Below we'll describe how the `Store` can be used for state, how structured data can be logged to the sample `Transcript`, and how all model calls are now automatically recorded and included in the transcript.
27
-
28
- ## Sharing State
29
-
30
- Sequences of solvers often need to store and manipulate shared state. Further, tools may often want their own persistent state (or groups of tools may want to share state). This can be accomplished in Inspect using the `Store`, which provides a scoped scratchpad for arbitrary values.
21
+ Sequences of solvers executing against a sample often need to store and manipulate shared state. Further, tools may often want their own persistent state (or groups of tools may want to share state). This can be accomplished in Inspect using the `Store`, which provides a sample-scoped scratchpad for arbitrary values.
31
22
 
32
23
  The core of the `Store` interface is:
33
24
 
@@ -40,6 +31,8 @@ class Store:
40
31
  def delete(self, key: str) -> None
41
32
  ```
42
33
 
34
+ Note that the core `Store` interface is a property bag without strong typing. See the section below on [typed store access](#store-typing) for details on how to interact with the store in a typesafe fashion.
35
+
43
36
  Basic views on the store's collection (e.g. `items()`, `keys()`, `values()`) are also provided. Note that the `get()` method will automatically add the `default` to the store if it doesn't exist.
44
37
 
45
38
  The `Store` can be accessed via `TaskState` as follows:
@@ -67,6 +60,11 @@ You should generally try to use JSON serialisable Python types in the `Store` (e
67
60
 
68
61
  While the default `Store` for a sample is shared globally between solvers and tools, a more narrowly scoped `Store` is created automatically for [Subtasks](#sec-subtasks).
69
62
 
63
+ ### Store Typing {#store-typing}
64
+
65
+ {{< include _store_typing.md >}}
66
+
67
+
70
68
  ## Tool Use
71
69
 
72
70
  ### Custom Loop
@@ -16,6 +16,8 @@ Inspect supports a variety of approaches to agent evaluations, including:
16
16
 
17
17
  3. Adapting an agent provided by a research paper or open source library (for example, using a 3rd party agent library like [LangChain](https://python.langchain.com/docs/modules/agents/) or [Langroid](https://langroid.github.io/langroid/)).
18
18
 
19
+ 4. A [Human Agent](human-agent.qmd) for creating human baselines on computing tasks.
20
+
19
21
  An important additional consideration for agent evaluations is sandboxing (providing a secure environment for models to execute code within). The [Sandboxing](sandboxing.qmd) article goes into more depth on this.
20
22
 
21
23
  ## Basic Agent {#sec-basic-agent}
@@ -266,3 +268,15 @@ def wikipedia() -> Task:
266
268
  ```
267
269
 
268
270
  The full source code for this example can be found in the Inspect GitHub repo at [examples/langchain](https://github.com/UKGovernmentBEIS/inspect_ai/tree/main/examples/langchain).
271
+
272
+ ## Learning More
273
+
274
+ See these additioanl articles to learn more about creating agent evaluations with Inspect:
275
+
276
+ - [Sandboxing](sandboxing.qmd) enables you to isolate code generated by models as well as set up more complex computing environments for tasks.
277
+
278
+ - [Agents API](agents-api.qmd) describes advanced Inspect APIs available for creating evaluations with agents.
279
+
280
+ - [Human Agent](human-agent.qmd) is a solver that enables human baselining on computing tasks.
281
+
282
+ - [Approval](approval.qmd) enable you to create fine-grained policies for approving tool calls made by model agents.
@@ -12,6 +12,8 @@ Inspect's approval mode enables you to create fine-grained policies for approvin
12
12
 
13
13
  Custom approvers are very flexible, and can implement a wide variety of decision schemes including informal heuristics and assessments by models. They could also support human approval with a custom user interface on a remote system (whereby approvals are sent and received via message queues).
14
14
 
15
+ Approvers can be specified at either the eval level or at the task level. The examples below will demonstrate eval-level approvers, see the [Task Approvers](#task-approvers) section for details on task-level approvers.
16
+
15
17
  ## Human Approver
16
18
 
17
19
  The simplest approval policy is interactive human approval of all tool calls. You can enable this policy by using the `--approval human` CLI option (or the `approval = "human"`) argument to `eval()`:
@@ -61,6 +63,33 @@ approval = [
61
63
  eval("browser.py", approval=approval, trace=True)
62
64
  ```
63
65
 
66
+ ## Task Approvers {#task-approvers}
67
+
68
+ You can specify approval policies at the task level using the `approval` parameter when creating a `Task`. For example:
69
+
70
+ ```python
71
+ from inspect_ai import Task, task
72
+ from inspect_ai.scorer import match
73
+ from inspect_ai.solver import generate, use_tools
74
+ from inspect_ai.tool import bash, python
75
+ from inspect_ai.approval import human_approver
76
+
77
+ @task
78
+ def linux_task():
79
+ return Task(
80
+ dataset=read_dataset(),
81
+ solver=[
82
+ use_tools([bash(), python()]),
83
+ generate(),
84
+ ],
85
+ scorer=match(),
86
+ sandbox=("docker", "compose.yaml"),
87
+ approval=human_approver()
88
+ )
89
+ ```
90
+
91
+ Note that as with all of the other `Task` options, an `approval` policy defined at the eval-level will override a task-level approval policy.
92
+
64
93
  ## Custom Approvers
65
94
 
66
95
  Inspect includes two built-an approvers: `human` for interactive approval at the terminal and `auto` for automatically approving or rejecting specific tools. You can also create your own approvers that implement just about any scheme you can imagine.
@@ -102,6 +102,10 @@ def record_to_sample(record):
102
102
  dataset = json_dataset("popularity.jsonl", record_to_sample)
103
103
  ```
104
104
 
105
+ ### Typed Metadata
106
+
107
+ {{< include _metadata_typing.md >}}
108
+
105
109
  ## Filter and Shuffle
106
110
 
107
111
  The `Dataset` class includes `filter()` and `shuffle()` methods, as well as support for the slice operator.
@@ -0,0 +1,166 @@
1
+ ---
2
+ title: Human Agent
3
+ ---
4
+
5
+ ## Overview
6
+
7
+ The Inspect human agent enables human baselining of agentic tasks that run in a Linux environment. Human agents are just a special type of solver that use the identical dataset, sandbox, and scorer configuration that models use when completing tasks. However, rather than entering an agent loop, the `human_agent` solver provides the human baseliner with:
8
+
9
+ 1. A description of the task to be completed (input/prompt from the sample).
10
+
11
+ 2. Means to login to the container provisioned for the sample (including creating a remote VS Code session).
12
+
13
+ 3. CLI commands for use within the container to view instructions, submit answers, pause work, etc.
14
+
15
+ Human baselining terminal sessions are [recorded](#recording) by default so that you can later view which actions the user took to complete the task.
16
+
17
+ ## Example
18
+
19
+ Here, we run a human baseline on an [Intercode CTF](https://ukgovernmentbeis.github.io/inspect_evals/evals/cybersecurity/intercode_ctf/) sample by using the `--solver` option to use `human_agent` rather than the task's default solver:
20
+
21
+ ``` bash
22
+ inspect eval inspect_evals/gdm_intercode_ctf \
23
+ --sample-id 44 --solver human_agent
24
+ ```
25
+
26
+ The evaluation runs as normal, and a **Human Agent** panel appears in the task UI to orient the human baseliner to the task and provide instructions for accessing the container. The user clicks the **VS Code Terminal** link and a terminal interface to the container is provided within VS Code:
27
+
28
+ ![](images/inspect-human-agent.png){.lightbox}
29
+
30
+ Note that while this example makes use of VS Code, it is in no way required. Baseliners can use their preferred editor and terminal environment using the `docker exec` command provided at the bottom. Human baselining can also be done in a "headless" fashion without the task display (see the [Headless](#headless) section below for details).
31
+
32
+ Once the user discovers the flag, they can submit it using the `task submit` command. For example:
33
+
34
+ ``` bash
35
+ task submit picoCTF{73bfc85c1ba7}
36
+ ```
37
+
38
+ ## Usage
39
+
40
+ Using the `human_agent` solver is as straightforward as specifying the `--solver` option for any existing task. Repeating the example above:
41
+
42
+ ``` bash
43
+ inspect eval inspect_evals/gdm_intercode_ctf \
44
+ --sample-id 44 --solver human_agent
45
+ ```
46
+
47
+ Or alternatively from within Python:
48
+
49
+ ``` python
50
+ from inspect_ai import eval
51
+ from inspect_ai.solver import human_agent
52
+ from inspect_evals import gdm_intercode_ctf
53
+
54
+ eval(gdm_intercode_ctf(), sample_id=44, solver=human_agent())
55
+ ```
56
+
57
+ There are however some requirements that should be met by your task before using it with the human agent:
58
+
59
+ 1. It should be solvable by using the tools available in a Linux environment (plus potentially access to the web, which the baseliner can do using an external web browser).
60
+
61
+ 2. The dataset `input` must fully specify the instructions for the task. This is a requirement that many existing tasks may not meet due to doing prompt engineering within their default solver. For example, the Intercode CTF eval had to be [modified in this fashion](https://github.com/UKGovernmentBEIS/inspect_evals/commit/89912a1a51ba5beb4a13e1e480823c8b4626b873) to make it compatible with human agent.
62
+
63
+ ### Container Access
64
+
65
+ The human agent works on the task within the default sandbox container for the task. Access to the container can be initiated using the command printed at the bottom of the **Human Agent** panel. For example:
66
+
67
+ ``` bash
68
+ docker exec -it inspect-gdm_intercod-itmzq4e-default-1 bash -l
69
+ ```
70
+
71
+ Alternatively, if the human agent is working within VS Code then two links are provided to access the container within VS Code:
72
+
73
+ - **VS Code Window** opens a new VS Code window logged in to the container. The human agent can than create terminals, browse the file system, etc. using the VS Code interface.
74
+
75
+ - **VS Code Terminal** opens a new terminal in the main editor area of VS Code (so that it is afforded more space than the default terminal in the panel.
76
+
77
+ ### Task Commands
78
+
79
+ The Human agent solver installs agent task tools in the default sandbox and presents the user with both task instructions and documentation for the various tools (e.g. `task submit`, `task start`, `task stop`, `task instructions`, etc.). By default, the following command are available:
80
+
81
+ | Command | Description |
82
+ |---------------------|-------------------------------------------|
83
+ | `task submit` | Submit your final answer for the task. |
84
+ | `task note` | Record a note in the task transcript. |
85
+ | `task status` | Print task status (clock, scoring , etc.) |
86
+ | `task start` | Start the task clock (resume working) |
87
+ | `task stop` | Stop the task clock (pause working). |
88
+ | `task instructions` | Display task command and instructions. |
89
+
90
+ : {tbl-colwidths=\[40,60\]}
91
+
92
+ Note that the instructions are also copied to an `instructions.txt` file in the container user's working directory.
93
+
94
+ ### Answer Submission
95
+
96
+ When the human agent has completed the task, they submit their answer using the `task submit`command. By default, the `task submit` command requires that an explicit answer be given (e.g. `task submit picoCTF{73bfc85c1ba7}`).
97
+
98
+ However, ff your task is scored by reading from the container filesystem then no explicit answer need be provided. Indicate this by passing `answer=False` to the `human_agent()`:
99
+
100
+ ``` python
101
+ solver=human_agent(answer=False)
102
+ ```
103
+
104
+ Or from the CLI, use the `-S` option:
105
+
106
+ ``` bash
107
+ --solver human_agent -S answer=false
108
+ ```
109
+
110
+ You can also specify a regex to match the answer against for validation, for example:
111
+
112
+ ``` python
113
+ solver=human_agent(answer=r"picoCTF{\w+}")
114
+ ```
115
+
116
+ ### Intermediate Scoring
117
+
118
+ You can optionally make intermediate scoring available to human baseliners so that they can check potential answers as they work. Use the `intermediate_scoring` option (which defaults to `False`) to do this:
119
+
120
+ ``` python
121
+ solver=human_agent(intermediate_scoring=True)
122
+ ```
123
+
124
+ Or from the CLI, use the `-S` option:
125
+
126
+ ``` bash
127
+ --solver human_agent -S intermediate_scoring=true
128
+ ```
129
+
130
+ With this option enabled, the human agent can check their potential score on the task for a given answer using the `task score` command. For example:
131
+
132
+ ``` bash
133
+ task score picoCTF{73bfc85c1ba7}
134
+ ```
135
+
136
+ ## Recording {#recording}
137
+
138
+ By default, human agent terminal sessions are recorded using the LInux [script command](https://www.redhat.com/en/blog/linux-script-command). Recorded sessions are saved in the sample store and available for playback within the Inspect View:
139
+
140
+ ![](images/inspect-terminal-transcript.png){.lightbox}
141
+
142
+
143
+ You can disable session recording with the `record_session` option:
144
+
145
+ ``` bash
146
+ --solver human_agent -S record_session=false
147
+ ```
148
+
149
+ ## Headless {#headless}
150
+
151
+ The examples above demonstrate human baselining being initiated from the CLI and standard task display. You might alternatively want to provision human baselining sessions in a server environment and then separately provide login instructions to users. To suppress the standard task display in favour of just printing out the container login information, pass the `--display=plain` CLI option:
152
+
153
+ ``` bash
154
+ inspect eval inspect_evals/gdm_intercode_ctf \
155
+ --sample-id 44 --solver human_agent --display plain
156
+ ```
157
+
158
+ Which will print the following to the terminal:
159
+
160
+ ``` {.bash .code-overflow-wrap}
161
+ Running task gdm_intercode_ctf (1 sample): anthropic/claude-3-5-sonnet-20240620 (config: sample_id: 44)...
162
+
163
+ You are completing a task on a Linux system (task instructions will be presented when you login). Login to the system with the following command:
164
+
165
+ docker exec -it inspect-gdm_intercod-iebwzkg-default-1 bash -l
166
+ ```
@@ -276,9 +276,9 @@ These sections describe how to create agent evaluations with Inspect:
276
276
 
277
277
  - [Agents API](agents-api.qmd) describes advanced Inspect APIs available for creating evaluations with agents.
278
278
 
279
- - [Approval](approval.qmd) enable you to create fine-grained policies for approving tool calls made by model agents.
279
+ - [Human Agent](human-agent.qmd) is a solver that enables human baselining on computing tasks.
280
280
 
281
- - [Interactivity](interactivity.qmd) covers various ways to introduce user interaction into the implementation of tasks (for example, prompting the model dynamically based on the trajectory of the evaluation).
281
+ - [Approval](approval.qmd) enable you to create fine-grained policies for approving tool calls made by model agents.
282
282
 
283
283
  These sections discuss more advanced features and workflow. You don't need to review them at the outset, but be sure to revisit them as you get more comfortable with the basics.
284
284
 
@@ -288,10 +288,14 @@ These sections discuss more advanced features and workflow. You don't need to re
288
288
 
289
289
  - [Errors and Limits](errors-and-limits.qmd) covers various techniques for dealing with unexpected errors and setting limits on evaluation tasks and samples.
290
290
 
291
+ - [Typing](typing.qmd): provides guideance on using static type checking with Inspect, including creating typed interfaces to untyped storage (i.e. sample metadata and store).
292
+
291
293
  - [Tracing](tracing.qmd) Describes advanced execution tracing tools used to diagnose runtime issues.
292
294
 
293
295
  - [Caching](caching.qmd) enables you to cache model output to reduce the number of API calls made, saving both time and expense.
294
296
 
295
297
  - [Parallelism](parallelism.qmd) delves into how to obtain maximum performance for evaluations. Inspect uses a highly parallel async architecture---here we cover how to tune this parallelism (e.g to stay under API rate limits or to not overburden local compute) for optimal throughput.
296
298
 
299
+ - [Interactivity](interactivity.qmd) covers various ways to introduce user interaction into the implementation of tasks (for example, prompting the model dynamically based on the trajectory of the evaluation).
300
+
297
301
  - [Extensions](extensions.qmd) describes the various ways you can extend Inspect, including adding support for new Model APIs, tool execution environments, and storage platforms (for datasets, prompts, and logs).
@@ -16,10 +16,12 @@
16
16
  - [Agents](https://inspect.ai-safety-institute.org.uk/agents.html.md): Agents combine planning, memory, and tool usage to pursue more complex, longer horizon tasks. This section describes how to build agent evaluations with Inspect.
17
17
  - [Sandboxing](https://inspect.ai-safety-institute.org.uk/sandboxing.html.md): Enables you to isolate code generated by models as well as set up more complex computing environments for tasks.
18
18
  - [Agents API](https://inspect.ai-safety-institute.org.uk/agents-api.html.md): This article describes advanced Inspect APIs available for creating evaluations with agents.
19
+ - [Human Agent](https://inspect.ai-safety-institute.org.uk/human-agent.html.md): This article describes the `human_agent()` solver which enables human baselining for computing tasks.
19
20
  - [Approval](https://inspect.ai-safety-institute.org.uk/approval.html.md): Approvals enable you to create fine-grained policies for approving tool calls made by models.
20
21
  - [Eval Logs](https://inspect.ai-safety-institute.org.uk/eval-logs.html.md): Explores how to get the most out of evaluation logs for developing, debugging, and analyzing evaluations.
21
22
  - [Eval Sets](https://inspect.ai-safety-institute.org.uk/eval-sets.html.md): Covers Inspect's features for describing, running, and analysing larger sets of evaluation tasks.
22
23
  - [Errors and Limits](https://inspect.ai-safety-institute.org.uk/errors-and-limits.html.md): This article covers various techniques for dealing with unexpected errors and setting limits on evaluation tasks and samples, including retrying failed evaluations, establishing a threshold of samples to tolerate errors for before failing an evaluation, and setting a maximum number of messages, tokens, or elapsed seconds in a sample before forcing the solver to give up.
24
+ - [Typing](https://inspect.ai-safety-institute.org.uk/typing.html.md): Provides guideance on using static type checking with Inspect, including creating typed interfaces to untyped storage (i.e. sample metadata and store).
23
25
  - [Tracing](https://inspect.ai-safety-institute.org.uk/tracing.html.md): Describes advanced execution tracing tools used to diagnose runtime issues.
24
26
  - [Caching](https://inspect.ai-safety-institute.org.uk/caching.html.md): Caching enables you to cache model output to reduce the number of API calls made, saving both time and expense.
25
27
  - [Parallelism](https://inspect.ai-safety-institute.org.uk/parallelism.html.md): Delves into how to obtain maximum performance for evaluations. Inspect uses a highly parallel async architecture---here we cover how to tune this parallelism (e.g to stay under API rate limits or to not overburden local compute) for optimal throughput.
@@ -1,6 +1,6 @@
1
1
  #!/bin/bash
2
2
 
3
- files=("index" "tutorial" "workflow" "log-viewer" "vscode" "solvers" "tools" "agents" "agents-api" "scorers" "datasets" "models" "eval-sets" "errors-and-limits" "caching" "parallelism" "interactivity" "approval" "eval-logs" "extensions")
3
+ files=("index" "tutorial" "workflow" "log-viewer" "vscode" "solvers" "tools" "scorers" "datasets" "models" "agents" "sandboxing" "agents-api" "human-agent" "approval" "eval-logs" "eval-sets" "typing" "errors-and-limits" "tracing" "caching" "parallelism" "interactivity" "extensions")
4
4
 
5
5
 
6
6
  if [ "$QUARTO_PROJECT_RENDER_ALL" = "1" ]; then
@@ -277,7 +277,7 @@ def web_browser_go() -> Tool:
277
277
 
278
278
  Specifying `parallel=False` results in two behaviours:
279
279
 
280
- 1. Models that support turing off parallel tool calling (currently OpenAI and Grok) will have it disabled when tools with `parallel=False` are passed to `generate()`.
280
+ 1. Models that support turning off parallel tool calling (currently OpenAI and Grok) will have it disabled when tools with `parallel=False` are passed to `generate()`.
281
281
 
282
282
  2. Inspect will execute tool calls serially (so that even for models that don't let you disable parallel tool calling, you can still be assured they will not ever run in parallel).
283
283
 
@@ -464,4 +464,4 @@ The `web_search()` tool uses [Google Programmable Search Engine](https://program
464
464
 
465
465
  - `GOOGLE_CSE_ID` — Google Custom Search Engine ID
466
466
 
467
- - `GOOGLE_CSE_API_KEY` — Google API key used to enable the Search API
467
+ - `GOOGLE_CSE_API_KEY` — Google API key used to enable the Search API
@@ -25,10 +25,10 @@ Trace logging does not need to be explicitly enabled—logs for the last 10 top
25
25
  inspect trace list # --json for JSON output
26
26
  ```
27
27
 
28
- Trace logs are written using [JSON Lines](https://jsonlines.org/) format and all but the most recent one are gzip compressed, so reading them requires some special handing. The `inspect trace dump` command encapsulates this and gives you a normal JSON array with the contents of the trace log:
28
+ Trace logs are written using [JSON Lines](https://jsonlines.org/) format and are gzip compressed, so reading them requires some special handing. The `inspect trace dump` command encapsulates this and gives you a normal JSON array with the contents of the trace log (note that trace log filenames include the ID of the process that created them):
29
29
 
30
30
  ``` bash
31
- inspect trace dump trace.log
31
+ inspect trace dump trace-86396.log.gz
32
32
  ```
33
33
 
34
34
  ## Anomalies
@@ -44,7 +44,7 @@ You will first see currently running actions (useful mostly for a "live" evaluat
44
44
  Passing no arguments shows the most recent trace log, pass a log file name to view another log:
45
45
 
46
46
  ``` bash
47
- inspect trace anomalies trace.log.1.gz
47
+ inspect trace anomalies trace-86396.log.gz
48
48
  ```
49
49
 
50
50
  ### Errors and Timeouts
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: Typing
3
+ ---
4
+
5
+ ## Overview
6
+
7
+ The Inspect codebase is written using strict [MyPy](https://mypy-lang.org/) type-checking---if you enable the same for your project along with installing the [MyPy VS Code Extension](https://marketplace.visualstudio.com/items?itemName=ms-python.mypy-type-checker) you'll benefit from all of these type definitions.
8
+
9
+ The sample store and sample metadata interfaces are weakly typed to accommodate arbitrary user data structures. Below, we describe how to implement a [typed store](#typed-store) and [typed metadata](#typed-metadata) using Pydantic models.
10
+
11
+ ## Typed Store
12
+
13
+ {{< include _store_typing.md >}}
14
+
15
+ ## Typed Metadata
16
+
17
+ {{< include _metadata_typing.md >}}
18
+
@@ -9,6 +9,7 @@ from inspect_ai._eval.registry import task
9
9
  from inspect_ai._eval.score import score, score_async
10
10
  from inspect_ai._eval.task import Epochs, Task, TaskInfo, Tasks
11
11
  from inspect_ai._util.constants import PKG_NAME
12
+ from inspect_ai.solver._human_agent.agent import human_agent
12
13
 
13
14
  __version__ = importlib_version(PKG_NAME)
14
15
 
@@ -10,7 +10,7 @@ from inspect_ai._util.constants import (
10
10
  DEFAULT_LOG_LEVEL,
11
11
  DEFAULT_LOG_LEVEL_TRANSCRIPT,
12
12
  )
13
- from inspect_ai._util.display import init_display_type
13
+ from inspect_ai.util._display import init_display_type
14
14
 
15
15
 
16
16
  class CommonOptions(TypedDict):