inspect-ai 0.3.75__py3-none-any.whl → 0.3.76__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 +3 -2
- inspect_ai/_eval/registry.py +3 -5
- inspect_ai/_eval/run.py +4 -0
- inspect_ai/_eval/task/run.py +4 -0
- inspect_ai/_util/logger.py +3 -0
- inspect_ai/_view/www/dist/assets/index.css +28 -16
- inspect_ai/_view/www/dist/assets/index.js +4801 -4615
- inspect_ai/_view/www/log-schema.json +79 -9
- inspect_ai/_view/www/src/samples/descriptor/score/CategoricalScoreDescriptor.tsx +1 -1
- inspect_ai/_view/www/src/samples/descriptor/score/NumericScoreDescriptor.tsx +2 -2
- inspect_ai/_view/www/src/samples/sample-tools/SortFilter.tsx +1 -1
- inspect_ai/_view/www/src/samples/transcript/ModelEventView.module.css +2 -2
- inspect_ai/_view/www/src/types/log.d.ts +11 -5
- inspect_ai/log/_recorders/json.py +8 -0
- inspect_ai/log/_transcript.py +13 -4
- inspect_ai/model/_call_tools.py +13 -4
- inspect_ai/model/_chat_message.py +3 -0
- inspect_ai/model/_model.py +5 -1
- inspect_ai/model/_model_output.py +6 -1
- inspect_ai/model/_openai.py +11 -6
- inspect_ai/model/_providers/anthropic.py +133 -75
- inspect_ai/model/_providers/openai.py +11 -8
- inspect_ai/model/_providers/vertex.py +5 -2
- inspect_ai/tool/__init__.py +4 -0
- inspect_ai/tool/_tool_call.py +5 -2
- inspect_ai/tool/_tool_support_helpers.py +200 -0
- inspect_ai/tool/_tools/_bash_session.py +119 -0
- inspect_ai/tool/_tools/_computer/_computer.py +1 -1
- inspect_ai/tool/_tools/_text_editor.py +121 -0
- inspect_ai/tool/_tools/_web_browser/_back_compat.py +150 -0
- inspect_ai/tool/_tools/_web_browser/_web_browser.py +75 -130
- inspect_ai/tool/_tools/_web_search.py +1 -1
- inspect_ai/util/_json.py +28 -0
- inspect_ai/util/_sandbox/context.py +16 -7
- inspect_ai/util/_sandbox/docker/config.py +1 -1
- inspect_ai/util/_sandbox/docker/internal.py +3 -3
- {inspect_ai-0.3.75.dist-info → inspect_ai-0.3.76.dist-info}/METADATA +5 -2
- {inspect_ai-0.3.75.dist-info → inspect_ai-0.3.76.dist-info}/RECORD +42 -68
- {inspect_ai-0.3.75.dist-info → inspect_ai-0.3.76.dist-info}/WHEEL +1 -1
- inspect_ai/tool/_tools/_web_browser/_resources/.pylintrc +0 -8
- inspect_ai/tool/_tools/_web_browser/_resources/.vscode/launch.json +0 -24
- inspect_ai/tool/_tools/_web_browser/_resources/.vscode/settings.json +0 -25
- inspect_ai/tool/_tools/_web_browser/_resources/Dockerfile +0 -22
- inspect_ai/tool/_tools/_web_browser/_resources/README.md +0 -63
- inspect_ai/tool/_tools/_web_browser/_resources/accessibility_tree.py +0 -71
- inspect_ai/tool/_tools/_web_browser/_resources/accessibility_tree_node.py +0 -323
- inspect_ai/tool/_tools/_web_browser/_resources/cdp/__init__.py +0 -5
- inspect_ai/tool/_tools/_web_browser/_resources/cdp/a11y.py +0 -279
- inspect_ai/tool/_tools/_web_browser/_resources/cdp/dom.py +0 -9
- inspect_ai/tool/_tools/_web_browser/_resources/cdp/dom_snapshot.py +0 -293
- inspect_ai/tool/_tools/_web_browser/_resources/cdp/page.py +0 -94
- inspect_ai/tool/_tools/_web_browser/_resources/constants.py +0 -2
- inspect_ai/tool/_tools/_web_browser/_resources/images/usage_diagram.svg +0 -2
- inspect_ai/tool/_tools/_web_browser/_resources/mock_environment.py +0 -45
- inspect_ai/tool/_tools/_web_browser/_resources/playwright_browser.py +0 -50
- inspect_ai/tool/_tools/_web_browser/_resources/playwright_crawler.py +0 -48
- inspect_ai/tool/_tools/_web_browser/_resources/playwright_page_crawler.py +0 -280
- inspect_ai/tool/_tools/_web_browser/_resources/pyproject.toml +0 -65
- inspect_ai/tool/_tools/_web_browser/_resources/rectangle.py +0 -64
- inspect_ai/tool/_tools/_web_browser/_resources/rpc_client_helpers.py +0 -146
- inspect_ai/tool/_tools/_web_browser/_resources/scale_factor.py +0 -64
- inspect_ai/tool/_tools/_web_browser/_resources/test_accessibility_tree_node.py +0 -180
- inspect_ai/tool/_tools/_web_browser/_resources/test_playwright_crawler.py +0 -99
- inspect_ai/tool/_tools/_web_browser/_resources/test_rectangle.py +0 -15
- inspect_ai/tool/_tools/_web_browser/_resources/test_web_client.py +0 -44
- inspect_ai/tool/_tools/_web_browser/_resources/web_browser_rpc_types.py +0 -39
- inspect_ai/tool/_tools/_web_browser/_resources/web_client.py +0 -214
- inspect_ai/tool/_tools/_web_browser/_resources/web_client_new_session.py +0 -35
- inspect_ai/tool/_tools/_web_browser/_resources/web_server.py +0 -192
- {inspect_ai-0.3.75.dist-info → inspect_ai-0.3.76.dist-info}/entry_points.txt +0 -0
- {inspect_ai-0.3.75.dist-info → inspect_ai-0.3.76.dist-info/licenses}/LICENSE +0 -0
- {inspect_ai-0.3.75.dist-info → inspect_ai-0.3.76.dist-info}/top_level.txt +0 -0
@@ -52,7 +52,7 @@ def web_search(
|
|
52
52
|
A web search is conducted using the specified provider, the results are parsed for relevance
|
53
53
|
using the specified model, and the top 'num_results' relevant pages are returned.
|
54
54
|
|
55
|
-
See further documentation at <https://inspect.aisi.org.uk/tools.html#sec-web-search>.
|
55
|
+
See further documentation at <https://inspect.aisi.org.uk/tools-standard.html#sec-web-search>.
|
56
56
|
|
57
57
|
Args:
|
58
58
|
provider: Search provider (defaults to "google", currently
|
inspect_ai/util/_json.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import types
|
2
2
|
import typing
|
3
|
+
from copy import deepcopy
|
3
4
|
from dataclasses import is_dataclass
|
4
5
|
from typing import (
|
5
6
|
Any,
|
@@ -10,6 +11,7 @@ from typing import (
|
|
10
11
|
Tuple,
|
11
12
|
Type,
|
12
13
|
Union,
|
14
|
+
cast,
|
13
15
|
get_args,
|
14
16
|
get_origin,
|
15
17
|
get_type_hints,
|
@@ -127,6 +129,7 @@ def cls_json_schema(cls: Type[Any]) -> JSONSchema:
|
|
127
129
|
required.append(name)
|
128
130
|
elif isinstance(cls, type) and issubclass(cls, BaseModel):
|
129
131
|
schema = cls.model_json_schema()
|
132
|
+
schema = resolve_schema_references(schema)
|
130
133
|
for name, prop in schema.get("properties", {}).items():
|
131
134
|
properties[name] = JSONSchema(**prop)
|
132
135
|
required = schema.get("required", [])
|
@@ -168,3 +171,28 @@ def python_type_to_json_type(python_type: str | None) -> JSONType:
|
|
168
171
|
raise ValueError(
|
169
172
|
f"Unsupported type: {python_type} for Python to JSON conversion."
|
170
173
|
)
|
174
|
+
|
175
|
+
|
176
|
+
def resolve_schema_references(schema: dict[str, Any]) -> dict[str, Any]:
|
177
|
+
"""Resolves all $ref references in a JSON schema by inlining the definitions."""
|
178
|
+
schema = deepcopy(schema)
|
179
|
+
definitions = schema.pop("$defs", {})
|
180
|
+
|
181
|
+
def _resolve_refs(obj: Any) -> Any:
|
182
|
+
if isinstance(obj, dict):
|
183
|
+
if "$ref" in obj and obj["$ref"].startswith("#/$defs/"):
|
184
|
+
ref_key = obj["$ref"].split("/")[-1]
|
185
|
+
if ref_key in definitions:
|
186
|
+
# Replace with a deep copy of the definition
|
187
|
+
resolved = deepcopy(definitions[ref_key])
|
188
|
+
# Process any nested references in the definition
|
189
|
+
return _resolve_refs(resolved)
|
190
|
+
|
191
|
+
# Process all entries in the dictionary
|
192
|
+
return {k: _resolve_refs(v) for k, v in obj.items()}
|
193
|
+
elif isinstance(obj, list):
|
194
|
+
return [_resolve_refs(item) for item in obj]
|
195
|
+
else:
|
196
|
+
return obj
|
197
|
+
|
198
|
+
return cast(dict[str, Any], _resolve_refs(schema))
|
@@ -49,11 +49,14 @@ def sandbox(name: str | None = None) -> SandboxEnvironment:
|
|
49
49
|
return environment
|
50
50
|
|
51
51
|
|
52
|
-
async def sandbox_with(file: str) -> SandboxEnvironment | None:
|
52
|
+
async def sandbox_with(file: str, on_path: bool = False) -> SandboxEnvironment | None:
|
53
53
|
"""Get the SandboxEnvironment for the current sample that has the specified file.
|
54
54
|
|
55
55
|
Args:
|
56
|
-
file (str): Path to file to check for.
|
56
|
+
file (str): Path to file to check for if on_path is False. If on_path is
|
57
|
+
True, file should be a filename that exists on the system path.
|
58
|
+
on_path (bool): If True, file is a filename to be verified using "which".
|
59
|
+
If False, file is a path to be checked within the sandbox environments.
|
57
60
|
|
58
61
|
Return:
|
59
62
|
SandboxEnvironment instance or None if no sandboxes had the file.
|
@@ -66,19 +69,25 @@ async def sandbox_with(file: str) -> SandboxEnvironment | None:
|
|
66
69
|
if environments_with is None:
|
67
70
|
raise_no_sandbox()
|
68
71
|
|
69
|
-
# if we've already
|
70
|
-
|
72
|
+
# if we've already discovered the sandbox for this file then return it
|
73
|
+
environment_with_key = f"{file}:{on_path}"
|
74
|
+
environment = environments_with.get(environment_with_key, None)
|
71
75
|
if environment is not None:
|
72
76
|
return environment
|
73
77
|
|
74
78
|
# look in each sandbox
|
75
79
|
for _, environment in environments.items():
|
76
80
|
try:
|
77
|
-
|
78
|
-
|
81
|
+
if on_path:
|
82
|
+
# can we find the file on the path?
|
83
|
+
if not (await environment.exec(["which", file])).success:
|
84
|
+
continue
|
85
|
+
else:
|
86
|
+
# can we read the file?
|
87
|
+
await environment.read_file(file)
|
79
88
|
|
80
89
|
# if so this is our environment, cache and return it
|
81
|
-
environments_with[
|
90
|
+
environments_with[environment_with_key] = environment
|
82
91
|
return environment
|
83
92
|
|
84
93
|
# allow exception types known to be raised from read_file
|
@@ -82,7 +82,7 @@ COMPOSE_COMMENT = """# inspect auto-generated docker compose file
|
|
82
82
|
COMPOSE_GENERIC_YAML = f"""{COMPOSE_COMMENT}
|
83
83
|
services:
|
84
84
|
default:
|
85
|
-
image: "
|
85
|
+
image: "aisiuk/inspect-tool-support"
|
86
86
|
command: "tail -f /dev/null"
|
87
87
|
init: true
|
88
88
|
network_mode: none
|
@@ -3,13 +3,13 @@ from inspect_ai._util.error import PrerequisiteError
|
|
3
3
|
from inspect_ai.util._display import display_type
|
4
4
|
from inspect_ai.util._subprocess import subprocess
|
5
5
|
|
6
|
-
|
6
|
+
INSPECT_WEB_BROWSER_IMAGE_DOCKERHUB_DEPRECATED = "aisiuk/inspect-web-browser-tool"
|
7
7
|
|
8
|
-
|
8
|
+
INSPECT_WEB_BROWSER_IMAGE_DEPRECATED = "inspect_web_browser"
|
9
9
|
INSPECT_COMPUTER_IMAGE = "inspect-computer-tool"
|
10
10
|
|
11
11
|
INTERNAL_IMAGES = {
|
12
|
-
|
12
|
+
INSPECT_WEB_BROWSER_IMAGE_DEPRECATED: PKG_PATH
|
13
13
|
/ "tool"
|
14
14
|
/ "_tools"
|
15
15
|
/ "_web_browser"
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: inspect_ai
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.76
|
4
4
|
Summary: Framework for large language model evaluations
|
5
5
|
Author: UK AI Security Institute
|
6
6
|
License: MIT License
|
@@ -60,11 +60,13 @@ Requires-Dist: goodfire; extra == "dev"
|
|
60
60
|
Requires-Dist: griffe; extra == "dev"
|
61
61
|
Requires-Dist: groq; extra == "dev"
|
62
62
|
Requires-Dist: ipython; extra == "dev"
|
63
|
+
Requires-Dist: markdown; extra == "dev"
|
63
64
|
Requires-Dist: mistralai; extra == "dev"
|
64
65
|
Requires-Dist: moto[server]; extra == "dev"
|
65
66
|
Requires-Dist: mypy; extra == "dev"
|
66
67
|
Requires-Dist: nbformat; extra == "dev"
|
67
68
|
Requires-Dist: openai; extra == "dev"
|
69
|
+
Requires-Dist: panflute; extra == "dev"
|
68
70
|
Requires-Dist: pip; extra == "dev"
|
69
71
|
Requires-Dist: pre-commit; extra == "dev"
|
70
72
|
Requires-Dist: pylint; extra == "dev"
|
@@ -96,6 +98,7 @@ Requires-Dist: griffe; extra == "doc"
|
|
96
98
|
Provides-Extra: dist
|
97
99
|
Requires-Dist: twine; extra == "dist"
|
98
100
|
Requires-Dist: build; extra == "dist"
|
101
|
+
Dynamic: license-file
|
99
102
|
|
100
103
|
[<img width="295" src="https://inspect.aisi.org.uk/images/aisi-logo.svg" />](https://aisi.gov.uk/)
|
101
104
|
|
@@ -46,11 +46,11 @@ inspect_ai/_display/textual/widgets/transcript.py,sha256=zaxlDixT6Fie0acAWBM9Hlt
|
|
46
46
|
inspect_ai/_eval/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
47
47
|
inspect_ai/_eval/context.py,sha256=gWTjEEMVTJMJpCCKLRs4joZDkG00rzE7-HXZFyzSC_I,1283
|
48
48
|
inspect_ai/_eval/eval.py,sha256=lmDIfrfx9hmlIOSYEUkH6QzpX1dDV6JUgEB_fo4GANg,37824
|
49
|
-
inspect_ai/_eval/evalset.py,sha256=
|
49
|
+
inspect_ai/_eval/evalset.py,sha256=1N4sJ-gvGe-viZtIUIjJ4DcUCjAHxUrB6ZN0SYGp0-4,23541
|
50
50
|
inspect_ai/_eval/list.py,sha256=VbZ-2EI6MqrXvCN7VTz21TQSoU5K5_Q0hqhxmj5A_m0,3744
|
51
51
|
inspect_ai/_eval/loader.py,sha256=yOj8HqYBFQntx0_GY4Wxqm6jivlT4N4WiQ1T8J9uRVA,23606
|
52
|
-
inspect_ai/_eval/registry.py,sha256=
|
53
|
-
inspect_ai/_eval/run.py,sha256=
|
52
|
+
inspect_ai/_eval/registry.py,sha256=9Q-Re9uZagQ2nw-W7hA6zhrmCQFmo3KcxncTcG24EG8,5315
|
53
|
+
inspect_ai/_eval/run.py,sha256=1i-r9ha4afTyKKEwcA5PlMZ1SHZM80pt-N2MUKBzAk8,19093
|
54
54
|
inspect_ai/_eval/score.py,sha256=qf9T8XwUmfE6A8QK1-D-jUbNlLETVM-HXhucPWZ0Ro0,9591
|
55
55
|
inspect_ai/_eval/task/__init__.py,sha256=6FvojMW3yo36L7xDacppCHDxt6A8_tzj_ftg5bQ6eNk,199
|
56
56
|
inspect_ai/_eval/task/constants.py,sha256=quAKMw-4-3xKd1T_KwXCZvHYoKRXt1ZGuaHbBcWJwnA,72
|
@@ -61,7 +61,7 @@ inspect_ai/_eval/task/images.py,sha256=nTzHizlyuPYumPH7gAOBSrNkTwTbAmZ7tKdzN7d_R
|
|
61
61
|
inspect_ai/_eval/task/log.py,sha256=LJXKau99G-Qxu5UzODZKzo2HW70ST7kM9oUtHyrP6GI,9863
|
62
62
|
inspect_ai/_eval/task/resolved.py,sha256=OCQc_0HmW_Vw8o1KisX0DCn-eOPkTbR1v_y_jEaAlhU,966
|
63
63
|
inspect_ai/_eval/task/results.py,sha256=x4weYRK2XGowfBG3f2msOeZQ_pxh230HTlw6kps33jw,17925
|
64
|
-
inspect_ai/_eval/task/run.py,sha256=
|
64
|
+
inspect_ai/_eval/task/run.py,sha256=HWpJ-imvjvbjptuEWqoXwpttX0zAkUqHketr3rGphlc,36981
|
65
65
|
inspect_ai/_eval/task/rundir.py,sha256=x1XTll6ACc68AOBOIOjMTjNpV-elCpgu26qo0LcXBjQ,2193
|
66
66
|
inspect_ai/_eval/task/sandbox.py,sha256=A4OirmhKtXzg_Bu-g2yo-vC_vnXocpBevns5M07k-qE,7095
|
67
67
|
inspect_ai/_eval/task/task.py,sha256=YFWbCxIAb6Oppg9CaT-s4alfKU0_OV8IAUPu1BbFllY,14838
|
@@ -97,7 +97,7 @@ inspect_ai/_util/interrupt.py,sha256=T30e5YaKSNmnO695p0lK0dquUWFq6dNNtdAFPmWGwME
|
|
97
97
|
inspect_ai/_util/json.py,sha256=uNhVUFbGy6ZmPkqnpHT7h8oTdh1M66YexP79M-0PROw,2376
|
98
98
|
inspect_ai/_util/kvstore.py,sha256=z2IXLWP4QqqGqsq5_MbYjBQPcEJqfWK4IyZXgV-kppA,2398
|
99
99
|
inspect_ai/_util/list.py,sha256=6_5r5jI5RKK34kCmIqqVQ5hYG-G8v0F5H7L-DmQQ2E4,279
|
100
|
-
inspect_ai/_util/logger.py,sha256=
|
100
|
+
inspect_ai/_util/logger.py,sha256=XpGyoe8V7FIhNU1rnjTjwR07LVbshA9rRZn33sOitig,6230
|
101
101
|
inspect_ai/_util/notebook.py,sha256=Mgz3J4uBh-MqVBRmpiJqDHRpn2hd7HIOBeJBwLG-bbk,2998
|
102
102
|
inspect_ai/_util/notgiven.py,sha256=zkn6AYflKLf8YlnwTAMxPLQ-4LyIVmKpGcNcXf-Ssng,457
|
103
103
|
inspect_ai/_util/package.py,sha256=2ntItRYaYBaVWI5eDaB4FdpI1IUBiBWNRxq7FChvk1I,2729
|
@@ -133,7 +133,7 @@ inspect_ai/_view/www/eslint.config.mjs,sha256=R4sb1miZ8_1wEgUu6o_xkvALcaSxKLh9xH
|
|
133
133
|
inspect_ai/_view/www/favicon.svg,sha256=b9AHYZaO2zBzeKH6G4PwXZMGGW_UxY0omKHam-c9MAs,1508
|
134
134
|
inspect_ai/_view/www/index.html,sha256=wqZHIn_9TODavPHnGyY9F1RH6JBIphoaqRIRgBQgrUE,910
|
135
135
|
inspect_ai/_view/www/jsconfig.json,sha256=vt1gPPYezOFeV9nofA93CmVJAKGb1QeKGuyvEn1CXgk,383
|
136
|
-
inspect_ai/_view/www/log-schema.json,sha256=
|
136
|
+
inspect_ai/_view/www/log-schema.json,sha256=g_LH7ptR59nDtc_zP4of4m6s17zZEPg-umcgdMP5D3c,112552
|
137
137
|
inspect_ai/_view/www/package.json,sha256=atT_c02Taz84pTimEAEUD5I3In7H3notXijv2I3JNo0,2065
|
138
138
|
inspect_ai/_view/www/postcss.config.cjs,sha256=mwpiwZD1alr_ECeLVf7vIpX_5KiARNF8HbkpWWiqSac,324
|
139
139
|
inspect_ai/_view/www/tsconfig.json,sha256=FbmQYpX8ta5Wyi8b8md2O_8CXkfQgr-Pe2yRyKXeqM0,619
|
@@ -143,8 +143,8 @@ inspect_ai/_view/www/.vscode/extensions.json,sha256=E73RWLzcoyeluE_ijGxaNSOK9xC0
|
|
143
143
|
inspect_ai/_view/www/.vscode/settings.json,sha256=g5hrVnMaYxM06JpiJD2EuE2xjcbF6xNAtL2fuKgG1-8,200
|
144
144
|
inspect_ai/_view/www/dist/index.html,sha256=gpdu6SR-SOH9EWx15cCWHzujMZujnZR5tRlEfROJg2A,997
|
145
145
|
inspect_ai/_view/www/dist/assets/favicon.svg,sha256=b9AHYZaO2zBzeKH6G4PwXZMGGW_UxY0omKHam-c9MAs,1508
|
146
|
-
inspect_ai/_view/www/dist/assets/index.css,sha256=
|
147
|
-
inspect_ai/_view/www/dist/assets/index.js,sha256=
|
146
|
+
inspect_ai/_view/www/dist/assets/index.css,sha256=V0HHB6ss9UdKAlLKTmyHoYAZrstD6nvb-UhnWInyhQQ,895546
|
147
|
+
inspect_ai/_view/www/dist/assets/index.js,sha256=zcV5qvFRVPEBJkVclKSbtg91IX6L-T7dmO2M8yY9mZ4,2748105
|
148
148
|
inspect_ai/_view/www/src/App.tsx,sha256=rhiZKs-f1y9amyX_OLay7aL4OXaQ_o0gNd04M3pZVuk,28852
|
149
149
|
inspect_ai/_view/www/src/AppErrorBoundary.tsx,sha256=RyhZWbIMZj1QeUOUUXh9hUFvq6LoDEoHuTY0giswmL0,1169
|
150
150
|
inspect_ai/_view/www/src/constants.ts,sha256=aLncMT1XjKzyphLF_jkXPZicsCJXMsBXcDomAC4EaIY,1228
|
@@ -259,8 +259,8 @@ inspect_ai/_view/www/src/samples/descriptor/samplesDescriptor.tsx,sha256=IFJ20qT
|
|
259
259
|
inspect_ai/_view/www/src/samples/descriptor/types.ts,sha256=oHCAVEQSWeiVi2FUhPl2rymrbCr0zgdslhCWlDxsLSY,1378
|
260
260
|
inspect_ai/_view/www/src/samples/descriptor/score/BooleanScoreDescriptor.module.css,sha256=3cWqjv4GQcw7z2ZNcnbxHGk7FM39oU8S8yRIVPN5XEk,417
|
261
261
|
inspect_ai/_view/www/src/samples/descriptor/score/BooleanScoreDescriptor.tsx,sha256=CLAzCTaPNhtA43VrWHODGvkvu9MiE3PBJuJsHp_Bld4,671
|
262
|
-
inspect_ai/_view/www/src/samples/descriptor/score/CategoricalScoreDescriptor.tsx,sha256=
|
263
|
-
inspect_ai/_view/www/src/samples/descriptor/score/NumericScoreDescriptor.tsx,sha256=
|
262
|
+
inspect_ai/_view/www/src/samples/descriptor/score/CategoricalScoreDescriptor.tsx,sha256=E7oUxeFW5yzR5akYxUrH3wUtKRYqXYqgbzzZTTT1TW8,472
|
263
|
+
inspect_ai/_view/www/src/samples/descriptor/score/NumericScoreDescriptor.tsx,sha256=pUwjwGrojhMyzZZh-wtuppagwZECfJG0Xq76Wx6fD-8,860
|
264
264
|
inspect_ai/_view/www/src/samples/descriptor/score/ObjectScoreDescriptor.module.css,sha256=lWNDBHma-aaeeKRRig5GUIYag95UISwcN1QuF46-zR8,202
|
265
265
|
inspect_ai/_view/www/src/samples/descriptor/score/ObjectScoreDescriptor.tsx,sha256=mq-MFIu4AwEe7ZoQZuOCUUfaguAsgHrsVFG-qtFmfos,2024
|
266
266
|
inspect_ai/_view/www/src/samples/descriptor/score/OtherScoreDescriptor.tsx,sha256=argRDR7qkZ--Sb6UnuMc1mYBbEY5CXVX0q1vfiTVYA8,511
|
@@ -287,7 +287,7 @@ inspect_ai/_view/www/src/samples/sample-tools/EpochFilter.tsx,sha256=xSgribOdqB2
|
|
287
287
|
inspect_ai/_view/www/src/samples/sample-tools/SelectScorer.module.css,sha256=20RE0gRiZ0Xck05JpReHp3R1gO1wvuDrBafEo9pIbpk,160
|
288
288
|
inspect_ai/_view/www/src/samples/sample-tools/SelectScorer.tsx,sha256=sj_K0yznmwn-16KXI7nUIKiewwyVwAjBhEQHPbRVgcQ,4310
|
289
289
|
inspect_ai/_view/www/src/samples/sample-tools/SortFilter.module.css,sha256=7uNUEoHtsNxN6P5WFZQvoEzd55n9rsgmfhWCicFh1_c,106
|
290
|
-
inspect_ai/_view/www/src/samples/sample-tools/SortFilter.tsx,sha256=
|
290
|
+
inspect_ai/_view/www/src/samples/sample-tools/SortFilter.tsx,sha256=GAJ_auD-kDn2eJWUHrjObvyt-qwJBiiOsSb6t1rCNqs,4595
|
291
291
|
inspect_ai/_view/www/src/samples/sample-tools/filters.ts,sha256=5QiNwaZOuYSZKGOn0XeRYvWyLB7AM3lbMnDSkGfgpA4,9529
|
292
292
|
inspect_ai/_view/www/src/samples/sample-tools/sample-filter/SampleFilter.module.css,sha256=PPdynh09MuEz0BMhHSximTj_BLNNAEQQQB8TH4amd3A,199
|
293
293
|
inspect_ai/_view/www/src/samples/sample-tools/sample-filter/SampleFilter.tsx,sha256=KCJORRkBUPz1NOHARYdli7vE_WOUVRpQM7whV4dxqtc,8415
|
@@ -305,7 +305,7 @@ inspect_ai/_view/www/src/samples/transcript/InfoEventView.tsx,sha256=SKbfkY5f_Pw
|
|
305
305
|
inspect_ai/_view/www/src/samples/transcript/InputEventView.tsx,sha256=XsWl7hACRUpJ_HJ91c-78MYU3gJiGWC5z-7kH4w145g,1345
|
306
306
|
inspect_ai/_view/www/src/samples/transcript/LoggerEventView.module.css,sha256=r8LC8JiuXmB-yH9og39rNPoQ_OxxzJMX_78qfvVP1oE,144
|
307
307
|
inspect_ai/_view/www/src/samples/transcript/LoggerEventView.tsx,sha256=2jDipmuFPfGfKJbehfZGgK7WFF_YTvARA_kQ-s35v1g,1327
|
308
|
-
inspect_ai/_view/www/src/samples/transcript/ModelEventView.module.css,sha256=
|
308
|
+
inspect_ai/_view/www/src/samples/transcript/ModelEventView.module.css,sha256=xH8I4rcQ8kb1iR80RBBRJ25ZC9CF5ekpwNYgOil0uyY,601
|
309
309
|
inspect_ai/_view/www/src/samples/transcript/ModelEventView.tsx,sha256=26hO2XC6L7v7lIJ8lJWmpY1t_TZ4o55h5-_aMaJUoFM,6147
|
310
310
|
inspect_ai/_view/www/src/samples/transcript/SampleInitEventView.module.css,sha256=kB4a3g7RveznFGsPmQajJRuNWRrpDyK2DgztvUMIYZQ,275
|
311
311
|
inspect_ai/_view/www/src/samples/transcript/SampleInitEventView.tsx,sha256=7jhzBpS02v6wy02Sx4-8Ota12uYw4g4aB8fp4LR7fV0,3316
|
@@ -343,7 +343,7 @@ inspect_ai/_view/www/src/samples/transcript/state/StateEventView.module.css,sha2
|
|
343
343
|
inspect_ai/_view/www/src/samples/transcript/state/StateEventView.tsx,sha256=r23qjQb-OiGLB3Dahm2XFJZROe5rvoNVarJadzysq2w,9678
|
344
344
|
inspect_ai/_view/www/src/types/asciicinema-player.d.ts,sha256=PgM6swZ9P5pKXcdKfYfmd1dcZQDy105K60NvcQPFqVo,647
|
345
345
|
inspect_ai/_view/www/src/types/jsondiffpatch.d.ts,sha256=QXTAwln2Z1vDiNuoG4b-VWoH0hKMJHSM1L2deXEV6ZQ,188
|
346
|
-
inspect_ai/_view/www/src/types/log.d.ts,sha256=
|
346
|
+
inspect_ai/_view/www/src/types/log.d.ts,sha256=MRW_kU80QnEsWCVw0ItGI7S9WIOVMDKGeiUJMjUP-4A,32514
|
347
347
|
inspect_ai/_view/www/src/types/prism.d.ts,sha256=g0uL_2XdnxuCVS_XX6iD9PHIF9PWix_vPXHOVz_4vII,342
|
348
348
|
inspect_ai/_view/www/src/usage/ModelTokenTable.tsx,sha256=UM9r2Zg7AUFmgXZlB-jL-McK6QLOSifGILhB8403J2I,623
|
349
349
|
inspect_ai/_view/www/src/usage/ModelUsagePanel.module.css,sha256=LAIn2KaAp5gMb1kKBDtlCmzThXZMZK5hMq7nrfp0dzs,336
|
@@ -443,28 +443,28 @@ inspect_ai/log/_log.py,sha256=OfaP3gq6JPqNqApxXfSHbmOPm9K2BXSdpSvpkCP3zNg,24383
|
|
443
443
|
inspect_ai/log/_message.py,sha256=QofM_JZF_x3k_5ta1uQzoN_VnMoUhXFnqWurIn9FXOY,1999
|
444
444
|
inspect_ai/log/_retry.py,sha256=e7a2hjl3Ncl8b8sU7CsDpvK8DV0b1uSRLeokRX1mt34,2109
|
445
445
|
inspect_ai/log/_samples.py,sha256=wPQlV1VR9djWaj37lLrjBprCabdAm4S2vFOsQTcd12U,4910
|
446
|
-
inspect_ai/log/_transcript.py,sha256=
|
446
|
+
inspect_ai/log/_transcript.py,sha256=wsXfVlP0zL8YLNz3jc9n6yv8vSlvQ6DboGb6JDxOJPE,14618
|
447
447
|
inspect_ai/log/_recorders/__init__.py,sha256=-ECELTfjeWwDuEIBSXO2oxEtJ6Dn0ZQYUxrEy0klN34,350
|
448
448
|
inspect_ai/log/_recorders/create.py,sha256=WB-fms0dBDHlTtTa_a_r0fFc6UPRvQZKZT7d_Inp-EU,1103
|
449
449
|
inspect_ai/log/_recorders/eval.py,sha256=rFw_-3PAK5QwPOWVSBfalk2y-6P1TYS1FXItmXniOLk,17641
|
450
450
|
inspect_ai/log/_recorders/file.py,sha256=LYn0CxWfpnlb8cpkrWQb5PI9zmJejbedcRmQlV9hzMk,2558
|
451
|
-
inspect_ai/log/_recorders/json.py,sha256=
|
451
|
+
inspect_ai/log/_recorders/json.py,sha256=sF4cc-_TrUgRxngHwj0p7Rsjy67XTbWSH_SRCEqz9RQ,8782
|
452
452
|
inspect_ai/log/_recorders/recorder.py,sha256=zDDpl2tktPjb6xk5kd4TyEMxkXZiLgXXpPinJLrfF_o,1616
|
453
453
|
inspect_ai/model/__init__.py,sha256=T8o-v2tkZ5YVZjpCrXLxrpZa45TwTZQ54XYesRlVe90,2249
|
454
454
|
inspect_ai/model/_cache.py,sha256=Bl6WS9b1kJRVsGK0h7Fd1-mDAbrlxvNXMPK30P3aMuM,13736
|
455
|
-
inspect_ai/model/_call_tools.py,sha256=
|
456
|
-
inspect_ai/model/_chat_message.py,sha256=
|
455
|
+
inspect_ai/model/_call_tools.py,sha256=XvPO-RrbDSIk3A6dCXrqHG2IYAfBart1a-uMKUydAVs,19864
|
456
|
+
inspect_ai/model/_chat_message.py,sha256=I2EPWuVFRZVwS9mqA80mZCXm37brsEvnD633cq99wM0,7249
|
457
457
|
inspect_ai/model/_conversation.py,sha256=7KPqnCx5ETNkdhR1g1gsjV8sCrJlrOOPwlBz_Yoc9kg,2463
|
458
458
|
inspect_ai/model/_generate_config.py,sha256=JMX_48p-zv7WW0dGm_PQPyGpyJoa4AuFXBaBXajWWpo,10973
|
459
459
|
inspect_ai/model/_image.py,sha256=kpO2Bn_-c-dK80HuPOPH1eSNmcoc39kofwf4yTTiTFE,477
|
460
|
-
inspect_ai/model/_model.py,sha256=
|
460
|
+
inspect_ai/model/_model.py,sha256=LaRXqKvM2fl9HGCQAdrOOkNryfYU970LZGsyOxk1o00,48304
|
461
461
|
inspect_ai/model/_model_call.py,sha256=VJ8wnl9Y81JaiClBYM8eyt1jVb3n-yc6Dd88ofRiJDc,2234
|
462
|
-
inspect_ai/model/_model_output.py,sha256=
|
463
|
-
inspect_ai/model/_openai.py,sha256=
|
462
|
+
inspect_ai/model/_model_output.py,sha256=1picjX2Y0NSmEZ-vdQi42QAx3QvMcWVRn8pXP2wtmN8,7733
|
463
|
+
inspect_ai/model/_openai.py,sha256=VvEUg0lQdXCq0vV3iR7GfqW52WjHXNRA2QDslIjg9RY,16975
|
464
464
|
inspect_ai/model/_reasoning.py,sha256=qmR8WT6t_cb7NIsJOQHPyFZh2eLV0HmYxKo2vtvteQ4,929
|
465
465
|
inspect_ai/model/_registry.py,sha256=Cr2y32EqLnOqLbSWoXHVK4ivTTzCUhJuACxoTyPt8kY,2032
|
466
466
|
inspect_ai/model/_render.py,sha256=rWypNUjgrH4NGp0r-ESAze9gZz7lYNjheEP438vRYZE,922
|
467
|
-
inspect_ai/model/_providers/anthropic.py,sha256=
|
467
|
+
inspect_ai/model/_providers/anthropic.py,sha256=SuXXs-VmG4XzSyHin7N1HPAHJoy43jExqhio2OPNV0o,33369
|
468
468
|
inspect_ai/model/_providers/azureai.py,sha256=3phdDrrsKzinphLtGj39bet_jVLcKgtLcWr_uILO0cc,14225
|
469
469
|
inspect_ai/model/_providers/bedrock.py,sha256=mLeMW2JkG4lF0VQGEdku73ZL00EBy-hEvEcyCdjDUDo,24153
|
470
470
|
inspect_ai/model/_providers/cloudflare.py,sha256=0e0HPas21cVC8N9mNJlZnSZyIt6FUB9lTIAqPXJDrtE,4586
|
@@ -478,12 +478,12 @@ inspect_ai/model/_providers/mistral.py,sha256=pwBaO7VoW-ZsiZfNjF3-m7Zr44OkNasOlI
|
|
478
478
|
inspect_ai/model/_providers/mockllm.py,sha256=gL9f-f5TOdE4a0GVENr3cOIIp2kv8zVXWPZ608rouGk,2440
|
479
479
|
inspect_ai/model/_providers/none.py,sha256=6qLbZpHSoEZaaxFO7luieFjqig2Ju8Fu00DlRngAry8,935
|
480
480
|
inspect_ai/model/_providers/ollama.py,sha256=mBPSxaEkiH_RnlHKqOyFBlXObQhc2dfjL-rCKrea5u8,675
|
481
|
-
inspect_ai/model/_providers/openai.py,sha256=
|
481
|
+
inspect_ai/model/_providers/openai.py,sha256=9ze3TOLQ5ycRGquJ67bwCPOgfMPYwRZZbN-h2lN4Gys,15058
|
482
482
|
inspect_ai/model/_providers/openai_o1.py,sha256=wURSSI7aCBxbZONQBaEOYPrQleBExL2c2uSIdJXLi1U,12763
|
483
483
|
inspect_ai/model/_providers/openrouter.py,sha256=5G8qS8xA7Gy4IGodEJd04xwjsN-O_as4oeU8DTsKB5s,2932
|
484
484
|
inspect_ai/model/_providers/providers.py,sha256=GI68ptXsLoEkzuLMZseJQ1_jI2f1uqfZwKy9y8IX-Yg,6508
|
485
485
|
inspect_ai/model/_providers/together.py,sha256=Hwg-5jlFR3K61Epp_NnmDR5lX-bHZ2QT77GjM9dQOKY,9461
|
486
|
-
inspect_ai/model/_providers/vertex.py,sha256=
|
486
|
+
inspect_ai/model/_providers/vertex.py,sha256=3PX3pVvzydA-IczZaEAeqQeiTtimBa3a6t418GAtjhY,17235
|
487
487
|
inspect_ai/model/_providers/vllm.py,sha256=KNEjdu-oeCXH-vhpMeF1Pmnf8-mkLpQ5pbyFJMlaT9c,14172
|
488
488
|
inspect_ai/model/_providers/util/__init__.py,sha256=d4T_qvXihTRd1zmQkNE3xUBlHCX8tOIbRK19EwU0fTs,717
|
489
489
|
inspect_ai/model/_providers/util/chatapi.py,sha256=-HsY7kOOEab1RQEWEnTXJEYye4EyG6HuJLdWn8tBOzE,3239
|
@@ -544,23 +544,26 @@ inspect_ai/solver/_human_agent/commands/note.py,sha256=yOHXPkm3yFrXzf-CK-IS6B3M0
|
|
544
544
|
inspect_ai/solver/_human_agent/commands/score.py,sha256=Pkcd3g-8BAYlxQnvJsMFKPZCnqWsFjUYAM7T4Dl5rtM,2207
|
545
545
|
inspect_ai/solver/_human_agent/commands/status.py,sha256=uUO5M4skWDp29OS8sqVKAqZw0OcM3MSesBYQNbRypJ0,1934
|
546
546
|
inspect_ai/solver/_human_agent/commands/submit.py,sha256=D2p1M2ApvAcaVZhbP3fFofG9ZsPVvmxivSLIF5xQxtA,6524
|
547
|
-
inspect_ai/tool/__init__.py,sha256=
|
547
|
+
inspect_ai/tool/__init__.py,sha256=krnJakKZ2A8hC_Lz1SyMKx5nEeLUGwgZL-vmBqUTVZM,2420
|
548
548
|
inspect_ai/tool/_tool.py,sha256=e5a2fHtCg5_AObaDfJliV6s-bJZNfa6HEbj587MjDuM,6285
|
549
|
-
inspect_ai/tool/_tool_call.py,sha256=
|
549
|
+
inspect_ai/tool/_tool_call.py,sha256=yCkcQBl5iSdESX2Mv6z54IOFytmo6spzIk6UWJo3s7g,2294
|
550
550
|
inspect_ai/tool/_tool_choice.py,sha256=L8QNmcnSnilzKg2HU3G65W5aYaSngO09z4FQ0fQlATM,496
|
551
551
|
inspect_ai/tool/_tool_def.py,sha256=wS6yX2_64-O6L4k1kMihUp52-OnGypMn11L3oXMNeQc,8191
|
552
552
|
inspect_ai/tool/_tool_description.py,sha256=SZTQzehReNNKwQ0iUL6v4pPfEptgf3UOP4J888JV18M,524
|
553
553
|
inspect_ai/tool/_tool_info.py,sha256=ivRrJVo1_iUkdSF0cD0ITmZyMnRhI0ouKUFRtKKTZZY,4905
|
554
554
|
inspect_ai/tool/_tool_params.py,sha256=xcVun4guba-st3onDtDar-wOeceAXiWwS5uOkigsFfo,745
|
555
|
+
inspect_ai/tool/_tool_support_helpers.py,sha256=d8Ab27pGfiJXTWz91HNdtcYpDC-j9jzmAWW1aqgo0UY,6965
|
555
556
|
inspect_ai/tool/_tool_transcript.py,sha256=rMibJoBN5Nn41RwInqk45h9RDPxZGu81saDf4SkpqTs,904
|
556
557
|
inspect_ai/tool/_tool_with.py,sha256=CjFDYRSWOHRhfR14z5Sv6ys7V49GwDoWVcMQjY2K3xQ,2628
|
557
558
|
inspect_ai/tool/beta.py,sha256=KQYntN2MLiIHp4Gf4GXv3QO3aYHBBaP-npkluTT-aDM,153
|
558
559
|
inspect_ai/tool/_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
560
|
+
inspect_ai/tool/_tools/_bash_session.py,sha256=_5Y8e5qGX_WTtLsg4bCmj0WH_xNY2locCz4rQCOlvM8,3480
|
559
561
|
inspect_ai/tool/_tools/_execute.py,sha256=SZdtVxxGoQNErWFtYaJgfTtLsZbBP28lnY112mt-VWQ,3435
|
560
|
-
inspect_ai/tool/_tools/
|
562
|
+
inspect_ai/tool/_tools/_text_editor.py,sha256=9Z6vB4_sgwQw2OH22reA6FSw6LgFslbQ5X7ufvaVl5U,3939
|
563
|
+
inspect_ai/tool/_tools/_web_search.py,sha256=GYkGasfmZWG3TY1XqBfa6yJnG7ysPtdGCVmPUJHQRSM,8012
|
561
564
|
inspect_ai/tool/_tools/_computer/__init__.py,sha256=fq4BSM4aDhtEtE4279xm47NiO6vyiZHhhw7cq-azFzk,56
|
562
565
|
inspect_ai/tool/_tools/_computer/_common.py,sha256=nX8Cf9jagsnjwZb9f9eWADUjzETf6PSNRcFrzp0_KLg,5949
|
563
|
-
inspect_ai/tool/_tools/_computer/_computer.py,sha256=
|
566
|
+
inspect_ai/tool/_tools/_computer/_computer.py,sha256=kJxek02TfOqE7oIbXeN48d17jXLW-Y-Ql37OQVKO7ts,9140
|
564
567
|
inspect_ai/tool/_tools/_computer/test_args.py,sha256=tgySEFbsI-jPK9LA75ickN3qI_bLev81XGaprgoKL5k,4234
|
565
568
|
inspect_ai/tool/_tools/_computer/_resources/Dockerfile,sha256=DA1ZzOqO3vEySSfoDV9bCBl_iVmpzhiNz_s1Oyd1gO0,3568
|
566
569
|
inspect_ai/tool/_tools/_computer/_resources/README.md,sha256=5JDNaGJ-Ebq6Io57ANFIqgjPoh11aGDSrrgrhyfiqxU,1657
|
@@ -590,43 +593,14 @@ inspect_ai/tool/_tools/_computer/_resources/tool/pyproject.toml,sha256=MCZ84Su8y
|
|
590
593
|
inspect_ai/tool/_tools/_computer/_resources/tool/requirements.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
591
594
|
inspect_ai/tool/_tools/_computer/_resources/tool/.vscode/settings.json,sha256=cfeAnDRwpgensIPY5LeICNh5P-o5Hw951sdmHtqI_LU,151
|
592
595
|
inspect_ai/tool/_tools/_web_browser/__init__.py,sha256=dnnzy96pcvMvxD1OGg4hG-doL7Ru7WH0i25Sb9VIXwE,65
|
593
|
-
inspect_ai/tool/_tools/_web_browser/
|
594
|
-
inspect_ai/tool/_tools/_web_browser/
|
595
|
-
inspect_ai/tool/_tools/_web_browser/_resources/Dockerfile,sha256=kSYqOWbA-oEKsv153zgrQvZBKQZF1Mz0ryN7xWgs6g0,455
|
596
|
-
inspect_ai/tool/_tools/_web_browser/_resources/README.md,sha256=7rt1ZozFtBUddUVwZlrK8LmhTfgCFiXImqlJWwfP_Fs,2598
|
597
|
-
inspect_ai/tool/_tools/_web_browser/_resources/accessibility_tree.py,sha256=JJugKGPmz_i5bjktlhYzXIY4AQiY3IVAvyyLlTXGYp0,2344
|
598
|
-
inspect_ai/tool/_tools/_web_browser/_resources/accessibility_tree_node.py,sha256=DR2LENFPgEPbqnpH9r5YwpLNcHCZ-f9rnSOznTEJtZ0,11190
|
599
|
-
inspect_ai/tool/_tools/_web_browser/_resources/constants.py,sha256=_yJKOjuVoJnh3Gs02OhkYHJ6VD4VkgE5T494SIvRnNM,55
|
600
|
-
inspect_ai/tool/_tools/_web_browser/_resources/mock_environment.py,sha256=6OE3Xv0JGSXRHQQ6cvw2Ay5F9E6AeHw-gpzD6nenLKE,1482
|
601
|
-
inspect_ai/tool/_tools/_web_browser/_resources/playwright_browser.py,sha256=zN8xh4erhuPMvedoRgy1KYoEkpHCUNZCvEfy9XIXYpA,1812
|
602
|
-
inspect_ai/tool/_tools/_web_browser/_resources/playwright_crawler.py,sha256=6ylrbk9Q_XmhIgOzVZUf9PePXdzrjfhCoz19ppBAUPM,1614
|
603
|
-
inspect_ai/tool/_tools/_web_browser/_resources/playwright_page_crawler.py,sha256=SEgRAKLnxlxL6keT8tS3mFdXHdLUVnBTz8mOz_AkaIA,10828
|
604
|
-
inspect_ai/tool/_tools/_web_browser/_resources/pyproject.toml,sha256=MCZ84Su8yT5GniEM5Iq1onvKHfdND4jscn6jqPt9SMA,1441
|
605
|
-
inspect_ai/tool/_tools/_web_browser/_resources/rectangle.py,sha256=A34z8-hHIVnFeCHNZDo1KT1iCu2kqf3MjpDjRYwvdD0,2154
|
606
|
-
inspect_ai/tool/_tools/_web_browser/_resources/rpc_client_helpers.py,sha256=wKMAmirRuUlEAXLxGPWYeJpPiM59MoQYQMVdh7K4IN4,4434
|
607
|
-
inspect_ai/tool/_tools/_web_browser/_resources/scale_factor.py,sha256=KtvWYXJWDts20JQo2w_M3bYKJbpJL37ifs-toxG37tY,2885
|
608
|
-
inspect_ai/tool/_tools/_web_browser/_resources/test_accessibility_tree_node.py,sha256=QvLuihyDAjawsuePFp08EmUxD1j7upryWbS-KkNyEmg,6740
|
609
|
-
inspect_ai/tool/_tools/_web_browser/_resources/test_playwright_crawler.py,sha256=lIeThHunClX7RWwmZKODjpORH_bWpAaiYbSLmbVeoXs,3519
|
610
|
-
inspect_ai/tool/_tools/_web_browser/_resources/test_rectangle.py,sha256=O-lFW5Fw4KMm606XexmYP9PTnPo_AYi2qDNdPyFDNVM,390
|
611
|
-
inspect_ai/tool/_tools/_web_browser/_resources/test_web_client.py,sha256=3sF0OhRbMpGMKsHPAa1nduWd9s76NejEZYQcpH2nq8s,1501
|
612
|
-
inspect_ai/tool/_tools/_web_browser/_resources/web_browser_rpc_types.py,sha256=pMa2ZhOasdKLWahRVoB7_wZzKZKFgQu3ORRi_pdEkgE,629
|
613
|
-
inspect_ai/tool/_tools/_web_browser/_resources/web_client.py,sha256=pxYLDN9bx5dtCSJL3hMJYNYiabgfBqk8U02SWIbWJfY,7032
|
614
|
-
inspect_ai/tool/_tools/_web_browser/_resources/web_client_new_session.py,sha256=blePeJ2j9tM__aO8Ky3QpGn_v_hvfiejHeHJvr6ksDk,965
|
615
|
-
inspect_ai/tool/_tools/_web_browser/_resources/web_server.py,sha256=0Pg7KeKSMO4SBfj_bXjieQ0_kpxEmRQKZHXWu-xe0gk,6197
|
616
|
-
inspect_ai/tool/_tools/_web_browser/_resources/.vscode/launch.json,sha256=k8qHz9iUTER8m6trpTzDGXq_xZ7fYevTo4HTKoVkTno,572
|
617
|
-
inspect_ai/tool/_tools/_web_browser/_resources/.vscode/settings.json,sha256=A1lJR8kYSwY9K_DQL0Fv1FfFmM3FSoaBs0P0zR1m-F0,427
|
618
|
-
inspect_ai/tool/_tools/_web_browser/_resources/cdp/__init__.py,sha256=DsxX9x-4d_RncodQWCCAUBPV9V4N5iWA89wBtkXXi2g,136
|
619
|
-
inspect_ai/tool/_tools/_web_browser/_resources/cdp/a11y.py,sha256=q2rOmSsJ2SlWDF7CS26FFfeM2VCvWX5rVZCFwtsALy8,8009
|
620
|
-
inspect_ai/tool/_tools/_web_browser/_resources/cdp/dom.py,sha256=DcDI4I1RUyKG7EpFJEVY6Vp_Ak24oHJCjqseXio4NP0,212
|
621
|
-
inspect_ai/tool/_tools/_web_browser/_resources/cdp/dom_snapshot.py,sha256=NjJiIKnZ-0iQI1xhBvl_uh3Gcsd9kmpWDOGLafOXsaA,12736
|
622
|
-
inspect_ai/tool/_tools/_web_browser/_resources/cdp/page.py,sha256=btPwKIJLFaPp-BCZVEOdE34NkmrJWPrbQiO56zEV-bc,3309
|
623
|
-
inspect_ai/tool/_tools/_web_browser/_resources/images/usage_diagram.svg,sha256=ekYMK4_9XwrhTuL1Grsd2E8_OI1K4mjM-pqYJXk0cX8,40100
|
596
|
+
inspect_ai/tool/_tools/_web_browser/_back_compat.py,sha256=oz5xt0_O1LpIXln1LIpypqealT0H1E4wBb_FIh8o6nA,5531
|
597
|
+
inspect_ai/tool/_tools/_web_browser/_web_browser.py,sha256=TkVWtCq03GgG78pav91mPZydamxA6pQ39OxPOBX607s,14013
|
624
598
|
inspect_ai/util/__init__.py,sha256=GBt2_QMy1iumUYa5bRt9LzWsa0Uw5Y8Fa7WSc3Elk0c,1534
|
625
599
|
inspect_ai/util/_concurrency.py,sha256=slo-W5X3XGwjbeXjpVxIYqHQsjoL0MHxcP2SR1epAX4,2408
|
626
600
|
inspect_ai/util/_console.py,sha256=V1XkIoKcNZo0SgRUOv15zJAWz6-zV6267hC4Oldj8oY,1237
|
627
601
|
inspect_ai/util/_conversation.py,sha256=KzqvKfj1tB14cgARZjYyIVG2EpuE-EZKqLGAPIXv1Xs,784
|
628
602
|
inspect_ai/util/_display.py,sha256=cjSfvs_HXHUd3uYqHY4sTPpOcvrWdlGZm2YskfW49lM,2214
|
629
|
-
inspect_ai/util/_json.py,sha256=
|
603
|
+
inspect_ai/util/_json.py,sha256=aNlO-Kw1NmmaQ-TG5_p_Qb9lL5wOTBvLtoyrsZHU8ic,6313
|
630
604
|
inspect_ai/util/_panel.py,sha256=MdZxOt0F01ddn_NsRfwn0es6UjQasK1_EKIQ6jtQyG8,3124
|
631
605
|
inspect_ai/util/_resource.py,sha256=X280aW_7VCkVTGk812tuU5qnZlGM5Qt1-kANr-DaGOs,3389
|
632
606
|
inspect_ai/util/_store.py,sha256=QemJe2M-RK6zSFNcd07_92XFjvNtWKgHzBr5eT3KF1I,3786
|
@@ -635,7 +609,7 @@ inspect_ai/util/_subprocess.py,sha256=uW_6Syl1DleNpHDU3UXaUulcD-QFh3EDIt2Xla80xB
|
|
635
609
|
inspect_ai/util/_subtask.py,sha256=zog37z3sa7yNlIDkt8TvgMdNYatMhtzl-eX1P1N1rW0,5138
|
636
610
|
inspect_ai/util/_throttle.py,sha256=JczSG_y0v60m4gQCt28uw_WPjJTbHuq8gWcxY3-vFsc,855
|
637
611
|
inspect_ai/util/_sandbox/__init__.py,sha256=08yrm-GWL-o7K-NltssDc9zATv2DY7fqAW8p7v6C3Cs,874
|
638
|
-
inspect_ai/util/_sandbox/context.py,sha256=
|
612
|
+
inspect_ai/util/_sandbox/context.py,sha256=PHPyGX48BV-tO225L8SVPbEoX8o1Olyj7kJCZxvx5bo,8942
|
639
613
|
inspect_ai/util/_sandbox/environment.py,sha256=BGPzWM6FbMv7mTQF9NT84b4Y_Tc_zAIyRcG1VFEvQ7w,13333
|
640
614
|
inspect_ai/util/_sandbox/events.py,sha256=ctSamOMR4idv3bs6lAXxaB4md4yuiayEPqzWCqk67kE,5346
|
641
615
|
inspect_ai/util/_sandbox/limits.py,sha256=K-GjKfSugOq8KP0wW_oF6qFrXsOnMV0C88QUWkjPJ9o,2164
|
@@ -645,15 +619,15 @@ inspect_ai/util/_sandbox/self_check.py,sha256=iYdAzb_ufMgA0yDQQJ3v5RcKCFTkayp-nq
|
|
645
619
|
inspect_ai/util/_sandbox/service.py,sha256=HegTC_JyXN9q7yNY2lO4YGFkDlzjZwztajvj8ullgfY,11583
|
646
620
|
inspect_ai/util/_sandbox/docker/cleanup.py,sha256=G8UgQr1_YRK1NGNeXzTg6res1huPfJF9_uH-LFRg57w,5148
|
647
621
|
inspect_ai/util/_sandbox/docker/compose.py,sha256=x5sr-feqGjP96KvsYlfhYBF6eOnv6otIu7zxa2oZv3I,11723
|
648
|
-
inspect_ai/util/_sandbox/docker/config.py,sha256=
|
622
|
+
inspect_ai/util/_sandbox/docker/config.py,sha256=5-YsouGJGxNXw8xNEZi1o4H0EaqaTLKoQhwYT2Iczb4,2925
|
649
623
|
inspect_ai/util/_sandbox/docker/docker.py,sha256=oT-KoTnjtb7r6T5HORyN8qbiBil1Kn-sBYLcvzD4gPg,17802
|
650
|
-
inspect_ai/util/_sandbox/docker/internal.py,sha256=
|
624
|
+
inspect_ai/util/_sandbox/docker/internal.py,sha256=c8X8TLrBPOvsfnq5TkMlb_bzTALycfzFdDLmL4zdoYc,1479
|
651
625
|
inspect_ai/util/_sandbox/docker/prereqs.py,sha256=0j6_OauBBnVlpBleADcZavIAAQZy4WewVjbRn9c0stg,3355
|
652
626
|
inspect_ai/util/_sandbox/docker/service.py,sha256=hhHIWH1VDFLwehdGd19aUBD_VKfDO3GCPxpw1HSwVQk,2437
|
653
627
|
inspect_ai/util/_sandbox/docker/util.py,sha256=EeInihCNXgUWxaqZ4dNOJd719kXL2_jr63QCoXn68vA,3154
|
654
|
-
inspect_ai-0.3.
|
655
|
-
inspect_ai-0.3.
|
656
|
-
inspect_ai-0.3.
|
657
|
-
inspect_ai-0.3.
|
658
|
-
inspect_ai-0.3.
|
659
|
-
inspect_ai-0.3.
|
628
|
+
inspect_ai-0.3.76.dist-info/licenses/LICENSE,sha256=xZPCr8gTiFIerrA_DRpLAbw-UUftnLFsHxKeW-NTtq8,1081
|
629
|
+
inspect_ai-0.3.76.dist-info/METADATA,sha256=qQk_DES_FDFGm7FFo85Tz9LI3Vrkj9MnUb-EHIi-ym0,4997
|
630
|
+
inspect_ai-0.3.76.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
631
|
+
inspect_ai-0.3.76.dist-info/entry_points.txt,sha256=WGGLmzTzDWLzYfiyovSY6oEKuf-gqzSDNOb5V-hk3fM,54
|
632
|
+
inspect_ai-0.3.76.dist-info/top_level.txt,sha256=Tp3za30CHXJEKLk8xLe9qGsW4pBzJpEIOMHOHNCXiVo,11
|
633
|
+
inspect_ai-0.3.76.dist-info/RECORD,,
|
@@ -1,24 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"version": "0.2.0",
|
3
|
-
"configurations": [
|
4
|
-
{
|
5
|
-
"type": "debugpy",
|
6
|
-
"request": "launch",
|
7
|
-
"name": "Debug Web Server",
|
8
|
-
"program": "${workspaceFolder}/web_server.py"
|
9
|
-
},
|
10
|
-
{
|
11
|
-
"type": "debugpy",
|
12
|
-
"request": "launch",
|
13
|
-
"name": "Debug Web Client interactive mode",
|
14
|
-
"program": "${workspaceFolder}/web_client.py"
|
15
|
-
},
|
16
|
-
{
|
17
|
-
"type": "debugpy",
|
18
|
-
"request": "launch",
|
19
|
-
"name": "Debug Web Client w/arguments",
|
20
|
-
"program": "${workspaceFolder}/web_client.py",
|
21
|
-
"args": ["${command:pickArgs}"]
|
22
|
-
}
|
23
|
-
]
|
24
|
-
}
|
@@ -1,25 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"cSpell.words": [
|
3
|
-
"activedescendant",
|
4
|
-
"describedby",
|
5
|
-
"domcontentloaded",
|
6
|
-
"figcaption",
|
7
|
-
"flowto",
|
8
|
-
"framenavigated",
|
9
|
-
"headful",
|
10
|
-
"idref",
|
11
|
-
"jsonrpcclient",
|
12
|
-
"jsonrpcserver",
|
13
|
-
"keepalive",
|
14
|
-
"keyshortcuts",
|
15
|
-
"labelfor",
|
16
|
-
"labelledby",
|
17
|
-
"labelwrapped",
|
18
|
-
"multiselectable",
|
19
|
-
"Rects",
|
20
|
-
"roledescription",
|
21
|
-
"rubyannotation",
|
22
|
-
"tablecaption",
|
23
|
-
"valuetext"
|
24
|
-
]
|
25
|
-
}
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# Base docker build file.
|
2
|
-
|
3
|
-
FROM python:3.12-bookworm
|
4
|
-
|
5
|
-
WORKDIR /app/web_browser
|
6
|
-
|
7
|
-
RUN apt-get update
|
8
|
-
|
9
|
-
RUN pip install --upgrade pip
|
10
|
-
|
11
|
-
RUN pip install playwright jsonrpcclient jsonrpcserver httpx aiohttp pillow pydantic tenacity
|
12
|
-
|
13
|
-
# Install playwright
|
14
|
-
RUN playwright install
|
15
|
-
RUN playwright install-deps
|
16
|
-
|
17
|
-
# Copy Python files alongside the Dockerfile
|
18
|
-
COPY . .
|
19
|
-
|
20
|
-
# Run the server
|
21
|
-
CMD ["python3", "/app/web_browser/web_server.py"]
|
22
|
-
# CMD ["tail", "-f", "/dev/null"]
|
@@ -1,63 +0,0 @@
|
|
1
|
-
## Headless Browser Tool
|
2
|
-
|
3
|
-
This directory contains an implementation for the Headless Browser Tool which can be used to test web browsing agents.
|
4
|
-
|
5
|
-
### Usage
|
6
|
-
|
7
|
-
#### 1. Start the Docker container
|
8
|
-
|
9
|
-
A web server with the headless browser will be launched automatically on starting of the docker container and will be ready to receive client requests.
|
10
|
-
|
11
|
-
#### 2. Send the command
|
12
|
-
|
13
|
-
Use the following format:
|
14
|
-
|
15
|
-
```
|
16
|
-
# Inside the Docker container
|
17
|
-
$ python web_client.py [COMMAND] [args]
|
18
|
-
```
|
19
|
-
|
20
|
-
###### Commands
|
21
|
-
|
22
|
-
The following commands are available at the moment:
|
23
|
-
|
24
|
-
* **web_go \<URL\>** - goes to the specified url.
|
25
|
-
* **web_click \<ELEMENT_ID\>** - clicks on a given element.
|
26
|
-
* **web_scroll \<up/down\>** - scrolls up or down one page.
|
27
|
-
* **web_forward** - navigates forward a page.
|
28
|
-
* **web_back** - navigates back a page.
|
29
|
-
* **web_refresh** - reloads current page (F5).
|
30
|
-
* **web_type \<ELEMENT_ID\> \<TEXT\>** - types the specified text into the input with the specified id.
|
31
|
-
* **web_type_submit \<ELEMENT_ID\> \<TEXT\>** - types the specified text into the input with the specified id and presses ENTER to submit the form.
|
32
|
-
|
33
|
-
#### 3. Read the resulting observations
|
34
|
-
|
35
|
-
The result will be printed out in _stdout_ in the following format:
|
36
|
-
|
37
|
-
```
|
38
|
-
# Inside the Docker container
|
39
|
-
error: <an ERROR message if one occurred>
|
40
|
-
info: <general info about the container>
|
41
|
-
web_url: <the URL of the page the browser is currently at>
|
42
|
-
web_at: <accessibility tree of the visible elements of the page>
|
43
|
-
```
|
44
|
-
|
45
|
-
### Design
|
46
|
-
|
47
|
-
The following diagram describes the design and the intended usage of the tool:
|
48
|
-
|
49
|
-

|
50
|
-
|
51
|
-
The tool consists of the following components:
|
52
|
-
|
53
|
-
- [WebServer](web_server.py) - a server which launches a stateful session with the headless chromium browser and interacts with it through the [Playwright API](https://playwright.dev/python/docs/intro) upon receiving client commands. The server components are:
|
54
|
-
|
55
|
-
- _dm_env_servicer.py_ - an implementation for the gRPC Service based on [dm_env_rpc protocol](https://github.com/google-deepmind/dm_env_rpc).
|
56
|
-
- _web_environment.py_ - an environment which gets instantiated by the servicer and which launches the browser, stores its state and maps client commands to Playwright API.
|
57
|
-
- _playwright_crawler.py_ - a wrapper over the sync Playwright API.
|
58
|
-
|
59
|
-
- [WebClient](web_client.py) - a simple stateless client to interact with the server. When launched, the client:
|
60
|
-
1. creates a connection with the server;
|
61
|
-
2. sends user command to the server;
|
62
|
-
3. receives the response in the form of observations and prints them to stdout;
|
63
|
-
4. Destroys the connection.
|