inspect-ai 0.3.65__py3-none-any.whl → 0.3.67__py3-none-any.whl

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 (46) hide show
  1. inspect_ai/_display/core/config.py +4 -0
  2. inspect_ai/_display/textual/app.py +13 -5
  3. inspect_ai/_display/textual/widgets/footer.py +2 -2
  4. inspect_ai/_display/textual/widgets/sandbox.py +1 -1
  5. inspect_ai/_display/textual/widgets/task_detail.py +7 -5
  6. inspect_ai/_display/textual/widgets/tasks.py +8 -6
  7. inspect_ai/_display/textual/widgets/transcript.py +1 -1
  8. inspect_ai/_eval/task/run.py +5 -3
  9. inspect_ai/_eval/task/task.py +9 -1
  10. inspect_ai/_util/format.py +58 -0
  11. inspect_ai/_view/www/dist/assets/index.css +29 -9
  12. inspect_ai/_view/www/dist/assets/index.js +368 -304
  13. inspect_ai/_view/www/src/samples/error/FlatSampleErrorView.tsx +1 -1
  14. inspect_ai/_view/www/src/samples/sample-tools/filters.ts +41 -20
  15. inspect_ai/_view/www/src/samples/sample-tools/sample-filter/SampleFilter.tsx +2 -1
  16. inspect_ai/_view/www/src/samples/sample-tools/sample-filter/completions.ts +28 -6
  17. inspect_ai/_view/www/src/samples/sample-tools/sample-filter/language.ts +5 -0
  18. inspect_ai/_view/www/src/samples/transcript/LoggerEventView.tsx +1 -3
  19. inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.tsx +31 -16
  20. inspect_ai/_view/www/src/samples/transcript/TranscriptView.tsx +4 -1
  21. inspect_ai/_view/www/src/workspace/navbar/StatusPanel.module.css +1 -0
  22. inspect_ai/_view/www/src/workspace/navbar/StatusPanel.tsx +2 -2
  23. inspect_ai/model/_model.py +89 -2
  24. inspect_ai/model/_providers/anthropic.py +4 -0
  25. inspect_ai/model/_providers/azureai.py +5 -0
  26. inspect_ai/model/_providers/bedrock.py +5 -0
  27. inspect_ai/model/_providers/cloudflare.py +4 -0
  28. inspect_ai/model/_providers/goodfire.py +5 -0
  29. inspect_ai/model/_providers/google.py +16 -3
  30. inspect_ai/model/_providers/groq.py +4 -0
  31. inspect_ai/model/_providers/hf.py +7 -0
  32. inspect_ai/model/_providers/mistral.py +4 -0
  33. inspect_ai/model/_providers/openai.py +4 -0
  34. inspect_ai/model/_providers/vertex.py +5 -0
  35. inspect_ai/model/_providers/vllm.py +7 -0
  36. inspect_ai/solver/__init__.py +8 -1
  37. inspect_ai/solver/_human_agent/panel.py +11 -5
  38. inspect_ai/solver/_prompt.py +38 -5
  39. inspect_ai/util/_sandbox/docker/config.py +4 -1
  40. inspect_ai/util/_sandbox/docker/util.py +2 -1
  41. {inspect_ai-0.3.65.dist-info → inspect_ai-0.3.67.dist-info}/METADATA +3 -2
  42. {inspect_ai-0.3.65.dist-info → inspect_ai-0.3.67.dist-info}/RECORD +46 -46
  43. {inspect_ai-0.3.65.dist-info → inspect_ai-0.3.67.dist-info}/LICENSE +0 -0
  44. {inspect_ai-0.3.65.dist-info → inspect_ai-0.3.67.dist-info}/WHEEL +0 -0
  45. {inspect_ai-0.3.65.dist-info → inspect_ai-0.3.67.dist-info}/entry_points.txt +0 -0
  46. {inspect_ai-0.3.65.dist-info → inspect_ai-0.3.67.dist-info}/top_level.txt +0 -0
@@ -152,6 +152,10 @@ class OpenAIAPI(ModelAPI):
152
152
  def is_gpt(self) -> bool:
153
153
  return is_gpt(self.model_name)
154
154
 
