inspect-ai 0.3.90__py3-none-any.whl → 0.3.91__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/common.py +13 -0
- inspect_ai/_cli/eval.py +40 -0
- inspect_ai/_display/textual/widgets/samples.py +49 -4
- inspect_ai/_display/textual/widgets/vscode.py +4 -2
- inspect_ai/_eval/eval.py +41 -28
- inspect_ai/_eval/evalset.py +4 -0
- inspect_ai/_eval/loader.py +4 -5
- inspect_ai/_eval/registry.py +1 -1
- inspect_ai/_eval/run.py +6 -3
- inspect_ai/_eval/task/log.py +6 -0
- inspect_ai/_eval/task/run.py +108 -41
- inspect_ai/_eval/task/sandbox.py +19 -5
- inspect_ai/_util/_async.py +1 -1
- inspect_ai/_util/constants.py +1 -0
- inspect_ai/_util/environ.py +32 -0
- inspect_ai/_util/file.py +8 -1
- inspect_ai/_util/httpx.py +105 -22
- inspect_ai/_util/registry.py +83 -9
- inspect_ai/_util/text.py +81 -17
- inspect_ai/_util/transcript.py +9 -6
- inspect_ai/_util/vscode.py +7 -2
- inspect_ai/_view/schema.py +1 -1
- inspect_ai/_view/www/babel.config.js +11 -0
- inspect_ai/_view/www/dist/assets/index.css +3640 -3563
- inspect_ai/_view/www/dist/assets/index.js +59204 -52519
- inspect_ai/_view/www/eslint.config.mjs +10 -1
- inspect_ai/_view/www/jest.config.mjs +21 -0
- inspect_ai/_view/www/log-schema.json +111 -2
- inspect_ai/_view/www/package.json +19 -5
- inspect_ai/_view/www/src/{types → @types}/log.d.ts +95 -32
- inspect_ai/_view/www/{App.css → src/app/App.css} +22 -14
- inspect_ai/_view/www/src/app/App.tsx +168 -0
- inspect_ai/_view/www/src/{AppErrorBoundary.tsx → app/AppErrorBoundary.tsx} +1 -1
- inspect_ai/_view/www/src/{appearance → app/appearance}/icons.ts +1 -0
- inspect_ai/_view/www/src/{metadata → app/content}/RenderedContent.tsx +5 -5
- inspect_ai/_view/www/src/{workspace/WorkSpaceView.tsx → app/log-view/LogView.tsx} +59 -40
- inspect_ai/_view/www/src/app/log-view/LogViewContainer.tsx +159 -0
- inspect_ai/_view/www/src/app/log-view/LogViewLayout.tsx +109 -0
- inspect_ai/_view/www/src/{workspace → app/log-view}/error/TaskErrorPanel.tsx +3 -3
- inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/ModelRolesView.tsx +1 -1
- inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/Navbar.tsx +4 -4
- inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/PrimaryBar.tsx +8 -8
- inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/ResultsPanel.tsx +6 -6
- inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/RunningStatusPanel.tsx +1 -1
- inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/ScoreGrid.tsx +1 -1
- inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/SecondaryBar.tsx +8 -8
- inspect_ai/_view/www/src/{workspace → app/log-view}/tabs/InfoTab.tsx +35 -6
- inspect_ai/_view/www/src/app/log-view/tabs/JsonTab.tsx +136 -0
- inspect_ai/_view/www/src/{workspace → app/log-view}/tabs/SamplesTab.tsx +82 -73
- inspect_ai/_view/www/src/{workspace → app/log-view}/tabs/grouping.ts +3 -3
- inspect_ai/_view/www/src/{workspace → app/log-view}/tabs/types.ts +1 -1
- inspect_ai/_view/www/src/{plan → app/plan}/DatasetDetailView.tsx +2 -2
- inspect_ai/_view/www/src/{plan → app/plan}/DetailStep.tsx +1 -1
- inspect_ai/_view/www/src/{plan → app/plan}/ModelCard.tsx +4 -4
- inspect_ai/_view/www/src/{plan → app/plan}/PlanCard.tsx +2 -2
- inspect_ai/_view/www/src/{plan → app/plan}/PlanDetailView.tsx +5 -5
- inspect_ai/_view/www/src/{plan → app/plan}/SolverDetailView.tsx +1 -1
- inspect_ai/_view/www/src/app/routing/AppRouter.tsx +58 -0
- inspect_ai/_view/www/src/app/routing/navigationHooks.ts +182 -0
- inspect_ai/_view/www/src/app/routing/url.ts +43 -0
- inspect_ai/_view/www/src/{samples → app/samples}/InlineSampleDisplay.tsx +11 -27
- inspect_ai/_view/www/src/{samples → app/samples}/SampleDialog.tsx +36 -40
- inspect_ai/_view/www/src/{samples → app/samples}/SampleDisplay.module.css +4 -0
- inspect_ai/_view/www/src/{samples → app/samples}/SampleDisplay.tsx +116 -49
- inspect_ai/_view/www/src/{samples → app/samples}/SampleSummaryView.module.css +1 -1
- inspect_ai/_view/www/src/{samples → app/samples}/SampleSummaryView.tsx +29 -26
- inspect_ai/_view/www/src/{samples → app/samples}/SamplesTools.tsx +3 -3
- inspect_ai/_view/www/src/{samples → app/samples}/chat/ChatMessage.module.css +5 -2
- inspect_ai/_view/www/src/{samples → app/samples}/chat/ChatMessage.tsx +12 -4
- inspect_ai/_view/www/src/{samples → app/samples}/chat/ChatMessageRenderer.tsx +3 -3
- inspect_ai/_view/www/src/{samples → app/samples}/chat/ChatMessageRow.tsx +6 -1
- inspect_ai/_view/www/src/{samples → app/samples}/chat/ChatView.tsx +4 -2
- inspect_ai/_view/www/src/{samples → app/samples}/chat/ChatViewVirtualList.tsx +5 -3
- inspect_ai/_view/www/src/app/samples/chat/MessageContent.module.css +12 -0
- inspect_ai/_view/www/src/{samples → app/samples}/chat/MessageContent.tsx +11 -10
- inspect_ai/_view/www/src/app/samples/chat/MessageContents.module.css +7 -0
- inspect_ai/_view/www/src/{samples → app/samples}/chat/MessageContents.tsx +14 -8
- inspect_ai/_view/www/src/{samples → app/samples}/chat/messages.ts +2 -2
- inspect_ai/_view/www/src/app/samples/chat/tools/ToolCallView.module.css +7 -0
- inspect_ai/_view/www/src/{samples → app/samples}/chat/tools/ToolCallView.tsx +26 -27
- inspect_ai/_view/www/src/app/samples/chat/tools/ToolInput.module.css +19 -0
- inspect_ai/_view/www/src/{samples → app/samples}/chat/tools/ToolInput.tsx +3 -3
- inspect_ai/_view/www/src/{samples → app/samples}/chat/tools/ToolOutput.module.css +1 -0
- inspect_ai/_view/www/src/{samples → app/samples}/chat/tools/ToolOutput.tsx +1 -1
- inspect_ai/_view/www/src/{samples → app/samples}/chat/tools/ToolTitle.module.css +4 -0
- inspect_ai/_view/www/src/{samples → app/samples}/chat/tools/ToolTitle.tsx +2 -2
- inspect_ai/_view/www/src/{samples → app/samples}/chat/tools/tool.ts +1 -1
- inspect_ai/_view/www/src/app/samples/chat/types.ts +1 -0
- inspect_ai/_view/www/src/{samples → app/samples}/descriptor/samplesDescriptor.tsx +38 -15
- inspect_ai/_view/www/src/{samples → app/samples}/descriptor/score/BooleanScoreDescriptor.tsx +1 -1
- inspect_ai/_view/www/src/{samples → app/samples}/descriptor/score/CategoricalScoreDescriptor.tsx +2 -2
- inspect_ai/_view/www/src/{samples → app/samples}/descriptor/score/NumericScoreDescriptor.tsx +3 -3
- inspect_ai/_view/www/src/{samples → app/samples}/descriptor/score/ObjectScoreDescriptor.tsx +4 -4
- inspect_ai/_view/www/src/{samples → app/samples}/descriptor/score/OtherScoreDescriptor.tsx +2 -2
- inspect_ai/_view/www/src/{samples → app/samples}/descriptor/score/PassFailScoreDescriptor.tsx +2 -2
- inspect_ai/_view/www/src/{samples → app/samples}/descriptor/score/ScoreDescriptor.tsx +1 -1
- inspect_ai/_view/www/src/{samples → app/samples}/descriptor/types.ts +4 -3
- inspect_ai/_view/www/src/{samples → app/samples}/error/SampleErrorView.module.css +2 -1
- inspect_ai/_view/www/src/{samples → app/samples}/list/SampleHeader.tsx +3 -0
- inspect_ai/_view/www/src/{samples → app/samples}/list/SampleList.tsx +47 -33
- inspect_ai/_view/www/src/{samples → app/samples}/list/SampleRow.module.css +16 -0
- inspect_ai/_view/www/src/{samples → app/samples}/list/SampleRow.tsx +47 -20
- inspect_ai/_view/www/src/{samples → app/samples}/sample-tools/SelectScorer.tsx +1 -1
- inspect_ai/_view/www/src/{samples → app/samples}/sample-tools/SortFilter.tsx +4 -4
- inspect_ai/_view/www/src/{samples → app/samples}/sample-tools/filters.ts +8 -6
- inspect_ai/_view/www/src/{samples → app/samples}/sample-tools/sample-filter/SampleFilter.tsx +4 -3
- inspect_ai/_view/www/src/{samples → app/samples}/sample-tools/sample-filter/completions.ts +1 -1
- inspect_ai/_view/www/src/{samples → app/samples}/sample-tools/sample-filter/language.ts +1 -0
- inspect_ai/_view/www/src/{samples → app/samples}/sampleDataAdapter.ts +3 -3
- inspect_ai/_view/www/src/{samples → app/samples}/sampleLimit.ts +1 -1
- inspect_ai/_view/www/src/{samples → app/samples}/scores/SampleScores.tsx +1 -1
- inspect_ai/_view/www/src/{samples → app/samples}/scores/SampleScoresGrid.tsx +12 -11
- inspect_ai/_view/www/src/{samples → app/samples}/scores/SampleScoresView.tsx +6 -6
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/ApprovalEventView.tsx +1 -1
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/ErrorEventView.tsx +3 -3
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/InfoEventView.tsx +4 -4
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/InputEventView.tsx +3 -3
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/LoggerEventView.tsx +3 -3
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/ModelEventView.module.css +13 -7
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/ModelEventView.tsx +49 -21
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/SampleInitEventView.tsx +11 -9
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/SampleLimitEventView.tsx +1 -1
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/SandboxEventView.tsx +8 -6
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/ScoreEventView.tsx +4 -4
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/StepEventView.tsx +11 -3
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/SubtaskEventView.tsx +2 -2
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/ToolEventView.tsx +2 -2
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/TranscriptView.module.css +8 -7
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/TranscriptView.tsx +32 -114
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/TranscriptVirtualListComponent.module.css +6 -5
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/TranscriptVirtualListComponent.tsx +14 -2
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventPanel.tsx +2 -2
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventTimingPanel.tsx +1 -1
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/utils.ts +1 -1
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/state/StateEventRenderers.tsx +23 -21
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/state/StateEventRenders.module.css +7 -0
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/state/StateEventView.tsx +2 -2
- inspect_ai/_view/www/src/app/samples/transcript/transform/fixups.ts +142 -0
- inspect_ai/_view/www/src/app/samples/transcript/transform/treeify.ts +39 -0
- inspect_ai/_view/www/src/{samples → app/samples}/transcript/types.ts +1 -1
- inspect_ai/_view/www/src/{workspace → app}/sidebar/EvalStatus.tsx +1 -1
- inspect_ai/_view/www/src/app/sidebar/LogDirectoryTitleView.module.css +16 -0
- inspect_ai/_view/www/src/app/sidebar/LogDirectoryTitleView.tsx +70 -0
- inspect_ai/_view/www/src/{workspace → app}/sidebar/Sidebar.module.css +8 -0
- inspect_ai/_view/www/src/{workspace → app}/sidebar/Sidebar.tsx +35 -17
- inspect_ai/_view/www/src/{workspace → app}/sidebar/SidebarLogEntry.tsx +1 -1
- inspect_ai/_view/www/src/{workspace → app}/sidebar/SidebarScoreView.tsx +2 -2
- inspect_ai/_view/www/src/{workspace → app}/sidebar/SidebarScoresView.tsx +2 -2
- inspect_ai/_view/www/src/{types.ts → app/types.ts} +18 -11
- inspect_ai/_view/www/src/{usage → app/usage}/ModelTokenTable.tsx +1 -1
- inspect_ai/_view/www/src/{usage → app/usage}/ModelUsagePanel.tsx +2 -2
- inspect_ai/_view/www/src/{usage → app/usage}/TokenTable.tsx +1 -1
- inspect_ai/_view/www/src/{usage → app/usage}/UsageCard.tsx +6 -6
- inspect_ai/_view/www/src/{api → client/api}/api-browser.ts +2 -2
- inspect_ai/_view/www/src/{api → client/api}/api-http.ts +3 -3
- inspect_ai/_view/www/src/{api → client/api}/api-vscode.ts +2 -2
- inspect_ai/_view/www/src/{api → client/api}/client-api.ts +6 -5
- inspect_ai/_view/www/src/{api → client/api}/index.ts +2 -2
- inspect_ai/_view/www/src/{api → client/api}/types.ts +4 -1
- inspect_ai/_view/www/src/{logfile → client/remote}/remoteLogFile.ts +3 -3
- inspect_ai/_view/www/src/{storage → client/storage}/index.ts +11 -5
- inspect_ai/_view/www/src/components/Card.tsx +1 -1
- inspect_ai/_view/www/src/components/CopyButton.tsx +1 -1
- inspect_ai/_view/www/src/components/DownloadButton.tsx +1 -1
- inspect_ai/_view/www/src/components/ErrorPanel.tsx +1 -1
- inspect_ai/_view/www/src/components/{ExpandablePanel.css → ExpandablePanel.module.css} +14 -11
- inspect_ai/_view/www/src/components/ExpandablePanel.tsx +16 -10
- inspect_ai/_view/www/src/components/FindBand.tsx +1 -1
- inspect_ai/_view/www/src/components/JsonPanel.css +2 -2
- inspect_ai/_view/www/src/components/LargeModal.tsx +12 -1
- inspect_ai/_view/www/src/components/LightboxCarousel.tsx +1 -1
- inspect_ai/_view/www/src/components/MarkdownDiv.tsx +3 -1
- inspect_ai/_view/www/src/components/MessageBand.tsx +1 -1
- inspect_ai/_view/www/src/components/NoContentsPanel.tsx +1 -1
- inspect_ai/_view/www/src/constants.ts +10 -9
- inspect_ai/_view/www/src/index.tsx +27 -11
- inspect_ai/_view/www/src/state/appSlice.ts +44 -5
- inspect_ai/_view/www/src/state/hooks.ts +30 -7
- inspect_ai/_view/www/src/state/logSlice.ts +7 -5
- inspect_ai/_view/www/src/state/logsPolling.ts +1 -1
- inspect_ai/_view/www/src/state/logsSlice.ts +18 -13
- inspect_ai/_view/www/src/state/samplePolling.ts +12 -12
- inspect_ai/_view/www/src/state/sampleSlice.ts +3 -5
- inspect_ai/_view/www/src/state/sampleUtils.ts +1 -1
- inspect_ai/_view/www/src/{scoring/utils.ts → state/scoring.ts} +2 -2
- inspect_ai/_view/www/src/state/store.ts +9 -7
- inspect_ai/_view/www/src/state/utils.ts +1 -1
- inspect_ai/_view/www/src/tests/README.md +49 -0
- inspect_ai/_view/www/src/tests/__mocks__/fileMock.js +1 -0
- inspect_ai/_view/www/src/tests/__mocks__/styleMock.js +1 -0
- inspect_ai/_view/www/src/tests/setupTests.mjs +1 -0
- inspect_ai/_view/www/src/tests/utils/base64.test.ts +23 -0
- inspect_ai/_view/www/src/tests/utils/format.test.ts +127 -0
- inspect_ai/_view/www/src/tests/utils/path.test.ts +54 -0
- inspect_ai/_view/www/src/utils/format.ts +8 -2
- inspect_ai/_view/www/src/utils/path.ts +14 -2
- inspect_ai/_view/www/src/utils/polling.ts +1 -2
- inspect_ai/_view/www/src/utils/uri.ts +32 -0
- inspect_ai/_view/www/yarn.lock +3310 -382
- inspect_ai/agent/_handoff.py +6 -3
- inspect_ai/agent/_human/agent.py +5 -3
- inspect_ai/agent/_human/install.py +16 -7
- inspect_ai/agent/_human/panel.py +14 -1
- inspect_ai/agent/_human/service.py +5 -1
- inspect_ai/agent/_react.py +161 -128
- inspect_ai/agent/_types.py +15 -4
- inspect_ai/approval/_policy.py +2 -2
- inspect_ai/log/_file.py +30 -11
- inspect_ai/log/_log.py +7 -1
- inspect_ai/log/_recorders/eval.py +3 -0
- inspect_ai/log/_recorders/types.py +1 -0
- inspect_ai/log/_samples.py +4 -0
- inspect_ai/model/_call_tools.py +33 -17
- inspect_ai/model/_generate_config.py +10 -2
- inspect_ai/model/_model.py +41 -21
- inspect_ai/model/_model_output.py +2 -1
- inspect_ai/model/_openai.py +10 -8
- inspect_ai/model/_openai_responses.py +83 -42
- inspect_ai/model/_providers/anthropic.py +14 -12
- inspect_ai/model/_providers/google.py +191 -95
- inspect_ai/model/_providers/hf.py +1 -1
- inspect_ai/model/_providers/mistral.py +2 -3
- inspect_ai/model/_providers/openai.py +54 -17
- inspect_ai/model/_providers/openai_o1.py +1 -1
- inspect_ai/model/_providers/openai_responses.py +28 -16
- inspect_ai/model/_providers/openrouter.py +14 -0
- inspect_ai/model/_providers/providers.py +2 -2
- inspect_ai/model/_providers/util/chatapi.py +17 -7
- inspect_ai/model/_providers/vllm.py +1 -1
- inspect_ai/scorer/_metric.py +17 -1
- inspect_ai/scorer/_model.py +51 -6
- inspect_ai/scorer/_scorer.py +1 -1
- inspect_ai/solver/_human_agent.py +3 -0
- inspect_ai/solver/_plan.py +1 -1
- inspect_ai/solver/_solver.py +1 -1
- inspect_ai/solver/_use_tools.py +14 -8
- inspect_ai/tool/__init__.py +16 -1
- inspect_ai/tool/_json_rpc_helpers.py +285 -0
- inspect_ai/tool/_mcp/__init__.py +13 -0
- inspect_ai/tool/_mcp/_context.py +14 -0
- inspect_ai/tool/_mcp/_mcp.py +293 -0
- inspect_ai/tool/_mcp/_sandbox.py +104 -0
- inspect_ai/tool/_mcp/_types.py +31 -0
- inspect_ai/tool/_mcp/connection.py +60 -0
- inspect_ai/tool/_mcp/sampling.py +118 -0
- inspect_ai/tool/_mcp/server.py +112 -0
- inspect_ai/tool/_mcp/tools.py +34 -0
- inspect_ai/tool/_tool.py +13 -0
- inspect_ai/tool/_tool_def.py +24 -7
- inspect_ai/tool/_tool_support_helpers.py +129 -153
- inspect_ai/tool/_tools/_bash_session.py +11 -11
- inspect_ai/tool/_tools/_text_editor.py +6 -6
- inspect_ai/tool/_tools/_web_browser/_web_browser.py +8 -8
- inspect_ai/util/_anyio.py +31 -20
- inspect_ai/util/_json.py +20 -2
- inspect_ai/util/_sandbox/context.py +18 -7
- inspect_ai/util/_sandbox/docker/compose.py +1 -1
- inspect_ai/util/_sandbox/docker/docker.py +92 -21
- inspect_ai/util/_sandbox/environment.py +33 -2
- inspect_ai/util/_sandbox/events.py +2 -2
- inspect_ai/util/_sandbox/service.py +13 -3
- {inspect_ai-0.3.90.dist-info → inspect_ai-0.3.91.dist-info}/METADATA +6 -2
- inspect_ai-0.3.91.dist-info/RECORD +732 -0
- {inspect_ai-0.3.90.dist-info → inspect_ai-0.3.91.dist-info}/WHEEL +1 -1
- inspect_ai/_view/www/src/App.tsx +0 -316
- inspect_ai/_view/www/src/samples/chat/MessageContent.module.css +0 -4
- inspect_ai/_view/www/src/samples/chat/MessageContents.module.css +0 -3
- inspect_ai/_view/www/src/samples/chat/tools/ToolCallView.module.css +0 -3
- inspect_ai/_view/www/src/samples/chat/tools/ToolInput.module.css +0 -14
- inspect_ai/_view/www/src/workspace/WorkSpace.tsx +0 -292
- inspect_ai/_view/www/src/workspace/sidebar/LogDirectoryTitleView.module.css +0 -5
- inspect_ai/_view/www/src/workspace/sidebar/LogDirectoryTitleView.tsx +0 -57
- inspect_ai/_view/www/src/workspace/tabs/JsonTab.tsx +0 -43
- inspect_ai-0.3.90.dist-info/RECORD +0 -705
- /inspect_ai/_view/www/src/{types → @types}/asciicinema-player.d.ts +0 -0
- /inspect_ai/_view/www/src/{types → @types}/jsondiffpatch.d.ts +0 -0
- /inspect_ai/_view/www/src/{types → @types}/markdown-it-katex.d.ts +0 -0
- /inspect_ai/_view/www/src/{types → @types}/prism.d.ts +0 -0
- /inspect_ai/_view/www/src/{appearance → app/appearance}/colors.ts +0 -0
- /inspect_ai/_view/www/src/{appearance → app/appearance}/fonts.ts +0 -0
- /inspect_ai/_view/www/src/{appearance → app/appearance}/styles.ts +0 -0
- /inspect_ai/_view/www/src/{metadata → app/content}/MetaDataGrid.tsx +0 -0
- /inspect_ai/_view/www/src/{metadata → app/content}/MetaDataView.module.css +0 -0
- /inspect_ai/_view/www/src/{metadata → app/content}/MetaDataView.tsx +0 -0
- /inspect_ai/_view/www/src/{metadata → app/content}/MetadataGrid.module.css +0 -0
- /inspect_ai/_view/www/src/{metadata → app/content}/RenderedContent.module.css +0 -0
- /inspect_ai/_view/www/src/{metadata → app/content}/types.ts +0 -0
- /inspect_ai/_view/www/src/{workspace/WorkSpaceView.module.css → app/log-view/LogView.module.css} +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/error/TaskErrorPanel.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/ModelRolesView.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/Navbar.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/PrimaryBar.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/ResultsPanel.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/RunningStatusPanel.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/ScoreGrid.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/SecondaryBar.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/StatusPanel.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/navbar/StatusPanel.tsx +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/tabs/InfoTab.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/tabs/JsonTab.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/tabs/RunningNoSamples.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/tabs/RunningNoSamples.tsx +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/types.ts +0 -0
- /inspect_ai/_view/www/src/{workspace → app/log-view}/utils.ts +0 -0
- /inspect_ai/_view/www/src/{plan → app/plan}/DatasetDetailView.module.css +0 -0
- /inspect_ai/_view/www/src/{plan → app/plan}/DetailStep.module.css +0 -0
- /inspect_ai/_view/www/src/{plan → app/plan}/ModelCard.module.css +0 -0
- /inspect_ai/_view/www/src/{plan → app/plan}/PlanDetailView.module.css +0 -0
- /inspect_ai/_view/www/src/{plan → app/plan}/ScorerDetailView.module.css +0 -0
- /inspect_ai/_view/www/src/{plan → app/plan}/ScorerDetailView.tsx +0 -0
- /inspect_ai/_view/www/src/{plan → app/plan}/SolverDetailView.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/InlineSampleDisplay.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/chat/ChatMessageRow.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/chat/ChatViewVirtualList.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/descriptor/score/BooleanScoreDescriptor.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/descriptor/score/ObjectScoreDescriptor.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/descriptor/score/PassFailScoreDescriptor.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/error/FlatSampleErrorView.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/error/FlatSampleErrorView.tsx +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/error/SampleErrorView.tsx +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/error/error.ts +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/list/SampleFooter.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/list/SampleFooter.tsx +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/list/SampleHeader.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/list/SampleList.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/list/SampleSeparator.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/list/SampleSeparator.tsx +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/sample-tools/EpochFilter.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/sample-tools/EpochFilter.tsx +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/sample-tools/SelectScorer.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/sample-tools/SortFilter.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/sample-tools/sample-filter/SampleFilter.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/sample-tools/sample-filter/tokenize.ts +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/scores/SampleScores.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/scores/SampleScoresGrid.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/scores/SampleScoresView.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/InfoEventView.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/LoggerEventView.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/SampleInitEventView.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/SandboxEventView.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/ScoreEventView.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/SubtaskEventView.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/ToolEventView.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventNav.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventNav.tsx +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventNavs.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventNavs.tsx +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventPanel.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventProgressPanel.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventProgressPanel.tsx +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventRow.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventRow.tsx +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventSection.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventSection.tsx +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/event/EventTimingPanel.module.css +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/state/StateDiffView.tsx +0 -0
- /inspect_ai/_view/www/src/{samples → app/samples}/transcript/state/StateEventView.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app}/sidebar/EvalStatus.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app}/sidebar/SidebarLogEntry.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app}/sidebar/SidebarScoreView.module.css +0 -0
- /inspect_ai/_view/www/src/{workspace → app}/sidebar/SidebarScoresView.module.css +0 -0
- /inspect_ai/_view/www/src/{usage → app/usage}/ModelUsagePanel.module.css +0 -0
- /inspect_ai/_view/www/src/{usage → app/usage}/TokenTable.module.css +0 -0
- /inspect_ai/_view/www/src/{usage → app/usage}/UsageCard.module.css +0 -0
- /inspect_ai/_view/www/src/{api → client/api}/api-shared.ts +0 -0
- /inspect_ai/_view/www/src/{api → client/api}/jsonrpc.ts +0 -0
- /inspect_ai/_view/www/src/{logfile → client/remote}/remoteZipFile.ts +0 -0
- {inspect_ai-0.3.90.dist-info → inspect_ai-0.3.91.dist-info}/entry_points.txt +0 -0
- {inspect_ai-0.3.90.dist-info → inspect_ai-0.3.91.dist-info}/licenses/LICENSE +0 -0
- {inspect_ai-0.3.90.dist-info → inspect_ai-0.3.91.dist-info}/top_level.txt +0 -0
@@ -15,12 +15,14 @@ export type TaskVersion = number;
|
|
15
15
|
export type TaskFile = string | null;
|
16
16
|
export type TaskRegistryName = string | null;
|
17
17
|
export type Solver = string | null;
|
18
|
-
export type SolverArgs = {
|
18
|
+
export type SolverArgs = {
|
19
|
+
[k: string]: unknown;
|
20
|
+
} | null;
|
19
21
|
export type Tags = string[] | null;
|
20
22
|
export type Name = string | null;
|
21
23
|
export type Location = string | null;
|
22
24
|
export type Samples = number | null;
|
23
|
-
export type SampleIds =
|
25
|
+
export type SampleIds = string[] | number[] | (string | number)[] | null;
|
24
26
|
export type Shuffled = boolean | null;
|
25
27
|
export type Type = string;
|
26
28
|
export type Model = string;
|
@@ -49,11 +51,13 @@ export type MaxToolOutput = number | null;
|
|
49
51
|
export type CachePrompt = "auto" | boolean | null;
|
50
52
|
export type ReasoningEffort = ("low" | "medium" | "high") | null;
|
51
53
|
export type ReasoningTokens = number | null;
|
54
|
+
export type ReasoningSummary = ("concise" | "detailed" | "auto") | null;
|
52
55
|
export type ReasoningHistory = ("none" | "all" | "last" | "auto") | null;
|
53
56
|
export type Name1 = string;
|
54
57
|
export type Type1 =
|
55
58
|
| ("string" | "integer" | "number" | "boolean" | "array" | "object" | "null")
|
56
59
|
| null;
|
60
|
+
export type Format = string | null;
|
57
61
|
export type Description = string | null;
|
58
62
|
export type Enum = unknown[] | null;
|
59
63
|
export type Properties = {
|
@@ -71,13 +75,20 @@ export type ModelRoles = {
|
|
71
75
|
export type Model1 = string;
|
72
76
|
export type BaseUrl = string | null;
|
73
77
|
export type Limit = number | [unknown, unknown] | null;
|
74
|
-
export type SampleId =
|
78
|
+
export type SampleId =
|
79
|
+
| string
|
80
|
+
| number
|
81
|
+
| string[]
|
82
|
+
| number[]
|
83
|
+
| (string | number)[]
|
84
|
+
| null;
|
75
85
|
export type Epochs = number | null;
|
76
86
|
export type EpochsReducer = string[] | null;
|
77
87
|
export type Name2 = string;
|
78
88
|
export type Tools = string | string[];
|
79
89
|
export type Approvers = ApproverPolicyConfig[];
|
80
90
|
export type FailOnError = boolean | number | null;
|
91
|
+
export type RetryOnError = number | null;
|
81
92
|
export type MessageLimit = number | null;
|
82
93
|
export type TokenLimit = number | null;
|
83
94
|
export type TimeLimit = number | null;
|
@@ -95,10 +106,14 @@ export type ScoreDisplay = boolean | null;
|
|
95
106
|
export type Type2 = "git";
|
96
107
|
export type Origin = string;
|
97
108
|
export type Commit = string;
|
98
|
-
export type Metadata = {
|
109
|
+
export type Metadata = {
|
110
|
+
[k: string]: unknown;
|
111
|
+
} | null;
|
99
112
|
export type Scorers = EvalScorer[] | null;
|
100
113
|
export type Name3 = string;
|
101
|
-
export type Options = {
|
114
|
+
export type Options = {
|
115
|
+
[k: string]: unknown;
|
116
|
+
} | null;
|
102
117
|
export type Metrics =
|
103
118
|
| (
|
104
119
|
| EvalMetricDefinition
|
@@ -111,8 +126,12 @@ export type Metrics =
|
|
111
126
|
}
|
112
127
|
| null;
|
113
128
|
export type Name4 = string;
|
114
|
-
export type Options1 = {
|
115
|
-
|
129
|
+
export type Options1 = {
|
130
|
+
[k: string]: unknown;
|
131
|
+
} | null;
|
132
|
+
export type Metadata1 = {
|
133
|
+
[k: string]: unknown;
|
134
|
+
} | null;
|
116
135
|
export type Metrics1 =
|
117
136
|
| EvalMetricDefinition[]
|
118
137
|
| {
|
@@ -129,10 +148,16 @@ export type Scorer = string;
|
|
129
148
|
export type Reducer = string | null;
|
130
149
|
export type Name7 = string;
|
131
150
|
export type Value = number;
|
132
|
-
export type Metadata2 = {
|
133
|
-
|
151
|
+
export type Metadata2 = {
|
152
|
+
[k: string]: unknown;
|
153
|
+
} | null;
|
154
|
+
export type Metadata3 = {
|
155
|
+
[k: string]: unknown;
|
156
|
+
} | null;
|
134
157
|
export type Scores = EvalScore[];
|
135
|
-
export type Metadata4 = {
|
158
|
+
export type Metadata4 = {
|
159
|
+
[k: string]: unknown;
|
160
|
+
} | null;
|
136
161
|
export type StartedAt = string;
|
137
162
|
export type CompletedAt = string;
|
138
163
|
export type InputTokens = number;
|
@@ -177,10 +202,10 @@ export type Image = string;
|
|
177
202
|
export type Detail = "auto" | "low" | "high";
|
178
203
|
export type Type6 = "audio";
|
179
204
|
export type Audio = string;
|
180
|
-
export type
|
205
|
+
export type Format1 = "wav" | "mp3";
|
181
206
|
export type Type7 = "video";
|
182
207
|
export type Video = string;
|
183
|
-
export type
|
208
|
+
export type Format2 = "mp4" | "mpeg" | "mov";
|
184
209
|
export type Source = ("input" | "generate") | null;
|
185
210
|
export type Role = "system";
|
186
211
|
export type Id2 = string | null;
|
@@ -213,7 +238,7 @@ export type Id4 = string;
|
|
213
238
|
export type Function = string;
|
214
239
|
export type ParseError = string | null;
|
215
240
|
export type Title = string | null;
|
216
|
-
export type
|
241
|
+
export type Format3 = "text" | "markdown";
|
217
242
|
export type Content3 = string;
|
218
243
|
export type Type8 = string | null;
|
219
244
|
export type Model2 = string | null;
|
@@ -270,7 +295,9 @@ export type Bytes1 = number[] | null;
|
|
270
295
|
export type Content5 = Logprob[];
|
271
296
|
export type Choices1 = ChatCompletionChoice[];
|
272
297
|
export type Time = number | null;
|
273
|
-
export type Metadata5 = {
|
298
|
+
export type Metadata5 = {
|
299
|
+
[k: string]: unknown;
|
300
|
+
} | null;
|
274
301
|
export type Error = string | null;
|
275
302
|
export type Scores1 = {
|
276
303
|
[k: string]: Score;
|
@@ -285,7 +312,9 @@ export type Value1 =
|
|
285
312
|
};
|
286
313
|
export type Answer = string | null;
|
287
314
|
export type Explanation = string | null;
|
288
|
-
export type Metadata6 = {
|
315
|
+
export type Metadata6 = {
|
316
|
+
[k: string]: unknown;
|
317
|
+
} | null;
|
289
318
|
export type Timestamp = string;
|
290
319
|
export type WorkingStart = number;
|
291
320
|
export type Pending = boolean | null;
|
@@ -301,7 +330,9 @@ export type Input1 =
|
|
301
330
|
export type Choices2 = string[] | null;
|
302
331
|
export type Target1 = string | string[];
|
303
332
|
export type Id6 = number | string | null;
|
304
|
-
export type Metadata8 = {
|
333
|
+
export type Metadata8 = {
|
334
|
+
[k: string]: unknown;
|
335
|
+
} | null;
|
305
336
|
export type Files1 = {
|
306
337
|
[k: string]: string;
|
307
338
|
} | null;
|
@@ -522,6 +553,7 @@ export type Events = (
|
|
522
553
|
export type TotalTime = number | null;
|
523
554
|
export type WorkingTime3 = number | null;
|
524
555
|
export type Uuid = string | null;
|
556
|
+
export type ErrorRetries = EvalError[] | null;
|
525
557
|
export type Type15 =
|
526
558
|
| "context"
|
527
559
|
| "time"
|
@@ -544,7 +576,9 @@ export type Value2 =
|
|
544
576
|
};
|
545
577
|
export type Answer1 = string | null;
|
546
578
|
export type Explanation2 = string | null;
|
547
|
-
export type Metadata9 = {
|
579
|
+
export type Metadata9 = {
|
580
|
+
[k: string]: unknown;
|
581
|
+
} | null;
|
548
582
|
export type SampleId1 = string | number | null;
|
549
583
|
export type Samples2 = EvalSampleScore[];
|
550
584
|
export type Location1 = string;
|
@@ -594,8 +628,12 @@ export interface EvalSpec {
|
|
594
628
|
scorers: Scorers;
|
595
629
|
metrics: Metrics1;
|
596
630
|
}
|
597
|
-
export interface TaskAttribs {
|
598
|
-
|
631
|
+
export interface TaskAttribs {
|
632
|
+
[k: string]: unknown;
|
633
|
+
}
|
634
|
+
export interface TaskArgs {
|
635
|
+
[k: string]: unknown;
|
636
|
+
}
|
599
637
|
/**
|
600
638
|
* Dataset used for evaluation.
|
601
639
|
*/
|
@@ -643,6 +681,7 @@ export interface GenerateConfig {
|
|
643
681
|
cache_prompt: CachePrompt;
|
644
682
|
reasoning_effort: ReasoningEffort;
|
645
683
|
reasoning_tokens: ReasoningTokens;
|
684
|
+
reasoning_summary: ReasoningSummary;
|
646
685
|
reasoning_history: ReasoningHistory;
|
647
686
|
response_schema: ResponseSchema | null;
|
648
687
|
}
|
@@ -660,6 +699,7 @@ export interface ResponseSchema {
|
|
660
699
|
*/
|
661
700
|
export interface JSONSchema {
|
662
701
|
type: Type1;
|
702
|
+
format: Format;
|
663
703
|
description: Description;
|
664
704
|
default: Default;
|
665
705
|
enum: Enum;
|
@@ -672,7 +712,9 @@ export interface JSONSchema {
|
|
672
712
|
export interface Default {
|
673
713
|
[k: string]: unknown;
|
674
714
|
}
|
675
|
-
export interface ModelArgs {
|
715
|
+
export interface ModelArgs {
|
716
|
+
[k: string]: unknown;
|
717
|
+
}
|
676
718
|
/**
|
677
719
|
* Model config.
|
678
720
|
*/
|
@@ -682,7 +724,9 @@ export interface EvalModelConfig {
|
|
682
724
|
base_url: BaseUrl;
|
683
725
|
args: Args;
|
684
726
|
}
|
685
|
-
export interface Args {
|
727
|
+
export interface Args {
|
728
|
+
[k: string]: unknown;
|
729
|
+
}
|
686
730
|
/**
|
687
731
|
* Configuration used for evaluation.
|
688
732
|
*/
|
@@ -693,6 +737,7 @@ export interface EvalConfig {
|
|
693
737
|
epochs_reducer: EpochsReducer;
|
694
738
|
approval: ApprovalPolicyConfig | null;
|
695
739
|
fail_on_error: FailOnError;
|
740
|
+
retry_on_error: RetryOnError;
|
696
741
|
message_limit: MessageLimit;
|
697
742
|
token_limit: TokenLimit;
|
698
743
|
time_limit: TimeLimit;
|
@@ -732,7 +777,9 @@ export interface ApproverPolicyConfig {
|
|
732
777
|
tools: Tools;
|
733
778
|
params: Params;
|
734
779
|
}
|
735
|
-
export interface Params {
|
780
|
+
export interface Params {
|
781
|
+
[k: string]: unknown;
|
782
|
+
}
|
736
783
|
/**
|
737
784
|
* Git revision for evaluation.
|
738
785
|
*/
|
@@ -770,7 +817,9 @@ export interface EvalPlanStep {
|
|
770
817
|
solver: Solver1;
|
771
818
|
params: Params1;
|
772
819
|
}
|
773
|
-
export interface Params1 {
|
820
|
+
export interface Params1 {
|
821
|
+
[k: string]: unknown;
|
822
|
+
}
|
774
823
|
/**
|
775
824
|
* Model generation options.
|
776
825
|
*/
|
@@ -798,6 +847,7 @@ export interface GenerateConfig1 {
|
|
798
847
|
cache_prompt: CachePrompt;
|
799
848
|
reasoning_effort: ReasoningEffort;
|
800
849
|
reasoning_tokens: ReasoningTokens;
|
850
|
+
reasoning_summary: ReasoningSummary;
|
801
851
|
reasoning_history: ReasoningHistory;
|
802
852
|
response_schema: ResponseSchema | null;
|
803
853
|
}
|
@@ -821,7 +871,9 @@ export interface EvalScore {
|
|
821
871
|
metrics: Metrics2;
|
822
872
|
metadata: Metadata3;
|
823
873
|
}
|
824
|
-
export interface Params2 {
|
874
|
+
export interface Params2 {
|
875
|
+
[k: string]: unknown;
|
876
|
+
}
|
825
877
|
export interface Metrics2 {
|
826
878
|
[k: string]: EvalMetric;
|
827
879
|
}
|
@@ -834,7 +886,9 @@ export interface EvalMetric {
|
|
834
886
|
params: Params3;
|
835
887
|
metadata: Metadata2;
|
836
888
|
}
|
837
|
-
export interface Params3 {
|
889
|
+
export interface Params3 {
|
890
|
+
[k: string]: unknown;
|
891
|
+
}
|
838
892
|
/**
|
839
893
|
* Timing and usage statistics.
|
840
894
|
*/
|
@@ -888,6 +942,7 @@ export interface EvalSample {
|
|
888
942
|
working_time: WorkingTime3;
|
889
943
|
uuid: Uuid;
|
890
944
|
error: EvalError | null;
|
945
|
+
error_retries: ErrorRetries;
|
891
946
|
attachments: Attachments;
|
892
947
|
limit: EvalSampleLimit | null;
|
893
948
|
}
|
@@ -934,7 +989,7 @@ export interface ContentImage {
|
|
934
989
|
export interface ContentAudio {
|
935
990
|
type: Type6;
|
936
991
|
audio: Audio;
|
937
|
-
format:
|
992
|
+
format: Format1;
|
938
993
|
}
|
939
994
|
/**
|
940
995
|
* Video content.
|
@@ -942,7 +997,7 @@ export interface ContentAudio {
|
|
942
997
|
export interface ContentVideo {
|
943
998
|
type: Type7;
|
944
999
|
video: Video;
|
945
|
-
format:
|
1000
|
+
format: Format2;
|
946
1001
|
}
|
947
1002
|
/**
|
948
1003
|
* User chat message.
|
@@ -976,13 +1031,15 @@ export interface ToolCall {
|
|
976
1031
|
view: ToolCallContent | null;
|
977
1032
|
type: Type8;
|
978
1033
|
}
|
979
|
-
export interface Arguments {
|
1034
|
+
export interface Arguments {
|
1035
|
+
[k: string]: unknown;
|
1036
|
+
}
|
980
1037
|
/**
|
981
1038
|
* Content to include in tool call view.
|
982
1039
|
*/
|
983
1040
|
export interface ToolCallContent {
|
984
1041
|
title: Title;
|
985
|
-
format:
|
1042
|
+
format: Format3;
|
986
1043
|
content: Content3;
|
987
1044
|
}
|
988
1045
|
/**
|
@@ -1053,8 +1110,12 @@ export interface Score {
|
|
1053
1110
|
explanation: Explanation;
|
1054
1111
|
metadata: Metadata6;
|
1055
1112
|
}
|
1056
|
-
export interface Metadata7 {
|
1057
|
-
|
1113
|
+
export interface Metadata7 {
|
1114
|
+
[k: string]: unknown;
|
1115
|
+
}
|
1116
|
+
export interface Store {
|
1117
|
+
[k: string]: unknown;
|
1118
|
+
}
|
1058
1119
|
/**
|
1059
1120
|
* Beginning of processing a Sample.
|
1060
1121
|
*/
|
@@ -1372,7 +1433,9 @@ export interface SubtaskEvent {
|
|
1372
1433
|
completed: Completed2;
|
1373
1434
|
working_time: WorkingTime1;
|
1374
1435
|
}
|
1375
|
-
export interface Input5 {
|
1436
|
+
export interface Input5 {
|
1437
|
+
[k: string]: unknown;
|
1438
|
+
}
|
1376
1439
|
export interface Result2 {
|
1377
1440
|
[k: string]: unknown;
|
1378
1441
|
}
|
@@ -83,39 +83,39 @@ body[class^="vscode-"] .app-main-grid {
|
|
83
83
|
|
84
84
|
/* Inspect Font Size Styles */
|
85
85
|
.text-size-title {
|
86
|
-
font-size: var(--inspect-font-size-title);
|
86
|
+
font-size: var(--inspect-font-size-title) !important;
|
87
87
|
}
|
88
88
|
|
89
89
|
.text-size-title-secondary {
|
90
|
-
font-size: var(--inspect-font-size-title-secondary);
|
90
|
+
font-size: var(--inspect-font-size-title-secondary) !important;
|
91
91
|
}
|
92
92
|
|
93
93
|
.text-size-largest {
|
94
|
-
font-size: var(--inspect-font-size-largest);
|
94
|
+
font-size: var(--inspect-font-size-largest) !important;
|
95
95
|
}
|
96
96
|
|
97
97
|
.text-size-larger {
|
98
|
-
font-size: var(--inspect-font-size-larger);
|
98
|
+
font-size: var(--inspect-font-size-larger) !important;
|
99
99
|
}
|
100
100
|
|
101
101
|
.text-size-large {
|
102
|
-
font-size: var(--inspect-font-size-large);
|
102
|
+
font-size: var(--inspect-font-size-large) !important;
|
103
103
|
}
|
104
104
|
|
105
105
|
.text-size-base {
|
106
|
-
font-size: var(--inspect-font-size-base);
|
106
|
+
font-size: var(--inspect-font-size-base) !important;
|
107
107
|
}
|
108
108
|
|
109
109
|
.text-size-small {
|
110
|
-
font-size: var(--inspect-font-size-small);
|
110
|
+
font-size: var(--inspect-font-size-small) !important;
|
111
111
|
}
|
112
112
|
|
113
113
|
.text-size-smaller {
|
114
|
-
font-size: var(--inspect-font-size-smaller);
|
114
|
+
font-size: var(--inspect-font-size-smaller) !important;
|
115
115
|
}
|
116
116
|
|
117
117
|
.text-size-smallest {
|
118
|
-
font-size: var(--inspect-font-size-smallest);
|
118
|
+
font-size: var(--inspect-font-size-smallest) !important;
|
119
119
|
}
|
120
120
|
|
121
121
|
.text-truncate {
|
@@ -456,8 +456,8 @@ body {
|
|
456
456
|
|
457
457
|
.markdown-content pre > code,
|
458
458
|
.markdown-content pre {
|
459
|
-
white-space: pre-wrap;
|
460
|
-
word-wrap: anywhere;
|
459
|
+
white-space: pre-wrap !important;
|
460
|
+
word-wrap: anywhere !important;
|
461
461
|
}
|
462
462
|
|
463
463
|
.log pre code {
|
@@ -493,9 +493,7 @@ body {
|
|
493
493
|
padding-top: 10em;
|
494
494
|
}
|
495
495
|
|
496
|
-
code:not(.sourceCode) {
|
497
|
-
border-radius: 2px;
|
498
|
-
padding: 0.2em;
|
496
|
+
code:not(.sourceCode):not(.source-code) {
|
499
497
|
color: var(--bs-code-color);
|
500
498
|
}
|
501
499
|
|
@@ -1023,6 +1021,16 @@ ul.jsondiffpatch-textdiff {
|
|
1023
1021
|
font-weight: bold;
|
1024
1022
|
}
|
1025
1023
|
|
1024
|
+
/* prism-custom.css */
|
1025
|
+
code[class*="language-"],
|
1026
|
+
pre[class*="language-"] {
|
1027
|
+
font-size: 0.8rem !important;
|
1028
|
+
}
|
1029
|
+
|
1030
|
+
.token {
|
1031
|
+
font-size: 0.8rem !important;
|
1032
|
+
}
|
1033
|
+
|
1026
1034
|
/* PrismJS 1.29.0 https://prismjs.com/download.html#themes=prism-dark&languages=markup+css+clike+javascript+bash+python */
|
1027
1035
|
/* This has been generated from the URL above, then scoped within the
|
1028
1036
|
* .vscode-dark class. If it needs to be regenerated, be sure to add that back in. */
|
@@ -0,0 +1,168 @@
|
|
1
|
+
import "bootstrap-icons/font/bootstrap-icons.css";
|
2
|
+
import "bootstrap/dist/css/bootstrap.css";
|
3
|
+
import JSON5 from "json5";
|
4
|
+
|
5
|
+
import "prismjs";
|
6
|
+
import "prismjs/components/prism-bash";
|
7
|
+
import "prismjs/components/prism-clike";
|
8
|
+
import "prismjs/components/prism-javascript";
|
9
|
+
import "prismjs/components/prism-json";
|
10
|
+
import "prismjs/components/prism-python";
|
11
|
+
import "prismjs/themes/prism.css";
|
12
|
+
|
13
|
+
import "./App.css";
|
14
|
+
|
15
|
+
import ClipboardJS from "clipboard";
|
16
|
+
import { FC, useCallback, useEffect } from "react";
|
17
|
+
import { RouterProvider } from "react-router-dom";
|
18
|
+
import { ClientAPI, HostMessage } from "../client/api/types.ts";
|
19
|
+
import { useStore } from "../state/store.ts";
|
20
|
+
import { AppRouter } from "./routing/AppRouter.tsx";
|
21
|
+
|
22
|
+
interface AppProps {
|
23
|
+
api: ClientAPI;
|
24
|
+
}
|
25
|
+
|
26
|
+
/**
|
27
|
+
* Renders the Main Application
|
28
|
+
*/
|
29
|
+
export const App: FC<AppProps> = ({ api }) => {
|
30
|
+
const setAppStatus = useStore((state) => state.appActions.setStatus);
|
31
|
+
const setLogs = useStore((state) => state.logsActions.setLogs);
|
32
|
+
const selectLogFile = useStore((state) => state.logsActions.selectLogFile);
|
33
|
+
const setIntialState = useStore((state) => state.appActions.setInitialState);
|
34
|
+
const rehydrated = useStore((state) => state.app.rehydrated);
|
35
|
+
const refreshLogs = useStore((state) => state.logsActions.refreshLogs);
|
36
|
+
const loadLog = useStore((state) => state.logActions.loadLog);
|
37
|
+
const pollLog = useStore((state) => state.logActions.pollLog);
|
38
|
+
const loadedLogFile = useStore((state) => state.log.loadedLog);
|
39
|
+
const selectedLogFile = useStore((state) =>
|
40
|
+
state.logsActions.getSelectedLogFile(),
|
41
|
+
);
|
42
|
+
const selectedLogSummary = useStore((state) => state.log.selectedLogSummary);
|
43
|
+
const logs = useStore((state) => state.logs.logs);
|
44
|
+
|
45
|
+
// Load a specific log
|
46
|
+
useEffect(() => {
|
47
|
+
const loadSpecificLog = async () => {
|
48
|
+
if (selectedLogFile && selectedLogFile !== loadedLogFile) {
|
49
|
+
try {
|
50
|
+
// Set loading first and wait for it to update
|
51
|
+
setAppStatus({ loading: true, error: undefined });
|
52
|
+
|
53
|
+
// Then load the log
|
54
|
+
await loadLog(selectedLogFile);
|
55
|
+
|
56
|
+
// Finally set loading to false
|
57
|
+
setAppStatus({ loading: false, error: undefined });
|
58
|
+
} catch (e) {
|
59
|
+
console.log(e);
|
60
|
+
setAppStatus({ loading: false, error: e as Error });
|
61
|
+
}
|
62
|
+
}
|
63
|
+
};
|
64
|
+
|
65
|
+
loadSpecificLog();
|
66
|
+
}, [selectedLogFile, loadedLogFile, loadLog, setAppStatus]);
|
67
|
+
|
68
|
+
useEffect(() => {
|
69
|
+
// If the component re-mounts and there is a running load loaded
|
70
|
+
// start up polling
|
71
|
+
const doPoll = async () => {
|
72
|
+
await pollLog();
|
73
|
+
};
|
74
|
+
if (selectedLogSummary?.status === "started") {
|
75
|
+
doPoll();
|
76
|
+
}
|
77
|
+
}, [pollLog, selectedLogSummary?.status]);
|
78
|
+
|
79
|
+
useEffect(() => {
|
80
|
+
if (logs.log_dir && logs.files.length === 0) {
|
81
|
+
setAppStatus({
|
82
|
+
loading: false,
|
83
|
+
error: new Error(
|
84
|
+
`No log files to display in the directory ${logs.log_dir}. Are you sure this is the correct log directory?`,
|
85
|
+
),
|
86
|
+
});
|
87
|
+
}
|
88
|
+
}, [logs.log_dir, logs.files.length, setAppStatus]);
|
89
|
+
|
90
|
+
const onMessage = useCallback(
|
91
|
+
async (e: HostMessage) => {
|
92
|
+
switch (e.data.type) {
|
93
|
+
case "updateState": {
|
94
|
+
if (e.data.url) {
|
95
|
+
const decodedUrl = decodeURIComponent(e.data.url);
|
96
|
+
setIntialState(decodedUrl, e.data.sample_id, e.data.sample_epoch);
|
97
|
+
}
|
98
|
+
break;
|
99
|
+
}
|
100
|
+
case "backgroundUpdate": {
|
101
|
+
const decodedUrl = decodeURIComponent(e.data.url);
|
102
|
+
const log_dir = e.data.log_dir;
|
103
|
+
const isFocused = document.hasFocus();
|
104
|
+
if (!isFocused) {
|
105
|
+
if (log_dir === logs.log_dir) {
|
106
|
+
selectLogFile(decodedUrl);
|
107
|
+
} else {
|
108
|
+
api.open_log_file(e.data.url, e.data.log_dir);
|
109
|
+
}
|
110
|
+
} else {
|
111
|
+
refreshLogs();
|
112
|
+
}
|
113
|
+
break;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
},
|
117
|
+
[logs, selectLogFile, refreshLogs, api],
|
118
|
+
);
|
119
|
+
|
120
|
+
// listen for updateState messages from vscode
|
121
|
+
useEffect(() => {
|
122
|
+
window.addEventListener("message", onMessage);
|
123
|
+
return () => {
|
124
|
+
window.removeEventListener("message", onMessage);
|
125
|
+
};
|
126
|
+
}, [onMessage]);
|
127
|
+
|
128
|
+
useEffect(() => {
|
129
|
+
const loadLogsAndState = async () => {
|
130
|
+
// First see if there is embedded state and if so, use that
|
131
|
+
const embeddedState = document.getElementById("logview-state");
|
132
|
+
if (embeddedState && !rehydrated) {
|
133
|
+
const state = JSON5.parse(embeddedState.textContent || "");
|
134
|
+
onMessage({ data: state });
|
135
|
+
} else {
|
136
|
+
// For non-route URL params support (legacy)
|
137
|
+
const urlParams = new URLSearchParams(window.location.search);
|
138
|
+
|
139
|
+
// If the URL provides a task file, load that
|
140
|
+
const logPath = urlParams.get("task_file");
|
141
|
+
|
142
|
+
// Replace spaces with a '+' sign:
|
143
|
+
const resolvedLogPath = logPath ? logPath.replace(" ", "+") : logPath;
|
144
|
+
|
145
|
+
if (resolvedLogPath) {
|
146
|
+
// Load only this file
|
147
|
+
setLogs({
|
148
|
+
log_dir: "",
|
149
|
+
files: [{ name: resolvedLogPath }],
|
150
|
+
});
|
151
|
+
} else {
|
152
|
+
// If a log file was passed, select it
|
153
|
+
const log_file = urlParams.get("log_file");
|
154
|
+
if (log_file) {
|
155
|
+
await selectLogFile(log_file);
|
156
|
+
}
|
157
|
+
// Else do nothing - RouteProvider will handle it
|
158
|
+
}
|
159
|
+
}
|
160
|
+
|
161
|
+
new ClipboardJS(".clipboard-button,.copy-button");
|
162
|
+
};
|
163
|
+
|
164
|
+
loadLogsAndState();
|
165
|
+
}, [setLogs, selectLogFile, refreshLogs, onMessage]);
|
166
|
+
|
167
|
+
return <RouterProvider router={AppRouter} />;
|
168
|
+
};
|
@@ -1,15 +1,15 @@
|
|
1
1
|
import JSON5 from "json5";
|
2
2
|
import { ApplicationIcons } from "../appearance/icons";
|
3
3
|
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
import { formatNumber } from "
|
4
|
+
import { ChatMessageRenderer } from "../../app/samples/chat/ChatMessageRenderer";
|
5
|
+
import { ANSIDisplay } from "../../components/AnsiDisplay";
|
6
|
+
import { formatNumber } from "../../utils/format";
|
7
7
|
import { MetaDataView } from "./MetaDataView";
|
8
8
|
|
9
9
|
import clsx from "clsx";
|
10
10
|
import { FC, Fragment, isValidElement, JSX, ReactNode } from "react";
|
11
|
-
import JSONPanel from "
|
12
|
-
import { isJson } from "
|
11
|
+
import JSONPanel from "../../components/JsonPanel";
|
12
|
+
import { isJson } from "../../utils/json";
|
13
13
|
import styles from "./RenderedContent.module.css";
|
14
14
|
import { Buckets, ContentRenderer } from "./types";
|
15
15
|
|