inspect-ai 0.3.104__py3-none-any.whl → 0.3.105__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.
- inspect_ai/_eval/evalset.py +1 -1
- inspect_ai/_eval/task/run.py +64 -38
- inspect_ai/_view/server.py +17 -0
- inspect_ai/_view/www/dist/assets/index.css +33 -29
- inspect_ai/_view/www/dist/assets/index.js +559 -247
- inspect_ai/_view/www/src/app/samples/chat/ChatMessage.module.css +4 -0
- inspect_ai/_view/www/src/app/samples/chat/ChatMessage.tsx +17 -0
- inspect_ai/_view/www/src/app/samples/sample-tools/filters.ts +26 -0
- inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/SampleFilter.tsx +14 -3
- inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/completions.ts +359 -7
- inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/language.ts +6 -0
- inspect_ai/_view/www/src/app/samples/transcript/outline/OutlineRow.tsx +1 -1
- inspect_ai/_view/www/src/client/api/api-browser.ts +25 -0
- inspect_ai/_view/www/src/client/api/api-http.ts +3 -0
- inspect_ai/_view/www/src/client/api/api-vscode.ts +6 -0
- inspect_ai/_view/www/src/client/api/client-api.ts +3 -0
- inspect_ai/_view/www/src/client/api/jsonrpc.ts +1 -0
- inspect_ai/_view/www/src/client/api/types.ts +3 -0
- inspect_ai/_view/www/src/state/samplePolling.ts +17 -1
- inspect_ai/agent/_handoff.py +5 -2
- inspect_ai/agent/_react.py +5 -5
- inspect_ai/dataset/_dataset.py +1 -1
- inspect_ai/log/_samples.py +5 -0
- inspect_ai/model/_call_tools.py +4 -4
- inspect_ai/model/_providers/anthropic.py +23 -2
- inspect_ai/model/_providers/google.py +5 -1
- inspect_ai/util/__init__.py +8 -0
- inspect_ai/util/_background.py +64 -0
- inspect_ai/util/_limit.py +72 -5
- inspect_ai/util/_sandbox/__init__.py +2 -0
- inspect_ai/util/_sandbox/service.py +28 -7
- inspect_ai/util/_subprocess.py +51 -38
- {inspect_ai-0.3.104.dist-info → inspect_ai-0.3.105.dist-info}/METADATA +1 -1
- {inspect_ai-0.3.104.dist-info → inspect_ai-0.3.105.dist-info}/RECORD +38 -37
- {inspect_ai-0.3.104.dist-info → inspect_ai-0.3.105.dist-info}/WHEEL +0 -0
- {inspect_ai-0.3.104.dist-info → inspect_ai-0.3.105.dist-info}/entry_points.txt +0 -0
- {inspect_ai-0.3.104.dist-info → inspect_ai-0.3.105.dist-info}/licenses/LICENSE +0 -0
- {inspect_ai-0.3.104.dist-info → inspect_ai-0.3.105.dist-info}/top_level.txt +0 -0
inspect_ai/util/_subprocess.py
CHANGED
@@ -2,16 +2,15 @@ import functools
|
|
2
2
|
import io
|
3
3
|
import os
|
4
4
|
import shlex
|
5
|
-
from contextlib import aclosing
|
6
5
|
from contextvars import ContextVar
|
7
6
|
from dataclasses import dataclass
|
8
7
|
from logging import getLogger
|
9
8
|
from pathlib import Path
|
10
9
|
from subprocess import DEVNULL, PIPE
|
11
|
-
from typing import
|
10
|
+
from typing import Generic, Literal, TypeVar, Union, overload
|
12
11
|
|
13
12
|
import anyio
|
14
|
-
from anyio import open_process
|
13
|
+
from anyio import ClosedResourceError, create_task_group, open_process
|
15
14
|
from anyio.abc import ByteReceiveStream, Process
|
16
15
|
|
17
16
|
from inspect_ai._util._async import tg_collect
|
@@ -114,9 +113,7 @@ async def subprocess(
|
|
114
113
|
else None
|
115
114
|
)
|
116
115
|
|
117
|
-
async def run_command() ->
|
118
|
-
Union[Process, ExecResult[str], ExecResult[bytes]], None
|
119
|
-
]:
|
116
|
+
async def run_command() -> Union[ExecResult[str], ExecResult[bytes]]:
|
120
117
|
process = await open_process(
|
121
118
|
args,
|
122
119
|
stdin=PIPE if input else DEVNULL,
|
@@ -126,9 +123,6 @@ async def subprocess(
|
|
126
123
|
env={**os.environ, **env},
|
127
124
|
)
|
128
125
|
try:
|
129
|
-
# yield the process so the caller has a handle to it
|
130
|
-
yield process
|
131
|
-
|
132
126
|
# write to stdin (convert input to bytes)
|
133
127
|
if process.stdin and input:
|
134
128
|
await process.stdin.send(input)
|
@@ -161,19 +155,23 @@ async def subprocess(
|
|
161
155
|
returncode = await process.wait()
|
162
156
|
success = returncode == 0
|
163
157
|
if text:
|
164
|
-
|
158
|
+
return ExecResult[str](
|
165
159
|
success=success,
|
166
160
|
returncode=returncode,
|
167
161
|
stdout=stdout.decode() if capture_output else "",
|
168
162
|
stderr=stderr.decode() if capture_output else "",
|
169
163
|
)
|
170
164
|
else:
|
171
|
-
|
165
|
+
return ExecResult[bytes](
|
172
166
|
success=success,
|
173
167
|
returncode=returncode,
|
174
168
|
stdout=stdout if capture_output else bytes(),
|
175
169
|
stderr=stderr if capture_output else bytes(),
|
176
170
|
)
|
171
|
+
# Handle cancellation before aclose() is called to avoid deadlock.
|
172
|
+
except anyio.get_cancelled_exc_class():
|
173
|
+
await gracefully_terminate_cancelled_subprocess(process)
|
174
|
+
raise
|
177
175
|
finally:
|
178
176
|
try:
|
179
177
|
await process.aclose()
|
@@ -186,33 +184,13 @@ async def subprocess(
|
|
186
184
|
|
187
185
|
# wrapper for run command that implements timeout
|
188
186
|
async def run_command_timeout() -> Union[ExecResult[str], ExecResult[bytes]]:
|
189
|
-
#
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
with anyio.fail_after(timeout):
|
197
|
-
result = await anext(rc)
|
198
|
-
return cast(Union[ExecResult[str], ExecResult[bytes]], result)
|
199
|
-
except TimeoutError:
|
200
|
-
# terminate timed out process -- try for graceful termination
|
201
|
-
# then be more forceful if requied
|
202
|
-
with anyio.CancelScope(shield=True):
|
203
|
-
try:
|
204
|
-
proc.terminate()
|
205
|
-
await anyio.sleep(2)
|
206
|
-
if proc.returncode is None:
|
207
|
-
proc.kill()
|
208
|
-
except Exception:
|
209
|
-
pass
|
210
|
-
raise
|
211
|
-
|
212
|
-
# await result without timeout
|
213
|
-
else:
|
214
|
-
result = await anext(rc)
|
215
|
-
return cast(Union[ExecResult[str], ExecResult[bytes]], result)
|
187
|
+
# wrap in timeout handler if requested
|
188
|
+
if timeout is not None:
|
189
|
+
with anyio.fail_after(timeout):
|
190
|
+
# run_command() handles terminating the process if it is cancelled.
|
191
|
+
return await run_command()
|
192
|
+
else:
|
193
|
+
return await run_command()
|
216
194
|
|
217
195
|
# run command
|
218
196
|
async with concurrency("subprocesses", max_subprocesses_context_var.get()):
|
@@ -233,6 +211,41 @@ def default_max_subprocesses() -> int:
|
|
233
211
|
return cpus if cpus else 1
|
234
212
|
|
235
213
|
|
214
|
+
async def gracefully_terminate_cancelled_subprocess(process: Process) -> None:
|
215
|
+
with anyio.CancelScope(shield=True):
|
216
|
+
try:
|
217
|
+
# Terminate timed out process -- try for graceful termination then kill if
|
218
|
+
# required.
|
219
|
+
process.terminate()
|
220
|
+
await anyio.sleep(2)
|
221
|
+
if process.returncode is None:
|
222
|
+
process.kill()
|
223
|
+
# With anyio's asyncio backend, process.aclose() calls process.wait() which
|
224
|
+
# can deadlock if the process generates so much output that it blocks
|
225
|
+
# waiting for the OS pipe buffer to accept more data. See
|
226
|
+
# https://docs.python.org/3/library/asyncio-subprocess.html#asyncio.subprocess.Process.wait
|
227
|
+
# Therefore, we need to ensure that the process's stdout and stderr streams
|
228
|
+
# are drained before we call process.wait() in aclose().
|
229
|
+
async with create_task_group() as tg:
|
230
|
+
tg.start_soon(drain_stream, process.stdout)
|
231
|
+
tg.start_soon(drain_stream, process.stderr)
|
232
|
+
# Wait for the process to exit. Will be called again by aclose().
|
233
|
+
await process.wait()
|
234
|
+
# The process may have already exited, in which case we can ignore the error.
|
235
|
+
except ProcessLookupError:
|
236
|
+
pass
|
237
|
+
|
238
|
+
|
239
|
+
async def drain_stream(stream: ByteReceiveStream | None) -> None:
|
240
|
+
if stream is None:
|
241
|
+
return
|
242
|
+
try:
|
243
|
+
async for _ in stream:
|
244
|
+
pass
|
245
|
+
except ClosedResourceError:
|
246
|
+
pass
|
247
|
+
|
248
|
+
|
236
249
|
max_subprocesses_context_var = ContextVar[int](
|
237
250
|
"max_subprocesses", default=default_max_subprocesses()
|
238
251
|
)
|
@@ -48,7 +48,7 @@ inspect_ai/_display/textual/widgets/vscode.py,sha256=SAIPO8VOkT_CFIfnCP_XxKixojd
|
|
48
48
|
inspect_ai/_eval/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
49
49
|
inspect_ai/_eval/context.py,sha256=mdYinWG2lcYkWLieT42suzUDyaQBVHosbaWTKA6Uu48,1407
|
50
50
|
inspect_ai/_eval/eval.py,sha256=7Izm4s64OIn8dZ2oQQF4fX_jneCODAWJ9Kzd0NRBIPk,44168
|
51
|
-
inspect_ai/_eval/evalset.py,sha256=
|
51
|
+
inspect_ai/_eval/evalset.py,sha256=cGLAX6qnMMi-LTenLtu47wv0JJTjAvFLbE6zKfZbfTg,25112
|
52
52
|
inspect_ai/_eval/list.py,sha256=VbZ-2EI6MqrXvCN7VTz21TQSoU5K5_Q0hqhxmj5A_m0,3744
|
53
53
|
inspect_ai/_eval/loader.py,sha256=dafv4TlQDqdvzPyrQrBsNiCzhvqjwmcVQzweX-AL1os,24805
|
54
54
|
inspect_ai/_eval/registry.py,sha256=IMyF_Ru11DrqjFe1yZJvghQcJSfssQ08wQqTt_F38Ag,5570
|
@@ -63,7 +63,7 @@ inspect_ai/_eval/task/images.py,sha256=nTzHizlyuPYumPH7gAOBSrNkTwTbAmZ7tKdzN7d_R
|
|
63
63
|
inspect_ai/_eval/task/log.py,sha256=-9SRwJBINudIEVcsIyFEUY9ZSt2dC4hHN9NEuw0x9OU,12008
|
64
64
|
inspect_ai/_eval/task/resolved.py,sha256=LBVHEeq9N1fkRObmA2pnDE_l_EuH6n2Dg8-c8yCGT5U,1007
|
65
65
|
inspect_ai/_eval/task/results.py,sha256=x4weYRK2XGowfBG3f2msOeZQ_pxh230HTlw6kps33jw,17925
|
66
|
-
inspect_ai/_eval/task/run.py,sha256=
|
66
|
+
inspect_ai/_eval/task/run.py,sha256=CHEA25h-UdZmbfQ9o568hiahyna_voGvANMns4u9tW4,40244
|
67
67
|
inspect_ai/_eval/task/sandbox.py,sha256=x9GU-o2LtJQtdZjdmwRtAMJ5Mzd_te6hrm-DjiZB60g,7737
|
68
68
|
inspect_ai/_eval/task/task.py,sha256=EVdOKgC8UYadlTebkfnXtWawV0BQeGGEBzmlGTRbAfI,16314
|
69
69
|
inspect_ai/_eval/task/tasks.py,sha256=8fy5k070KgjYwaZQ_Nk6_r-38VTU6HB-qh7ixc4JzKI,727
|
@@ -128,7 +128,7 @@ inspect_ai/_util/working.py,sha256=mJSexhxAA-OvYGZPMH6lVjnn_QC1aWm5lbdoUWRYEBo,8
|
|
128
128
|
inspect_ai/_view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
129
129
|
inspect_ai/_view/notify.py,sha256=w79p_o6mnL8NYKd7QgibnUdDGnUELfQO8fhhkjq7n4o,1433
|
130
130
|
inspect_ai/_view/schema.py,sha256=I1ih8jgM3d6t6lbLGgRgw2Lo5WMkZV-b8LWFM-OmBak,1658
|
131
|
-
inspect_ai/_view/server.py,sha256=
|
131
|
+
inspect_ai/_view/server.py,sha256=Du7lUXn44qIL1b-fJnUAHVwrx7eAaY-hBGPAa06kgFc,18161
|
132
132
|
inspect_ai/_view/view.py,sha256=7FkmirqOMpej-7YUG2rmPvpfVjzJzFZbTt_MtgXYpnU,3607
|
133
133
|
inspect_ai/_view/www/.gitignore,sha256=Qyau1UN5uAQB8cwjhokiMEMgJtQCReq-6ohBVCXV8ZQ,52
|
134
134
|
inspect_ai/_view/www/.prettierignore,sha256=SiJfow55o33Kh0KB2BJGQsjgyHNURdtmI097aY6kJzc,85
|
@@ -152,8 +152,8 @@ inspect_ai/_view/www/.vscode/extensions.json,sha256=E73RWLzcoyeluE_ijGxaNSOK9xC0
|
|
152
152
|
inspect_ai/_view/www/.vscode/settings.json,sha256=g5hrVnMaYxM06JpiJD2EuE2xjcbF6xNAtL2fuKgG1-8,200
|
153
153
|
inspect_ai/_view/www/dist/index.html,sha256=gpdu6SR-SOH9EWx15cCWHzujMZujnZR5tRlEfROJg2A,997
|
154
154
|
inspect_ai/_view/www/dist/assets/favicon.svg,sha256=b9AHYZaO2zBzeKH6G4PwXZMGGW_UxY0omKHam-c9MAs,1508
|
155
|
-
inspect_ai/_view/www/dist/assets/index.css,sha256=
|
156
|
-
inspect_ai/_view/www/dist/assets/index.js,sha256=
|
155
|
+
inspect_ai/_view/www/dist/assets/index.css,sha256=FJroagFAzsVsGrRFXiA26pTSdlKTUJSAAOn94c6gVZI,2378191
|
156
|
+
inspect_ai/_view/www/dist/assets/index.js,sha256=jfWOhyScMp6eIzbSKZY9IZFQ6xfS7w-ASiyXd0yTHeM,3549950
|
157
157
|
inspect_ai/_view/www/node_modules/flatted/python/flatted.py,sha256=UYburBDqkySaTfSpntPCUJRxiBGcplusJM7ECX8FEgA,3860
|
158
158
|
inspect_ai/_view/www/node_modules/katex/src/fonts/generate_fonts.py,sha256=BqZzWU-n22LypRvQ6sV7Uvkv853QJa3rz543de0V9hI,1559
|
159
159
|
inspect_ai/_view/www/node_modules/katex/src/metrics/extract_tfms.py,sha256=kuCyCirv4JZeZgBOBIge_OPi627676DS6DJ4vo5_Yi4,3329
|
@@ -251,8 +251,8 @@ inspect_ai/_view/www/src/app/samples/SampleSummaryView.tsx,sha256=Gkcr9H37vcwpBn
|
|
251
251
|
inspect_ai/_view/www/src/app/samples/SamplesTools.tsx,sha256=Cwhr4aCne2p4k281QQxuO5ujNRTanc0z12AVG3iBfAQ,1767
|
252
252
|
inspect_ai/_view/www/src/app/samples/sampleDataAdapter.ts,sha256=mdZ4DQSbvvOjCESq8guFzfBBbbytyRUdwn6KA08Eks0,936
|
253
253
|
inspect_ai/_view/www/src/app/samples/sampleLimit.ts,sha256=GLfSpwF3-zpCJa-4lQteztd9F7L6yUud_Fs-cTeXyQs,608
|
254
|
-
inspect_ai/_view/www/src/app/samples/chat/ChatMessage.module.css,sha256=
|
255
|
-
inspect_ai/_view/www/src/app/samples/chat/ChatMessage.tsx,sha256=
|
254
|
+
inspect_ai/_view/www/src/app/samples/chat/ChatMessage.module.css,sha256=HkDgq_KEw0ZRBHRzV8mbN1RPhlBXOwW1OcuAOjxj1dE,546
|
255
|
+
inspect_ai/_view/www/src/app/samples/chat/ChatMessage.tsx,sha256=H1pRDNYJ0oNAdPB9hwN5na9VAcI59hHtLEn4ShdBX88,2780
|
256
256
|
inspect_ai/_view/www/src/app/samples/chat/ChatMessageRenderer.tsx,sha256=DPRsu5sgDvJIJ5tirqFkoxBPacPYc4Ooy3-7qJRaPKo,1505
|
257
257
|
inspect_ai/_view/www/src/app/samples/chat/ChatMessageRow.module.css,sha256=SmA8NLCidpd3Kk4HZvhr1ttA2hmuIk7we3ob5qokxIw,274
|
258
258
|
inspect_ai/_view/www/src/app/samples/chat/ChatMessageRow.tsx,sha256=9A77goO1FGtXtwIoWkNynGaMcEsPCsqBhHhs4ktvyDk,2250
|
@@ -315,11 +315,11 @@ inspect_ai/_view/www/src/app/samples/sample-tools/SelectScorer.module.css,sha256
|
|
315
315
|
inspect_ai/_view/www/src/app/samples/sample-tools/SelectScorer.tsx,sha256=7nzO1WKH6-jTfdePc-QB98uKmBmKX9Twu1sK5nzoZEo,4371
|
316
316
|
inspect_ai/_view/www/src/app/samples/sample-tools/SortFilter.module.css,sha256=7uNUEoHtsNxN6P5WFZQvoEzd55n9rsgmfhWCicFh1_c,106
|
317
317
|
inspect_ai/_view/www/src/app/samples/sample-tools/SortFilter.tsx,sha256=qZ-Vuuiq_TZA9A3ugH41HTo-Ugy6xSlXmrJuqHn-_w4,4637
|
318
|
-
inspect_ai/_view/www/src/app/samples/sample-tools/filters.ts,sha256=
|
318
|
+
inspect_ai/_view/www/src/app/samples/sample-tools/filters.ts,sha256=s8O2WXf2WTpD0qB2-tyaGWVb9LKKmagwE7l4JpWMYU4,10636
|
319
319
|
inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/SampleFilter.module.css,sha256=PPdynh09MuEz0BMhHSximTj_BLNNAEQQQB8TH4amd3A,199
|
320
|
-
inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/SampleFilter.tsx,sha256=
|
321
|
-
inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/completions.ts,sha256=
|
322
|
-
inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/language.ts,sha256=
|
320
|
+
inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/SampleFilter.tsx,sha256=pHe7FOYb7dilDLorl1M_eh7JCNYFVpjH3OuVk6xuUyY,8416
|
321
|
+
inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/completions.ts,sha256=sW1Tk_x4WNG1UqrijL3ijfLPSzVJaHHKoTgySt3mHcQ,21026
|
322
|
+
inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/language.ts,sha256=dhLtC_73CjXiNTLtfkr-JBXeunCpyTJZwZH7aO7Sy58,1253
|
323
323
|
inspect_ai/_view/www/src/app/samples/sample-tools/sample-filter/tokenize.ts,sha256=tD45vb1d-8XSV0RmGbdJijk92KuC555ksBsVD43uxCA,2802
|
324
324
|
inspect_ai/_view/www/src/app/samples/scores/SampleScores.module.css,sha256=jhwzLYwYRzEFhGqFZUYpzHOG3yDDY33rH14-ECgC9TQ,96
|
325
325
|
inspect_ai/_view/www/src/app/samples/scores/SampleScores.tsx,sha256=U8bYNmgW51aid6FrBemPeGOhmTg2Z59FKeBHcPgTDvE,586
|
@@ -371,7 +371,7 @@ inspect_ai/_view/www/src/app/samples/transcript/event/EventTimingPanel.module.cs
|
|
371
371
|
inspect_ai/_view/www/src/app/samples/transcript/event/EventTimingPanel.tsx,sha256=MLsmFru7o37ymoZZdFkt2jhS9t4pzYFCLLaqshd4v_A,2746
|
372
372
|
inspect_ai/_view/www/src/app/samples/transcript/event/utils.ts,sha256=fFnt2DSCymWFdbzdf1P7r5nA6r472pNlCzQlUThkX_Q,766
|
373
373
|
inspect_ai/_view/www/src/app/samples/transcript/outline/OutlineRow.module.css,sha256=aeOYelj5_F2cyN7z72VZuhEVrLV9iCPXWP-w7AOl9Mk,598
|
374
|
-
inspect_ai/_view/www/src/app/samples/transcript/outline/OutlineRow.tsx,sha256=
|
374
|
+
inspect_ai/_view/www/src/app/samples/transcript/outline/OutlineRow.tsx,sha256=yMW6mgvF-9Yr6AILSUfcKOPvb9sYOTerLctEWFTtiSo,6131
|
375
375
|
inspect_ai/_view/www/src/app/samples/transcript/outline/TranscriptOutline.module.css,sha256=SXBox9F9srdAG14qhXm8VWKoH2sQE6uGm2mNvhXh-oQ,146
|
376
376
|
inspect_ai/_view/www/src/app/samples/transcript/outline/TranscriptOutline.tsx,sha256=ufbASbpZGENEia0m87UhxUNsJsJ7WbdQK9zV-BVcdYs,7715
|
377
377
|
inspect_ai/_view/www/src/app/samples/transcript/outline/tree-visitors.ts,sha256=rsdu7RjayZt-XcmwG4m600TChJwFQPsEJvz34dpyv-U,4792
|
@@ -403,14 +403,14 @@ inspect_ai/_view/www/src/app/usage/TokenTable.module.css,sha256=VkwYeWCKK3frYZpa
|
|
403
403
|
inspect_ai/_view/www/src/app/usage/TokenTable.tsx,sha256=Gvn8_v1XDyRVV6w5JvcopgskRuawIyHYFuA4MxKVTBg,1844
|
404
404
|
inspect_ai/_view/www/src/app/usage/UsageCard.module.css,sha256=YehyCCKrQKXYWJb7JkqMjyBofG0-b5vFDXsApqEITSs,266
|
405
405
|
inspect_ai/_view/www/src/app/usage/UsageCard.tsx,sha256=KLwfynSoXTh1ROsO_DNIpF0VL5VXdvS0gp2vNZs94iw,793
|
406
|
-
inspect_ai/_view/www/src/client/api/api-browser.ts,sha256
|
407
|
-
inspect_ai/_view/www/src/client/api/api-http.ts,sha256=
|
406
|
+
inspect_ai/_view/www/src/client/api/api-browser.ts,sha256=bhikhdadKa5va4H9b_S5o8YCEKa4JDHlj8FY0U_J1YA,7825
|
407
|
+
inspect_ai/_view/www/src/client/api/api-http.ts,sha256=kyO7Tpiskv3X9Gt3b9uqLxWGItfs3pypmQabf4P4OnY,6408
|
408
408
|
inspect_ai/_view/www/src/client/api/api-shared.ts,sha256=F0qCU97BN8p4DjsdK62hwoRSlcJUahCY--WyacbMRz0,1524
|
409
|
-
inspect_ai/_view/www/src/client/api/api-vscode.ts,sha256=
|
410
|
-
inspect_ai/_view/www/src/client/api/client-api.ts,sha256=
|
409
|
+
inspect_ai/_view/www/src/client/api/api-vscode.ts,sha256=DeW4TyrMcmXZ88CpJDbiuyKHFe_Ki1ktPsPB0jNZA5A,4150
|
410
|
+
inspect_ai/_view/www/src/client/api/client-api.ts,sha256=YWmpiJKFHwBczz4zJ4b826-hbyVafuxny-TlP7c34_8,9774
|
411
411
|
inspect_ai/_view/www/src/client/api/index.ts,sha256=LkMZu6xHkcgd-YQT9iipbgjOtKnWQ9GxN88MDJhNDmc,1771
|
412
|
-
inspect_ai/_view/www/src/client/api/jsonrpc.ts,sha256=
|
413
|
-
inspect_ai/_view/www/src/client/api/types.ts,sha256=
|
412
|
+
inspect_ai/_view/www/src/client/api/jsonrpc.ts,sha256=pv3NCYsh4WFbKXTNmT63iDgdmhngpA57ML0pEuvH_S0,5832
|
413
|
+
inspect_ai/_view/www/src/client/api/types.ts,sha256=c15vohyFvWfM6koqTwh7ipcVTMVIIY0geZK_JD2MvUE,5475
|
414
414
|
inspect_ai/_view/www/src/client/remote/remoteLogFile.ts,sha256=RnU5BerxbLVPavOrZlXI69rNu-eSrl6PepfpP8x-Ru8,6160
|
415
415
|
inspect_ai/_view/www/src/client/remote/remoteZipFile.ts,sha256=0WfRV-PjCRGK4Mv6GKB62HIBFPcTKgruiDEK-LX5svI,13007
|
416
416
|
inspect_ai/_view/www/src/client/storage/index.ts,sha256=7al8eAsanynNAWazurfZmkenZquWUHtfsKc5CqjERwE,986
|
@@ -475,7 +475,7 @@ inspect_ai/_view/www/src/state/logPolling.ts,sha256=hn32ICGS0GnnDmoxbRnGOK7695_k
|
|
475
475
|
inspect_ai/_view/www/src/state/logSlice.ts,sha256=kmq_6U8ZB-fvqIOZfOky_pL4IOzorpohQXFEQwrWi4Q,6551
|
476
476
|
inspect_ai/_view/www/src/state/logsPolling.ts,sha256=PSOcqLpx4-Ohgz5v1WEG4iIsGtrxrYcq01vml-xNQe4,2988
|
477
477
|
inspect_ai/_view/www/src/state/logsSlice.ts,sha256=j2wWMcx35VRCBrLwYMKsDguexYMfSvh0gZEx4IREJrA,5582
|
478
|
-
inspect_ai/_view/www/src/state/samplePolling.ts,sha256=
|
478
|
+
inspect_ai/_view/www/src/state/samplePolling.ts,sha256=fBsNbEOfHMxnPUVQFjYRoCbGa-mjqmyu4zDfCfgzZVw,9728
|
479
479
|
inspect_ai/_view/www/src/state/sampleSlice.ts,sha256=6L0mnIJycnMEc4LDecvbe95yvl_h7Cf85KAy1gv9ZXI,9671
|
480
480
|
inspect_ai/_view/www/src/state/sampleUtils.ts,sha256=cIGExXuYSzG-U6Pcac9ekF1818ShvkRzRKEY_nfqmvg,754
|
481
481
|
inspect_ai/_view/www/src/state/scoring.ts,sha256=TW4BNhRD1n8rYshrcOMPE27uFSCW_0XbkUJWbMlsH8U,2122
|
@@ -518,8 +518,8 @@ inspect_ai/agent/_agent.py,sha256=ovgzc64lfLnT8wq_xAyiHVfegfJVgktGc3fWJLceVms,89
|
|
518
518
|
inspect_ai/agent/_as_solver.py,sha256=glOKzItIPsveWDGlk2igLfFDOix_NlEkAtyQ6YsWB2Q,2976
|
519
519
|
inspect_ai/agent/_as_tool.py,sha256=-NGZUFAEimvSpog0UmNtYDMlbbuKaWnIgwNnMd_fffM,4912
|
520
520
|
inspect_ai/agent/_filter.py,sha256=qnT0HbT4edpDi0MwXY3Q3It2pzNRkTRXZDOqfCwMY6M,1234
|
521
|
-
inspect_ai/agent/_handoff.py,sha256=
|
522
|
-
inspect_ai/agent/_react.py,sha256=
|
521
|
+
inspect_ai/agent/_handoff.py,sha256=fonoLtC9CxCt7Ya_EbhHU-1indqVpOaTJ2b8-9BoM_k,3848
|
522
|
+
inspect_ai/agent/_react.py,sha256=n59jkPQG97lHlEPhurluOVhkpnbqjMeBKrFdtA7pKxE,19061
|
523
523
|
inspect_ai/agent/_run.py,sha256=wXAE26-w0W1Brn5KTEQH5Esl_ZrwH37Po18yX-EZQsI,3171
|
524
524
|
inspect_ai/agent/_types.py,sha256=UeXBI_p8VVgEeMqenJjFRfyAWqWBKugUvVS2eJoIIUw,4560
|
525
525
|
inspect_ai/agent/_bridge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -580,7 +580,7 @@ inspect_ai/approval/_human/manager.py,sha256=Igae35VS99TejSWUShNwFuVnmhwByK30H84
|
|
580
580
|
inspect_ai/approval/_human/panel.py,sha256=UaO309bn7zMDV1I5GJcrZThhU8c8D4gOW7bwPRPPdkc,7672
|
581
581
|
inspect_ai/approval/_human/util.py,sha256=DPxpA9_pzeoQyHpGtRE3hx8sGV7MyrlElCBvsh1FNgA,1996
|
582
582
|
inspect_ai/dataset/__init__.py,sha256=4uTSHpN_ccdtbZulUMDetSSP-dXRkFGYsa2FzA5mLEw,534
|
583
|
-
inspect_ai/dataset/_dataset.py,sha256=
|
583
|
+
inspect_ai/dataset/_dataset.py,sha256=FmKmSppKlxY1-DedilUCjrAExdNAkdz17lm54sUiXpY,11948
|
584
584
|
inspect_ai/dataset/_util.py,sha256=0sPupAhfMS7Cm5aQWEIt5ULjAv9E7PdLqdeBb4mqE60,8720
|
585
585
|
inspect_ai/dataset/_examples/bias_detection.jsonl,sha256=ufXUZMjsJhY2_lJ9j_iJ6w0fiuyw7TQmJeMFoOqKYzM,20756
|
586
586
|
inspect_ai/dataset/_examples/biology_qa.jsonl,sha256=Hfkr8XRT2x6Cgjd-zKbWGfFD-ZEfi566FqLX4w9USKs,2009
|
@@ -603,7 +603,7 @@ inspect_ai/log/_log.py,sha256=EViZsKBEh6RmtOy6FtzKy59p7qdXNzkBfiQ1pKo4Z_c,30251
|
|
603
603
|
inspect_ai/log/_message.py,sha256=QofM_JZF_x3k_5ta1uQzoN_VnMoUhXFnqWurIn9FXOY,1999
|
604
604
|
inspect_ai/log/_model.py,sha256=8tEhFZc1tBFgA6A_spXTqTBdvbzZP5t7ul7DiloHRWk,1698
|
605
605
|
inspect_ai/log/_retry.py,sha256=e7a2hjl3Ncl8b8sU7CsDpvK8DV0b1uSRLeokRX1mt34,2109
|
606
|
-
inspect_ai/log/_samples.py,sha256=
|
606
|
+
inspect_ai/log/_samples.py,sha256=9NCu1RSMBjswkFkc4gy9A00qfqBQi7CrUaNi9duEld4,4930
|
607
607
|
inspect_ai/log/_transcript.py,sha256=l902I3WDDCcw424xkHToMxy1HEUaBBaId8LJdXila5E,16937
|
608
608
|
inspect_ai/log/_tree.py,sha256=C817m_7-66ThyCX5K4nVA7AzYOgLXWlKMdTQ-ueNA-U,3232
|
609
609
|
inspect_ai/log/_util.py,sha256=0IYnqqmDtL73BcRFU9TLlUemQf3OUh343SN-0r_MLfI,1750
|
@@ -621,7 +621,7 @@ inspect_ai/log/_recorders/buffer/filestore.py,sha256=0RYD7VR61XoM9Gx8wpqQ8utNqGb
|
|
621
621
|
inspect_ai/log/_recorders/buffer/types.py,sha256=1cyKA_vrXCh2Q560qDSwLSgR7Mx45R2g4-8c76PontE,2054
|
622
622
|
inspect_ai/model/__init__.py,sha256=FlD6GS5kpn9v4xUEInK9xEMhHbOtIP5QQzDoQuqZzgM,2796
|
623
623
|
inspect_ai/model/_cache.py,sha256=Bl6WS9b1kJRVsGK0h7Fd1-mDAbrlxvNXMPK30P3aMuM,13736
|
624
|
-
inspect_ai/model/_call_tools.py,sha256=
|
624
|
+
inspect_ai/model/_call_tools.py,sha256=zCTaLDISbqGgf2VEDU2yLVlPGOvM2PeMpTAG0hdtTZ0,30809
|
625
625
|
inspect_ai/model/_chat_message.py,sha256=IDy3bPr9vbO35PgnycDNfyXiryrnCaCoGKhBAhj18y0,7515
|
626
626
|
inspect_ai/model/_conversation.py,sha256=J4zxb8mJdcpV5zLEDYS-ikQckONeaUZrqNReLLruUOE,374
|
627
627
|
inspect_ai/model/_display.py,sha256=0wb9tV4PItvwgUpqpxLCL60oWlg4lT1nVA6GKJV3rcU,3090
|
@@ -639,11 +639,11 @@ inspect_ai/model/_providers/_anthropic_citations.py,sha256=8Wub6F8vvup0-e-BKV3wc
|
|
639
639
|
inspect_ai/model/_providers/_google_citations.py,sha256=KtqQdvUrWV1lGYfD7aLOIwUbIqZbVJDCoX-uCMHBZz8,3573
|
640
640
|
inspect_ai/model/_providers/_openai_computer_use.py,sha256=vbKkYLhqNuX16zuWfg5MaGp9H8URrPcLhKQ1pDsZtPo,5943
|
641
641
|
inspect_ai/model/_providers/_openai_web_search.py,sha256=tKxoRHc8gHIt8kgIdp6eM_Ak62inGRTxdUe1JNJV0b8,1195
|
642
|
-
inspect_ai/model/_providers/anthropic.py,sha256=
|
642
|
+
inspect_ai/model/_providers/anthropic.py,sha256=Dzu_5nWH4Xx1XklARkjCP0jkIvt8Nf5SDmzgblPGsf4,42201
|
643
643
|
inspect_ai/model/_providers/azureai.py,sha256=KzgPYtUMsqEZZTHWYWYLnnRd6wh4qqlqqZL2JwvraLs,16738
|
644
644
|
inspect_ai/model/_providers/bedrock.py,sha256=G252v6gUXtT56M4JaLLY7tEw2AJVQFucjeFgv0okhgo,23999
|
645
645
|
inspect_ai/model/_providers/cloudflare.py,sha256=9yHfA5qbKWjzOfOzCJ_u8CZsH_U7AolAWLxvLBXKrhM,2375
|
646
|
-
inspect_ai/model/_providers/google.py,sha256=
|
646
|
+
inspect_ai/model/_providers/google.py,sha256=6omSismcBEFH_2lVhOhLF5A3ceMpuZiARxWD91n2R6E,35748
|
647
647
|
inspect_ai/model/_providers/grok.py,sha256=iAPXmZMR7VWPq6EIwRsoUJr_TR6b5kTt-Fkba1pogGQ,1267
|
648
648
|
inspect_ai/model/_providers/groq.py,sha256=q9o4sy0uUyLQbSThB-MMTmSc5AtKmb6GJfgHBpf5amM,12262
|
649
649
|
inspect_ai/model/_providers/hf.py,sha256=jyXi4qyq2hdsp1waB2ON5m8f9mpE2h1GFD7Tu_phCEo,19115
|
@@ -747,25 +747,26 @@ inspect_ai/tool/_tools/_web_search/_google.py,sha256=CD1ckTpw4prwkancWz6_aTWwGZ4
|
|
747
747
|
inspect_ai/tool/_tools/_web_search/_tavily.py,sha256=4i9lqhWTgT_cD-cocDQjW-eJhRZZ6pjzlFfKYe1rfdg,3053
|
748
748
|
inspect_ai/tool/_tools/_web_search/_web_search.py,sha256=12xJq8eA90JDLq3S4HMZ_2Umu29xHd15wcap0KoVeRo,11033
|
749
749
|
inspect_ai/tool/_tools/_web_search/_web_search_provider.py,sha256=SvbQd7l2wqz5cAdNk9zrXX8NqOoWd-FEtF-6zyLA7MA,208
|
750
|
-
inspect_ai/util/__init__.py,sha256=
|
750
|
+
inspect_ai/util/__init__.py,sha256=pYCxgPSDHdN9S2UtYhL8l_oUkiVFInQ_-waSFrD09x8,2281
|
751
751
|
inspect_ai/util/_anyio.py,sha256=ImV_Q9oJ0XT0Fy6qa68OHpCzcUbfxptbHAjYWre-m2U,1541
|
752
|
+
inspect_ai/util/_background.py,sha256=9W1h87f9lH_uCaaYG_FjSfJOYpFtMF-5UuBeAsXljpo,1559
|
752
753
|
inspect_ai/util/_collect.py,sha256=--eYTBln__H0DVx_xKd2Rc6buz4gFuNkMccrA6nmqU0,1456
|
753
754
|
inspect_ai/util/_concurrency.py,sha256=mmXAfizGQggMIeppcMNxtnfcOeFDz0SU2S1ICKTWDLo,2962
|
754
755
|
inspect_ai/util/_console.py,sha256=V1XkIoKcNZo0SgRUOv15zJAWz6-zV6267hC4Oldj8oY,1237
|
755
756
|
inspect_ai/util/_conversation.py,sha256=KzqvKfj1tB14cgARZjYyIVG2EpuE-EZKqLGAPIXv1Xs,784
|
756
757
|
inspect_ai/util/_display.py,sha256=Co-5U0ei98GLYPbwWqMoimWNmIIL8lv3D8oTSuT9DiA,2448
|
757
758
|
inspect_ai/util/_json.py,sha256=X6J1JKuxteP76mHaU3qDrFDYWizWt5xNjm65ag72_2E,6952
|
758
|
-
inspect_ai/util/_limit.py,sha256
|
759
|
+
inspect_ai/util/_limit.py,sha256=LlBjt1uhK59TeUnoeYxeIany3HQDvSylBnhB8JW7buA,22736
|
759
760
|
inspect_ai/util/_limited_conversation.py,sha256=rfM45soaVmtGrYTaUk_ibZxTe8rbP5bzGlIWJCYBWM8,1997
|
760
761
|
inspect_ai/util/_panel.py,sha256=MdZxOt0F01ddn_NsRfwn0es6UjQasK1_EKIQ6jtQyG8,3124
|
761
762
|
inspect_ai/util/_resource.py,sha256=X280aW_7VCkVTGk812tuU5qnZlGM5Qt1-kANr-DaGOs,3389
|
762
763
|
inspect_ai/util/_span.py,sha256=y1GOS8h-e9fujDyTJTWOaQIsey8Ldhu8osN-fYiAdlE,1680
|
763
764
|
inspect_ai/util/_store.py,sha256=QemJe2M-RK6zSFNcd07_92XFjvNtWKgHzBr5eT3KF1I,3786
|
764
765
|
inspect_ai/util/_store_model.py,sha256=PVXh0_Rtemu5WNLTs2bcnZnKFGj2pT_np-1dBnkldr8,5125
|
765
|
-
inspect_ai/util/_subprocess.py,sha256=
|
766
|
+
inspect_ai/util/_subprocess.py,sha256=H536zfPCFJPYyVjKoenDLpBfCj6YT6xufihrmUC8omw,8684
|
766
767
|
inspect_ai/util/_subtask.py,sha256=gj108R8mnSSJsXALYpuHf7Z6qA4TRfKtwj1y68og6Wc,5065
|
767
768
|
inspect_ai/util/_throttle.py,sha256=JczSG_y0v60m4gQCt28uw_WPjJTbHuq8gWcxY3-vFsc,855
|
768
|
-
inspect_ai/util/_sandbox/__init__.py,sha256=
|
769
|
+
inspect_ai/util/_sandbox/__init__.py,sha256=C8saQ-TPCGxBEdGqWF0PFwdH2JkGnNemx-sJ4gRQAjA,974
|
769
770
|
inspect_ai/util/_sandbox/context.py,sha256=CS-JS9lTDwaNclMXaT0ilaU-aIuHtV6HaV7_2-myZlM,10025
|
770
771
|
inspect_ai/util/_sandbox/environment.py,sha256=yxQAKJqXHzifoo1v_gRRizEmMTLDl1KtUAcT50VAjDI,14578
|
771
772
|
inspect_ai/util/_sandbox/events.py,sha256=NJ724uZnjxOHBdkrNkecEl2DMQ4q0PLOH1QCJOHllXw,5463
|
@@ -773,7 +774,7 @@ inspect_ai/util/_sandbox/limits.py,sha256=K-GjKfSugOq8KP0wW_oF6qFrXsOnMV0C88QUWk
|
|
773
774
|
inspect_ai/util/_sandbox/local.py,sha256=A_6kvAqoU483cKetKI5r-8fggM2uThFZeOY5Tz2_K0o,3538
|
774
775
|
inspect_ai/util/_sandbox/registry.py,sha256=mQwWwqzaCXF1FZ2fcVujpp3WMA35GWnh1w43SoIJAVM,2145
|
775
776
|
inspect_ai/util/_sandbox/self_check.py,sha256=iYdAzb_ufMgA0yDQQJ3v5RcKCFTkayp-nqO-A8DFhfI,23915
|
776
|
-
inspect_ai/util/_sandbox/service.py,sha256=
|
777
|
+
inspect_ai/util/_sandbox/service.py,sha256=pOQ-HU2m6rjtZE1tBDX9Wpy4IeIfBVyxoBNYGbgEjx4,12451
|
777
778
|
inspect_ai/util/_sandbox/docker/cleanup.py,sha256=pGYzgCviZqbrFcM1AASIHWCrYE1pS_g4OamcVWKrkMM,5257
|
778
779
|
inspect_ai/util/_sandbox/docker/compose.py,sha256=r7BtNv5JGJsL8IwQmW_DFSN7JFMRAjneC7WBtGkIagM,12292
|
779
780
|
inspect_ai/util/_sandbox/docker/config.py,sha256=5-YsouGJGxNXw8xNEZi1o4H0EaqaTLKoQhwYT2Iczb4,2925
|
@@ -782,9 +783,9 @@ inspect_ai/util/_sandbox/docker/internal.py,sha256=c8X8TLrBPOvsfnq5TkMlb_bzTALyc
|
|
782
783
|
inspect_ai/util/_sandbox/docker/prereqs.py,sha256=0j6_OauBBnVlpBleADcZavIAAQZy4WewVjbRn9c0stg,3355
|
783
784
|
inspect_ai/util/_sandbox/docker/service.py,sha256=hhHIWH1VDFLwehdGd19aUBD_VKfDO3GCPxpw1HSwVQk,2437
|
784
785
|
inspect_ai/util/_sandbox/docker/util.py,sha256=EeInihCNXgUWxaqZ4dNOJd719kXL2_jr63QCoXn68vA,3154
|
785
|
-
inspect_ai-0.3.
|
786
|
-
inspect_ai-0.3.
|
787
|
-
inspect_ai-0.3.
|
788
|
-
inspect_ai-0.3.
|
789
|
-
inspect_ai-0.3.
|
790
|
-
inspect_ai-0.3.
|
786
|
+
inspect_ai-0.3.105.dist-info/licenses/LICENSE,sha256=xZPCr8gTiFIerrA_DRpLAbw-UUftnLFsHxKeW-NTtq8,1081
|
787
|
+
inspect_ai-0.3.105.dist-info/METADATA,sha256=RTZ7JYgPfnTt7hQOBIE6SWp9DI98mCKdzObp-MeIyYc,5467
|
788
|
+
inspect_ai-0.3.105.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
789
|
+
inspect_ai-0.3.105.dist-info/entry_points.txt,sha256=WGGLmzTzDWLzYfiyovSY6oEKuf-gqzSDNOb5V-hk3fM,54
|
790
|
+
inspect_ai-0.3.105.dist-info/top_level.txt,sha256=Tp3za30CHXJEKLk8xLe9qGsW4pBzJpEIOMHOHNCXiVo,11
|
791
|
+
inspect_ai-0.3.105.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|