155
+ @override
156
+ async def close(self) -> None:
157
+ await self.client.close()
158
+
155
159
  async def generate(
156
160
  self,
157
161
  input: list[ChatMessage],
@@ -109,6 +109,11 @@ class VertexAPI(ModelAPI):
109
109
 
110
110
  self.model = GenerativeModel(model_name)
111
111
 
112
+ @override
113
+ async def close(self) -> None:
114
+ # GenerativeModel uses a cached/shared client so there is no 'close'
115
+ pass
116
+
112
117
  async def generate(
113
118
  self,
114
119
  input: list[ChatMessage],
@@ -1,5 +1,6 @@
1
1
  import asyncio
2
2
  import functools
3
+ import gc
3
4
  import os
4
5
  from dataclasses import dataclass
5
6
  from queue import Empty, Queue
@@ -131,6 +132,12 @@ class VLLMAPI(ModelAPI):
131
132
  # we get the tokenizer so we can use it to apply the model's chat template later
132
133
  self.tokenizer = self.model.get_tokenizer()
133
134
 
135
+ @override
136
+ async def close(self) -> None:
137
+ self.tokenizer = None
138
+ self.model = None
139
+ gc.collect()
140
+
134
141
  def apply_chat_template(
135
142
  self, messages: list[ChatMessage], tools: list[ToolInfo]
136
143
  ) -> str:
@@ -9,7 +9,13 @@ from ._human_agent.agent import human_agent
9
9
  from ._limit import SampleLimitExceededError
10
10
  from ._multiple_choice import MultipleChoiceTemplate, multiple_choice
11
11
  from ._plan import Plan, plan
12
- from ._prompt import chain_of_thought, prompt_template, system_message, user_message
12
+ from ._prompt import (
13
+ assistant_message,
14
+ chain_of_thought,
15
+ prompt_template,
16
+ system_message,
17
+ user_message,
18
+ )
13
19
  from ._solver import Generate, Solver, SolverSpec, generate, solver
14
20
  from ._task_state import Choice, Choices, TaskState
15
21
  from ._use_tools import use_tools
@@ -26,6 +32,7 @@ __all__ = [
26
32
  "multiple_choice",
27
33
  "system_message",
28
34
  "user_message",
35
+ "assistant_message",
29
36
  "self_critique",
30
37
  "use_tools",
31
38
  "plan",
@@ -83,7 +83,9 @@ class HumanAgentPanel(InputPanel):
83
83
  with VerticalScroll(id=self.SANDBOX_VIEW_ID):
84
84
  yield StatusBar()
85
85
  yield Static(
86
- id=self.SANDBOX_INSTRUCTIONS_ID, classes=self.INSTRUCTIONS_CLASS
86
+ id=self.SANDBOX_INSTRUCTIONS_ID,
87
+ classes=self.INSTRUCTIONS_CLASS,
88
+ markup=False,
87
89
  )
88
90
  with Horizontal(id=self.VSCODE_LINKS_ID):
89
91
  yield Label("Login:", classes=self.LINK_LABEL_CLASS)
@@ -97,9 +99,11 @@ class HumanAgentPanel(InputPanel):
97
99
  id=self.LOGIN_VSCODE_TERMINAL_ID,
98
100
  )
99
101
  yield Static(
100
- id=self.COMMAND_INSTRUCTIONS_ID, classes=self.INSTRUCTIONS_CLASS
102
+ id=self.COMMAND_INSTRUCTIONS_ID,
103
+ classes=self.INSTRUCTIONS_CLASS,
104
+ markup=False,
101
105
  )
102
- yield Static(id=self.SANDBOX_COMMAND_ID)
106
+ yield Static(id=self.SANDBOX_COMMAND_ID, markup=False)
103
107
 
104
108
  def watch_connection(self, connection: SandboxConnection | None) -> None:
105
109
  if connection:
@@ -200,9 +204,11 @@ class StatusBar(Horizontal):
200
204
 
201
205
  def compose(self) -> ComposeResult:
202
206
  yield Label("Status:", classes=self.LABEL_CLASS)
203
- yield Static("Running", id=self.STATUS_ID, classes=self.VALUE_CLASS)
207
+ yield Static(
208
+ "Running", id=self.STATUS_ID, classes=self.VALUE_CLASS, markup=False
209
+ )
204
210
  yield Label(" Time:", classes=self.LABEL_CLASS)
205
- yield Static("0:00:00", id=self.TIME_ID, classes=self.VALUE_CLASS)
211
+ yield Static("0:00:00", id=self.TIME_ID, classes=self.VALUE_CLASS, markup=False)
206
212
 
207
213
  def watch_running(self, running: bool) -> None:
208
214
  cast(Static, self.query_one(f"#{self.STATUS_ID}")).update(
@@ -1,8 +1,12 @@
1
1
  from typing import Any
2
2
 
3
3
  from inspect_ai._util.dict import omit
4
- from inspect_ai.model import ChatMessageSystem
5
- from inspect_ai.model._chat_message import ChatMessageUser
4
+ from inspect_ai._util.format import format_template
5
+ from inspect_ai.model._chat_message import (
6
+ ChatMessageAssistant,
7
+ ChatMessageSystem,
8
+ ChatMessageUser,
9
+ )
6
10
  from inspect_ai.util import resource
7
11
 
8
12
  from ._solver import Generate, Solver, solver
@@ -32,7 +36,7 @@ def prompt_template(template: str, **params: Any) -> Solver:
32
36
  async def solve(state: TaskState, generate: Generate) -> TaskState:
33
37
  prompt = state.user_prompt
34
38
  kwargs = omit(state.metadata | state.store._data, ["prompt"]) | params
35
- prompt.text = prompt_template.format(prompt=prompt.text, **kwargs)
39
+ prompt.text = format_template(prompt_template, {"prompt": prompt.text} | kwargs)
36
40
  return state
37
41
 
38
42
  return solve
@@ -63,7 +67,7 @@ def system_message(template: str, **params: Any) -> Solver:
63
67
  async def solve(state: TaskState, generate: Generate) -> TaskState:
64
68
  kwargs = state.metadata | state.store._data | params
65
69
  append_system_message(
66
- state.messages, ChatMessageSystem(content=content.format(**kwargs))
70
+ state.messages, ChatMessageSystem(content=format_template(content, kwargs))
67
71
  )
68
72
  return state
69
73
 
@@ -91,7 +95,36 @@ def user_message(template: str, **params: Any) -> Solver:
91
95
 
92
96
  async def solve(state: TaskState, generate: Generate) -> TaskState:
93
97
  kwargs = state.metadata | state.store._data | params
94
- state.messages.append(ChatMessageUser(content=content.format(**kwargs)))
98
+ state.messages.append(ChatMessageUser(content=format_template(content, kwargs)))
99
+ return state
100
+
101
+ return solve
102
+
103
+
104
+ @solver
105
+ def assistant_message(template: str, **params: Any) -> Solver:
106
+ """Solver which inserts an assistant message into the conversation.
107
+
108
+ Assistant message template containing any number of optional `params`.
109
+ for substitution using the `str.format()` method. All values
110
+ contained in sample `metadata` and `store` are also automatically
111
+ included in the `params`.
112
+
113
+ Args:
114
+ template: Template for assistant message.
115
+ **params: Parameters to fill into the template.
116
+
117
+ Returns:
118
+ A solver that inserts the parameterised assistant message.
119
+ """
120
+ # read template
121
+ content = resource(template)
122
+
123
+ async def solve(state: TaskState, generate: Generate) -> TaskState:
124
+ kwargs = state.metadata | state.store._data | params
125
+ state.messages.append(
126
+ ChatMessageAssistant(content=format_template(content, kwargs))
127
+ )
95
128
  return state
96
129
 
97
130
  return solve
@@ -27,7 +27,9 @@ def resolve_compose_file(parent: str = "") -> str:
27
27
 
28
28
  # dockerfile just needs a compose.yaml synthesized
29
29
  elif has_dockerfile(parent):
30
- return auto_compose_file(COMPOSE_DOCKERFILE_YAML, parent)
30
+ return auto_compose_file(
31
+ COMPOSE_DOCKERFILE_YAML.format(dockerfile=DOCKERFILE), parent
32
+ )
31
33
 
32
34
  # otherwise provide a generic python container
33
35
  else:
@@ -92,6 +94,7 @@ services:
92
94
  default:
93
95
  build:
94
96
  context: "."
97
+ dockerfile: "{{dockerfile}}"
95
98
  command: "tail -f /dev/null"
96
99
  init: true
97
100
  network_mode: none
@@ -40,7 +40,8 @@ class ComposeProject:
40
40
  # if its a Dockerfile, then config is the auto-generated .compose.yaml
41
41
  if config_path and is_dockerfile(config_path.name):
42
42
  config = auto_compose_file(
43
- COMPOSE_DOCKERFILE_YAML, config_path.parent.as_posix()
43
+ COMPOSE_DOCKERFILE_YAML.format(dockerfile=config_path.name),
44
+ config_path.parent.as_posix(),
44
45
  )
45
46
 
46
47
  # if its another config file, just take its path
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: inspect_ai
3
- Version: 0.3.65
3
+ Version: 0.3.67
4
4
  Summary: Framework for large language model evaluations
5
5
  Author: UK AI Security Institute
6
6
  License: MIT License
@@ -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>=0.86.2
48
+ Requires-Dist: textual==1.0.0
49
49
  Requires-Dist: typing_extensions>=4.9.0
50
50
  Requires-Dist: zipp>=3.19.1
51
51
  Provides-Extra: dev
@@ -63,6 +63,7 @@ Requires-Dist: moto[server]; extra == "dev"
63
63
  Requires-Dist: mypy; extra == "dev"
64
64
  Requires-Dist: nbformat; extra == "dev"
65
65
  Requires-Dist: openai; extra == "dev"
66
+ Requires-Dist: pip; extra == "dev"
66
67
  Requires-Dist: pre-commit; extra == "dev"
67
68
  Requires-Dist: pylint; extra == "dev"
68
69
  Requires-Dist: pytest; extra == "dev"
@@ -15,7 +15,7 @@ inspect_ai/_cli/util.py,sha256=rOyKR5p08-04IwJdcjakNXD1Gm-dGFtzaTTx7hyArPE,1402
15
15
  inspect_ai/_cli/view.py,sha256=QIL6QP0rJS5kcUzpIqKZMylx-zLAW2JXtjXoNjtxkHo,3113
16
16
  inspect_ai/_display/__init__.py,sha256=t9Xj8FbxvdBNsalnr16U0r3jSTFX9w4yXcUJwb06_6k,405
17
17
  inspect_ai/_display/core/active.py,sha256=6Z0-_6nduUp3UkGLbfYvrvgVVcnYdWLRkpvPOKZ_y5s,1259
18
- inspect_ai/_display/core/config.py,sha256=SuzdFbLTNy6BZYqpx3ZcCuWa0PYXGim4zWx2-JQdqLU,1961
18
+ inspect_ai/_display/core/config.py,sha256=aUpPJ86w_vBT50b2yROnsU8rTEcK4445Ru4LFvcPkUM,2148
19
19
  inspect_ai/_display/core/display.py,sha256=zgpNSU39pITyM_Xa41FsGIY5a4JtZbv7bDy7hjmJCM8,3057
20
20
  inspect_ai/_display/core/footer.py,sha256=wMe4P-4Bhx4WV01dUW12o9-KBAoD2CSCvWZ-9_CMSNU,805
21
21
  inspect_ai/_display/core/group.py,sha256=z8CIwQ-8Mm9adQ8JDuMjw94ih9GfymU5s-1qnbKoEPs,2871
@@ -28,21 +28,21 @@ inspect_ai/_display/plain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
28
28
  inspect_ai/_display/plain/display.py,sha256=fGITQj6w4-2A4zNMKFW32wdyVB5JpK-LsXMbFckzXTA,6743
29
29
  inspect_ai/_display/rich/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
30
  inspect_ai/_display/rich/display.py,sha256=ecEcahmRJirrYOorcVGuH7Qeyj0NdhsByMxasTxMpFc,10902
31
- inspect_ai/_display/textual/app.py,sha256=Ct9aAKw6vFIni5kyOWu0Fd70Sw3xB1pVaMriNEBu3UA,16021
31
+ inspect_ai/_display/textual/app.py,sha256=PyDkwzyEHLjObvwB3PtPlP0CSU9L7frYb1eoQ5MhnR0,15991
32
32
  inspect_ai/_display/textual/app.tcss,sha256=ymx47Y2fAbce4vPOrpeij1p9qwSipT7Dd6fSxCTknT8,249
33
33
  inspect_ai/_display/textual/display.py,sha256=zTG8k67iT-xq1H8CVwtqZdvuo_O2hsgh4q4y8EKRkf8,2027
34
34
  inspect_ai/_display/textual/theme.py,sha256=SVf2UhQVuEOzzNx1Pl2bqLrofw13ykQKAVnevUpJBYs,588
35
35
  inspect_ai/_display/textual/widgets/clock.py,sha256=pxXQOtadf6qdNMLQh_D3bx3SIPoBGcKev_etZ69ZRUE,1614
36
36
  inspect_ai/_display/textual/widgets/console.py,sha256=lp5lbT9erPjxE1NWzvuJ5Bj8mN2ZZSBTgKQWHinMKgA,1590
37
- inspect_ai/_display/textual/widgets/footer.py,sha256=_4Dlzp9kriUVELBEk6HQzgiwLigHe5mH0dZqWr6sGi4,1078
37
+ inspect_ai/_display/textual/widgets/footer.py,sha256=_l9BgJWXX_vXO2qrSIkeUPZzniYHa0qXaiSiy6479Tg,1106
38
38
  inspect_ai/_display/textual/widgets/port_mappings.py,sha256=mxQJGYeZh1aXNmW5z-Ukss7Zwul5qfH5CqtvTLl0BAU,2974
39
39
  inspect_ai/_display/textual/widgets/samples.py,sha256=rBaBP__MbKEX18B00nQCiLrWO9MmtSn0arh-zL90c8I,18206
40
- inspect_ai/_display/textual/widgets/sandbox.py,sha256=VRdC1NGKfog2gXz8a8aCIaXgPDVewW9CuoC-k0LUXfY,1132
41
- inspect_ai/_display/textual/widgets/task_detail.py,sha256=UCxQZkKrG6ILacuPpiJaoElezqJNb0njPWPA4IuNVDo,8289
42
- inspect_ai/_display/textual/widgets/tasks.py,sha256=Ari4-lsqPVsvAk4ZjdsnbO3l0JBmlifrbT9D7ykoUFA,11175
40
+ inspect_ai/_display/textual/widgets/sandbox.py,sha256=_Ivpba2oIxs_Lw2Pic7BRoHeVu9ibaGPFhiyfzbcc9E,1146
41
+ inspect_ai/_display/textual/widgets/task_detail.py,sha256=aaI626vbvieGbZtOKWmnaNWLivFMjnlDt4oqeTmKEZg,8389
42
+ inspect_ai/_display/textual/widgets/tasks.py,sha256=2cqYJ3PGn4F-riSdB3Fp1H5YCWQ-PVh7L8OrLCPSiso,11283
43
43
  inspect_ai/_display/textual/widgets/titlebar.py,sha256=Gh_vnsco_1lStPb34TXM9MZJffjy83-1ekoRzUQF_6w,2144
44
44
  inspect_ai/_display/textual/widgets/toggle.py,sha256=ToYs-S4n90yuxWcAW2OTg6AbRf0GhSz61XxfhE6XZ3Y,895
45
- inspect_ai/_display/textual/widgets/transcript.py,sha256=3JbnqkPD6NyCBlD3F232DpNXHgerQkVkci3Yd0Ks6rE,11124
45
+ inspect_ai/_display/textual/widgets/transcript.py,sha256=KrDwl5SYMGyIFWvLQQ8Yh_-BAbKdZjxIWqkvPBb-KSI,11138
46
46
  inspect_ai/_eval/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
47
  inspect_ai/_eval/context.py,sha256=WHXM4IdkPD2edp58qCUjzpFguPDM_RcoqTJdRGccdDE,1344
48
48
  inspect_ai/_eval/eval.py,sha256=kAOFSMid3FJDXVuqRGPnORcx78nq6GqJDH_UF4ESgEA,36667
@@ -60,10 +60,10 @@ inspect_ai/_eval/task/generate.py,sha256=lm066fbZOX7o3NB57rbwwec-ZaIFE745fiuacPC
60
60
  inspect_ai/_eval/task/images.py,sha256=Tg3I7d7ThCYP_Lf-H5JA7xH-sH2W-m1c1YfswDwplt4,3949
61
61
  inspect_ai/_eval/task/log.py,sha256=N5FJ8cx_3Y0DFFqd6IgjPnsOWixx6Hvc-Dc_1WEVSeY,9617
62
62
  inspect_ai/_eval/task/results.py,sha256=x4weYRK2XGowfBG3f2msOeZQ_pxh230HTlw6kps33jw,17925
63
- inspect_ai/_eval/task/run.py,sha256=cer8kdB0vbKyBR0nUWO8FJCebiMc9N200YE_u91uOxU,35462
63
+ inspect_ai/_eval/task/run.py,sha256=Rek-l7d6mVz1WCdp8VEpUl2e1jA4IaBqcdus5e1Zwjk,35563
64
64
  inspect_ai/_eval/task/rundir.py,sha256=QXetLfqi1lRo-PcIuu7maQpVO57c2ebnsjfZk0lsAFk,2001
65
65
  inspect_ai/_eval/task/sandbox.py,sha256=hNZnk3O80VQjAgy9YzUjjrGKOscSaOY7gZXMMz4tZvw,7183
66
- inspect_ai/_eval/task/task.py,sha256=IQMQOeW9ZD38CTf2U2S8Pf5IErK36VpjiI3_gYO6rfM,14054
66
+ inspect_ai/_eval/task/task.py,sha256=G4M38lvs3yjOWFX3w_q63CpB9R-AnGhjg9A_US7pI-k,14343
67
67
  inspect_ai/_eval/task/util.py,sha256=NG7YzVaiSgiH8xYGT2LeeVfaz4GIhXgXZYnU2SeDCO8,1837
68
68
  inspect_ai/_util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
69
  inspect_ai/_util/_async.py,sha256=K5lVPKwl25JkLkcXfb0m3aZ-RJ4O3fog5HQm5EqbjM4,981
@@ -82,7 +82,7 @@ inspect_ai/_util/entrypoints.py,sha256=FnK32vIRvSFdH80l5H0o6oiJif837oeDrl5N10_P-
82
82
  inspect_ai/_util/environ.py,sha256=lVaAvMyBIAPj4b64Zqhlz-ft35z7j-uPnvEesvL0c4g,618
83
83
  inspect_ai/_util/error.py,sha256=NIYCkOXGMUF1_zSHpeTBKzBb79_llQZvvf0TGYHO57Y,2333
84
84
  inspect_ai/_util/file.py,sha256=hvAqR1WSdZLHP_C8U8LHXmP82rfZBt9Pw9peHKg2fGs,12669
85
- inspect_ai/_util/format.py,sha256=RWmK4JcB7NwRy4rXtUa1JJ52_KhxcvREhMMCFVHvzwQ,1179
85
+ inspect_ai/_util/format.py,sha256=4TQ1FE4-TDNlHcr0r6dfsjv84sV11C9ouTfi55W-yIs,3323
86
86
  inspect_ai/_util/git.py,sha256=nHCtZMLjMyFjSC_9bksBXeFz4xqxZfY6lfXr_qg2n1E,760
87
87
  inspect_ai/_util/hash.py,sha256=Kkfwqy-w5H30qEv6KBbDQDSdyLRQ1_FU2vwktP5aEuQ,314
88
88
  inspect_ai/_util/hooks.py,sha256=8QnHCQQY_2XMYPkiPvixUgFY0E_niZvQhQDMI-eCdhM,4353
@@ -138,8 +138,8 @@ inspect_ai/_view/www/.vscode/extensions.json,sha256=E73RWLzcoyeluE_ijGxaNSOK9xC0
138
138
  inspect_ai/_view/www/.vscode/settings.json,sha256=g5hrVnMaYxM06JpiJD2EuE2xjcbF6xNAtL2fuKgG1-8,200
139
139
  inspect_ai/_view/www/dist/index.html,sha256=gpdu6SR-SOH9EWx15cCWHzujMZujnZR5tRlEfROJg2A,997
140
140
  inspect_ai/_view/www/dist/assets/favicon.svg,sha256=b9AHYZaO2zBzeKH6G4PwXZMGGW_UxY0omKHam-c9MAs,1508
141
- inspect_ai/_view/www/dist/assets/index.css,sha256=LXlByh-4-A1aCndGppGI5pnGE1jiUHayZ9VDuPBarno,893396
142
- inspect_ai/_view/www/dist/assets/index.js,sha256=cB5QrZSKv-815-Xr7xi8MZzkUdvGIFAn1PqtCiZ-X2g,2629550
141
+ inspect_ai/_view/www/dist/assets/index.css,sha256=Igio8rHcaIaA6wnwH3bQhr10yXHD_K9idKsALnb-b7A,893895
142
+ inspect_ai/_view/www/dist/assets/index.js,sha256=74oJ-IiBQ1HnwzGQIlUweY18hYZBbNRhGVJsuyb3_Rc,2631819
143
143
  inspect_ai/_view/www/src/App.tsx,sha256=EvpnQfpWugx4PJivUN8GSUo8RXI4sHAFiIfacVXZ1Z0,28854
144
144
  inspect_ai/_view/www/src/AppErrorBoundary.tsx,sha256=RyhZWbIMZj1QeUOUUXh9hUFvq6LoDEoHuTY0giswmL0,1169
145
145
  inspect_ai/_view/www/src/constants.ts,sha256=UIxGbDscs61CcOQLQiW6MsZAU1uupSYNVLGxx2pp14A,1169
@@ -265,7 +265,7 @@ inspect_ai/_view/www/src/samples/descriptor/score/PassFailScoreDescriptor.module
265
265
  inspect_ai/_view/www/src/samples/descriptor/score/PassFailScoreDescriptor.tsx,sha256=oTVPJGvuyuYVeyCXUWxV2rtp5Q2sapfRSGzazZDPcog,2058
266
266
  inspect_ai/_view/www/src/samples/descriptor/score/ScoreDescriptor.tsx,sha256=Tsw9vB0Cj4VnAajM5RIBbL0BCU2bRYxuuiCz8Ri-I1k,2711
267
267
  inspect_ai/_view/www/src/samples/error/FlatSampleErrorView.module.css,sha256=fbvWr5uM_m3Vsiqs_KMZa2zoUOSDwf328jINqlOUaiA,447
268
- inspect_ai/_view/www/src/samples/error/FlatSampleErrorView.tsx,sha256=JpVDoAlLrtRB2qYrkdfFtVazGDzllQ8m9JI8ztje1f4,595
268
+ inspect_ai/_view/www/src/samples/error/FlatSampleErrorView.tsx,sha256=5-pFNvFqDZdRa5aeZJEj2VmpZgaJtFUYcLTFzNk6I4w,599
269
269
  inspect_ai/_view/www/src/samples/error/SampleErrorView.module.css,sha256=OXmi3sjMLPWZvQXBT9OXB68nkJcackSiHbI5Q2dXAKM,313
270
270
  inspect_ai/_view/www/src/samples/error/SampleErrorView.tsx,sha256=qyd4S5wYCUqRXgEv3aknn9sTpQhNEnM6zWlBC1_UEu0,775
271
271
  inspect_ai/_view/www/src/samples/error/error.ts,sha256=_CVKTrACg18Xbhr7h_AL41RlMCmZ4V2IHLNMu1FtHIc,376
@@ -285,11 +285,11 @@ inspect_ai/_view/www/src/samples/sample-tools/SelectScorer.module.css,sha256=20R
285
285
  inspect_ai/_view/www/src/samples/sample-tools/SelectScorer.tsx,sha256=RncIUfDhrWQOI2jxi2WGijgUaLkheiBnYLdjSInUd34,4300
286
286
  inspect_ai/_view/www/src/samples/sample-tools/SortFilter.module.css,sha256=7uNUEoHtsNxN6P5WFZQvoEzd55n9rsgmfhWCicFh1_c,106
287
287
  inspect_ai/_view/www/src/samples/sample-tools/SortFilter.tsx,sha256=AvK9wcE7O4-q5Z_G-YEsxAprI_tUuqBIgc_KyYCZNYY,4580
288
- inspect_ai/_view/www/src/samples/sample-tools/filters.ts,sha256=5imKiy2FttNtAfzNUwBcHmg7LLITgyFdkzDh1u1TumU,8815
288
+ inspect_ai/_view/www/src/samples/sample-tools/filters.ts,sha256=5QiNwaZOuYSZKGOn0XeRYvWyLB7AM3lbMnDSkGfgpA4,9529
289
289
  inspect_ai/_view/www/src/samples/sample-tools/sample-filter/SampleFilter.module.css,sha256=PPdynh09MuEz0BMhHSximTj_BLNNAEQQQB8TH4amd3A,199
290
- inspect_ai/_view/www/src/samples/sample-tools/sample-filter/SampleFilter.tsx,sha256=UubcXHmSXCQGr0BsEUpZCEZlGUjNeOFfpQJ0o1He8cw,8266
291
- inspect_ai/_view/www/src/samples/sample-tools/sample-filter/completions.ts,sha256=Spo3X_ImMD5gUGexHWetgr3JlstbQnyYbZ0RNSqsgSI,10547
292
- inspect_ai/_view/www/src/samples/sample-tools/sample-filter/language.ts,sha256=OH0XXl_O2E9Q1MsVR0m9oGfTDVqPzohd9KPALiQGB2U,721
290
+ inspect_ai/_view/www/src/samples/sample-tools/sample-filter/SampleFilter.tsx,sha256=3McvKSdLwzPrEFVe-XD9XvmHOEuWOaakdXNUlmUn76U,8326
291
+ inspect_ai/_view/www/src/samples/sample-tools/sample-filter/completions.ts,sha256=wGpWvlKoyl6xj5giVQwvn4p5pRbM2RRFjWrKQsTmCIE,10931
292
+ inspect_ai/_view/www/src/samples/sample-tools/sample-filter/language.ts,sha256=R4rI9o1T5IFhqLxeq3ivlCFjjP7dTuBZ3FwigDp1L5o,904
293
293
  inspect_ai/_view/www/src/samples/sample-tools/sample-filter/tokenize.ts,sha256=tD45vb1d-8XSV0RmGbdJijk92KuC555ksBsVD43uxCA,2802
294
294
  inspect_ai/_view/www/src/samples/scores/SampleScoreView.module.css,sha256=OJY2qo_1xj7Z4eaeKqxJc0tHDJppTYwfi7MM69U8feI,749
295
295
  inspect_ai/_view/www/src/samples/scores/SampleScoreView.tsx,sha256=uOsYK5aLZ6E_5jFfu05LVMYCacGqEI3LblNcLckGTF4,4880
@@ -301,7 +301,7 @@ inspect_ai/_view/www/src/samples/transcript/InfoEventView.module.css,sha256=UDRm
301
301
  inspect_ai/_view/www/src/samples/transcript/InfoEventView.tsx,sha256=U2Kfx8zB-toNo8nYUK6PWR0p4AIxVcVdgArXlhd6BHE,1590
302
302
  inspect_ai/_view/www/src/samples/transcript/InputEventView.tsx,sha256=OBsut_y_u0HQhHs72OjeopezPiesxuGD_BuwrTWeU10,1323
303
303
  inspect_ai/_view/www/src/samples/transcript/LoggerEventView.module.css,sha256=oMdWBmoTd9l9_9czUSjrIbxp1ycAgZVszBTjpgQWXf0,103
304
- inspect_ai/_view/www/src/samples/transcript/LoggerEventView.tsx,sha256=qKz45QNwyvZ30AGRh1nUOLDMhYmTCoYkRdRcgyDwM8w,980
304
+ inspect_ai/_view/www/src/samples/transcript/LoggerEventView.tsx,sha256=m_LvLXD_MNtu8qhDdSK-wHPwQm98JwHxn2Q4TKhi308,959
305
305
  inspect_ai/_view/www/src/samples/transcript/ModelEventView.module.css,sha256=vdBXWkBdX1RuAFCtve7_fx9ZpqSdXxnQLIfc-MSkyxg,575
306
306
  inspect_ai/_view/www/src/samples/transcript/ModelEventView.tsx,sha256=BEop5JpqUOVYKL6g5886CPDgnRG9T-7vITEtie1UgQM,6022
307
307
  inspect_ai/_view/www/src/samples/transcript/SampleInitEventView.module.css,sha256=kB4a3g7RveznFGsPmQajJRuNWRrpDyK2DgztvUMIYZQ,275
@@ -312,11 +312,11 @@ inspect_ai/_view/www/src/samples/transcript/ScoreEventView.module.css,sha256=YWH
312
312
  inspect_ai/_view/www/src/samples/transcript/ScoreEventView.tsx,sha256=-GABQI9E8aRBssWjnZpH6YX2t49LxDHirmascWd6k1M,3086
313
313
  inspect_ai/_view/www/src/samples/transcript/StepEventView.tsx,sha256=g6T-DE11CcX197uDOq7P9GYVWjbHoLbCkSEMFd7LVFc,4300
314
314
  inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.module.css,sha256=L6u8qUl3_V9cYf36zT1NOvXEJ5dqoO5JlAgoioMguR8,274
315
- inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.tsx,sha256=rB5afhJOw1zS0KIyCtzrKKpKXql7UcYhWFloalQZQms,3671
315
+ inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.tsx,sha256=ZHMx3FfE-ey1EwTY5MS5Cs4U69CDBil1g5FDboDYGBs,4119
316
316
  inspect_ai/_view/www/src/samples/transcript/ToolEventView.module.css,sha256=oCnF6MeppCK58OYVgJafv7WAZCRbKqfuTzOMROKgsTk,112
317
317
  inspect_ai/_view/www/src/samples/transcript/ToolEventView.tsx,sha256=RG-fPaHjcgTCe5yRyjMRBmrENcBeN5QRR6VeIIpyODk,2619
318
318
  inspect_ai/_view/www/src/samples/transcript/TranscriptView.module.css,sha256=zExatTZIn6UEC98D1uNGifN2EJhLF9RyvA0XQxNbwXA,663
319
- inspect_ai/_view/www/src/samples/transcript/TranscriptView.tsx,sha256=tiSAUB3PFglaQ-rsqKIAl3hMZSCOcijkiwYstEu2Slo,10985
319
+ inspect_ai/_view/www/src/samples/transcript/TranscriptView.tsx,sha256=TelVbsN8waIyyImh7BxVfPXdCAQB0J-KWPvx_JZ0tqs,11074
320
320
  inspect_ai/_view/www/src/samples/transcript/types.ts,sha256=Wh20fJ6gBS-1GjAfcfoypqu6-5ZVPG7IxSOFsUT5RZY,1018
321
321
  inspect_ai/_view/www/src/samples/transcript/event/EventNav.module.css,sha256=EV1AcXtub8KD9Ao0iKi9eUc8OwZ2F3aSyWvOHY4PmqY,96
322
322
  inspect_ai/_view/www/src/samples/transcript/event/EventNav.tsx,sha256=uZ0oMAScgZZtjxngIXPMQvnGvtCWNd182aaVywr8y4A,868
@@ -375,8 +375,8 @@ inspect_ai/_view/www/src/workspace/navbar/ResultsPanel.module.css,sha256=-nGcKCV
375
375
  inspect_ai/_view/www/src/workspace/navbar/ResultsPanel.tsx,sha256=vxoJsuK84X5uLLsgsGLPIywUZYYRZkmPnU9wmXMcfKU,4574
376
376
  inspect_ai/_view/www/src/workspace/navbar/SecondaryBar.module.css,sha256=c_nrfkns3HLqojutb9himHaKqGZlFQt375f81p6vWO4,353
377
377
  inspect_ai/_view/www/src/workspace/navbar/SecondaryBar.tsx,sha256=lasEuHmHgS-O4yPhXPsyMR9jG4T8fM5x9NRLHX5bhpc,5090
378
- inspect_ai/_view/www/src/workspace/navbar/StatusPanel.module.css,sha256=5jwAeGZ14LT66dql80qTu2nig75kk9Ethp4ftHW6Zsw,290
379
- inspect_ai/_view/www/src/workspace/navbar/StatusPanel.tsx,sha256=WqP4WQdcJoCoAt2S6CA3PNgtqbeMmfDPw6DOZ8xBc-Q,1311
378
+ inspect_ai/_view/www/src/workspace/navbar/StatusPanel.module.css,sha256=V8GzDeWpFOnEE0Lye02USjDg99cLQ98s6PtcUSTIGDI,314
379
+ inspect_ai/_view/www/src/workspace/navbar/StatusPanel.tsx,sha256=RLUq_5VvJ5L6lC8PY0w-CHe5dgx5Sq6bRu8quWhJ4YY,1308
380
380
  inspect_ai/_view/www/src/workspace/sidebar/EvalStatus.module.css,sha256=c0PCUFyxsNhUJPsndc1kD7TLCUWcGlCcfSt4D_6wX0k,219
381
381
  inspect_ai/_view/www/src/workspace/sidebar/EvalStatus.tsx,sha256=BAFNPWvy_bu6z6uJ-hZ87iGyTMXjLeCzjK_71E8sg-I,1731
382
382
  inspect_ai/_view/www/src/workspace/sidebar/LogDirectoryTitleView.module.css,sha256=iEIfdsS4cJ2Q3duaxA9_xliaXeqrAf7G57J1CXlK70E,83
@@ -448,33 +448,33 @@ inspect_ai/model/_chat_message.py,sha256=Y0X1b1uaZhw0brSGfXVU7lADrXh2nR6iSWgBR_m
448
448
  inspect_ai/model/_conversation.py,sha256=cd5ru6lD2xsfkdB9lfWYPbuvzdqjv9geOVFl2HXSad8,2163
449
449
  inspect_ai/model/_generate_config.py,sha256=jKsb5qpiV4o2Wdkaez6EzSHhnUc3_j4dTZIOzV9P6Sc,8976
450
450
  inspect_ai/model/_image.py,sha256=kpO2Bn_-c-dK80HuPOPH1eSNmcoc39kofwf4yTTiTFE,477
451
- inspect_ai/model/_model.py,sha256=Fad73uBcwZcqstqUthqLnEZsg5k1gh1jNJH7ah77YvA,39575
451
+ inspect_ai/model/_model.py,sha256=ow_lqp-rxT6GYGZ_dxxCLFWShEHSP6AP_2kTsxjO7dI,42387
452
452
  inspect_ai/model/_model_call.py,sha256=r6ObHZwm7jy1qX2qxvAP6iPV3BhdGThL-VH-QEawQhA,2017
453
453
  inspect_ai/model/_model_output.py,sha256=QM2K4zVqUumfhAFzDkvxb60qT4DbCvPjqva0WfJ4gWU,7321
454
454
  inspect_ai/model/_openai.py,sha256=Z17GAEU-Zraqy-wRcY3KGC34gN1YvRoy0hdYZpt-BjI,13948
455
455
  inspect_ai/model/_reasoning.py,sha256=i1xUArctTefcvmwxcU4kK26PvgULYvvMn25P1GQJP08,440
456
456
  inspect_ai/model/_registry.py,sha256=Cr2y32EqLnOqLbSWoXHVK4ivTTzCUhJuACxoTyPt8kY,2032
457
457
  inspect_ai/model/_render.py,sha256=rWypNUjgrH4NGp0r-ESAze9gZz7lYNjheEP438vRYZE,922
458
- inspect_ai/model/_providers/anthropic.py,sha256=F8azMHE5sdbIWgxXRFHS_rChMUjXEdSQ2xl8ST3xSBU,25063
459
- inspect_ai/model/_providers/azureai.py,sha256=moIC4-um_Qs3iXbr4DlP6LUL924aF-s5YyQqF0V5ye4,14037
460
- inspect_ai/model/_providers/bedrock.py,sha256=BiSEQYlGLKqaadGUJxSQuule3JPLZbAIjfhJ36DYQ8k,23357
461
- inspect_ai/model/_providers/cloudflare.py,sha256=h6ubjf0kxyMM7Aj2tm68tWa-2R7RAXNGp1O6KMvi0Gw,4143
462
- inspect_ai/model/_providers/goodfire.py,sha256=Pu11d4mATDq5B750Q6Z4ZS8EC_nniFtleCQTTd-Pxm8,8690
463
- inspect_ai/model/_providers/google.py,sha256=4kWZ5jn0m91-J3-RC0ZvLXFhb4hv1P-Bnlvz_XbctHc,23323
458
+ inspect_ai/model/_providers/anthropic.py,sha256=VLBSOSbjqv4hMBPVAy1PzQ7GBPVaWxB00SImZbTuPkk,25147
459
+ inspect_ai/model/_providers/azureai.py,sha256=L0aZrx-mcRLZWXmNQG2gEmGYVQ7QtLF-o7hvM9dbMeY,14162
460
+ inspect_ai/model/_providers/bedrock.py,sha256=bNQq5Z9w9fLq3SxOKFDuopuLWi0QTDcSE9ppzX51eX0,23482
461
+ inspect_ai/model/_providers/cloudflare.py,sha256=OOpU4EE97s7M6u_qk7uuCILSLU84DoCVrUNsa-qPbmA,4228
462
+ inspect_ai/model/_providers/goodfire.py,sha256=L5RHmpXcp7Se30hJUjK0jES8ckGhxOKDM5xYfOjBcIU,8811
463
+ inspect_ai/model/_providers/google.py,sha256=CVOWm5Q3n8AAIhCz-5sKJ1o-b1v3Vor5UvC8oRYGiU8,23750
464
464
  inspect_ai/model/_providers/grok.py,sha256=dS88ueXiD-kHAFr0jCoTpTGLGa2VsUlB_TFP8L_2lBM,995
465
- inspect_ai/model/_providers/groq.py,sha256=ikn3812nGvU6fGlrZcpD-LiN-EqEobo-zof8hPK9rV8,9958
466
- inspect_ai/model/_providers/hf.py,sha256=bgUtYZAitHxtoVyt0I0Wnz-rf6jRAqIjQ82QjZBOJAM,17468
465
+ inspect_ai/model/_providers/groq.py,sha256=aVaWrGn6oqWopNuh8WfvbGux3P0tcRQg_uq8DdTJ2Ng,10042
466
+ inspect_ai/model/_providers/hf.py,sha256=KIHcfiRQ8XQEQBi7UzCIulZh1Ku5sCjWaa1EznGPHzU,17605
467
467
  inspect_ai/model/_providers/llama_cpp_python.py,sha256=i2I56Damgb8VDhMuPxPca24fVhlajDHzxCTYFnT41uI,702
468
- inspect_ai/model/_providers/mistral.py,sha256=xTJSdb1-_hwTr3qesSbS5hyEqWrDzSQwGY__kHaQ1tc,15213
468
+ inspect_ai/model/_providers/mistral.py,sha256=afhEAfsR4QeBigrINU3Dgf5EZp5zNvkk4Ub-Z1SigcU,15329
469
469
  inspect_ai/model/_providers/mockllm.py,sha256=gL9f-f5TOdE4a0GVENr3cOIIp2kv8zVXWPZ608rouGk,2440
470
470
  inspect_ai/model/_providers/ollama.py,sha256=mBPSxaEkiH_RnlHKqOyFBlXObQhc2dfjL-rCKrea5u8,675
471
- inspect_ai/model/_providers/openai.py,sha256=xiXPIiX8TUBTH3r4c2yl9m2puMdMOBnsyz37nG8KFU4,11647
471
+ inspect_ai/model/_providers/openai.py,sha256=kD3ypqlPnqA1YdF3zQWzpHOHkF_8OTGMmS86ZqarCjI,11731
472
472
  inspect_ai/model/_providers/openai_o1.py,sha256=kiCzFYPBzUR-4U_AcQCoFpYRg-RUiWL6m2_XhK0JhW0,12262
473
473
  inspect_ai/model/_providers/openrouter.py,sha256=5G8qS8xA7Gy4IGodEJd04xwjsN-O_as4oeU8DTsKB5s,2932
474
474
  inspect_ai/model/_providers/providers.py,sha256=PlzYzv-muCSkmb8p04R0cNHS6DyUWPtB4c0hxW6sWUs,6407
475
475
  inspect_ai/model/_providers/together.py,sha256=0KpFLKbnP_a_AH7VN18eLtlm7kGvJkBIura9drdc7BU,9483
476
- inspect_ai/model/_providers/vertex.py,sha256=_dvhtboSfb6uYez421vqmJrcc-SBZAIP6XYNwtHElKM,16391
477
- inspect_ai/model/_providers/vllm.py,sha256=cggwgDMEwdF9DKdqGxo-XMMkDte-rQoHIBf6nipZ1Pg,14093
476
+ inspect_ai/model/_providers/vertex.py,sha256=-4ArhaW_H_KGj8P0HdmDtyKRwXdR3-UuZurI7lzO0tI,16531
477
+ inspect_ai/model/_providers/vllm.py,sha256=RGKMkY9nlScoVx0RTiUCl4usDBSughVsGJjPNQDPDaQ,14230
478
478
  inspect_ai/model/_providers/util/__init__.py,sha256=zWqGXUZLcVBr001JpSe81_3QXnBcS7hdRtIpekIwjZ0,707
479
479
  inspect_ai/model/_providers/util/chatapi.py,sha256=h8GePQ53VgPpn75QQJfoO5IMUMiTq3heMnjKC3vj13c,3659
480
480
  inspect_ai/model/_providers/util/hf_handler.py,sha256=zUGLTlLSSRqvYv2odIbgEEkd4Fm_5LMxVFDWXm3D7Qk,7622
@@ -501,7 +501,7 @@ inspect_ai/scorer/_reducer/__init__.py,sha256=ntoSXbbBia6gN3Uk3tQFQ8lSt8IBSRvwM5
501
501
  inspect_ai/scorer/_reducer/reducer.py,sha256=5EKER24GHJnodE24C_quRrmbWpL56AeEovoLe5W9XKA,11859
502
502
  inspect_ai/scorer/_reducer/registry.py,sha256=aB1fyv8DTiwfnleGc7_zXnGI9krfmWyaXx-FJfA7zw4,5349
503
503
  inspect_ai/scorer/_reducer/types.py,sha256=R4ALTh4fsjzSsHIKY3ItWylQiRyYAtdGnxCvisYlync,462
504
- inspect_ai/solver/__init__.py,sha256=iAK_T7uvZpds2xufWgAcSD560Ta8pIvqmyQWz9XoAMk,3440
504
+ inspect_ai/solver/__init__.py,sha256=4pbKoEoUSBrauhpMPO2hY43FDOJe0GTuVKpD5zchoQY,3509
505
505
  inspect_ai/solver/_basic_agent.py,sha256=pYZq5MmXeRaFB-aRpNrdRrFaAPXrTY6etPtgmm0bXB0,10398
506
506
  inspect_ai/solver/_chain.py,sha256=eAoxiALf8fvOujzjCWvqHDA7YpEaKC8s56AZxKWNLcs,2202
507
507
  inspect_ai/solver/_critique.py,sha256=8GhB9OEsDCOqS6_cHAaTWNNeAimjV3JM_xXr8k1n3XQ,3457
@@ -509,7 +509,7 @@ inspect_ai/solver/_fork.py,sha256=XKBDwZXRiWkxK_uFtQs-RDJb9gbL6JvfOr_5LtAgS-4,28
509
509
  inspect_ai/solver/_limit.py,sha256=zaZseJgjbJaBnGdXQHQ5MpU4tzgUyD8FzLvJMGDk3jA,1122
510
510
  inspect_ai/solver/_multiple_choice.py,sha256=uYr3E6LA6Gv5ktqdmQJX6rYxbc6maTy3ZjyZXabdBug,11298
511
511
  inspect_ai/solver/_plan.py,sha256=Dp1DDTtGe2iTo8CYWKqCOdfBFfTK_0wi2JzIr6qrikI,7042
512
- inspect_ai/solver/_prompt.py,sha256=M3gteVaDCT4nFp7lgvJ4XP2-ClemuIXi_yY_BpokqN4,3880
512
+ inspect_ai/solver/_prompt.py,sha256=jqJ15ysz5_Wn5kadthsZDJWzSoFA7q3IMqSvYW475e8,4901
513
513
  inspect_ai/solver/_solver.py,sha256=S3C82Ttan7hGz2yl1OAwjH_GxhwhJVXPnAkHV3OrEEI,9081
514
514
  inspect_ai/solver/_task_state.py,sha256=qxcAUL4MUGUuu-SqF8fv2YbUVmZ9VzJTIfeiYl71iXA,16323
515
515
  inspect_ai/solver/_transcript.py,sha256=gkH9CC5gYbz7ZzrFD0TkjtKYjWxQP5EthJOkq8NXDOc,1049
@@ -521,7 +521,7 @@ inspect_ai/solver/_bridge/patch.py,sha256=I2yR1omnaH_cdk5vqx-TavOFXPUbOY57fZUg6K
521
521
  inspect_ai/solver/_human_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
522
522
  inspect_ai/solver/_human_agent/agent.py,sha256=xasd9VaVN5BnQ1DgU6Xv5K1IPh1qvFUZCcHk_cc7Cxc,3183
523
523
  inspect_ai/solver/_human_agent/install.py,sha256=_tp6MpJX6g3dBWp2l2shLfgSiVfAa38F_oRdmBZSPMg,6789
524
- inspect_ai/solver/_human_agent/panel.py,sha256=e4PG3Br0FMasqpsMkHEpuNBkO9tEVtDMI5ufSwuIcBw,8066
524
+ inspect_ai/solver/_human_agent/panel.py,sha256=PplPZx7Br6MXLhbNnbE-jetv26ne_f-zG8ZL2hUbSho,8240
525
525
  inspect_ai/solver/_human_agent/service.py,sha256=hXe3LDb-1lQH_tAMNMWR20eCRYdg9TJYoUvZyHPZBgU,1430
526
526
  inspect_ai/solver/_human_agent/state.py,sha256=Qqtxhr6nXwd6FQS4zfHFsMEsxmRL563E5MBMUaJd47E,1744
527
527
  inspect_ai/solver/_human_agent/view.py,sha256=x8MHiEchUwKykpjerG126UDqiymOGPziTerfS0_H-Ts,760
@@ -611,15 +611,15 @@ inspect_ai/util/_sandbox/self_check.py,sha256=YaonS0VQyutDpOlHchGhrIUm13juUzEkrk
611
611
  inspect_ai/util/_sandbox/service.py,sha256=2os7W8NYBDcaBoaHVfZ1YrI9hvldksmiwqkUYrCRCPo,11258
612
612
  inspect_ai/util/_sandbox/docker/cleanup.py,sha256=MK6UlADcWtTDotppeVJga2ibf9Ud-e4V-5ReoNbmhqg,4793
613
613
  inspect_ai/util/_sandbox/docker/compose.py,sha256=g98fwb33EsQQDHKEUYic8tPmi51IA7v3aWm3YoEBEgA,11904
614
- inspect_ai/util/_sandbox/docker/config.py,sha256=xXO3cc4dnN9cRYxjZHYgYmGQMPL8xwhHOC4SDjifIl8,2831
614
+ inspect_ai/util/_sandbox/docker/config.py,sha256=I2sxkN2mTS3kXoAGtJ2w7yuhMoacECgkdxiXftlAvKA,2918
615
615
  inspect_ai/util/_sandbox/docker/docker.py,sha256=Dhp2-H-CFPvHD0BlDNTZZtnXj0Jh9_IZjLl7qoyUaD4,17195
616
616
  inspect_ai/util/_sandbox/docker/internal.py,sha256=fATyk2pdtjSl-D0VPT4dmkXV-gOc5HrPH0EQDW4IAJY,1446
617
617
  inspect_ai/util/_sandbox/docker/prereqs.py,sha256=0j6_OauBBnVlpBleADcZavIAAQZy4WewVjbRn9c0stg,3355
618
618
  inspect_ai/util/_sandbox/docker/service.py,sha256=hhHIWH1VDFLwehdGd19aUBD_VKfDO3GCPxpw1HSwVQk,2437
619
- inspect_ai/util/_sandbox/docker/util.py,sha256=pSPsRGymrTmTnEUHiHoQSNqeurPP1mL5kB-105O6EWo,2794
620
- inspect_ai-0.3.65.dist-info/LICENSE,sha256=xZPCr8gTiFIerrA_DRpLAbw-UUftnLFsHxKeW-NTtq8,1081
621
- inspect_ai-0.3.65.dist-info/METADATA,sha256=nIJyGtqIHHKmAAWlL8DdZR00k3_EeATaqPxtU9j5L9E,4742
622
- inspect_ai-0.3.65.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
623
- inspect_ai-0.3.65.dist-info/entry_points.txt,sha256=WGGLmzTzDWLzYfiyovSY6oEKuf-gqzSDNOb5V-hk3fM,54
624
- inspect_ai-0.3.65.dist-info/top_level.txt,sha256=Tp3za30CHXJEKLk8xLe9qGsW4pBzJpEIOMHOHNCXiVo,11
625
- inspect_ai-0.3.65.dist-info/RECORD,,
619
+ inspect_ai/util/_sandbox/docker/util.py,sha256=CuYrt9iyLjPSVDEs_oGTas8wAwMwQc_45dZa2g3E4cY,2847
620
+ inspect_ai-0.3.67.dist-info/LICENSE,sha256=xZPCr8gTiFIerrA_DRpLAbw-UUftnLFsHxKeW-NTtq8,1081
621
+ inspect_ai-0.3.67.dist-info/METADATA,sha256=KfI7O-ziYMRYggqhBfmc4p-Hi6bhtjsbBFpm0YptseQ,4776
622
+ inspect_ai-0.3.67.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
623
+ inspect_ai-0.3.67.dist-info/entry_points.txt,sha256=WGGLmzTzDWLzYfiyovSY6oEKuf-gqzSDNOb5V-hk3fM,54
624
+ inspect_ai-0.3.67.dist-info/top_level.txt,sha256=Tp3za30CHXJEKLk8xLe9qGsW4pBzJpEIOMHOHNCXiVo,11
625
+ inspect_ai-0.3.67.dist-info/RECORD,,