inspect-ai 0.3.69__tar.gz → 0.3.70__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 (1125) hide show
  1. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/.github/dependabot.yml +2 -0
  2. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/CHANGELOG.md +17 -0
  3. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/PKG-INFO +3 -3
  4. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/agents.qmd +1 -1
  5. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/errors-and-limits.qmd +30 -1
  6. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/options.qmd +2 -1
  7. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/_sidebar.yml +2 -0
  8. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_ai.log.qmd +1 -0
  9. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_ai.util.qmd +1 -0
  10. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/tasks.qmd +47 -26
  11. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/requirements.txt +2 -2
  12. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_cli/eval.py +13 -1
  13. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/app.py +3 -2
  14. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/widgets/samples.py +4 -10
  15. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/widgets/transcript.py +25 -12
  16. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/eval.py +14 -2
  17. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/evalset.py +6 -1
  18. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/run.py +6 -0
  19. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/task/run.py +44 -15
  20. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/task/task.py +26 -3
  21. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/interrupt.py +6 -0
  22. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/logger.py +19 -0
  23. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/rich.py +7 -8
  24. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/text.py +13 -0
  25. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/transcript.py +10 -2
  26. inspect_ai-0.3.70/src/inspect_ai/_util/working.py +46 -0
  27. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/dist/assets/index.css +56 -12
  28. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/dist/assets/index.js +904 -750
  29. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/log-schema.json +337 -2
  30. inspect_ai-0.3.70/src/inspect_ai/_view/www/node_modules/flatted/python/flatted.py +149 -0
  31. inspect_ai-0.3.70/src/inspect_ai/_view/www/node_modules/flatted/python/test.py +63 -0
  32. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/appearance/icons.ts +3 -1
  33. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/metadata/RenderedContent.tsx +0 -1
  34. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/SampleDisplay.module.css +9 -1
  35. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/SampleDisplay.tsx +28 -1
  36. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/SampleSummaryView.module.css +4 -0
  37. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/SampleSummaryView.tsx +23 -2
  38. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/SampleLimitEventView.tsx +4 -0
  39. inspect_ai-0.3.70/src/inspect_ai/_view/www/src/samples/transcript/SandboxEventView.module.css +32 -0
  40. inspect_ai-0.3.70/src/inspect_ai/_view/www/src/samples/transcript/SandboxEventView.tsx +152 -0
  41. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/StepEventView.tsx +9 -2
  42. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptView.tsx +19 -1
  43. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/event/EventPanel.tsx +6 -3
  44. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/types.ts +3 -1
  45. {inspect_ai-0.3.69/tools/vscode/src/@types → inspect_ai-0.3.70/src/inspect_ai/_view/www/src/types}/log.d.ts +188 -108
  46. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/format.ts +7 -4
  47. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/WorkSpaceView.tsx +9 -6
  48. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/__init__.py +2 -0
  49. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_condense.py +1 -0
  50. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_log.py +72 -12
  51. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_samples.py +5 -1
  52. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_transcript.py +31 -1
  53. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_call_tools.py +1 -1
  54. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_conversation.py +1 -1
  55. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_model.py +32 -16
  56. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_model_call.py +10 -3
  57. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/anthropic.py +13 -2
  58. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/bedrock.py +7 -0
  59. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/cloudflare.py +20 -7
  60. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/google.py +2 -0
  61. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/groq.py +57 -23
  62. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/hf.py +6 -0
  63. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/mistral.py +78 -51
  64. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/openai.py +9 -0
  65. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/providers.py +1 -1
  66. inspect_ai-0.3.70/src/inspect_ai/model/_providers/util/tracker.py +92 -0
  67. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/vllm.py +13 -5
  68. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_basic_agent.py +1 -3
  69. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_bridge/patch.py +0 -2
  70. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_limit.py +4 -4
  71. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_plan.py +0 -3
  72. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_task_state.py +7 -0
  73. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_search.py +3 -3
  74. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_concurrency.py +14 -8
  75. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/context.py +15 -0
  76. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/docker/docker.py +7 -5
  77. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/environment.py +32 -1
  78. inspect_ai-0.3.70/src/inspect_ai/util/_sandbox/events.py +149 -0
  79. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/local.py +3 -3
  80. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai.egg-info/PKG-INFO +3 -3
  81. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai.egg-info/SOURCES.txt +7 -0
  82. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai.egg-info/requires.txt +2 -2
  83. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_transcript.py +3 -3
  84. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_sample_limits.py +48 -1
  85. {inspect_ai-0.3.69/src/inspect_ai/_view/www/src/types → inspect_ai-0.3.70/tools/vscode/src/@types}/log.d.ts +188 -108
  86. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/.github/pull_request_template.md +0 -0
  87. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/.github/workflows/build.yml +0 -0
  88. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/.github/workflows/docs.yml +0 -0
  89. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/.github/workflows/log_viewer.yml +0 -0
  90. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/.github/workflows/pypi.yml +0 -0
  91. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/.github/workflows/vscode.yml +0 -0
  92. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/.gitignore +0 -0
  93. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/.pre-commit-config.yaml +0 -0
  94. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/.pylintrc +0 -0
  95. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/.vscode/extensions.json +0 -0
  96. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/.vscode/settings.json +0 -0
  97. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/CITATION.cff +0 -0
  98. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/LICENSE +0 -0
  99. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/Makefile +0 -0
  100. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/README.md +0 -0
  101. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/.gitignore +0 -0
  102. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/CNAME +0 -0
  103. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_container_limits.md +0 -0
  104. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_errors_and_retries.md +0 -0
  105. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_max_samples.md +0 -0
  106. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_metadata_typing.md +0 -0
  107. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_model-providers.md +0 -0
  108. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_quarto.yml +0 -0
  109. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_sample-preservation.md +0 -0
  110. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_sandboxenv-interface.md +0 -0
  111. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_setting_max_samples.md +0 -0
  112. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_shuffling-choices.md +0 -0
  113. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_store_typing.md +0 -0
  114. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_tools-annotations-required.md +0 -0
  115. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_tools-scaffold.md +0 -0
  116. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/_variables.yml +0 -0
  117. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/agent-bridge.qmd +0 -0
  118. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/agents-api.qmd +0 -0
  119. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/approval.qmd +0 -0
  120. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/caching.qmd +0 -0
  121. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/datasets.qmd +0 -0
  122. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/eval-logs.qmd +0 -0
  123. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/eval-sets.qmd +0 -0
  124. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/evals/evals.css +0 -0
  125. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/evals/evals.ejs +0 -0
  126. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/evals/evals.yml +0 -0
  127. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/evals/import.py +0 -0
  128. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/evals/index.qmd +0 -0
  129. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/evals/listing.yml +0 -0
  130. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/extensions.qmd +0 -0
  131. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/human-agent.qmd +0 -0
  132. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/aisi-logo.svg +0 -0
  133. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/eval-log.png +0 -0
  134. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-activity-bar.png +0 -0
  135. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-human-agent-container.png +0 -0
  136. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-human-agent.png +0 -0
  137. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-multiple-models.png +0 -0
  138. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-terminal-transcript.png +0 -0
  139. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-view-answers.png +0 -0
  140. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-view-filter.png +0 -0
  141. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-view-history.png +0 -0
  142. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-view-home.png +0 -0
  143. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-view-info.png +0 -0
  144. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-view-logging-console.png +0 -0
  145. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-view-logging.png +0 -0
  146. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-view-main.png +0 -0
  147. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-view-messages.png +0 -0
  148. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-view-metadata.png +0 -0
  149. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-view-scoring.png +0 -0
  150. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-view-sort.png +0 -0
  151. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-view-splash.png +0 -0
  152. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-vscode-config.png +0 -0
  153. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-vscode-install.png +0 -0
  154. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-vscode-logview.png +0 -0
  155. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-vscode-output-channel.png +0 -0
  156. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect-vscode-run-task.png +0 -0
  157. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/inspect.png +0 -0
  158. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/logs-drop-down.png +0 -0
  159. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/logs-open-button.png +0 -0
  160. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/logs.png +0 -0
  161. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/popularity.png +0 -0
  162. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/python-tool-view.png +0 -0
  163. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/rate-limit.png +0 -0
  164. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/running-theory.png +0 -0
  165. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/task-max-sandboxes.png +0 -0
  166. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/toolenv-no-cleanup.png +0 -0
  167. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/vnc-port-info.png +0 -0
  168. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/vnc-view-only.png +0 -0
  169. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/images/web-browser-tool-view.png +0 -0
  170. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/index.qmd +0 -0
  171. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/interactivity.qmd +0 -0
  172. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/llms.txt +0 -0
  173. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/log-viewer.qmd +0 -0
  174. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/models.qmd +0 -0
  175. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/multimodal.qmd +0 -0
  176. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/parallelism.qmd +0 -0
  177. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/providers.qmd +0 -0
  178. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reasoning.qmd +0 -0
  179. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/.gitignore +0 -0
  180. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/_metadata.yml +0 -0
  181. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/filter/commands.py +0 -0
  182. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/filter/filter.py +0 -0
  183. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/filter/interlink.lua +0 -0
  184. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/filter/parse.py +0 -0
  185. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/filter/post.lua +0 -0
  186. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/filter/render.py +0 -0
  187. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/filter/sidebar.py +0 -0
  188. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/index.qmd +0 -0
  189. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_ai.approval.qmd +0 -0
  190. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_ai.dataset.qmd +0 -0
  191. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_ai.model.qmd +0 -0
  192. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_ai.qmd +0 -0
  193. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_ai.scorer.qmd +0 -0
  194. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_ai.solver.qmd +0 -0
  195. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_ai.tool.qmd +0 -0
  196. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_cache.qmd +0 -0
  197. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_eval-retry.qmd +0 -0
  198. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_eval-set.qmd +0 -0
  199. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_eval.qmd +0 -0
  200. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_info.qmd +0 -0
  201. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_list.qmd +0 -0
  202. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_log.qmd +0 -0
  203. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_sandbox.qmd +0 -0
  204. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_score.qmd +0 -0
  205. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_trace.qmd +0 -0
  206. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/reference/inspect_view.qmd +0 -0
  207. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/sandboxing.qmd +0 -0
  208. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/scorers.qmd +0 -0
  209. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/scripts/post-render.sh +0 -0
  210. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/solvers.qmd +0 -0
  211. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/theme.scss +0 -0
  212. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/tools.qmd +0 -0
  213. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/tracing.qmd +0 -0
  214. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/tutorial.qmd +0 -0
  215. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/typing.qmd +0 -0
  216. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/docs/vscode.qmd +0 -0
  217. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/approval/README.md +0 -0
  218. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/approval/approval.py +0 -0
  219. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/approval/approval.yaml +0 -0
  220. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/biology_qa.py +0 -0
  221. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/bridge/autogen/README.md +0 -0
  222. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/bridge/autogen/agent.py +0 -0
  223. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/bridge/autogen/dataset.json +0 -0
  224. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/bridge/autogen/task.py +0 -0
  225. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/bridge/langchain/README.md +0 -0
  226. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/bridge/langchain/agent.py +0 -0
  227. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/bridge/langchain/dataset.json +0 -0
  228. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/bridge/langchain/task.py +0 -0
  229. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/browser/browser.py +0 -0
  230. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/browser/compose.yaml +0 -0
  231. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/cache.py +0 -0
  232. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/computer/compose.yaml +0 -0
  233. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/computer/computer.py +0 -0
  234. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/computer/moonWeight.ods +0 -0
  235. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/evalset.py +0 -0
  236. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/hello_world.py +0 -0
  237. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/images/ballons.png +0 -0
  238. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/images/bike.png +0 -0
  239. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/images/images.jsonl +0 -0
  240. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/images/images.py +0 -0
  241. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/intervention/README.md +0 -0
  242. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/intervention/computer/approval.yaml +0 -0
  243. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/intervention/computer/compose.yaml +0 -0
  244. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/intervention/intervention.py +0 -0
  245. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/intervention/shell/Dockerfile +0 -0
  246. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/intervention/shell/compose.yaml +0 -0
  247. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/popularity.py +0 -0
  248. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/security_guide.py +0 -0
  249. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/theory_of_mind.py +0 -0
  250. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/examples/tool_use.py +0 -0
  251. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/pyproject.toml +0 -0
  252. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/setup.cfg +0 -0
  253. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/__init__.py +0 -0
  254. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/__main__.py +0 -0
  255. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_cli/cache.py +0 -0
  256. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_cli/common.py +0 -0
  257. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_cli/info.py +0 -0
  258. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_cli/list.py +0 -0
  259. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_cli/log.py +0 -0
  260. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_cli/main.py +0 -0
  261. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_cli/sandbox.py +0 -0
  262. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_cli/score.py +0 -0
  263. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_cli/trace.py +0 -0
  264. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_cli/util.py +0 -0
  265. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_cli/view.py +0 -0
  266. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/__init__.py +0 -0
  267. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/core/active.py +0 -0
  268. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/core/config.py +0 -0
  269. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/core/display.py +0 -0
  270. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/core/footer.py +0 -0
  271. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/core/group.py +0 -0
  272. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/core/panel.py +0 -0
  273. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/core/progress.py +0 -0
  274. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/core/results.py +0 -0
  275. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/core/rich.py +0 -0
  276. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/core/textual.py +0 -0
  277. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/plain/__init__.py +0 -0
  278. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/plain/display.py +0 -0
  279. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/rich/__init__.py +0 -0
  280. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/rich/display.py +0 -0
  281. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/app.tcss +0 -0
  282. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/display.py +0 -0
  283. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/theme.py +0 -0
  284. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/widgets/clock.py +0 -0
  285. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/widgets/console.py +0 -0
  286. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/widgets/footer.py +0 -0
  287. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/widgets/port_mappings.py +0 -0
  288. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/widgets/sandbox.py +0 -0
  289. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/widgets/task_detail.py +0 -0
  290. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/widgets/tasks.py +0 -0
  291. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/widgets/titlebar.py +0 -0
  292. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_display/textual/widgets/toggle.py +0 -0
  293. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/__init__.py +0 -0
  294. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/context.py +0 -0
  295. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/list.py +0 -0
  296. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/loader.py +0 -0
  297. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/registry.py +0 -0
  298. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/score.py +0 -0
  299. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/task/__init__.py +0 -0
  300. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/task/constants.py +0 -0
  301. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/task/epochs.py +0 -0
  302. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/task/error.py +0 -0
  303. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/task/generate.py +0 -0
  304. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/task/images.py +0 -0
  305. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/task/log.py +0 -0
  306. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/task/results.py +0 -0
  307. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/task/rundir.py +0 -0
  308. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/task/sandbox.py +0 -0
  309. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_eval/task/util.py +0 -0
  310. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/__init__.py +0 -0
  311. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/_async.py +0 -0
  312. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/ansi.py +0 -0
  313. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/appdirs.py +0 -0
  314. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/config.py +0 -0
  315. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/constants.py +0 -0
  316. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/content.py +0 -0
  317. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/datetime.py +0 -0
  318. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/decorator.py +0 -0
  319. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/deprecation.py +0 -0
  320. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/dev.py +0 -0
  321. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/dict.py +0 -0
  322. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/dotenv.py +0 -0
  323. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/entrypoints.py +0 -0
  324. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/environ.py +0 -0
  325. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/error.py +0 -0
  326. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/file.py +0 -0
  327. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/format.py +0 -0
  328. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/git.py +0 -0
  329. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/hash.py +0 -0
  330. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/hooks.py +0 -0
  331. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/html.py +0 -0
  332. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/http.py +0 -0
  333. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/images.py +0 -0
  334. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/json.py +0 -0
  335. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/kvstore.py +0 -0
  336. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/list.py +0 -0
  337. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/notebook.py +0 -0
  338. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/notgiven.py +0 -0
  339. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/package.py +0 -0
  340. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/path.py +0 -0
  341. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/pattern.py +0 -0
  342. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/platform.py +0 -0
  343. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/port_names.py +0 -0
  344. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/registry.py +0 -0
  345. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/retry.py +0 -0
  346. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/samples.py +0 -0
  347. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/terminal.py +0 -0
  348. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/thread.py +0 -0
  349. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/throttle.py +0 -0
  350. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/timeouts.py +0 -0
  351. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/trace.py +0 -0
  352. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/url.py +0 -0
  353. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/version.py +0 -0
  354. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_util/vscode.py +0 -0
  355. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/notify.py +0 -0
  356. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/schema.py +0 -0
  357. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/server.py +0 -0
  358. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/view.py +0 -0
  359. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/.gitignore +0 -0
  360. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/.prettierignore +0 -0
  361. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/.prettierrc.js +0 -0
  362. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/.tool-versions +0 -0
  363. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/.vscode/extensions.json +0 -0
  364. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/.vscode/settings.json +0 -0
  365. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/App.css +0 -0
  366. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/README.md +0 -0
  367. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/dist/assets/favicon.svg +0 -0
  368. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/dist/index.html +0 -0
  369. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/eslint.config.mjs +0 -0
  370. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/favicon.svg +0 -0
  371. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/index.html +0 -0
  372. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/jsconfig.json +0 -0
  373. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/package.json +0 -0
  374. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/postcss.config.cjs +0 -0
  375. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/App.tsx +0 -0
  376. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/AppErrorBoundary.tsx +0 -0
  377. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/api/api-browser.ts +0 -0
  378. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/api/api-http.ts +0 -0
  379. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/api/api-shared.ts +0 -0
  380. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/api/api-vscode.ts +0 -0
  381. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/api/client-api.ts +0 -0
  382. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/api/index.ts +0 -0
  383. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/api/jsonrpc.ts +0 -0
  384. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/api/types.ts +0 -0
  385. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/appearance/colors.ts +0 -0
  386. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/appearance/fonts.ts +0 -0
  387. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/appearance/styles.ts +0 -0
  388. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/AnsiDisplay.css +0 -0
  389. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/AnsiDisplay.tsx +0 -0
  390. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/AsciinemaPlayer.tsx +0 -0
  391. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/Card.css +0 -0
  392. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/Card.tsx +0 -0
  393. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/CopyButton.module.css +0 -0
  394. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/CopyButton.tsx +0 -0
  395. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/DownloadButton.css +0 -0
  396. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/DownloadButton.tsx +0 -0
  397. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/DownloadPanel.css +0 -0
  398. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/DownloadPanel.tsx +0 -0
  399. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/EmptyPanel.css +0 -0
  400. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/EmptyPanel.tsx +0 -0
  401. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/ErrorPanel.css +0 -0
  402. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/ErrorPanel.tsx +0 -0
  403. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/ExpandablePanel.css +0 -0
  404. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/ExpandablePanel.tsx +0 -0
  405. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/FindBand.css +0 -0
  406. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/FindBand.tsx +0 -0
  407. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/HumanBaselineView.css +0 -0
  408. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/HumanBaselineView.tsx +0 -0
  409. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/JsonPanel.css +0 -0
  410. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/JsonPanel.tsx +0 -0
  411. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/LabeledValue.css +0 -0
  412. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/LabeledValue.tsx +0 -0
  413. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/LargeModal.module.css +0 -0
  414. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/LargeModal.tsx +0 -0
  415. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/LightboxCarousel.css +0 -0
  416. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/LightboxCarousel.tsx +0 -0
  417. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/MarkdownDiv.css +0 -0
  418. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/MarkdownDiv.tsx +0 -0
  419. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/MessageBand.css +0 -0
  420. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/MessageBand.tsx +0 -0
  421. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/MorePopOver.css +0 -0
  422. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/MorePopOver.tsx +0 -0
  423. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/NavPills.module.css +0 -0
  424. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/NavPills.tsx +0 -0
  425. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/ProgressBar.module.css +0 -0
  426. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/ProgressBar.tsx +0 -0
  427. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/TabSet.module.css +0 -0
  428. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/TabSet.tsx +0 -0
  429. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/ToolButton.css +0 -0
  430. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/ToolButton.tsx +0 -0
  431. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/VirtualList.module.css +0 -0
  432. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/components/VirtualList.tsx +0 -0
  433. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/constants.ts +0 -0
  434. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/index.tsx +0 -0
  435. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/logfile/remoteLogFile.ts +0 -0
  436. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/logfile/remoteZipFile.ts +0 -0
  437. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/metadata/MetaDataGrid.tsx +0 -0
  438. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/metadata/MetaDataView.module.css +0 -0
  439. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/metadata/MetaDataView.tsx +0 -0
  440. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/metadata/MetadataGrid.module.css +0 -0
  441. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/metadata/RenderedContent.module.css +0 -0
  442. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/metadata/types.ts +0 -0
  443. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/plan/DatasetDetailView.module.css +0 -0
  444. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/plan/DatasetDetailView.tsx +0 -0
  445. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/plan/DetailStep.module.css +0 -0
  446. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/plan/DetailStep.tsx +0 -0
  447. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/plan/PlanCard.tsx +0 -0
  448. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/plan/PlanDetailView.module.css +0 -0
  449. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/plan/PlanDetailView.tsx +0 -0
  450. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/plan/ScorerDetailView.module.css +0 -0
  451. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/plan/ScorerDetailView.tsx +0 -0
  452. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/plan/SolverDetailView.module.css +0 -0
  453. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/plan/SolverDetailView.tsx +0 -0
  454. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/InlineSampleDisplay.module.css +0 -0
  455. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/InlineSampleDisplay.tsx +0 -0
  456. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/SampleDialog.tsx +0 -0
  457. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/SamplesTools.tsx +0 -0
  458. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/ChatMessage.module.css +0 -0
  459. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/ChatMessage.tsx +0 -0
  460. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/ChatMessageRenderer.tsx +0 -0
  461. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/ChatMessageRow.module.css +0 -0
  462. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/ChatMessageRow.tsx +0 -0
  463. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/ChatView.tsx +0 -0
  464. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/ChatViewVirtualList.module.css +0 -0
  465. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/ChatViewVirtualList.tsx +0 -0
  466. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/MessageContent.module.css +0 -0
  467. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/MessageContent.tsx +0 -0
  468. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/MessageContents.module.css +0 -0
  469. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/MessageContents.tsx +0 -0
  470. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/messages.ts +0 -0
  471. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/tools/ToolCallView.tsx +0 -0
  472. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/tools/ToolInput.module.css +0 -0
  473. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/tools/ToolInput.tsx +0 -0
  474. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/tools/ToolOutput.module.css +0 -0
  475. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/tools/ToolOutput.tsx +0 -0
  476. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/tools/ToolTitle.module.css +0 -0
  477. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/tools/ToolTitle.tsx +0 -0
  478. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/chat/tools/tool.ts +0 -0
  479. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/descriptor/samplesDescriptor.tsx +0 -0
  480. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/descriptor/score/BooleanScoreDescriptor.module.css +0 -0
  481. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/descriptor/score/BooleanScoreDescriptor.tsx +0 -0
  482. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/descriptor/score/CategoricalScoreDescriptor.tsx +0 -0
  483. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/descriptor/score/NumericScoreDescriptor.tsx +0 -0
  484. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/descriptor/score/ObjectScoreDescriptor.module.css +0 -0
  485. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/descriptor/score/ObjectScoreDescriptor.tsx +0 -0
  486. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/descriptor/score/OtherScoreDescriptor.tsx +0 -0
  487. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/descriptor/score/PassFailScoreDescriptor.module.css +0 -0
  488. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/descriptor/score/PassFailScoreDescriptor.tsx +0 -0
  489. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/descriptor/score/ScoreDescriptor.tsx +0 -0
  490. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/descriptor/types.ts +0 -0
  491. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/error/FlatSampleErrorView.module.css +0 -0
  492. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/error/FlatSampleErrorView.tsx +0 -0
  493. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/error/SampleErrorView.module.css +0 -0
  494. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/error/SampleErrorView.tsx +0 -0
  495. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/error/error.ts +0 -0
  496. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/list/SampleFooter.module.css +0 -0
  497. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/list/SampleFooter.tsx +0 -0
  498. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/list/SampleHeader.module.css +0 -0
  499. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/list/SampleHeader.tsx +0 -0
  500. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/list/SampleList.module.css +0 -0
  501. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/list/SampleList.tsx +0 -0
  502. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/list/SampleRow.module.css +0 -0
  503. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/list/SampleRow.tsx +0 -0
  504. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/list/SampleSeparator.module.css +0 -0
  505. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/list/SampleSeparator.tsx +0 -0
  506. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/sample-tools/EpochFilter.module.css +0 -0
  507. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/sample-tools/EpochFilter.tsx +0 -0
  508. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/sample-tools/SelectScorer.module.css +0 -0
  509. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/sample-tools/SelectScorer.tsx +0 -0
  510. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/sample-tools/SortFilter.module.css +0 -0
  511. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/sample-tools/SortFilter.tsx +0 -0
  512. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/sample-tools/filters.ts +0 -0
  513. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/sample-tools/sample-filter/SampleFilter.module.css +0 -0
  514. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/sample-tools/sample-filter/SampleFilter.tsx +0 -0
  515. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/sample-tools/sample-filter/completions.ts +0 -0
  516. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/sample-tools/sample-filter/language.ts +0 -0
  517. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/sample-tools/sample-filter/tokenize.ts +0 -0
  518. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/sampleLimit.ts +0 -0
  519. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/scores/SampleScoreView.module.css +0 -0
  520. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/scores/SampleScoreView.tsx +0 -0
  521. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/scores/SampleScores.module.css +0 -0
  522. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/scores/SampleScores.tsx +0 -0
  523. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/ApprovalEventView.tsx +0 -0
  524. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/ErrorEventView.tsx +0 -0
  525. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/InfoEventView.module.css +0 -0
  526. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/InfoEventView.tsx +0 -0
  527. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/InputEventView.tsx +0 -0
  528. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/LoggerEventView.module.css +0 -0
  529. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/LoggerEventView.tsx +0 -0
  530. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/ModelEventView.module.css +0 -0
  531. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/ModelEventView.tsx +0 -0
  532. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/SampleInitEventView.module.css +0 -0
  533. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/SampleInitEventView.tsx +0 -0
  534. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/SampleTranscript.tsx +0 -0
  535. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/ScoreEventView.module.css +0 -0
  536. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/ScoreEventView.tsx +0 -0
  537. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.module.css +0 -0
  538. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.tsx +0 -0
  539. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/ToolEventView.module.css +0 -0
  540. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/ToolEventView.tsx +0 -0
  541. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/TranscriptView.module.css +0 -0
  542. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/event/EventNav.module.css +0 -0
  543. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/event/EventNav.tsx +0 -0
  544. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/event/EventNavs.module.css +0 -0
  545. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/event/EventNavs.tsx +0 -0
  546. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/event/EventPanel.module.css +0 -0
  547. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/event/EventRow.module.css +0 -0
  548. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/event/EventRow.tsx +0 -0
  549. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/event/EventSection.module.css +0 -0
  550. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/event/EventSection.tsx +0 -0
  551. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/state/StateDiffView.tsx +0 -0
  552. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventRenderers.tsx +0 -0
  553. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventRenders.module.css +0 -0
  554. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventView.module.css +0 -0
  555. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/samples/transcript/state/StateEventView.tsx +0 -0
  556. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/types/asciicinema-player.d.ts +0 -0
  557. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/types/jsondiffpatch.d.ts +0 -0
  558. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/types/prism.d.ts +0 -0
  559. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/types.ts +0 -0
  560. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/usage/ModelTokenTable.tsx +0 -0
  561. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/usage/ModelUsagePanel.module.css +0 -0
  562. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/usage/ModelUsagePanel.tsx +0 -0
  563. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/usage/TokenTable.module.css +0 -0
  564. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/usage/TokenTable.tsx +0 -0
  565. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/usage/UsageCard.module.css +0 -0
  566. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/usage/UsageCard.tsx +0 -0
  567. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/attachments.ts +0 -0
  568. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/base64.ts +0 -0
  569. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/browser.ts +0 -0
  570. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/debugging.ts +0 -0
  571. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/dom.ts +0 -0
  572. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/git.ts +0 -0
  573. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/html.ts +0 -0
  574. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/http.ts +0 -0
  575. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/json-worker.ts +0 -0
  576. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/path.ts +0 -0
  577. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/print.ts +0 -0
  578. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/queue.ts +0 -0
  579. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/sync.ts +0 -0
  580. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/type.ts +0 -0
  581. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/utils/vscode.ts +0 -0
  582. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/WorkSpace.tsx +0 -0
  583. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/WorkSpaceView.module.css +0 -0
  584. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/error/TaskErrorPanel.module.css +0 -0
  585. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/error/TaskErrorPanel.tsx +0 -0
  586. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/navbar/Navbar.module.css +0 -0
  587. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/navbar/Navbar.tsx +0 -0
  588. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/navbar/PrimaryBar.module.css +0 -0
  589. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/navbar/PrimaryBar.tsx +0 -0
  590. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/navbar/ResultsPanel.module.css +0 -0
  591. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/navbar/ResultsPanel.tsx +0 -0
  592. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/navbar/SecondaryBar.module.css +0 -0
  593. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/navbar/SecondaryBar.tsx +0 -0
  594. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/navbar/StatusPanel.module.css +0 -0
  595. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/navbar/StatusPanel.tsx +0 -0
  596. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/sidebar/EvalStatus.module.css +0 -0
  597. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/sidebar/EvalStatus.tsx +0 -0
  598. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/sidebar/LogDirectoryTitleView.module.css +0 -0
  599. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/sidebar/LogDirectoryTitleView.tsx +0 -0
  600. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/sidebar/Sidebar.module.css +0 -0
  601. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/sidebar/Sidebar.tsx +0 -0
  602. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/sidebar/SidebarLogEntry.module.css +0 -0
  603. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/sidebar/SidebarLogEntry.tsx +0 -0
  604. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/sidebar/SidebarScoreView.module.css +0 -0
  605. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/sidebar/SidebarScoreView.tsx +0 -0
  606. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/sidebar/SidebarScoresView.module.css +0 -0
  607. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/sidebar/SidebarScoresView.tsx +0 -0
  608. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/tabs/InfoTab.module.css +0 -0
  609. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/tabs/InfoTab.tsx +0 -0
  610. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/tabs/JsonTab.module.css +0 -0
  611. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/tabs/JsonTab.tsx +0 -0
  612. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/tabs/SamplesTab.tsx +0 -0
  613. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/tabs/grouping.ts +0 -0
  614. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/tabs/types.ts +0 -0
  615. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/types.ts +0 -0
  616. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/src/workspace/utils.ts +0 -0
  617. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/tsconfig.json +0 -0
  618. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/vite.config.js +0 -0
  619. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/_view/www/yarn.lock +0 -0
  620. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/__init__.py +0 -0
  621. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/_apply.py +0 -0
  622. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/_approval.py +0 -0
  623. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/_approver.py +0 -0
  624. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/_auto.py +0 -0
  625. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/_call.py +0 -0
  626. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/_human/__init__.py +0 -0
  627. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/_human/approver.py +0 -0
  628. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/_human/console.py +0 -0
  629. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/_human/manager.py +0 -0
  630. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/_human/panel.py +0 -0
  631. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/_human/util.py +0 -0
  632. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/_policy.py +0 -0
  633. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/approval/_registry.py +0 -0
  634. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/__init__.py +0 -0
  635. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_dataset.py +0 -0
  636. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_examples/bias_detection.jsonl +0 -0
  637. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_examples/biology_qa.jsonl +0 -0
  638. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_examples/popularity.jsonl +0 -0
  639. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_examples/security_guide.jsonl +0 -0
  640. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_examples/theory_of_mind.jsonl +0 -0
  641. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_sources/__init__.py +0 -0
  642. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_sources/csv.py +0 -0
  643. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_sources/example.py +0 -0
  644. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_sources/file.py +0 -0
  645. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_sources/hf.py +0 -0
  646. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_sources/json.py +0 -0
  647. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_sources/util.py +0 -0
  648. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/dataset/_util.py +0 -0
  649. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_bundle.py +0 -0
  650. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_convert.py +0 -0
  651. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_file.py +0 -0
  652. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_message.py +0 -0
  653. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_recorders/__init__.py +0 -0
  654. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_recorders/create.py +0 -0
  655. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_recorders/eval.py +0 -0
  656. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_recorders/file.py +0 -0
  657. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_recorders/json.py +0 -0
  658. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_recorders/recorder.py +0 -0
  659. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/log/_retry.py +0 -0
  660. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/__init__.py +0 -0
  661. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_cache.py +0 -0
  662. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_chat_message.py +0 -0
  663. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_generate_config.py +0 -0
  664. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_image.py +0 -0
  665. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_model_output.py +0 -0
  666. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_openai.py +0 -0
  667. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/azureai.py +0 -0
  668. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/goodfire.py +0 -0
  669. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/grok.py +0 -0
  670. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/llama_cpp_python.py +0 -0
  671. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/mockllm.py +0 -0
  672. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/ollama.py +0 -0
  673. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/openai_o1.py +0 -0
  674. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/openrouter.py +0 -0
  675. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/together.py +0 -0
  676. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/util/__init__.py +0 -0
  677. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/util/chatapi.py +0 -0
  678. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/util/hf_handler.py +0 -0
  679. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/util/llama31.py +0 -0
  680. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/util/util.py +0 -0
  681. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_providers/vertex.py +0 -0
  682. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_reasoning.py +0 -0
  683. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_registry.py +0 -0
  684. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/model/_render.py +0 -0
  685. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/py.typed +0 -0
  686. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/__init__.py +0 -0
  687. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_answer.py +0 -0
  688. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_choice.py +0 -0
  689. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_classification.py +0 -0
  690. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_common.py +0 -0
  691. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_match.py +0 -0
  692. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_metric.py +0 -0
  693. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_metrics/__init__.py +0 -0
  694. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_metrics/accuracy.py +0 -0
  695. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_metrics/mean.py +0 -0
  696. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_metrics/std.py +0 -0
  697. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_model.py +0 -0
  698. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_multi.py +0 -0
  699. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_pattern.py +0 -0
  700. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_reducer/__init__.py +0 -0
  701. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_reducer/reducer.py +0 -0
  702. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_reducer/registry.py +0 -0
  703. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_reducer/types.py +0 -0
  704. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_score.py +0 -0
  705. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_scorer.py +0 -0
  706. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/scorer/_target.py +0 -0
  707. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/__init__.py +0 -0
  708. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_bridge/__init__.py +0 -0
  709. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_bridge/bridge.py +0 -0
  710. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_chain.py +0 -0
  711. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_critique.py +0 -0
  712. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_fork.py +0 -0
  713. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/__init__.py +0 -0
  714. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/agent.py +0 -0
  715. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/commands/__init__.py +0 -0
  716. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/commands/clock.py +0 -0
  717. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/commands/command.py +0 -0
  718. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/commands/instructions.py +0 -0
  719. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/commands/note.py +0 -0
  720. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/commands/score.py +0 -0
  721. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/commands/status.py +0 -0
  722. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/commands/submit.py +0 -0
  723. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/install.py +0 -0
  724. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/panel.py +0 -0
  725. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/service.py +0 -0
  726. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/state.py +0 -0
  727. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_human_agent/view.py +0 -0
  728. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_multiple_choice.py +0 -0
  729. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_prompt.py +0 -0
  730. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_solver.py +0 -0
  731. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_transcript.py +0 -0
  732. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_use_tools.py +0 -0
  733. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/solver/_util.py +0 -0
  734. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/__init__.py +0 -0
  735. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tool.py +0 -0
  736. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tool_call.py +0 -0
  737. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tool_choice.py +0 -0
  738. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tool_def.py +0 -0
  739. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tool_description.py +0 -0
  740. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tool_info.py +0 -0
  741. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tool_params.py +0 -0
  742. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tool_transcript.py +0 -0
  743. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tool_with.py +0 -0
  744. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/__init__.py +0 -0
  745. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/__init__.py +0 -0
  746. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_common.py +0 -0
  747. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_computer.py +0 -0
  748. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_computer_split.py +0 -0
  749. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/Dockerfile +0 -0
  750. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/README.md +0 -0
  751. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/entrypoint/entrypoint.sh +0 -0
  752. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/entrypoint/novnc_startup.sh +0 -0
  753. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/entrypoint/x11vnc_startup.sh +0 -0
  754. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/entrypoint/xfce_startup.sh +0 -0
  755. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/entrypoint/xvfb_startup.sh +0 -0
  756. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/image_home_dir/.config/Code/User/globalStorage/state.vscdb +0 -0
  757. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/image_home_dir/.config/Code/User/settings.json +0 -0
  758. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/image_home_dir/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml +0 -0
  759. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/image_home_dir/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml +0 -0
  760. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/image_home_dir/Desktop/Firefox Web Browser.desktop +0 -0
  761. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/image_home_dir/Desktop/Terminal.desktop +0 -0
  762. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/image_home_dir/Desktop/Visual Studio Code.desktop +0 -0
  763. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/tool/__init__.py +0 -0
  764. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/tool/_logger.py +0 -0
  765. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/tool/_run.py +0 -0
  766. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/tool/_tool_result.py +0 -0
  767. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/tool/_x11_client.py +0 -0
  768. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/tool/computer_tool.py +0 -0
  769. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_computer/_resources/tool/requirements.txt +0 -0
  770. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_execute.py +0 -0
  771. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/__init__.py +0 -0
  772. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/Dockerfile +0 -0
  773. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/README.md +0 -0
  774. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/accessibility_node.py +0 -0
  775. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/dm_env_servicer.py +0 -0
  776. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/images/usage_diagram.png +0 -0
  777. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/mock_environment.py +0 -0
  778. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/playwright_crawler.py +0 -0
  779. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_accessibility_node.py +0 -0
  780. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_dm_env_servicer.py +0 -0
  781. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_playwright_crawler.py +0 -0
  782. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/test_web_environment.py +0 -0
  783. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client.py +0 -0
  784. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_client_new_session.py +0 -0
  785. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_environment.py +0 -0
  786. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_resources/web_server.py +0 -0
  787. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/_tools/_web_browser/_web_browser.py +0 -0
  788. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/tool/beta.py +0 -0
  789. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/__init__.py +0 -0
  790. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_console.py +0 -0
  791. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_conversation.py +0 -0
  792. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_display.py +0 -0
  793. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_panel.py +0 -0
  794. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_resource.py +0 -0
  795. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/__init__.py +0 -0
  796. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/docker/cleanup.py +0 -0
  797. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/docker/compose.py +0 -0
  798. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/docker/config.py +0 -0
  799. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/docker/internal.py +0 -0
  800. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/docker/prereqs.py +0 -0
  801. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/docker/service.py +0 -0
  802. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/docker/util.py +0 -0
  803. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/limits.py +0 -0
  804. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/registry.py +0 -0
  805. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/self_check.py +0 -0
  806. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_sandbox/service.py +0 -0
  807. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_store.py +0 -0
  808. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_store_model.py +0 -0
  809. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_subprocess.py +0 -0
  810. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_subtask.py +0 -0
  811. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai/util/_throttle.py +0 -0
  812. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai.egg-info/dependency_links.txt +0 -0
  813. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai.egg-info/entry_points.txt +0 -0
  814. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/src/inspect_ai.egg-info/top_level.txt +0 -0
  815. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/approval/approve.yaml +0 -0
  816. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/approval/escalate.yaml +0 -0
  817. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/approval/modify.yaml +0 -0
  818. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/approval/reject.yaml +0 -0
  819. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/approval/terminate.yaml +0 -0
  820. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/approval/test_approval.py +0 -0
  821. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/conftest.py +0 -0
  822. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/dataset/test_dataset/dataset.jsonl +0 -0
  823. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/dataset/test_dataset/images/ballons.png +0 -0
  824. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/dataset/test_dataset/images.jsonl +0 -0
  825. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/dataset/test_dataset/samples-md.csv +0 -0
  826. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/dataset/test_dataset/samples-md.json +0 -0
  827. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/dataset/test_dataset/samples-md.jsonl +0 -0
  828. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/dataset/test_dataset/samples.csv +0 -0
  829. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/dataset/test_dataset/samples.json +0 -0
  830. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/dataset/test_dataset/samples.jsonl +0 -0
  831. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/dataset/test_dataset.py +0 -0
  832. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_eval_log/log_formats.json +0 -0
  833. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_eval_log/log_images.json +0 -0
  834. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_eval_log/log_images_tc.json +0 -0
  835. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_eval_log/log_invalid.txt +0 -0
  836. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_eval_log/log_length_stop_reason.txt +0 -0
  837. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_eval_log/log_streaming.eval +0 -0
  838. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_eval_log/log_valid.txt +0 -0
  839. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_eval_log/log_version_3.txt +0 -0
  840. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_eval_log/log_with_nan.txt +0 -0
  841. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_eval_log.py +0 -0
  842. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_list_logs/2024-11-05T13-31-45-05-00_input-task_8zXjbRzCWrL9GXiXo2vus9.json +0 -0
  843. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_list_logs/2024-11-05T13-32-37-05-00_input-task_hxs4q9azL3ySGkjJirypKZ.eval +0 -0
  844. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_list_logs/custom.eval +0 -0
  845. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_list_logs/ignore.json +0 -0
  846. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_list_logs.py +0 -0
  847. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_log_attachments.py +0 -0
  848. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_log_formats.py +0 -0
  849. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_log_level.py +0 -0
  850. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_log_streaming.py +0 -0
  851. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/log/test_log_tags.py +0 -0
  852. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/providers/test_anthropic.py +0 -0
  853. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/providers/test_azureai.py +0 -0
  854. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/providers/test_cloudflare.py +0 -0
  855. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/providers/test_goodfire.py +0 -0
  856. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/providers/test_google.py +0 -0
  857. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/providers/test_grok.py +0 -0
  858. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/providers/test_groq.py +0 -0
  859. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/providers/test_hf.py +0 -0
  860. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/providers/test_llama_cpp_python.py +0 -0
  861. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/providers/test_openai.py +0 -0
  862. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/providers/test_openai_o1.py +0 -0
  863. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/providers/test_vertex.py +0 -0
  864. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/providers/test_vllm.py +0 -0
  865. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_api_key.py +0 -0
  866. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_cache.py +0 -0
  867. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_collapse_assistant_message.py +0 -0
  868. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_collapse_user_message.py +0 -0
  869. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_disable.py +0 -0
  870. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_get_model.py +0 -0
  871. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_logprobs.py +0 -0
  872. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_mock_model_llm.py +0 -0
  873. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_num_choices.py +0 -0
  874. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_parse_tool_call.py +0 -0
  875. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_reasoning_content.py +0 -0
  876. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_reasoning_parse.py +0 -0
  877. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_stop_reason.py +0 -0
  878. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/model/test_tool_result_images_as_user_message.py +0 -0
  879. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/logs/2025-02-11T15-17-00-05-00_popularity_dPiJifoWeEQBrfWsAopzWr.eval +0 -0
  880. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/logs/2025-02-11T15-18-04-05-00_popularity_mj7khqpMM4GBCfVQozKgzB.eval +0 -0
  881. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/test_answer.py +0 -0
  882. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/test_choice.py +0 -0
  883. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/test_classification.py +0 -0
  884. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/test_match.py +0 -0
  885. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/test_metric.py +0 -0
  886. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/test_model_graded.py +0 -0
  887. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/test_multiscorer.py +0 -0
  888. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/test_pattern.py +0 -0
  889. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/test_reducers.py +0 -0
  890. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/test_scorer.py +0 -0
  891. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/test_task_score.py +0 -0
  892. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/scorer/test_value_to_float.py +0 -0
  893. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_basic_agent.py +0 -0
  894. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_bridge.py +0 -0
  895. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_chain.py +0 -0
  896. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_fork.py +0 -0
  897. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_multiple_choice.py +0 -0
  898. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_prompt.py +0 -0
  899. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_score.py +0 -0
  900. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_setup.py +0 -0
  901. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_solver.py +0 -0
  902. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_solver_decorator.py +0 -0
  903. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_solver_spec.py +0 -0
  904. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_store.py +0 -0
  905. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_store_model.py +0 -0
  906. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/solver/test_subtask.py +0 -0
  907. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_eval.py +0 -0
  908. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_eval_config/model.yaml +0 -0
  909. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_eval_config/solver.yaml +0 -0
  910. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_eval_config/task.yaml +0 -0
  911. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_eval_config.py +0 -0
  912. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_eval_set/2024-08-29T15-11-17+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
  913. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_eval_set/2024-08-29T15-11-18+00-00_popularity_5EAmX6wjMFqea6WY7XHzZp.json +0 -0
  914. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_eval_set.py +0 -0
  915. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_examples.py +0 -0
  916. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_extensions.py +0 -0
  917. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_fail_on_error.py +0 -0
  918. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_helpers/__init__.py +0 -0
  919. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_helpers/tasks.py +0 -0
  920. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_helpers/tool_call_utils.py +0 -0
  921. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_helpers/tools.py +0 -0
  922. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_helpers/utils.py +0 -0
  923. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_list_task.py +0 -0
  924. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_log_dir/example_task/example_task.py +0 -0
  925. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_log_dir/test_log_dir.py +0 -0
  926. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_package/.gitignore +0 -0
  927. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_package/inspect_package/__init__.py +0 -0
  928. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_package/inspect_package/_registry.py +0 -0
  929. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_package/inspect_package/approvers/renamer.py +0 -0
  930. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_package/inspect_package/modelapi/custom.py +0 -0
  931. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_package/inspect_package/py.typed +0 -0
  932. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_package/inspect_package/sandboxenv/podman.py +0 -0
  933. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_package/inspect_package/score/scorer.py +0 -0
  934. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_package/inspect_package/solvers/cot.py +0 -0
  935. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_package/pyproject.toml +0 -0
  936. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_retry.py +0 -0
  937. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_run_dir/task1/task1.py +0 -0
  938. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_run_dir/task2/task2.py +0 -0
  939. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_run_dir.py +0 -0
  940. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_sample_id.py +0 -0
  941. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_attr.py +0 -0
  942. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_list/__init__.py +0 -0
  943. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_list/attribs.ipynb +0 -0
  944. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_list/multiple.py +0 -0
  945. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_list/multiple_dir/_decoy/testit.py +0 -0
  946. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_list/multiple_dir/_decoy2.py +0 -0
  947. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_list/multiple_dir/bar.py +0 -0
  948. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_list/multiple_dir/foo.py +0 -0
  949. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_list/recurse/.folder3/epsilon.py +0 -0
  950. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_list/recurse/folder1/_decoy.py +0 -0
  951. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_list/recurse/folder1/theta.py +0 -0
  952. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_list/recurse/folder2/.folder3/epsilon.py +0 -0
  953. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_list/recurse/folder2/another.py +0 -0
  954. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_list/recurse/folder2/first.py +0 -0
  955. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/test_task_with.py +0 -0
  956. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/docker-compose-context/Dockerfile +0 -0
  957. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/docker-compose-context-alpine/Dockerfile +0 -0
  958. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_bash_tool.py +0 -0
  959. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_max_exec_output.py +0 -0
  960. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_max_tool_output.py +0 -0
  961. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_python_tool.py +0 -0
  962. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_sandbox_compose.yaml +0 -0
  963. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_sandbox_compose_alpine.yaml +0 -0
  964. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_sandbox_docker_and_local.py +0 -0
  965. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_sandbox_dockerfile.py +0 -0
  966. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_sandbox_tool_eval.py +0 -0
  967. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_tool_def.py +0 -0
  968. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_tool_images.py +0 -0
  969. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_tool_parse.py +0 -0
  970. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_tool_truncate.py +0 -0
  971. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_tool_types.py +0 -0
  972. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_tool_view.py +0 -0
  973. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_tool_with.py +0 -0
  974. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_tools.py +0 -0
  975. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_use_tools.py +0 -0
  976. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_web_browser.py +0 -0
  977. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/tools/test_web_browser_compose.yaml +0 -0
  978. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/sandbox/Dockerfile +0 -0
  979. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/sandbox/Dockerfile.debug +0 -0
  980. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/sandbox/debug.Dockerfile +0 -0
  981. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/sandbox/docker_compose_multiple_services/docker-compose.yaml +0 -0
  982. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/sandbox/sandbox_setup.sh +0 -0
  983. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/sandbox/sandbox_setup_error.sh +0 -0
  984. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/sandbox/test_docker_compose_multiple_services.py +0 -0
  985. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/sandbox/test_docker_filenames.py +0 -0
  986. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/sandbox/test_docker_healthcheck.py +0 -0
  987. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/sandbox/test_sandbox_service.py +0 -0
  988. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/sandbox/test_sandbox_setup.py +0 -0
  989. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_file.py +0 -0
  990. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_format_template.py +0 -0
  991. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_images/images.jsonl +0 -0
  992. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_images.py +0 -0
  993. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_kvstore.py +0 -0
  994. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_media/audio.jsonl +0 -0
  995. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_media/sample.mp3 +0 -0
  996. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_media/video.jsonl +0 -0
  997. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_media/video.mp4 +0 -0
  998. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_media.py +0 -0
  999. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_package.py +0 -0
  1000. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_registry.py +0 -0
  1001. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_str_to_float.py +0 -0
  1002. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_subprocess.py +0 -0
  1003. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/util/test_truncate.py +0 -0
  1004. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tests/view/test_bundle.py +0 -0
  1005. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/.eslintrc.json +0 -0
  1006. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/.gitignore +0 -0
  1007. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/.vscode/extensions.json +0 -0
  1008. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/.vscode/launch.json +0 -0
  1009. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/.vscode/settings.json +0 -0
  1010. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/.vscode/tasks.json +0 -0
  1011. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/.vscode-test.mjs +0 -0
  1012. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/.vscodeignore +0 -0
  1013. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/.yarnrc +0 -0
  1014. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/CHANGELOG.md +0 -0
  1015. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/LICENSE +0 -0
  1016. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/README.md +0 -0
  1017. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/assets/icon/eval-treeview-cancelled.svg +0 -0
  1018. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/assets/icon/eval-treeview-error.svg +0 -0
  1019. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/assets/icon/eval-treeview-started.svg +0 -0
  1020. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/assets/icon/eval-treeview.svg +0 -0
  1021. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/assets/icon/eval.svg +0 -0
  1022. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/assets/logo/inspect.png +0 -0
  1023. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/assets/logo/inspect.svg +0 -0
  1024. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/assets/templates/task.py.template +0 -0
  1025. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/assets/www/codicon/codicon.css +0 -0
  1026. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/assets/www/codicon/codicon.ttf +0 -0
  1027. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/assets/www/view/view-overrides.css +0 -0
  1028. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/package.json +0 -0
  1029. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/@types/hooks.d.ts +0 -0
  1030. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/components/document.ts +0 -0
  1031. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/components/error.ts +0 -0
  1032. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/components/focus.ts +0 -0
  1033. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/components/notebook.ts +0 -0
  1034. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/components/symbol.ts +0 -0
  1035. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/components/task.ts +0 -0
  1036. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/components/templates.ts +0 -0
  1037. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/components/webview.ts +0 -0
  1038. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/appdirs.ts +0 -0
  1039. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/command.ts +0 -0
  1040. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/dispose.ts +0 -0
  1041. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/env.ts +0 -0
  1042. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/file.ts +0 -0
  1043. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/git.ts +0 -0
  1044. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/jsonrpc.ts +0 -0
  1045. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/log.ts +0 -0
  1046. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/nonce.ts +0 -0
  1047. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/path.ts +0 -0
  1048. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/port.ts +0 -0
  1049. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/process.ts +0 -0
  1050. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/python/code.ts +0 -0
  1051. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/python/env.ts +0 -0
  1052. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/python/exec.ts +0 -0
  1053. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/python/index.ts +0 -0
  1054. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/python/interpreter.ts +0 -0
  1055. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/random.ts +0 -0
  1056. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/string.ts +0 -0
  1057. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/text.ts +0 -0
  1058. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/uri.ts +0 -0
  1059. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/vscode/association.ts +0 -0
  1060. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/wait.ts +0 -0
  1061. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/core/workspace.ts +0 -0
  1062. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/extension.ts +0 -0
  1063. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/hooks/hooks.ts +0 -0
  1064. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/hooks/index.ts +0 -0
  1065. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/hooks/preview.ts +0 -0
  1066. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/inspect/index.ts +0 -0
  1067. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/inspect/logs.ts +0 -0
  1068. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/inspect/props.ts +0 -0
  1069. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/inspect/version.ts +0 -0
  1070. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/active-task/active-task-command.ts +0 -0
  1071. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/active-task/active-task-provider.ts +0 -0
  1072. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/activity-bar-provider.ts +0 -0
  1073. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/env-config-provider.ts +0 -0
  1074. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/log-listing/log-directory-selector.ts +0 -0
  1075. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-data.ts +0 -0
  1076. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-mru.ts +0 -0
  1077. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-provider.ts +0 -0
  1078. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/log-listing/log-listing-server-queue.ts +0 -0
  1079. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/log-listing/log-listing.ts +0 -0
  1080. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/task-config-commands.ts +0 -0
  1081. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/task-config-provider.ts +0 -0
  1082. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/task-outline-commands.ts +0 -0
  1083. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/task-outline-provider.ts +0 -0
  1084. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.css +0 -0
  1085. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/webview/env-config-webview.ts +0 -0
  1086. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.css +0 -0
  1087. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/webview/task-config-webview.ts +0 -0
  1088. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/webview/vscode-controls.css +0 -0
  1089. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/activity-bar/webview/webview-utils.ts +0 -0
  1090. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/codelens/codelens-provider.ts +0 -0
  1091. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/inspect/inspect-commands.ts +0 -0
  1092. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/inspect/inspect-constants.ts +0 -0
  1093. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/inspect/inspect-eval-commands.ts +0 -0
  1094. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/inspect/inspect-eval.ts +0 -0
  1095. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/inspect/inspect-logs-watcher.ts +0 -0
  1096. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/inspect/inspect-manager.ts +0 -0
  1097. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/inspect/inspect-view-server.ts +0 -0
  1098. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/lognotify.ts +0 -0
  1099. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/logview/commands.ts +0 -0
  1100. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/logview/logview-editor.ts +0 -0
  1101. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/logview/logview-link-provider.ts +0 -0
  1102. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/logview/logview-panel.ts +0 -0
  1103. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/logview/logview-state.ts +0 -0
  1104. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/logview/logview-view.ts +0 -0
  1105. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/logview/logview.ts +0 -0
  1106. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/openlog.ts +0 -0
  1107. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/protocol-handler.ts +0 -0
  1108. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/settings/inspect-settings.ts +0 -0
  1109. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/settings/user-settings.ts +0 -0
  1110. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/statusbar.ts +0 -0
  1111. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/workspace/workspace-env-commands.ts +0 -0
  1112. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/workspace/workspace-env-provider.ts +0 -0
  1113. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/workspace/workspace-state-provider.ts +0 -0
  1114. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/providers/workspace/workspace-task-provider.ts +0 -0
  1115. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/test/codelens-provider.test.ts +0 -0
  1116. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/src/test/extension.test.ts +0 -0
  1117. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/tools/ts-to-mjs/.gitignore +0 -0
  1118. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/tools/ts-to-mjs/package.json +0 -0
  1119. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/tools/ts-to-mjs/rollup.config.js +0 -0
  1120. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/tools/ts-to-mjs/src/index.ts +0 -0
  1121. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/tools/ts-to-mjs/src/jsonrpc.ts +0 -0
  1122. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/tools/ts-to-mjs/yarn.lock +0 -0
  1123. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/tsconfig.json +0 -0
  1124. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/webpack.config.js +0 -0
  1125. {inspect_ai-0.3.69 → inspect_ai-0.3.70}/tools/vscode/yarn.lock +0 -0
