inspect-ai 0.3.70__py3-none-any.whl → 0.3.72__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/_cli/eval.py +14 -8
- inspect_ai/_display/core/display.py +2 -0
- inspect_ai/_display/core/footer.py +13 -3
- inspect_ai/_display/plain/display.py +6 -2
- inspect_ai/_display/rich/display.py +19 -6
- inspect_ai/_display/textual/app.py +6 -1
- inspect_ai/_display/textual/display.py +4 -0
- inspect_ai/_display/textual/widgets/transcript.py +10 -6
- inspect_ai/_eval/task/run.py +5 -8
- inspect_ai/_util/content.py +20 -1
- inspect_ai/_util/transcript.py +10 -4
- inspect_ai/_util/working.py +4 -0
- inspect_ai/_view/www/App.css +6 -0
- inspect_ai/_view/www/dist/assets/index.css +115 -87
- inspect_ai/_view/www/dist/assets/index.js +5324 -2276
- inspect_ai/_view/www/eslint.config.mjs +24 -1
- inspect_ai/_view/www/log-schema.json +283 -20
- inspect_ai/_view/www/package.json +8 -3
- inspect_ai/_view/www/src/App.tsx +2 -2
- inspect_ai/_view/www/src/components/AnsiDisplay.tsx +4 -3
- inspect_ai/_view/www/src/components/Card.tsx +9 -8
- inspect_ai/_view/www/src/components/DownloadButton.tsx +2 -1
- inspect_ai/_view/www/src/components/EmptyPanel.tsx +2 -2
- inspect_ai/_view/www/src/components/ErrorPanel.tsx +4 -3
- inspect_ai/_view/www/src/components/ExpandablePanel.tsx +13 -5
- inspect_ai/_view/www/src/components/FindBand.tsx +3 -3
- inspect_ai/_view/www/src/components/HumanBaselineView.tsx +3 -3
- inspect_ai/_view/www/src/components/LabeledValue.tsx +5 -4
- inspect_ai/_view/www/src/components/LargeModal.tsx +18 -13
- inspect_ai/_view/www/src/components/{LightboxCarousel.css → LightboxCarousel.module.css} +22 -18
- inspect_ai/_view/www/src/components/LightboxCarousel.tsx +36 -27
- inspect_ai/_view/www/src/components/MessageBand.tsx +2 -1
- inspect_ai/_view/www/src/components/NavPills.tsx +9 -8
- inspect_ai/_view/www/src/components/ProgressBar.tsx +2 -1
- inspect_ai/_view/www/src/components/TabSet.tsx +21 -15
- inspect_ai/_view/www/src/index.tsx +2 -2
- inspect_ai/_view/www/src/metadata/MetaDataGrid.tsx +11 -9
- inspect_ai/_view/www/src/metadata/MetaDataView.tsx +3 -2
- inspect_ai/_view/www/src/metadata/MetadataGrid.module.css +1 -0
- inspect_ai/_view/www/src/metadata/RenderedContent.tsx +16 -0
- inspect_ai/_view/www/src/plan/DatasetDetailView.tsx +3 -2
- inspect_ai/_view/www/src/plan/DetailStep.tsx +2 -1
- inspect_ai/_view/www/src/plan/PlanCard.tsx +2 -5
- inspect_ai/_view/www/src/plan/PlanDetailView.tsx +6 -9
- inspect_ai/_view/www/src/plan/ScorerDetailView.tsx +2 -1
- inspect_ai/_view/www/src/plan/SolverDetailView.tsx +3 -3
- inspect_ai/_view/www/src/samples/InlineSampleDisplay.tsx +2 -2
- inspect_ai/_view/www/src/samples/SampleDialog.tsx +3 -3
- inspect_ai/_view/www/src/samples/SampleDisplay.tsx +2 -2
- inspect_ai/_view/www/src/samples/SampleSummaryView.tsx +2 -2
- inspect_ai/_view/www/src/samples/SamplesTools.tsx +2 -1
- inspect_ai/_view/www/src/samples/chat/ChatMessage.tsx +3 -19
- inspect_ai/_view/www/src/samples/chat/ChatMessageRenderer.tsx +2 -1
- inspect_ai/_view/www/src/samples/chat/ChatMessageRow.tsx +2 -1
- inspect_ai/_view/www/src/samples/chat/ChatView.tsx +2 -1
- inspect_ai/_view/www/src/samples/chat/ChatViewVirtualList.tsx +22 -7
- inspect_ai/_view/www/src/samples/chat/MessageContent.tsx +35 -6
- inspect_ai/_view/www/src/samples/chat/MessageContents.tsx +2 -2
- inspect_ai/_view/www/src/samples/chat/messages.ts +15 -2
- inspect_ai/_view/www/src/samples/chat/tools/ToolCallView.tsx +13 -4
- inspect_ai/_view/www/src/samples/chat/tools/ToolInput.module.css +2 -2
- inspect_ai/_view/www/src/samples/chat/tools/ToolInput.tsx +18 -19
- inspect_ai/_view/www/src/samples/chat/tools/ToolOutput.module.css +1 -1
- inspect_ai/_view/www/src/samples/chat/tools/ToolOutput.tsx +4 -3
- inspect_ai/_view/www/src/samples/chat/tools/ToolTitle.tsx +2 -2
- inspect_ai/_view/www/src/samples/error/FlatSampleErrorView.tsx +2 -3
- inspect_ai/_view/www/src/samples/error/SampleErrorView.tsx +3 -2
- inspect_ai/_view/www/src/samples/list/SampleFooter.tsx +2 -1
- inspect_ai/_view/www/src/samples/list/SampleHeader.tsx +2 -1
- inspect_ai/_view/www/src/samples/list/SampleList.tsx +57 -45
- inspect_ai/_view/www/src/samples/list/SampleRow.tsx +2 -1
- inspect_ai/_view/www/src/samples/list/SampleSeparator.tsx +2 -1
- inspect_ai/_view/www/src/samples/sample-tools/EpochFilter.tsx +2 -2
- inspect_ai/_view/www/src/samples/sample-tools/SelectScorer.tsx +4 -3
- inspect_ai/_view/www/src/samples/sample-tools/SortFilter.tsx +2 -5
- inspect_ai/_view/www/src/samples/sample-tools/sample-filter/SampleFilter.tsx +2 -2
- inspect_ai/_view/www/src/samples/scores/SampleScoreView.tsx +2 -1
- inspect_ai/_view/www/src/samples/scores/SampleScores.tsx +2 -2
- inspect_ai/_view/www/src/samples/transcript/ApprovalEventView.tsx +2 -1
- inspect_ai/_view/www/src/samples/transcript/ErrorEventView.tsx +2 -1
- inspect_ai/_view/www/src/samples/transcript/InfoEventView.tsx +2 -1
- inspect_ai/_view/www/src/samples/transcript/InputEventView.tsx +2 -1
- inspect_ai/_view/www/src/samples/transcript/LoggerEventView.module.css +4 -0
- inspect_ai/_view/www/src/samples/transcript/LoggerEventView.tsx +12 -2
- inspect_ai/_view/www/src/samples/transcript/ModelEventView.module.css +1 -1
- inspect_ai/_view/www/src/samples/transcript/ModelEventView.tsx +25 -28
- inspect_ai/_view/www/src/samples/transcript/SampleInitEventView.tsx +2 -1
- inspect_ai/_view/www/src/samples/transcript/SampleLimitEventView.tsx +5 -4
- inspect_ai/_view/www/src/samples/transcript/SampleTranscript.tsx +2 -2
- inspect_ai/_view/www/src/samples/transcript/SandboxEventView.tsx +8 -7
- inspect_ai/_view/www/src/samples/transcript/ScoreEventView.tsx +2 -2
- inspect_ai/_view/www/src/samples/transcript/StepEventView.tsx +3 -3
- inspect_ai/_view/www/src/samples/transcript/SubtaskEventView.tsx +18 -14
- inspect_ai/_view/www/src/samples/transcript/ToolEventView.tsx +5 -5
- inspect_ai/_view/www/src/samples/transcript/TranscriptView.tsx +34 -15
- inspect_ai/_view/www/src/samples/transcript/event/EventNav.tsx +2 -1
- inspect_ai/_view/www/src/samples/transcript/event/EventNavs.tsx +2 -1
- inspect_ai/_view/www/src/samples/transcript/event/EventRow.tsx +3 -2
- inspect_ai/_view/www/src/samples/transcript/event/EventSection.tsx +2 -2
- inspect_ai/_view/www/src/samples/transcript/event/EventTimingPanel.module.css +28 -0
- inspect_ai/_view/www/src/samples/transcript/event/EventTimingPanel.tsx +115 -0
- inspect_ai/_view/www/src/samples/transcript/event/utils.ts +29 -0
- inspect_ai/_view/www/src/samples/transcript/state/StateDiffView.tsx +2 -1
- inspect_ai/_view/www/src/samples/transcript/state/StateEventRenderers.tsx +3 -3
- inspect_ai/_view/www/src/samples/transcript/state/StateEventView.tsx +11 -8
- inspect_ai/_view/www/src/types/log.d.ts +129 -34
- inspect_ai/_view/www/src/usage/ModelTokenTable.tsx +6 -10
- inspect_ai/_view/www/src/usage/ModelUsagePanel.module.css +4 -0
- inspect_ai/_view/www/src/usage/ModelUsagePanel.tsx +32 -9
- inspect_ai/_view/www/src/usage/TokenTable.tsx +4 -6
- inspect_ai/_view/www/src/usage/UsageCard.tsx +2 -1
- inspect_ai/_view/www/src/utils/format.ts +1 -1
- inspect_ai/_view/www/src/utils/json.ts +24 -0
- inspect_ai/_view/www/src/workspace/WorkSpace.tsx +6 -5
- inspect_ai/_view/www/src/workspace/WorkSpaceView.tsx +9 -2
- inspect_ai/_view/www/src/workspace/error/TaskErrorPanel.tsx +2 -1
- inspect_ai/_view/www/src/workspace/navbar/Navbar.tsx +2 -1
- inspect_ai/_view/www/src/workspace/navbar/PrimaryBar.tsx +3 -3
- inspect_ai/_view/www/src/workspace/navbar/ResultsPanel.tsx +4 -3
- inspect_ai/_view/www/src/workspace/navbar/SecondaryBar.tsx +5 -4
- inspect_ai/_view/www/src/workspace/navbar/StatusPanel.tsx +5 -8
- inspect_ai/_view/www/src/workspace/sidebar/EvalStatus.tsx +5 -4
- inspect_ai/_view/www/src/workspace/sidebar/LogDirectoryTitleView.tsx +2 -1
- inspect_ai/_view/www/src/workspace/sidebar/Sidebar.tsx +2 -1
- inspect_ai/_view/www/src/workspace/sidebar/SidebarLogEntry.tsx +2 -2
- inspect_ai/_view/www/src/workspace/sidebar/SidebarScoreView.tsx +2 -1
- inspect_ai/_view/www/src/workspace/sidebar/SidebarScoresView.tsx +2 -2
- inspect_ai/_view/www/src/workspace/tabs/InfoTab.tsx +2 -2
- inspect_ai/_view/www/src/workspace/tabs/JsonTab.tsx +2 -5
- inspect_ai/_view/www/src/workspace/tabs/SamplesTab.tsx +12 -11
- inspect_ai/_view/www/yarn.lock +241 -5
- inspect_ai/log/_condense.py +3 -0
- inspect_ai/log/_recorders/eval.py +6 -1
- inspect_ai/log/_transcript.py +58 -1
- inspect_ai/model/__init__.py +2 -0
- inspect_ai/model/_call_tools.py +7 -0
- inspect_ai/model/_chat_message.py +22 -7
- inspect_ai/model/_conversation.py +10 -8
- inspect_ai/model/_generate_config.py +25 -4
- inspect_ai/model/_model.py +133 -57
- inspect_ai/model/_model_output.py +3 -0
- inspect_ai/model/_openai.py +106 -40
- inspect_ai/model/_providers/anthropic.py +281 -153
- inspect_ai/model/_providers/google.py +27 -8
- inspect_ai/model/_providers/groq.py +9 -4
- inspect_ai/model/_providers/openai.py +57 -4
- inspect_ai/model/_providers/openai_o1.py +10 -0
- inspect_ai/model/_providers/providers.py +1 -1
- inspect_ai/model/_reasoning.py +15 -2
- inspect_ai/scorer/_model.py +23 -19
- inspect_ai/solver/_human_agent/agent.py +14 -10
- inspect_ai/solver/_human_agent/commands/__init__.py +7 -3
- inspect_ai/solver/_human_agent/commands/submit.py +76 -30
- inspect_ai/tool/__init__.py +2 -0
- inspect_ai/tool/_tool.py +3 -1
- inspect_ai/tool/_tools/_computer/_common.py +117 -58
- inspect_ai/tool/_tools/_computer/_computer.py +80 -57
- inspect_ai/tool/_tools/_computer/_resources/image_home_dir/.config/Code/User/settings.json +7 -1
- inspect_ai/tool/_tools/_computer/_resources/image_home_dir/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml +91 -0
- inspect_ai/tool/_tools/_computer/_resources/tool/.pylintrc +8 -0
- inspect_ai/tool/_tools/_computer/_resources/tool/.vscode/settings.json +12 -0
- inspect_ai/tool/_tools/_computer/_resources/tool/_args.py +78 -0
- inspect_ai/tool/_tools/_computer/_resources/tool/_constants.py +20 -0
- inspect_ai/tool/_tools/_computer/_resources/tool/_run.py +1 -1
- inspect_ai/tool/_tools/_computer/_resources/tool/_x11_client.py +175 -113
- inspect_ai/tool/_tools/_computer/_resources/tool/computer_tool.py +76 -20
- inspect_ai/tool/_tools/_computer/_resources/tool/pyproject.toml +65 -0
- inspect_ai/tool/_tools/_computer/test_args.py +151 -0
- inspect_ai/tool/_tools/_web_browser/_resources/.pylintrc +8 -0
- inspect_ai/tool/_tools/_web_browser/_resources/.vscode/launch.json +24 -0
- inspect_ai/tool/_tools/_web_browser/_resources/.vscode/settings.json +25 -0
- inspect_ai/tool/_tools/_web_browser/_resources/Dockerfile +5 -6
- inspect_ai/tool/_tools/_web_browser/_resources/README.md +10 -11
- inspect_ai/tool/_tools/_web_browser/_resources/accessibility_tree.py +71 -0
- inspect_ai/tool/_tools/_web_browser/_resources/accessibility_tree_node.py +323 -0
- inspect_ai/tool/_tools/_web_browser/_resources/cdp/__init__.py +5 -0
- inspect_ai/tool/_tools/_web_browser/_resources/cdp/a11y.py +279 -0
- inspect_ai/tool/_tools/_web_browser/_resources/cdp/dom.py +9 -0
- inspect_ai/tool/_tools/_web_browser/_resources/cdp/dom_snapshot.py +293 -0
- inspect_ai/tool/_tools/_web_browser/_resources/cdp/page.py +94 -0
- inspect_ai/tool/_tools/_web_browser/_resources/constants.py +2 -0
- inspect_ai/tool/_tools/_web_browser/_resources/images/usage_diagram.svg +2 -0
- inspect_ai/tool/_tools/_web_browser/_resources/playwright_browser.py +50 -0
- inspect_ai/tool/_tools/_web_browser/_resources/playwright_crawler.py +31 -359
- inspect_ai/tool/_tools/_web_browser/_resources/playwright_page_crawler.py +280 -0
- inspect_ai/tool/_tools/_web_browser/_resources/pyproject.toml +65 -0
- inspect_ai/tool/_tools/_web_browser/_resources/rectangle.py +64 -0
- inspect_ai/tool/_tools/_web_browser/_resources/rpc_client_helpers.py +146 -0
- inspect_ai/tool/_tools/_web_browser/_resources/scale_factor.py +64 -0
- inspect_ai/tool/_tools/_web_browser/_resources/test_accessibility_tree_node.py +180 -0
- inspect_ai/tool/_tools/_web_browser/_resources/test_playwright_crawler.py +15 -9
- inspect_ai/tool/_tools/_web_browser/_resources/test_rectangle.py +15 -0
- inspect_ai/tool/_tools/_web_browser/_resources/test_web_client.py +44 -0
- inspect_ai/tool/_tools/_web_browser/_resources/web_browser_rpc_types.py +39 -0
- inspect_ai/tool/_tools/_web_browser/_resources/web_client.py +198 -48
- inspect_ai/tool/_tools/_web_browser/_resources/web_client_new_session.py +26 -25
- inspect_ai/tool/_tools/_web_browser/_resources/web_server.py +178 -39
- inspect_ai/tool/_tools/_web_browser/_web_browser.py +38 -19
- inspect_ai/util/__init__.py +2 -1
- inspect_ai/util/_display.py +12 -0
- inspect_ai/util/_sandbox/events.py +55 -21
- inspect_ai/util/_sandbox/self_check.py +131 -43
- inspect_ai/util/_subtask.py +11 -0
- {inspect_ai-0.3.70.dist-info → inspect_ai-0.3.72.dist-info}/METADATA +1 -1
- {inspect_ai-0.3.70.dist-info → inspect_ai-0.3.72.dist-info}/RECORD +209 -186
- {inspect_ai-0.3.70.dist-info → inspect_ai-0.3.72.dist-info}/WHEEL +1 -1
- inspect_ai/_view/www/src/components/VirtualList.module.css +0 -19
- inspect_ai/_view/www/src/components/VirtualList.tsx +0 -292
- inspect_ai/tool/_tools/_computer/_computer_split.py +0 -198
- inspect_ai/tool/_tools/_web_browser/_resources/accessibility_node.py +0 -312
- inspect_ai/tool/_tools/_web_browser/_resources/dm_env_servicer.py +0 -275
- inspect_ai/tool/_tools/_web_browser/_resources/images/usage_diagram.png +0 -0
- inspect_ai/tool/_tools/_web_browser/_resources/test_accessibility_node.py +0 -176
- inspect_ai/tool/_tools/_web_browser/_resources/test_dm_env_servicer.py +0 -135
- inspect_ai/tool/_tools/_web_browser/_resources/test_web_environment.py +0 -71
- inspect_ai/tool/_tools/_web_browser/_resources/web_environment.py +0 -184
- {inspect_ai-0.3.70.dist-info → inspect_ai-0.3.72.dist-info}/LICENSE +0 -0
- {inspect_ai-0.3.70.dist-info → inspect_ai-0.3.72.dist-info}/entry_points.txt +0 -0
- {inspect_ai-0.3.70.dist-info → inspect_ai-0.3.72.dist-info}/top_level.txt +0 -0
inspect_ai/_view/www/yarn.lock
CHANGED
@@ -351,14 +351,14 @@
|
|
351
351
|
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c"
|
352
352
|
integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==
|
353
353
|
|
354
|
-
"@eslint-community/eslint-utils@^4.2.0":
|
354
|
+
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
|
355
355
|
version "4.4.1"
|
356
356
|
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56"
|
357
357
|
integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==
|
358
358
|
dependencies:
|
359
359
|
eslint-visitor-keys "^3.4.3"
|
360
360
|
|
361
|
-
"@eslint-community/regexpp@^4.12.1":
|
361
|
+
"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1":
|
362
362
|
version "4.12.1"
|
363
363
|
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0"
|
364
364
|
integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==
|
@@ -496,6 +496,27 @@
|
|
496
496
|
resolved "https://registry.yarnpkg.com/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz#775374306116d51c0c500b8c4face0f9a04752d8"
|
497
497
|
integrity sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==
|
498
498
|
|
499
|
+
"@nodelib/fs.scandir@2.1.5":
|
500
|
+
version "2.1.5"
|
501
|
+
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
|
502
|
+
integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
|
503
|
+
dependencies:
|
504
|
+
"@nodelib/fs.stat" "2.0.5"
|
505
|
+
run-parallel "^1.1.9"
|
506
|
+
|
507
|
+
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
|
508
|
+
version "2.0.5"
|
509
|
+
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
|
510
|
+
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
|
511
|
+
|
512
|
+
"@nodelib/fs.walk@^1.2.3":
|
513
|
+
version "1.2.8"
|
514
|
+
resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
|
515
|
+
integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
|
516
|
+
dependencies:
|
517
|
+
"@nodelib/fs.scandir" "2.1.5"
|
518
|
+
fastq "^1.6.0"
|
519
|
+
|
499
520
|
"@popperjs/core@^2.11.8", "@popperjs/core@^2.9.2":
|
500
521
|
version "2.11.8"
|
501
522
|
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
|
@@ -712,6 +733,87 @@
|
|
712
733
|
dependencies:
|
713
734
|
"@types/estree" "*"
|
714
735
|
|
736
|
+
"@typescript-eslint/eslint-plugin@8.25.0":
|
737
|
+
version "8.25.0"
|
738
|
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.25.0.tgz#5e1d56f067e5808fa82d1b75bced82396e868a14"
|
739
|
+
integrity sha512-VM7bpzAe7JO/BFf40pIT1lJqS/z1F8OaSsUB3rpFJucQA4cOSuH2RVVVkFULN+En0Djgr29/jb4EQnedUo95KA==
|
740
|
+
dependencies:
|
741
|
+
"@eslint-community/regexpp" "^4.10.0"
|
742
|
+
"@typescript-eslint/scope-manager" "8.25.0"
|
743
|
+
"@typescript-eslint/type-utils" "8.25.0"
|
744
|
+
"@typescript-eslint/utils" "8.25.0"
|
745
|
+
"@typescript-eslint/visitor-keys" "8.25.0"
|
746
|
+
graphemer "^1.4.0"
|
747
|
+
ignore "^5.3.1"
|
748
|
+
natural-compare "^1.4.0"
|
749
|
+
ts-api-utils "^2.0.1"
|
750
|
+
|
751
|
+
"@typescript-eslint/parser@8.25.0":
|
752
|
+
version "8.25.0"
|
753
|
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.25.0.tgz#58fb81c7b7a35184ba17583f3d7ac6c4f3d95be8"
|
754
|
+
integrity sha512-4gbs64bnbSzu4FpgMiQ1A+D+urxkoJk/kqlDJ2W//5SygaEiAP2B4GoS7TEdxgwol2el03gckFV9lJ4QOMiiHg==
|
755
|
+
dependencies:
|
756
|
+
"@typescript-eslint/scope-manager" "8.25.0"
|
757
|
+
"@typescript-eslint/types" "8.25.0"
|
758
|
+
"@typescript-eslint/typescript-estree" "8.25.0"
|
759
|
+
"@typescript-eslint/visitor-keys" "8.25.0"
|
760
|
+
debug "^4.3.4"
|
761
|
+
|
762
|
+
"@typescript-eslint/scope-manager@8.25.0":
|
763
|
+
version "8.25.0"
|
764
|
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.25.0.tgz#ac3805077aade898e98ca824294c998545597df3"
|
765
|
+
integrity sha512-6PPeiKIGbgStEyt4NNXa2ru5pMzQ8OYKO1hX1z53HMomrmiSB+R5FmChgQAP1ro8jMtNawz+TRQo/cSXrauTpg==
|
766
|
+
dependencies:
|
767
|
+
"@typescript-eslint/types" "8.25.0"
|
768
|
+
"@typescript-eslint/visitor-keys" "8.25.0"
|
769
|
+
|
770
|
+
"@typescript-eslint/type-utils@8.25.0":
|
771
|
+
version "8.25.0"
|
772
|
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.25.0.tgz#ee0d2f67c80af5ae74b5d6f977e0f8ded0059677"
|
773
|
+
integrity sha512-d77dHgHWnxmXOPJuDWO4FDWADmGQkN5+tt6SFRZz/RtCWl4pHgFl3+WdYCn16+3teG09DY6XtEpf3gGD0a186g==
|
774
|
+
dependencies:
|
775
|
+
"@typescript-eslint/typescript-estree" "8.25.0"
|
776
|
+
"@typescript-eslint/utils" "8.25.0"
|
777
|
+
debug "^4.3.4"
|
778
|
+
ts-api-utils "^2.0.1"
|
779
|
+
|
780
|
+
"@typescript-eslint/types@8.25.0":
|
781
|
+
version "8.25.0"
|
782
|
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.25.0.tgz#f91512c2f532b1d6a8826cadd0b0e5cd53cf97e0"
|
783
|
+
integrity sha512-+vUe0Zb4tkNgznQwicsvLUJgZIRs6ITeWSCclX1q85pR1iOiaj+4uZJIUp//Z27QWu5Cseiw3O3AR8hVpax7Aw==
|
784
|
+
|
785
|
+
"@typescript-eslint/typescript-estree@8.25.0":
|
786
|
+
version "8.25.0"
|
787
|
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.25.0.tgz#d8409c63abddd4cf5b93c031b24b9edc1c7c1299"
|
788
|
+
integrity sha512-ZPaiAKEZ6Blt/TPAx5Ot0EIB/yGtLI2EsGoY6F7XKklfMxYQyvtL+gT/UCqkMzO0BVFHLDlzvFqQzurYahxv9Q==
|
789
|
+
dependencies:
|
790
|
+
"@typescript-eslint/types" "8.25.0"
|
791
|
+
"@typescript-eslint/visitor-keys" "8.25.0"
|
792
|
+
debug "^4.3.4"
|
793
|
+
fast-glob "^3.3.2"
|
794
|
+
is-glob "^4.0.3"
|
795
|
+
minimatch "^9.0.4"
|
796
|
+
semver "^7.6.0"
|
797
|
+
ts-api-utils "^2.0.1"
|
798
|
+
|
799
|
+
"@typescript-eslint/utils@8.25.0":
|
800
|
+
version "8.25.0"
|
801
|
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.25.0.tgz#3ea2f9196a915ef4daa2c8eafd44adbd7d56d08a"
|
802
|
+
integrity sha512-syqRbrEv0J1wywiLsK60XzHnQe/kRViI3zwFALrNEgnntn1l24Ra2KvOAWwWbWZ1lBZxZljPDGOq967dsl6fkA==
|
803
|
+
dependencies:
|
804
|
+
"@eslint-community/eslint-utils" "^4.4.0"
|
805
|
+
"@typescript-eslint/scope-manager" "8.25.0"
|
806
|
+
"@typescript-eslint/types" "8.25.0"
|
807
|
+
"@typescript-eslint/typescript-estree" "8.25.0"
|
808
|
+
|
809
|
+
"@typescript-eslint/visitor-keys@8.25.0":
|
810
|
+
version "8.25.0"
|
811
|
+
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.25.0.tgz#e8646324cd1793f96e02669cb717a05319403164"
|
812
|
+
integrity sha512-kCYXKAum9CecGVHGij7muybDfTS2sD3t0L4bJsEZLkyrXUImiCTq1M3LG2SRtOhiHFwMR9wAFplpT6XHYjTkwQ==
|
813
|
+
dependencies:
|
814
|
+
"@typescript-eslint/types" "8.25.0"
|
815
|
+
eslint-visitor-keys "^4.2.0"
|
816
|
+
|
715
817
|
"@vitejs/plugin-react@^4.3.4":
|
716
818
|
version "4.3.4"
|
717
819
|
resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz#c64be10b54c4640135a5b28a2432330e88ad7c20"
|
@@ -791,6 +893,20 @@ brace-expansion@^1.1.7:
|
|
791
893
|
balanced-match "^1.0.0"
|
792
894
|
concat-map "0.0.1"
|
793
895
|
|
896
|
+
brace-expansion@^2.0.1:
|
897
|
+
version "2.0.1"
|
898
|
+
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
|
899
|
+
integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
|
900
|
+
dependencies:
|
901
|
+
balanced-match "^1.0.0"
|
902
|
+
|
903
|
+
braces@^3.0.3:
|
904
|
+
version "3.0.3"
|
905
|
+
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
|
906
|
+
integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
|
907
|
+
dependencies:
|
908
|
+
fill-range "^7.1.1"
|
909
|
+
|
794
910
|
browserslist@^4.24.0:
|
795
911
|
version "4.24.4"
|
796
912
|
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b"
|
@@ -897,7 +1013,7 @@ cuint@^0.2.2:
|
|
897
1013
|
resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b"
|
898
1014
|
integrity sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==
|
899
1015
|
|
900
|
-
debug@^4.1.0, debug@^4.3.1, debug@^4.3.2:
|
1016
|
+
debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
|
901
1017
|
version "4.4.0"
|
902
1018
|
resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
|
903
1019
|
integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
|
@@ -968,6 +1084,11 @@ escape-string-regexp@^4.0.0:
|
|
968
1084
|
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
|
969
1085
|
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
|
970
1086
|
|
1087
|
+
eslint-plugin-react-hooks@^5.1.0:
|
1088
|
+
version "5.1.0"
|
1089
|
+
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz#3d34e37d5770866c34b87d5b499f5f0b53bf0854"
|
1090
|
+
integrity sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==
|
1091
|
+
|
971
1092
|
eslint-scope@^8.2.0:
|
972
1093
|
version "8.2.0"
|
973
1094
|
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.2.0.tgz#377aa6f1cb5dc7592cfd0b7f892fd0cf352ce442"
|
@@ -1064,6 +1185,17 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
|
|
1064
1185
|
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
|
1065
1186
|
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
|
1066
1187
|
|
1188
|
+
fast-glob@^3.3.2:
|
1189
|
+
version "3.3.3"
|
1190
|
+
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818"
|
1191
|
+
integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
|
1192
|
+
dependencies:
|
1193
|
+
"@nodelib/fs.stat" "^2.0.2"
|
1194
|
+
"@nodelib/fs.walk" "^1.2.3"
|
1195
|
+
glob-parent "^5.1.2"
|
1196
|
+
merge2 "^1.3.0"
|
1197
|
+
micromatch "^4.0.8"
|
1198
|
+
|
1067
1199
|
fast-json-patch@^3.1.1:
|
1068
1200
|
version "3.1.1"
|
1069
1201
|
resolved "https://registry.yarnpkg.com/fast-json-patch/-/fast-json-patch-3.1.1.tgz#85064ea1b1ebf97a3f7ad01e23f9337e72c66947"
|
@@ -1079,6 +1211,13 @@ fast-levenshtein@^2.0.6:
|
|
1079
1211
|
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
|
1080
1212
|
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
|
1081
1213
|
|
1214
|
+
fastq@^1.6.0:
|
1215
|
+
version "1.19.1"
|
1216
|
+
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5"
|
1217
|
+
integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==
|
1218
|
+
dependencies:
|
1219
|
+
reusify "^1.0.4"
|
1220
|
+
|
1082
1221
|
fflate@^0.8.2:
|
1083
1222
|
version "0.8.2"
|
1084
1223
|
resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.8.2.tgz#fc8631f5347812ad6028bbe4a2308b2792aa1dea"
|
@@ -1091,6 +1230,13 @@ file-entry-cache@^8.0.0:
|
|
1091
1230
|
dependencies:
|
1092
1231
|
flat-cache "^4.0.0"
|
1093
1232
|
|
1233
|
+
fill-range@^7.1.1:
|
1234
|
+
version "7.1.1"
|
1235
|
+
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
|
1236
|
+
integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
|
1237
|
+
dependencies:
|
1238
|
+
to-regex-range "^5.0.1"
|
1239
|
+
|
1094
1240
|
filtrex@^3.1.0:
|
1095
1241
|
version "3.1.0"
|
1096
1242
|
resolved "https://registry.yarnpkg.com/filtrex/-/filtrex-3.1.0.tgz#5ec00994615ff10e5e09c89bb290c855cb408c21"
|
@@ -1127,6 +1273,13 @@ gensync@^1.0.0-beta.2:
|
|
1127
1273
|
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
|
1128
1274
|
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
|
1129
1275
|
|
1276
|
+
glob-parent@^5.1.2:
|
1277
|
+
version "5.1.2"
|
1278
|
+
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
|
1279
|
+
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
|
1280
|
+
dependencies:
|
1281
|
+
is-glob "^4.0.1"
|
1282
|
+
|
1130
1283
|
glob-parent@^6.0.2:
|
1131
1284
|
version "6.0.2"
|
1132
1285
|
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
|
@@ -1156,6 +1309,11 @@ good-listener@^1.2.2:
|
|
1156
1309
|
dependencies:
|
1157
1310
|
delegate "^3.1.2"
|
1158
1311
|
|
1312
|
+
graphemer@^1.4.0:
|
1313
|
+
version "1.4.0"
|
1314
|
+
resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
|
1315
|
+
integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
|
1316
|
+
|
1159
1317
|
has-flag@^4.0.0:
|
1160
1318
|
version "4.0.0"
|
1161
1319
|
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
|
@@ -1166,7 +1324,7 @@ htm@^3.1.1:
|
|
1166
1324
|
resolved "https://registry.yarnpkg.com/htm/-/htm-3.1.1.tgz#49266582be0dc66ed2235d5ea892307cc0c24b78"
|
1167
1325
|
integrity sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==
|
1168
1326
|
|
1169
|
-
ignore@^5.2.0:
|
1327
|
+
ignore@^5.2.0, ignore@^5.3.1:
|
1170
1328
|
version "5.3.2"
|
1171
1329
|
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
|
1172
1330
|
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
|
@@ -1189,13 +1347,18 @@ is-extglob@^2.1.1:
|
|
1189
1347
|
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
|
1190
1348
|
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
|
1191
1349
|
|
1192
|
-
is-glob@^4.0.0, is-glob@^4.0.3:
|
1350
|
+
is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
|
1193
1351
|
version "4.0.3"
|
1194
1352
|
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
|
1195
1353
|
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
|
1196
1354
|
dependencies:
|
1197
1355
|
is-extglob "^2.1.1"
|
1198
1356
|
|
1357
|
+
is-number@^7.0.0:
|
1358
|
+
version "7.0.0"
|
1359
|
+
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
|
1360
|
+
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
|
1361
|
+
|
1199
1362
|
isexe@^2.0.0:
|
1200
1363
|
version "2.0.0"
|
1201
1364
|
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
@@ -1317,6 +1480,19 @@ mdurl@^2.0.0:
|
|
1317
1480
|
resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0"
|
1318
1481
|
integrity sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==
|
1319
1482
|
|
1483
|
+
merge2@^1.3.0:
|
1484
|
+
version "1.4.1"
|
1485
|
+
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
|
1486
|
+
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
|
1487
|
+
|
1488
|
+
micromatch@^4.0.8:
|
1489
|
+
version "4.0.8"
|
1490
|
+
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202"
|
1491
|
+
integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
|
1492
|
+
dependencies:
|
1493
|
+
braces "^3.0.3"
|
1494
|
+
picomatch "^2.3.1"
|
1495
|
+
|
1320
1496
|
mime@~2.5.2:
|
1321
1497
|
version "2.5.2"
|
1322
1498
|
resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe"
|
@@ -1329,6 +1505,13 @@ minimatch@^3.1.2:
|
|
1329
1505
|
dependencies:
|
1330
1506
|
brace-expansion "^1.1.7"
|
1331
1507
|
|
1508
|
+
minimatch@^9.0.4:
|
1509
|
+
version "9.0.5"
|
1510
|
+
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5"
|
1511
|
+
integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
|
1512
|
+
dependencies:
|
1513
|
+
brace-expansion "^2.0.1"
|
1514
|
+
|
1332
1515
|
minimatch@~3.0.4:
|
1333
1516
|
version "3.0.8"
|
1334
1517
|
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1"
|
@@ -1409,6 +1592,11 @@ picocolors@^1.0.0, picocolors@^1.1.1:
|
|
1409
1592
|
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
|
1410
1593
|
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
|
1411
1594
|
|
1595
|
+
picomatch@^2.3.1:
|
1596
|
+
version "2.3.1"
|
1597
|
+
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
|
1598
|
+
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
1599
|
+
|
1412
1600
|
postcss-url@^10.1.3:
|
1413
1601
|
version "10.1.3"
|
1414
1602
|
resolved "https://registry.yarnpkg.com/postcss-url/-/postcss-url-10.1.3.tgz#54120cc910309e2475ec05c2cfa8f8a2deafdf1e"
|
@@ -1453,6 +1641,11 @@ punycode@^2.1.0:
|
|
1453
1641
|
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
|
1454
1642
|
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
|
1455
1643
|
|
1644
|
+
queue-microtask@^1.2.2:
|
1645
|
+
version "1.2.3"
|
1646
|
+
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
|
1647
|
+
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
1648
|
+
|
1456
1649
|
react-dom@^19.0.0:
|
1457
1650
|
version "19.0.0"
|
1458
1651
|
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.0.0.tgz#43446f1f01c65a4cd7f7588083e686a6726cfb57"
|
@@ -1465,6 +1658,11 @@ react-refresh@^0.14.2:
|
|
1465
1658
|
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9"
|
1466
1659
|
integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==
|
1467
1660
|
|
1661
|
+
react-virtuoso@^4.12.5:
|
1662
|
+
version "4.12.5"
|
1663
|
+
resolved "https://registry.yarnpkg.com/react-virtuoso/-/react-virtuoso-4.12.5.tgz#cf92efc2527e56d6df1d4d63c6e4dd3fac5a4030"
|
1664
|
+
integrity sha512-YeCbRRsC9CLf0buD0Rct7WsDbzf+yBU1wGbo05/XjbcN2nJuhgh040m3y3+6HVogTZxEqVm45ac9Fpae4/MxRQ==
|
1665
|
+
|
1468
1666
|
react@^19.0.0:
|
1469
1667
|
version "19.0.0"
|
1470
1668
|
resolved "https://registry.yarnpkg.com/react/-/react-19.0.0.tgz#6e1969251b9f108870aa4bff37a0ce9ddfaaabdd"
|
@@ -1480,6 +1678,11 @@ resolve-from@^4.0.0:
|
|
1480
1678
|
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
|
1481
1679
|
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
|
1482
1680
|
|
1681
|
+
reusify@^1.0.4:
|
1682
|
+
version "1.1.0"
|
1683
|
+
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f"
|
1684
|
+
integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==
|
1685
|
+
|
1483
1686
|
rollup@^4.20.0:
|
1484
1687
|
version "4.31.0"
|
1485
1688
|
resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.31.0.tgz#b84af969a0292cb047dce2c0ec5413a9457597a4"
|
@@ -1508,6 +1711,13 @@ rollup@^4.20.0:
|
|
1508
1711
|
"@rollup/rollup-win32-x64-msvc" "4.31.0"
|
1509
1712
|
fsevents "~2.3.2"
|
1510
1713
|
|
1714
|
+
run-parallel@^1.1.9:
|
1715
|
+
version "1.2.0"
|
1716
|
+
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
|
1717
|
+
integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
|
1718
|
+
dependencies:
|
1719
|
+
queue-microtask "^1.2.2"
|
1720
|
+
|
1511
1721
|
scheduler@^0.25.0:
|
1512
1722
|
version "0.25.0"
|
1513
1723
|
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0.tgz#336cd9768e8cceebf52d3c80e3dcf5de23e7e015"
|
@@ -1523,6 +1733,11 @@ semver@^6.0.0, semver@^6.3.1:
|
|
1523
1733
|
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
|
1524
1734
|
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
1525
1735
|
|
1736
|
+
semver@^7.6.0:
|
1737
|
+
version "7.7.1"
|
1738
|
+
resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f"
|
1739
|
+
integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==
|
1740
|
+
|
1526
1741
|
seroval-plugins@^1.1.0:
|
1527
1742
|
version "1.2.0"
|
1528
1743
|
resolved "https://registry.yarnpkg.com/seroval-plugins/-/seroval-plugins-1.2.0.tgz#7fcf8537938e0446f843897172fc64f01322c33f"
|
@@ -1581,6 +1796,18 @@ tiny-emitter@^2.0.0:
|
|
1581
1796
|
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
|
1582
1797
|
integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
|
1583
1798
|
|
1799
|
+
to-regex-range@^5.0.1:
|
1800
|
+
version "5.0.1"
|
1801
|
+
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
|
1802
|
+
integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
|
1803
|
+
dependencies:
|
1804
|
+
is-number "^7.0.0"
|
1805
|
+
|
1806
|
+
ts-api-utils@^2.0.1:
|
1807
|
+
version "2.0.1"
|
1808
|
+
resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.0.1.tgz#660729385b625b939aaa58054f45c058f33f10cd"
|
1809
|
+
integrity sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==
|
1810
|
+
|
1584
1811
|
type-check@^0.4.0, type-check@~0.4.0:
|
1585
1812
|
version "0.4.0"
|
1586
1813
|
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
|
@@ -1588,6 +1815,15 @@ type-check@^0.4.0, type-check@~0.4.0:
|
|
1588
1815
|
dependencies:
|
1589
1816
|
prelude-ls "^1.2.1"
|
1590
1817
|
|
1818
|
+
typescript-eslint@^8.25.0:
|
1819
|
+
version "8.25.0"
|
1820
|
+
resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.25.0.tgz#73047c157cd70ee93cf2f9243f1599d21cf60239"
|
1821
|
+
integrity sha512-TxRdQQLH4g7JkoFlYG3caW5v1S6kEkz8rqt80iQJZUYPq1zD1Ra7HfQBJJ88ABRaMvHAXnwRvRB4V+6sQ9xN5Q==
|
1822
|
+
dependencies:
|
1823
|
+
"@typescript-eslint/eslint-plugin" "8.25.0"
|
1824
|
+
"@typescript-eslint/parser" "8.25.0"
|
1825
|
+
"@typescript-eslint/utils" "8.25.0"
|
1826
|
+
|
1591
1827
|
typescript@^5.7.3:
|
1592
1828
|
version "5.7.3"
|
1593
1829
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.3.tgz#919b44a7dbb8583a9b856d162be24a54bf80073e"
|
inspect_ai/log/_condense.py
CHANGED
@@ -10,6 +10,7 @@ from inspect_ai._util.content import (
|
|
10
10
|
Content,
|
11
11
|
ContentAudio,
|
12
12
|
ContentImage,
|
13
|
+
ContentReasoning,
|
13
14
|
ContentText,
|
14
15
|
ContentVideo,
|
15
16
|
)
|
@@ -315,3 +316,5 @@ def walk_content(content: Content, content_fn: Callable[[str], str]) -> Content:
|
|
315
316
|
return content.model_copy(update=dict(audio=content_fn(content.audio)))
|
316
317
|
elif isinstance(content, ContentVideo):
|
317
318
|
return content.model_copy(update=dict(video=content_fn(content.video)))
|
319
|
+
elif isinstance(content, ContentReasoning):
|
320
|
+
return content.model_copy(update=dict(reasoning=content_fn(content.reasoning)))
|
@@ -16,6 +16,7 @@ from inspect_ai._util.constants import LOG_SCHEMA_VERSION
|
|
16
16
|
from inspect_ai._util.content import (
|
17
17
|
ContentAudio,
|
18
18
|
ContentImage,
|
19
|
+
ContentReasoning,
|
19
20
|
ContentText,
|
20
21
|
ContentVideo,
|
21
22
|
)
|
@@ -252,7 +253,11 @@ def text_inputs(inputs: str | list[ChatMessage]) -> str | list[ChatMessage]:
|
|
252
253
|
for message in inputs:
|
253
254
|
if not isinstance(message.content, str):
|
254
255
|
filtered_content: list[
|
255
|
-
ContentText
|
256
|
+
ContentText
|
257
|
+
| ContentReasoning
|
258
|
+
| ContentImage
|
259
|
+
| ContentAudio
|
260
|
+
| ContentVideo
|
256
261
|
] = []
|
257
262
|
for content in message.content:
|
258
263
|
if content.type == "text":
|
inspect_ai/log/_transcript.py
CHANGED
@@ -8,7 +8,9 @@ from typing import (
|
|
8
8
|
Iterator,
|
9
9
|
Literal,
|
10
10
|
Sequence,
|
11
|
+
Type,
|
11
12
|
TypeAlias,
|
13
|
+
TypeVar,
|
12
14
|
Union,
|
13
15
|
)
|
14
16
|
|
@@ -17,6 +19,7 @@ from pydantic import BaseModel, ConfigDict, Field, JsonValue, field_serializer
|
|
17
19
|
from inspect_ai._util.constants import SAMPLE_SUBTASK
|
18
20
|
from inspect_ai._util.error import EvalError
|
19
21
|
from inspect_ai._util.json import JsonChange, json_changes
|
22
|
+
from inspect_ai._util.working import sample_working_time
|
20
23
|
from inspect_ai.dataset._dataset import Sample
|
21
24
|
from inspect_ai.log._message import LoggingMessage
|
22
25
|
from inspect_ai.model._chat_message import ChatMessage
|
@@ -41,7 +44,10 @@ logger = getLogger(__name__)
|
|
41
44
|
|
42
45
|
class BaseEvent(BaseModel):
|
43
46
|
timestamp: datetime = Field(default_factory=datetime.now)
|
44
|
-
"""
|
47
|
+
"""Clock time at which event occurred."""
|
48
|
+
|
49
|
+
working_start: float = Field(default_factory=sample_working_time)
|
50
|
+
"""Working time (within sample) at which the event occurred."""
|
45
51
|
|
46
52
|
pending: bool | None = Field(default=None)
|
47
53
|
"""Is this event pending?"""
|
@@ -133,6 +139,18 @@ class ModelEvent(BaseEvent):
|
|
133
139
|
call: ModelCall | None = Field(default=None)
|
134
140
|
"""Raw call made to model API."""
|
135
141
|
|
142
|
+
completed: datetime | None = Field(default=None)
|
143
|
+
"""Time that model call completed (see `timestamp` for started)"""
|
144
|
+
|
145
|
+
working_time: float | None = Field(default=None)
|
146
|
+
"""working time for model call that succeeded (i.e. was not retried)."""
|
147
|
+
|
148
|
+
@field_serializer("completed")
|
149
|
+
def serialize_completed(self, dt: datetime) -> str:
|
150
|
+
if dt is None:
|
151
|
+
return None
|
152
|
+
return dt.astimezone().isoformat()
|
153
|
+
|
136
154
|
|
137
155
|
class ToolEvent(BaseEvent):
|
138
156
|
"""Call to a tool."""
|
@@ -167,18 +185,28 @@ class ToolEvent(BaseEvent):
|
|
167
185
|
events: list["Event"] = Field(default_factory=list)
|
168
186
|
"""Transcript of events for tool."""
|
169
187
|
|
188
|
+
completed: datetime | None = Field(default=None)
|
189
|
+
"""Time that tool call completed (see `timestamp` for started)"""
|
190
|
+
|
191
|
+
working_time: float | None = Field(default=None)
|
192
|
+
"""Working time for tool call (i.e. time not spent waiting on semaphores)."""
|
193
|
+
|
170
194
|
def _set_result(
|
171
195
|
self,
|
172
196
|
result: ToolResult,
|
173
197
|
truncated: tuple[int, int] | None,
|
174
198
|
error: ToolCallError | None,
|
175
199
|
events: list["Event"],
|
200
|
+
waiting_time: float,
|
176
201
|
) -> None:
|
177
202
|
self.result = result
|
178
203
|
self.truncated = truncated
|
179
204
|
self.error = error
|
180
205
|
self.events = events
|
181
206
|
self.pending = None
|
207
|
+
completed = datetime.now()
|
208
|
+
self.completed = completed
|
209
|
+
self.working_time = (completed - self.timestamp).total_seconds() - waiting_time
|
182
210
|
|
183
211
|
# mechanism for operator to cancel the tool call
|
184
212
|
|
@@ -206,6 +234,10 @@ class ToolEvent(BaseEvent):
|
|
206
234
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
207
235
|
"""Required so that we can include '_task' as a member."""
|
208
236
|
|
237
|
+
@field_serializer("completed")
|
238
|
+
def serialize_completed(self, dt: datetime) -> str:
|
239
|
+
return dt.astimezone().isoformat()
|
240
|
+
|
209
241
|
|
210
242
|
class SandboxEvent(BaseEvent):
|
211
243
|
"""Sandbox execution or I/O"""
|
@@ -234,6 +266,13 @@ class SandboxEvent(BaseEvent):
|
|
234
266
|
output: str | None = Field(default=None)
|
235
267
|
"""Output (for exec and read_file). Truncated to 100 lines."""
|
236
268
|
|
269
|
+
completed: datetime | None = Field(default=None)
|
270
|
+
"""Time that sandbox action completed (see `timestamp` for started)"""
|
271
|
+
|
272
|
+
@field_serializer("completed")
|
273
|
+
def serialize_completed(self, dt: datetime) -> str:
|
274
|
+
return dt.astimezone().isoformat()
|
275
|
+
|
237
276
|
|
238
277
|
class ApprovalEvent(BaseEvent):
|
239
278
|
"""Tool approval."""
|
@@ -366,6 +405,16 @@ class SubtaskEvent(BaseEvent):
|
|
366
405
|
events: list["Event"] = Field(default_factory=list)
|
367
406
|
"""Transcript of events for subtask."""
|
368
407
|
|
408
|
+
completed: datetime | None = Field(default=None)
|
409
|
+
"""Time that subtask completed (see `timestamp` for started)"""
|
410
|
+
|
411
|
+
working_time: float | None = Field(default=None)
|
412
|
+
"""Working time for subtask (i.e. time not spent waiting on semaphores or model retries)."""
|
413
|
+
|
414
|
+
@field_serializer("completed")
|
415
|
+
def serialize_completed(self, dt: datetime) -> str:
|
416
|
+
return dt.astimezone().isoformat()
|
417
|
+
|
369
418
|
|
370
419
|
Event: TypeAlias = Union[
|
371
420
|
SampleInitEvent
|
@@ -387,6 +436,8 @@ Event: TypeAlias = Union[
|
|
387
436
|
]
|
388
437
|
"""Event in a transcript."""
|
389
438
|
|
439
|
+
ET = TypeVar("ET", bound=BaseEvent)
|
440
|
+
|
390
441
|
|
391
442
|
class Transcript:
|
392
443
|
"""Transcript of events."""
|
@@ -426,6 +477,12 @@ class Transcript:
|
|
426
477
|
def events(self) -> Sequence[Event]:
|
427
478
|
return self._events
|
428
479
|
|
480
|
+
def find_last_event(self, event_cls: Type[ET]) -> ET | None:
|
481
|
+
for event in reversed(self.events):
|
482
|
+
if isinstance(event, event_cls):
|
483
|
+
return event
|
484
|
+
return None
|
485
|
+
|
429
486
|
def _event(self, event: Event) -> None:
|
430
487
|
self._events.append(event)
|
431
488
|
|
inspect_ai/model/__init__.py
CHANGED
@@ -4,6 +4,7 @@ from inspect_ai._util.content import (
|
|
4
4
|
Content,
|
5
5
|
ContentAudio,
|
6
6
|
ContentImage,
|
7
|
+
ContentReasoning,
|
7
8
|
ContentText,
|
8
9
|
ContentVideo,
|
9
10
|
)
|
@@ -51,6 +52,7 @@ __all__ = [
|
|
51
52
|
"CachePolicy",
|
52
53
|
"ContentAudio",
|
53
54
|
"ContentImage",
|
55
|
+
"ContentReasoning",
|
54
56
|
"ContentText",
|
55
57
|
"ContentVideo",
|
56
58
|
"Content",
|
inspect_ai/model/_call_tools.py
CHANGED
@@ -36,6 +36,7 @@ from inspect_ai._util.content import (
|
|
36
36
|
from inspect_ai._util.format import format_function_call
|
37
37
|
from inspect_ai._util.text import truncate_string_to_bytes
|
38
38
|
from inspect_ai._util.trace import trace_action
|
39
|
+
from inspect_ai._util.working import sample_waiting_time
|
39
40
|
from inspect_ai.model._conversation import conversation_tool_mesage
|
40
41
|
from inspect_ai.tool import Tool, ToolCall, ToolError, ToolInfo
|
41
42
|
from inspect_ai.tool._tool import ToolApprovalError, ToolParsingError
|
@@ -180,6 +181,10 @@ async def call_tools(
|
|
180
181
|
task = asyncio.create_task(call_tool_task(call))
|
181
182
|
|
182
183
|
# create pending tool event and add it to the transcript
|
184
|
+
# (record the waiting time for the sample so we can compare
|
185
|
+
# it at the end to deduce total waiting time inside the tool
|
186
|
+
# call (in turn used to calculate working time)
|
187
|
+
waiting_time_start = sample_waiting_time()
|
183
188
|
event = ToolEvent(
|
184
189
|
id=call.id,
|
185
190
|
function=call.function,
|
@@ -227,11 +232,13 @@ async def call_tools(
|
|
227
232
|
conversation_tool_mesage(tool_message)
|
228
233
|
|
229
234
|
# update the event with the results
|
235
|
+
waiting_time_end = sample_waiting_time()
|
230
236
|
event._set_result(
|
231
237
|
result=result_event.result,
|
232
238
|
truncated=result_event.truncated,
|
233
239
|
error=result_event.error,
|
234
240
|
events=result_event.events,
|
241
|
+
waiting_time=waiting_time_end - waiting_time_start,
|
235
242
|
)
|
236
243
|
|
237
244
|
# return tool messages
|