@@ -16,3 +16,5 @@ updates:
16
16
  versions: [">=0.9.5"]
17
17
  - dependency-name: "textual"
18
18
  versions: [">=2.0.0"]
19
+ - dependency-name: "fsspec"
20
+ versions: [">=2024.12.0"]
@@ -1,3 +1,20 @@
1
+ ## v0.3.70 (25 February 2025)
2
+
3
+ - [working_limit](https://inspect.ai-safety-institute.org.uk/errors_and_limits.html#working-limit) option for specifying a maximum working time (e.g. model generation, tool calls, etc.) for samples.
4
+ - Added `SandboxEvent` to transcript for recording sandbox execution and I/O.
5
+ - Sandboxes: `as_type()` function for checked downcasting of `SandboxEnvironment`
6
+ - Remove root logging handlers upon Inspect logger initialisation (as they result in lots of log spam if left installed).
7
+ - Only explicitly set `state.completed=True` when entering scoring (`basic_agent()` no longer sets `completed` so can be used in longer compositions of solvers).
8
+ - Add `uuid` property to `TaskState` and `EvalSample` (globally unique identifer for sample run).
9
+ - Add `cleanup` to tasks for executing a function at the end of each sample run.
10
+ - Agent `bridge()` is now compatible with the use of a custom `OPENAI_BASE_URL`.
11
+ - Mistral: Bump required version of `mistralai` package to 1.5 (required for `working_limit`).
12
+ - Truncate tracebacks included in evaluation log to a maximum of 1MB.
13
+ - Compatiblity with textual version 2.0 (remove upper bound).
14
+ - Align with HF datasets `fsspec` version contraints to avoid pip errors when installing alongside `datasets`.
15
+ - Bugfix: Fix issue with tools that had an ordinary `dict` as a parameter.
16
+ - Bugfix: Print the correct container `sample_id` for `--no-sandbox-cleanup`.
17
+
1
18
  ## v0.3.69 (20 February 2025)
2
19
 
3
20
  - Google provider updated to use the [Google Gen AI SDK](https://googleapis.github.io/python-genai/), which is now the recommended API for Gemini 2.0 models.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: inspect_ai
3
- Version: 0.3.69
3
+ Version: 0.3.70
4
4
  Summary: Framework for large language model evaluations
5
5
  Author: UK AI Security Institute
6
6
  License: MIT License
@@ -26,7 +26,7 @@ Requires-Dist: beautifulsoup4
26
26
  Requires-Dist: click>=8.1.3
27
27
  Requires-Dist: debugpy
28
28
  Requires-Dist: docstring-parser>=0.16
29
- Requires-Dist: fsspec>=2021.09.0
29
+ Requires-Dist: fsspec<=2024.12.0,>=2023.1.0
30
30
  Requires-Dist: httpx
31
31
  Requires-Dist: ijson>=3.2.0
32
32
  Requires-Dist: jsonlines>=3.0.0
@@ -45,7 +45,7 @@ Requires-Dist: s3fs>=2023
45
45
  Requires-Dist: semver>=3.0.0
46
46
  Requires-Dist: shortuuid
47
47
  Requires-Dist: tenacity
48
- Requires-Dist: textual<=1.0.0,>=0.86.2
48
+ Requires-Dist: textual>=0.86.2
49
49
  Requires-Dist: typing_extensions>=4.9.0
50
50
  Requires-Dist: zipp>=3.19.1
51
51
  Provides-Extra: dev
@@ -32,7 +32,7 @@ The `basic_agent()`provides a ReAct tool loop with support for retries and encou
32
32
 
33
33
  The basic agent incorporates best practices for giving models some additional resilience and persistence, both through the optional `max_attempts` parameter, as well as by continuing the task even when the model stops making tool calls. The basic agent can frequently match or exceed custom scaffolds, so you should always try it as a baseline for your tasks!
34
34
 
35
- Note that when using the basic agent you should *always* set a `message_limit`, `token_limit`, or `time_limit` so that there is some termination point if the model gets off track or stuck in a loop (see [Sample Limits](errors-and-limits.qmd#sample-limits) for additional details).
35
+ Note that when using the basic agent you should *always* set a `message_limit`, `token_limit`, `time_limit`, or `working_limit` so that there is some termination point if the model gets off track or stuck in a loop (see [Sample Limits](errors-and-limits.qmd#sample-limits) for additional details).
36
36
 
37
37
  ### Example
38
38
 
@@ -10,7 +10,9 @@ This article covers various techniques for dealing with unexpected errors and se
10
10
 
11
11
  1. Retrying failed evaluations (while preserving the samples completed during the initial failed run).
12
12
  2. Establishing a threshold (count or percentage) of samples to tolerate errors for before failing an evaluation.
13
- 3. Setting a maximum number of messages in a sample before forcing the model to give up.
13
+ 3. Setting time limits for samples (either running time or more narrowly execution time).
14
+ 4. Setting a maximum number of messages or tokens in a sample before forcing the model to give up.
15
+
14
16
 
15
17
  {{< include _errors_and_retries.md >}}
16
18
 
@@ -91,6 +93,33 @@ inspect eval ctf.py --time-limit 900
91
93
 
92
94
  Appropriate timeouts will vary depending on the nature of your task so please view the above as examples only rather than recommend values.
93
95
 
96
+ ### Working Limit
97
+
98
+ The `working_limit` differs from the `time_limit` in that it measures only the time spent working (as opposed to retrying in response to rate limits or waiting on other shared resources). Here we set an `working_limit` of 10 minutes (10 x 60 seconds) for each sample within a task:
99
+
100
+ ``` python
101
+ @task
102
+ def intercode_ctf():
103
+ return Task(
104
+ dataset=read_dataset(),
105
+ solver=[
106
+ system_message("system.txt"),
107
+ use_tools([bash(timeout=3 * 60)]),
108
+ generate(),
109
+ ],
110
+ working_limit=10 * 60,
111
+ scorer=includes(),
112
+ sandbox="docker",
113
+ )
114
+ ```
115
+
116
+ Working time is computed based on total clock time minus time spent on (a) unsuccessful model generations (e.g. rate limited requests); and (b) waiting on shared resources (e.g. Docker containers or subprocess execution).
117
+
118
+ ::: {.callout-note appearance="simple"}
119
+ In order to distinguish successful generate requests from rate limited and retried requests, Inspect installs hooks into the HTTP client of various model packages. This is not possible for some models (`google`, `vertex`, `azureai`, and `goodfire`), and in these cases the `working_time` will include any internal retries that the model client performs.
120
+ :::
121
+
122
+
94
123
  ### Message Limit
95
124
 
96
125
  Here we set a `message_limit` of 30 for each sample within a task:
@@ -124,7 +124,8 @@ Below are sections for the various categories of options supported by `inspect e
124
124
  | `--no-fail-on-error` | Do not fail the eval if errors occur within samples (instead, continue running other samples) |
125
125
  | `--message-limit` | Limit on total messages used for each sample. |
126
126
  | `--token-limit` | Limit on total tokens used for each sample. |
127
- | `--time-limit` | Limit on total execution time for each sample. |
127
+ | `--time-limit` | Limit on total running time for each sample. |
128
+ | `--working-limit` | Limit on total working time (model generation, tool calls, etc.) for each sample. |
128
129
 
129
130
  ## Eval Logs
130
131
 
@@ -352,6 +352,8 @@ website:
352
352
  href: reference/inspect_ai.log.qmd#modelevent
353
353
  - text: ToolEvent
354
354
  href: reference/inspect_ai.log.qmd#toolevent
355
+ - text: SandboxEvent
356
+ href: reference/inspect_ai.log.qmd#sandboxevent
355
357
  - text: ApprovalEvent
356
358
  href: reference/inspect_ai.log.qmd#approvalevent
357
359
  - text: InputEvent
@@ -46,6 +46,7 @@ title: "inspect_ai.log"
46
46
  ### StoreEvent
47
47
  ### ModelEvent
48
48
  ### ToolEvent
49
+ ### SandboxEvent
49
50
  ### ApprovalEvent
50
51
  ### InputEvent
51
52
  ### StoreEvent
@@ -34,6 +34,7 @@ title: "inspect_ai.util"
34
34
  ### trace_action
35
35
  ### trace_message
36
36
 
37
+
37
38
  ## Sandbox
38
39
 
39
40
  ### sandbox
@@ -41,31 +41,32 @@ For convenience, tasks always define a default solver. That said, it is often de
41
41
 
42
42
  While many tasks can be defined with only a dataset, solver, and scorer, there are lots of other useful `Task` options. We won't describe these options in depth here, but rather provide a list along with links to other sections of the documentation that cover their usage:
43
43
 
44
- +------------------+------------------------------------------------------+-----------------------------------------------------------+
45
- | Option | Description | Docs |
46
- +==================+======================================================+===========================================================+
47
- | `epochs` | Epochs to run for each dataset sample. | [Epochs](scorers.qmd#reducing-epochs) |
48
- +------------------+------------------------------------------------------+-----------------------------------------------------------+
49
- | `config` | Config for model generation. | [Generate Config](options.qmd#model-generation) |
50
- +------------------+------------------------------------------------------+-----------------------------------------------------------+
51
- | `setup` | Setup solver(s) to run prior to the main solver. | [Sample Setup](#setup-parameter) |
52
- +------------------+------------------------------------------------------+-----------------------------------------------------------+
53
- | `sandbox` | Sandbox configuration for un-trusted code execution. | [Sandboxing](sandboxing.qmd) |
54
- +------------------+------------------------------------------------------+-----------------------------------------------------------+
55
- | `approval` | Approval policy for tool calls. | [Tool Approval](approval.qmd) |
56
- +------------------+------------------------------------------------------+-----------------------------------------------------------+
57
- | `metrics` | Metrics to use in place of scorer metrics. | [Scoring Metrics](scorers.qmd#scoring-metrics) |
58
- +------------------+------------------------------------------------------+-----------------------------------------------------------+
59
- | `fail_on_error` | Failure tolerance for samples. | [Sample Failure](errors-and-limits.qmd#failure-threshold) |
60
- +------------------+------------------------------------------------------+-----------------------------------------------------------+
61
- | `message_limit`\ | Limits to apply to sample execution. | [Sample Limits](errors-and-limits.qmd#sample-limits) |
62
- | `token_limit`\ | | |
63
- | `time_limit` | | |
64
- +------------------+------------------------------------------------------+-----------------------------------------------------------+
65
- | `name`\ | Eval log attributes for task. | [Eval Logs](eval-logs.qmd) |
66
- | `version`\ | | |
67
- | `metadata` | | |
68
- +------------------+------------------------------------------------------+-----------------------------------------------------------+
44
+ +-------------------+------------------------------------------------------+-----------------------------------------------------------+
45
+ | Option | Description | Docs |
46
+ +===================+======================================================+===========================================================+
47
+ | `epochs` | Epochs to run for each dataset sample. | [Epochs](scorers.qmd#reducing-epochs) |
48
+ +-------------------+------------------------------------------------------+-----------------------------------------------------------+
49
+ | `config` | Config for model generation. | [Generate Config](options.qmd#model-generation) |
50
+ +-------------------+------------------------------------------------------+-----------------------------------------------------------+
51
+ | `setup` | Setup solver(s) to run prior to the main solver. | [Sample Setup](#setup-parameter) |
52
+ +-------------------+------------------------------------------------------+-----------------------------------------------------------+
53
+ | `sandbox` | Sandbox configuration for un-trusted code execution. | [Sandboxing](sandboxing.qmd) |
54
+ +-------------------+------------------------------------------------------+-----------------------------------------------------------+
55
+ | `approval` | Approval policy for tool calls. | [Tool Approval](approval.qmd) |
56
+ +-------------------+------------------------------------------------------+-----------------------------------------------------------+
57
+ | `metrics` | Metrics to use in place of scorer metrics. | [Scoring Metrics](scorers.qmd#scoring-metrics) |
58
+ +-------------------+------------------------------------------------------+-----------------------------------------------------------+
59
+ | `fail_on_error` | Failure tolerance for samples. | [Sample Failure](errors-and-limits.qmd#failure-threshold) |
60
+ +-------------------+------------------------------------------------------+-----------------------------------------------------------+
61
+ | `message_limit`\ | Limits to apply to sample execution. | [Sample Limits](errors-and-limits.qmd#sample-limits) |
62
+ | `token_limit`\ | | |
63
+ | `time_limit`\ | | |
64
+ | `working_limit` | | |
65
+ +-------------------+------------------------------------------------------+-----------------------------------------------------------+
66
+ | `name`\ | Eval log attributes for task. | [Eval Logs](eval-logs.qmd) |
67
+ | `version`\ | | |
68
+ | `metadata` | | |
69
+ +-------------------+------------------------------------------------------+-----------------------------------------------------------+
69
70
 
70
71
  : {tbl-colwidths=\[25,50,25\]}
71
72
 
@@ -212,7 +213,7 @@ inspect eval ctf.py --solver=ctf_agent -S max_attempts=5
212
213
 
213
214
  Note the use of the `-S` CLI option to pass an alternate value for `max_attempts` to the `ctf_agent()` solver.
214
215
 
215
- ### Setup Parameter
216
+ ### Setup Parameter {#setup-parameter}
216
217
 
217
218
  In some cases, there will be important steps in the setup of a task that *should not be substituted* when another solver is used with the task. For example, you might have a step that does dynamic prompt engineering based on values in the sample `metadata` or you might have a step that initialises resources in a sample's sandbox.
218
219
 
@@ -242,6 +243,26 @@ def ctf(solver: Solver | None = None):
242
243
  )
243
244
  ```
244
245
 
246
+ ## Task Cleanup
247
+
248
+ You can use the `cleanup` parameter for executing code at the end of each sample run. The `cleanup` function is passed the `TaskState` and is called for both successful runs and runs where are exception is thrown. Extending the example from above:
249
+
250
+ ```python
251
+ async def ctf_cleanup(state: TaskState):
252
+ ## perform cleanup
253
+ ...
254
+
255
+ Task(
256
+ dataset=read_dataset(),
257
+ setup=ctf_prompt(),
258
+ solver=solver,
259
+ cleanup=ctf_cleanup,
260
+ scorer=includes()
261
+ )
262
+ ```
263
+
264
+ Note that like solvers, cleanup functions should be `async`.
265
+
245
266
  ## Task Reuse {#task-reuse}
246
267
 
247
268
  The basic mechanism for task re-use is to create flexible and adaptable base `@task` functions (which often have many parameters) and then derive new higher-level tasks from them by creating additional `@task` functions that call the base function.
@@ -4,7 +4,7 @@ beautifulsoup4
4
4
  click>=8.1.3
5
5
  debugpy
6
6
  docstring-parser>=0.16
7
- fsspec>=2021.09.0
7
+ fsspec>=2023.1.0,<=2024.12.0 # align with hf datasets to prevent pip errors
8
8
  httpx
9
9
  ijson>=3.2.0
10
10
  jsonlines>=3.0.0
@@ -23,6 +23,6 @@ s3fs>=2023
23
23
  semver>=3.0.0
24
24
  shortuuid
25
25
  tenacity
26
- textual>=0.86.2,<=1.0.0
26
+ textual>=0.86.2
27
27
  typing_extensions>=4.9.0
28
28
  zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability
@@ -218,9 +218,15 @@ def eval_options(func: Callable[..., Any]) -> Callable[..., click.Context]:
218
218
  @click.option(
219
219
  "--time-limit",
220
220
  type=int,
221
- help="Limit on total execution time for each sample.",
221
+ help="Limit on total running time for each sample.",
222
222
  envvar="INSPECT_EVAL_TIME_LIMIT",
223
223
  )
224
+ @click.option(
225
+ "--working-limit",
226
+ type=int,
227
+ help="Limit on total working time (e.g. model generation, tool calls, etc.) for each sample.",
228
+ envvar="INSPECT_EVAL_WORKING_LIMIT",
229
+ )
224
230
  @click.option(
225
231
  "--fail-on-error",
226
232
  type=float,
@@ -468,6 +474,7 @@ def eval_command(
468
474
  message_limit: int | None,
469
475
  token_limit: int | None,
470
476
  time_limit: int | None,
477
+ working_limit: int | None,
471
478
  max_samples: int | None,
472
479
  max_tasks: int | None,
473
480
  max_subprocesses: int | None,
@@ -518,6 +525,7 @@ def eval_command(
518
525
  message_limit=message_limit,
519
526
  token_limit=token_limit,
520
527
  time_limit=time_limit,
528
+ working_limit=working_limit,
521
529
  max_samples=max_samples,
522
530
  max_tasks=max_tasks,
523
531
  max_subprocesses=max_subprocesses,
@@ -629,6 +637,7 @@ def eval_set_command(
629
637
  message_limit: int | None,
630
638
  token_limit: int | None,
631
639
  time_limit: int | None,
640
+ working_limit: int | None,
632
641
  max_samples: int | None,
633
642
  max_tasks: int | None,
634
643
  max_subprocesses: int | None,
@@ -684,6 +693,7 @@ def eval_set_command(
684
693
  message_limit=message_limit,
685
694
  token_limit=token_limit,
686
695
  time_limit=time_limit,
696
+ working_limit=working_limit,
687
697
  max_samples=max_samples,
688
698
  max_tasks=max_tasks,
689
699
  max_subprocesses=max_subprocesses,
@@ -737,6 +747,7 @@ def eval_exec(
737
747
  message_limit: int | None,
738
748
  token_limit: int | None,
739
749
  time_limit: int | None,
750
+ working_limit: int | None,
740
751
  max_samples: int | None,
741
752
  max_tasks: int | None,
742
753
  max_subprocesses: int | None,
@@ -817,6 +828,7 @@ def eval_exec(
817
828
  message_limit=message_limit,
818
829
  token_limit=token_limit,
819
830
  time_limit=time_limit,
831
+ working_limit=working_limit,
820
832
  max_samples=max_samples,
821
833
  max_tasks=max_tasks,
822
834
  max_subprocesses=max_subprocesses,
@@ -185,7 +185,8 @@ class TaskScreenApp(App[TR]):
185
185
  # force repaint
186
186
  self.refresh(repaint=True)
187
187
 
188
- # enable mouse support (this broke in textual 2.0 when running in VS Code)
188
+ # enable mouse support (this broke in textual 2.0 when running in VS Code
189
+ # however is fixed in textual 2.1)
189
190
  assert self.app._driver
190
191
  textual_enable_mouse_support(self.app._driver)
191
192
 
@@ -315,7 +316,7 @@ class TaskScreenApp(App[TR]):
315
316
 
316
317
  def set_unread(unread: int | None) -> None:
317
318
  if unread is not None:
318
- console_tab.label = f"Console ({unread}" # type: ignore[assignment]
319
+ console_tab.label = f"Console ({unread})" # type: ignore[assignment]
319
320
  else:
320
321
  console_tab.label = "Console" # type: ignore[assignment]
321
322
 
@@ -39,7 +39,7 @@ class SamplesView(Widget):
39
39
  padding: 0 1 0 1;
40
40
  layout: grid;
41
41
  grid-size: 2 3;
42
- grid-rows: auto 1fr auto;
42
+ grid-rows: auto 1fr 3;
43
43
  grid-columns: 32 1fr;
44
44
  grid-gutter: 1;
45
45
  }
@@ -141,8 +141,8 @@ class SamplesList(OptionList):
141
141
  if highlighted_sample and (highlighted_sample not in self.samples):
142
142
  self.samples.append(highlighted_sample)
143
143
 
144
- # sort the samples by execution time
145
- self.samples.sort(key=lambda sample: sample.execution_time, reverse=True)
144
+ # sort the samples by running time
145
+ self.samples.sort(key=lambda sample: sample.running_time, reverse=True)
146
146
 
147
147
  # rebuild the list
148
148
  self.clear_options()
@@ -154,9 +154,7 @@ class SamplesList(OptionList):
154
154
  table.add_column(width=1)
155
155
  task_name = Text.from_markup(f"{registry_unqualified_name(sample.task)}")
156
156
  task_name.truncate(18, overflow="ellipsis", pad=True)
157
- task_time = Text.from_markup(
158
- f"{format_progress_time(sample.execution_time)}"
159
- )
157
+ task_time = Text.from_markup(f"{format_progress_time(sample.running_time)}")
160
158
  table.add_row(task_name, task_time, " ")
161
159
  sample_id = Text.from_markup(f"id: {sample.sample.id}")
162
160
  sample_id.truncate(18, overflow="ellipsis", pad=True)
@@ -423,10 +421,6 @@ class SampleToolbar(Horizontal):
423
421
  CANCEL_DISABLED = "Cancelling sample..."
424
422
 
425
423
  DEFAULT_CSS = f"""
426
- SampleToolbar {{
427
- grid-size: 5 1;
428
- grid-columns: auto auto 1fr auto auto;
429
- }}
430
424
  SampleToolbar #{STATUS_GROUP} {{
431
425
  width: 22;
432
426
  }}
@@ -193,16 +193,29 @@ def render_model_event(event: ModelEvent) -> EventDisplay:
193
193
  return EventDisplay(f"model: {event.model}", Group(*content))
194
194
 
195
195
 
196
- def render_tool_event(event: ToolEvent) -> list[EventDisplay]:
197
- # render sub-events
198
- display: list[EventDisplay] = []
199
- if event.events:
200
- for e in event.events:
201
- display.extend(render_event(e) or [])
196
+ def render_sub_events(events: list[Event]) -> list[RenderableType]:
197
+ content: list[RenderableType] = []
198
+ for e in events:
199
+ event_displays = render_event(e) or []
200
+ for d in event_displays:
201
+ if d.content:
202
+ content.append(Text(" "))
203
+ content.append(transcript_separator(d.title, "black", "··"))
204
+ if isinstance(d.content, Markdown):
205
+ set_transcript_markdown_options(d.content)
206
+ content.append(d.content)
207
+
208
+ return content
209
+
202
210
 
211
+ def render_tool_event(event: ToolEvent) -> list[EventDisplay]:
203
212
  # render the call
204
213
  content = transcript_tool_call(event)
205
214
 
215
+ # render sub-events
216
+ if event.events:
217
+ content.extend(render_sub_events(event.events))
218
+
206
219
  # render the output
207
220
  if isinstance(event.result, list):
208
221
  result: ToolResult = "\n".join(
@@ -220,7 +233,7 @@ def render_tool_event(event: ToolEvent) -> list[EventDisplay]:
220
233
  result = str(result).strip()
221
234
  content.extend(lines_display(result, 50))
222
235
 
223
- return display + [EventDisplay("tool call", Group(*content))]
236
+ return [EventDisplay("tool call", Group(*content))]
224
237
 
225
238
 
226
239
  def render_step_event(event: StepEvent) -> EventDisplay:
@@ -257,13 +270,13 @@ def render_score_event(event: ScoreEvent) -> EventDisplay:
257
270
 
258
271
 
259
272
  def render_subtask_event(event: SubtaskEvent) -> list[EventDisplay]:
273
+ # render header
274
+ content: list[RenderableType] = [transcript_function(event.name, event.input)]
275
+
260
276
  # render sub-events
261
- display: list[EventDisplay] = []
262
277
  if event.events:
263
- for e in event.events:
264
- display.extend(render_event(e) or [])
278
+ content.extend(render_sub_events(event.events))
265
279
 
266
- content: list[RenderableType] = [transcript_function(event.name, event.input)]
267
280
  if event.result:
268
281
  content.append(Text())
269
282
  if isinstance(event.result, str | int | float | bool | None):
@@ -271,7 +284,7 @@ def render_subtask_event(event: SubtaskEvent) -> list[EventDisplay]:
271
284
  else:
272
285
  content.append(render_as_json(event.result))
273
286
 
274
- return display + [EventDisplay(f"subtask: {event.name}", Group(*content))]
287
+ return [EventDisplay(f"subtask: {event.name}", Group(*content))]
275
288
 
276
289
 
277
290
  def render_input_event(event: InputEvent) -> EventDisplay:
@@ -75,6 +75,7 @@ def eval(
75
75
  message_limit: int | None = None,
76
76
  token_limit: int | None = None,
77
77
  time_limit: int | None = None,
78
+ working_limit: int | None = None,
78
79
  max_samples: int | None = None,
79
80
  max_tasks: int | None = None,
80
81
  max_subprocesses: int | None = None,
@@ -132,7 +133,10 @@ def eval(
132
133
  so they can be debugged (defaults to False).
133
134
  message_limit: Limit on total messages used for each sample.
134
135
  token_limit: Limit on total tokens used for each sample.
135
- time_limit: Limit on time (in seconds) for execution of each sample.
136
+ time_limit: Limit on clock time (in seconds) for samples.
137
+ working_limit: Limit on working time (in seconds) for sample. Working
138
+ time includes model generation, tool calls, etc. but does not include
139
+ time spent waiting on retries or shared resources.
136
140
  max_samples: Maximum number of samples to run in parallel
137
141
  (default is max_connections)
138
142
  max_tasks: Maximum number of tasks to run in parallel
@@ -186,6 +190,7 @@ def eval(
186
190
  message_limit=message_limit,
187
191
  token_limit=token_limit,
188
192
  time_limit=time_limit,
193
+ working_limit=working_limit,
189
194
  max_samples=max_samples,
190
195
  max_tasks=max_tasks,
191
196
  max_subprocesses=max_subprocesses,
@@ -227,6 +232,7 @@ async def eval_async(
227
232
  message_limit: int | None = None,
228
233
  token_limit: int | None = None,
229
234
  time_limit: int | None = None,
235
+ working_limit: int | None = None,
230
236
  max_samples: int | None = None,
231
237
  max_tasks: int | None = None,
232
238
  max_subprocesses: int | None = None,
@@ -281,7 +287,10 @@ async def eval_async(
281
287
  so they can be debugged (defaults to False).
282
288
  message_limit (int | None): Limit on total messages used for each sample.
283
289
  token_limit (int | None): Limit on total tokens used for each sample.
284
- time_limit (int | None): Limit on time (in seconds) for execution of each sample.
290
+ time_limit: Limit on clock time (in seconds) for samples.
291
+ working_limit: Limit on working time (in seconds) for sample. Working
292
+ time includes model generation, tool calls, etc. but does not include
293
+ time spent waiting on retries or shared resources.
285
294
  max_samples (int | None): Maximum number of samples to run in parallel
286
295
  (default is max_connections)
287
296
  max_tasks (int | None): Maximum number of tasks to run in parallel
@@ -395,6 +404,7 @@ async def eval_async(
395
404
  message_limit=message_limit,
396
405
  token_limit=token_limit,
397
406
  time_limit=time_limit,
407
+ working_limit=working_limit,
398
408
  max_samples=max_samples,
399
409
  max_tasks=max_tasks,
400
410
  max_subprocesses=max_subprocesses,
@@ -702,6 +712,7 @@ async def eval_retry_async(
702
712
  message_limit = eval_log.eval.config.message_limit
703
713
  token_limit = eval_log.eval.config.token_limit
704
714
  time_limit = eval_log.eval.config.time_limit
715
+ working_limit = eval_log.eval.config.working_limit
705
716
  max_samples = max_samples or eval_log.eval.config.max_samples
706
717
  max_tasks = max_tasks or eval_log.eval.config.max_tasks
707
718
  max_subprocesses = max_subprocesses or eval_log.eval.config.max_subprocesses
@@ -763,6 +774,7 @@ async def eval_retry_async(
763
774
  message_limit=message_limit,
764
775
  token_limit=token_limit,
765
776
  time_limit=time_limit,
777
+ working_limit=working_limit,
766
778
  max_samples=max_samples,
767
779
  max_tasks=max_tasks,
768
780
  max_subprocesses=max_subprocesses,
@@ -79,6 +79,7 @@ def eval_set(
79
79
  message_limit: int | None = None,
80
80
  token_limit: int | None = None,
81
81
  time_limit: int | None = None,
82
+ working_limit: int | None = None,
82
83
  max_samples: int | None = None,
83
84
  max_tasks: int | None = None,
84
85
  max_subprocesses: int | None = None,
@@ -146,7 +147,10 @@ def eval_set(
146
147
  so they can be debugged (defaults to False).
147
148
  message_limit: Limit on total messages used for each sample.
148
149
  token_limit: Limit on total tokens used for each sample.
149
- time_limit: Limit on time (in seconds) for execution of each sample.
150
+ time_limit: Limit on clock time (in seconds) for samples.
151
+ working_limit: Limit on working time (in seconds) for sample. Working
152
+ time includes model generation, tool calls, etc. but does not include
153
+ time spent waiting on retries or shared resources.
150
154
  max_samples: Maximum number of samples to run in parallel
151
155
  (default is max_connections)
152
156
  max_tasks: Maximum number of tasks to run in parallel
@@ -202,6 +206,7 @@ def eval_set(
202
206
  message_limit=message_limit,
203
207
  token_limit=token_limit,
204
208
  time_limit=time_limit,
209
+ working_limit=working_limit,
205
210
  max_samples=max_samples,
206
211
  max_tasks=max_tasks,
207
212
  max_subprocesses=max_subprocesses,
@@ -163,6 +163,12 @@ async def eval_run(
163
163
  else:
164
164
  task.time_limit = task_eval_config.time_limit
165
165
 
166
+ # sample execution limit
167
+ if task_eval_config.working_limit is None:
168
+ task_eval_config.working_limit = task.working_limit
169
+ else:
170
+ task.working_limit = task_eval_config.working_limit
171
+
166
172
  # fail_on_error
167
173
  if task_eval_config.fail_on_error is None:
168
174
  task_eval_config.fail_on_error = task.fail_on_error