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
@@ -1,17 +1,18 @@
|
|
1
1
|
import clsx from "clsx";
|
2
|
-
|
3
|
-
import
|
4
|
-
import { MarkdownDiv } from "../../components/MarkdownDiv";
|
5
|
-
import { ContentTool } from "../../types";
|
2
|
+
|
3
|
+
import { FC, ReactNode } from "react";
|
6
4
|
import {
|
7
5
|
ContentAudio,
|
8
6
|
ContentImage,
|
9
7
|
ContentReasoning,
|
10
8
|
ContentText,
|
11
9
|
ContentVideo,
|
12
|
-
Format,
|
13
10
|
Format1,
|
14
|
-
|
11
|
+
Format2,
|
12
|
+
} from "../../../@types/log";
|
13
|
+
import { ContentTool } from "../../../app/types";
|
14
|
+
import ExpandablePanel from "../../../components/ExpandablePanel";
|
15
|
+
import { MarkdownDiv } from "../../../components/MarkdownDiv";
|
15
16
|
import styles from "./MessageContent.module.css";
|
16
17
|
import { ToolOutput } from "./tools/ToolOutput";
|
17
18
|
|
@@ -97,7 +98,7 @@ const messageRenderers: Record<string, MessageRenderer> = {
|
|
97
98
|
return (
|
98
99
|
<MarkdownDiv
|
99
100
|
key={key}
|
100
|
-
markdown={c.text}
|
101
|
+
markdown={c.text || ""}
|
101
102
|
className={isLast ? "no-last-para-padding" : ""}
|
102
103
|
/>
|
103
104
|
);
|
@@ -110,7 +111,7 @@ const messageRenderers: Record<string, MessageRenderer> = {
|
|
110
111
|
return undefined;
|
111
112
|
}
|
112
113
|
return (
|
113
|
-
<
|
114
|
+
<div key={key} className={clsx(styles.reasoning, "text-size-small")}>
|
114
115
|
<div
|
115
116
|
className={clsx(
|
116
117
|
"text-style-label",
|
@@ -129,7 +130,7 @@ const messageRenderers: Record<string, MessageRenderer> = {
|
|
129
130
|
}
|
130
131
|
/>
|
131
132
|
</ExpandablePanel>
|
132
|
-
</
|
133
|
+
</div>
|
133
134
|
);
|
134
135
|
},
|
135
136
|
},
|
@@ -175,7 +176,7 @@ const messageRenderers: Record<string, MessageRenderer> = {
|
|
175
176
|
* Renders message content based on its type.
|
176
177
|
* Supports rendering strings, images, and tools using specific renderers.
|
177
178
|
*/
|
178
|
-
const mimeTypeForFormat = (format:
|
179
|
+
const mimeTypeForFormat = (format: Format1 | Format2): string => {
|
179
180
|
switch (format) {
|
180
181
|
case "mov":
|
181
182
|
return "video/quicktime";
|
@@ -3,20 +3,22 @@ import {
|
|
3
3
|
ChatMessageSystem,
|
4
4
|
ChatMessageTool,
|
5
5
|
ChatMessageUser,
|
6
|
-
} from "
|
6
|
+
} from "../../../@types/log";
|
7
7
|
import { MessageContent } from "./MessageContent";
|
8
8
|
import { resolveToolInput } from "./tools/tool";
|
9
9
|
import { ToolCallView } from "./tools/ToolCallView";
|
10
10
|
|
11
|
+
import clsx from "clsx";
|
11
12
|
import { FC, Fragment } from "react";
|
12
|
-
import { ContentTool } from "
|
13
|
+
import { ContentTool } from "../../../app/types";
|
13
14
|
import styles from "./MessageContents.module.css";
|
15
|
+
import { ChatViewToolCallStyle } from "./types";
|
14
16
|
|
15
17
|
interface MessageContentsProps {
|
16
18
|
id: string;
|
17
19
|
message: ChatMessageAssistant | ChatMessageSystem | ChatMessageUser;
|
18
20
|
toolMessages: ChatMessageTool[];
|
19
|
-
toolCallStyle:
|
21
|
+
toolCallStyle: ChatViewToolCallStyle;
|
20
22
|
}
|
21
23
|
|
22
24
|
export const MessageContents: FC<MessageContentsProps> = ({
|
@@ -52,9 +54,13 @@ export const MessageContents: FC<MessageContentsProps> = ({
|
|
52
54
|
if (toolCallStyle === "compact") {
|
53
55
|
return (
|
54
56
|
<div key={`tool-call-${idx}`}>
|
55
|
-
<code
|
57
|
+
<code className={clsx(styles.codeCompact)}>
|
58
|
+
tool: {functionCall}
|
59
|
+
</code>
|
56
60
|
</div>
|
57
61
|
);
|
62
|
+
} else if (toolCallStyle === "omit") {
|
63
|
+
return undefined;
|
58
64
|
} else {
|
59
65
|
return (
|
60
66
|
<ToolCallView
|
@@ -71,11 +77,11 @@ export const MessageContents: FC<MessageContentsProps> = ({
|
|
71
77
|
|
72
78
|
return (
|
73
79
|
<Fragment>
|
74
|
-
|
75
|
-
{
|
80
|
+
{message.content && (
|
81
|
+
<div className={styles.content}>
|
76
82
|
<MessageContent contents={message.content} />
|
77
|
-
|
78
|
-
|
83
|
+
</div>
|
84
|
+
)}
|
79
85
|
{toolCalls}
|
80
86
|
</Fragment>
|
81
87
|
);
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import { ApplicationIcons } from "../../appearance/icons";
|
2
1
|
import {
|
3
2
|
ChatMessageAssistant,
|
4
3
|
ChatMessageSystem,
|
@@ -11,7 +10,8 @@ import {
|
|
11
10
|
ContentVideo,
|
12
11
|
Events,
|
13
12
|
Messages,
|
14
|
-
} from "
|
13
|
+
} from "../../../@types/log";
|
14
|
+
import { ApplicationIcons } from "../../appearance/icons";
|
15
15
|
|
16
16
|
export interface ResolvedMessage {
|
17
17
|
message: ChatMessageAssistant | ChatMessageSystem | ChatMessageUser;
|
@@ -1,6 +1,5 @@
|
|
1
|
+
import clsx from "clsx";
|
1
2
|
import { FC, useMemo } from "react";
|
2
|
-
import ExpandablePanel from "../../../components/ExpandablePanel";
|
3
|
-
import { ContentTool } from "../../../types";
|
4
3
|
import {
|
5
4
|
ContentAudio,
|
6
5
|
ContentImage,
|
@@ -8,7 +7,9 @@ import {
|
|
8
7
|
ContentText,
|
9
8
|
ContentVideo,
|
10
9
|
ToolCallContent,
|
11
|
-
} from "
|
10
|
+
} from "../../../../@types/log";
|
11
|
+
import { ContentTool } from "../../../../app/types";
|
12
|
+
import ExpandablePanel from "../../../../components/ExpandablePanel";
|
12
13
|
import { MessageContent } from "../MessageContent";
|
13
14
|
import styles from "./ToolCallView.module.css";
|
14
15
|
import { ToolInput } from "./ToolInput";
|
@@ -105,32 +106,30 @@ export const ToolCallView: FC<ToolCallViewProps> = ({
|
|
105
106
|
|
106
107
|
const contents = mode !== "compact" ? input : input || functionCall;
|
107
108
|
return (
|
108
|
-
<div>
|
109
|
-
{mode !== "compact" && (!view || view.title) ? (
|
110
|
-
<ToolTitle title={view?.title || functionCall} />
|
111
|
-
) : (
|
112
|
-
""
|
113
|
-
)}
|
109
|
+
<div className={clsx(styles.toolCallView)}>
|
114
110
|
<div>
|
115
|
-
|
116
|
-
<
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
{
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
border={true}
|
126
|
-
lines={15}
|
127
|
-
className={styles.output}
|
128
|
-
>
|
129
|
-
<MessageContent contents={normalizedContent} />
|
130
|
-
</ExpandablePanel>
|
131
|
-
) : undefined}
|
132
|
-
</div>
|
111
|
+
{mode !== "compact" && (!view || view.title) ? (
|
112
|
+
<ToolTitle title={view?.title || functionCall} />
|
113
|
+
) : (
|
114
|
+
""
|
115
|
+
)}
|
116
|
+
<ToolInput
|
117
|
+
highlightLanguage={highlightLanguage}
|
118
|
+
contents={contents}
|
119
|
+
toolCallView={view}
|
120
|
+
/>
|
133
121
|
</div>
|
122
|
+
{hasContent ? (
|
123
|
+
<ExpandablePanel
|
124
|
+
id={`${id}-tool-input`}
|
125
|
+
collapse={collapse}
|
126
|
+
border={true}
|
127
|
+
lines={15}
|
128
|
+
className={styles.output}
|
129
|
+
>
|
130
|
+
<MessageContent contents={normalizedContent} />
|
131
|
+
</ExpandablePanel>
|
132
|
+
) : undefined}
|
134
133
|
</div>
|
135
134
|
);
|
136
135
|
};
|
@@ -0,0 +1,19 @@
|
|
1
|
+
.outputPre {
|
2
|
+
padding: 0.5em;
|
3
|
+
margin-top: 0.25em;
|
4
|
+
margin-bottom: 0;
|
5
|
+
}
|
6
|
+
|
7
|
+
.toolView {
|
8
|
+
margin-top: 0.25em;
|
9
|
+
}
|
10
|
+
|
11
|
+
.toolView pre[class*="language-"] {
|
12
|
+
padding: 0.5em !important;
|
13
|
+
}
|
14
|
+
|
15
|
+
.outputCode {
|
16
|
+
font-size: 0.8rem !important;
|
17
|
+
overflow-wrap: anywhere !important;
|
18
|
+
white-space: pre-wrap !important;
|
19
|
+
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import clsx from "clsx";
|
2
2
|
import { FC } from "react";
|
3
|
-
import { MarkdownDiv } from "
|
3
|
+
import { MarkdownDiv } from "../../../../components/MarkdownDiv";
|
4
4
|
|
5
|
-
import { usePrismHighlight } from "
|
5
|
+
import { usePrismHighlight } from "../../../../state/hooks";
|
6
6
|
import styles from "./ToolInput.module.css";
|
7
7
|
|
8
8
|
interface ToolInputProps {
|
@@ -22,7 +22,7 @@ export const ToolInput: FC<ToolInputProps> = (props) => {
|
|
22
22
|
<MarkdownDiv
|
23
23
|
markdown={toolCallView.content}
|
24
24
|
ref={prismParentRef}
|
25
|
-
className={clsx(
|
25
|
+
className={clsx("tool-output", styles.toolView)}
|
26
26
|
/>
|
27
27
|
);
|
28
28
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import clsx from "clsx";
|
2
2
|
import { FC } from "react";
|
3
|
-
import { ContentImage, ContentText } from "
|
3
|
+
import { ContentImage, ContentText } from "../../../../@types/log";
|
4
4
|
import styles from "./ToolOutput.module.css";
|
5
5
|
|
6
6
|
interface ToolOutputProps {
|
@@ -11,8 +11,8 @@ interface ToolTitleProps {
|
|
11
11
|
export const ToolTitle: FC<ToolTitleProps> = ({ title }) => {
|
12
12
|
return (
|
13
13
|
<Fragment>
|
14
|
-
<i className={clsx("bi", "bi-tools", styles.
|
15
|
-
<code className={"text-size-small"}>{title}</code>
|
14
|
+
<i className={clsx("bi", "bi-tools", styles.image)} />
|
15
|
+
<code className={clsx("text-size-small", styles.toolTitle)}>{title}</code>
|
16
16
|
</Fragment>
|
17
17
|
);
|
18
18
|
};
|
@@ -2,7 +2,7 @@ import "prismjs/components/prism-bash";
|
|
2
2
|
import "prismjs/components/prism-json";
|
3
3
|
import "prismjs/components/prism-python";
|
4
4
|
|
5
|
-
import { Arguments } from "
|
5
|
+
import { Arguments } from "../../../../@types/log";
|
6
6
|
|
7
7
|
export interface ToolCallResult {
|
8
8
|
functionCall: string;
|
@@ -0,0 +1 @@
|
|
1
|
+
export type ChatViewToolCallStyle = "compact" | "complete" | "omit";
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { ReactNode } from "react";
|
2
|
-
import {
|
3
|
-
import { ScoreLabel } from "
|
4
|
-
import {
|
5
|
-
import { arrayToString, inputString } from "
|
2
|
+
import { Value2 } from "../../../@types/log";
|
3
|
+
import { ScoreLabel } from "../../../app/types";
|
4
|
+
import { BasicSampleData, SampleSummary } from "../../../client/api/types";
|
5
|
+
import { arrayToString, inputString } from "../../../utils/format";
|
6
6
|
import { getScoreDescriptorForValues } from "./score/ScoreDescriptor";
|
7
7
|
import {
|
8
8
|
EvalDescriptor,
|
@@ -298,11 +298,12 @@ export const createSamplesDescriptor = (
|
|
298
298
|
: current.error
|
299
299
|
? String(current.error)
|
300
300
|
: "";
|
301
|
-
previous[0] = Math.min(Math.max(previous[0], text.length),
|
301
|
+
previous[0] = Math.min(Math.max(previous[0], text.length), 200);
|
302
302
|
previous[1] = Math.min(
|
303
303
|
Math.max(previous[1], arrayToString(current.target).length),
|
304
304
|
300,
|
305
305
|
);
|
306
|
+
|
306
307
|
previous[2] = Math.min(
|
307
308
|
Math.max(
|
308
309
|
previous[2],
|
@@ -317,14 +318,21 @@ export const createSamplesDescriptor = (
|
|
317
318
|
50,
|
318
319
|
);
|
319
320
|
previous[4] = Math.min(
|
320
|
-
Math.max(
|
321
|
+
Math.max(
|
322
|
+
previous[4],
|
323
|
+
current.retries ? String(current.retries).length : 0,
|
324
|
+
),
|
325
|
+
50,
|
326
|
+
);
|
327
|
+
previous[5] = Math.min(
|
328
|
+
Math.max(previous[5], String(current.id).length),
|
321
329
|
10,
|
322
330
|
);
|
323
|
-
previous[
|
331
|
+
previous[6] = Math.min(Math.max(previous[6], scoreText.length), 30);
|
324
332
|
|
325
333
|
return previous;
|
326
334
|
},
|
327
|
-
[0, 0, 0, 0, 0, 0],
|
335
|
+
[0, 0, 0, 0, 0, 0, 0],
|
328
336
|
);
|
329
337
|
|
330
338
|
// normalize to base 1
|
@@ -333,30 +341,45 @@ export const createSamplesDescriptor = (
|
|
333
341
|
target: Math.min(sizes[1], 300),
|
334
342
|
answer: Math.min(sizes[2], 300),
|
335
343
|
limit: Math.min(sizes[3], 50),
|
336
|
-
|
337
|
-
|
344
|
+
retries: Math.min(sizes[4], 50),
|
345
|
+
id: Math.min(sizes[5], 10),
|
346
|
+
score: Math.min(sizes[6], 30),
|
338
347
|
};
|
339
348
|
const base =
|
340
349
|
maxSizes.input +
|
341
350
|
maxSizes.target +
|
342
351
|
maxSizes.answer +
|
343
352
|
maxSizes.limit +
|
353
|
+
maxSizes.retries +
|
344
354
|
maxSizes.id +
|
345
355
|
maxSizes.score || 1;
|
356
|
+
|
357
|
+
const inputNormalized = maxSizes.input / base;
|
358
|
+
const targetNormalized =
|
359
|
+
maxSizes.target / base > 0
|
360
|
+
? Math.max(maxSizes.target / base, inputNormalized / 10)
|
361
|
+
: 0;
|
362
|
+
const answerNormalized =
|
363
|
+
maxSizes.answer / base > 0
|
364
|
+
? Math.max(maxSizes.answer / base, inputNormalized / 10)
|
365
|
+
: 0;
|
366
|
+
|
346
367
|
const messageShape = {
|
347
368
|
raw: {
|
348
369
|
input: sizes[0],
|
349
370
|
target: sizes[1],
|
350
371
|
answer: sizes[2],
|
351
372
|
limit: sizes[3],
|
352
|
-
|
353
|
-
|
373
|
+
retries: sizes[4],
|
374
|
+
id: sizes[5],
|
375
|
+
score: sizes[6],
|
354
376
|
},
|
355
377
|
normalized: {
|
356
|
-
input:
|
357
|
-
target:
|
358
|
-
answer:
|
378
|
+
input: inputNormalized,
|
379
|
+
target: targetNormalized,
|
380
|
+
answer: answerNormalized,
|
359
381
|
limit: maxSizes.limit / base,
|
382
|
+
retries: maxSizes.retries / base,
|
360
383
|
id: maxSizes.id / base,
|
361
384
|
score: maxSizes.score / base,
|
362
385
|
},
|
inspect_ai/_view/www/src/{samples → app/samples}/descriptor/score/CategoricalScoreDescriptor.tsx
RENAMED
@@ -1,5 +1,5 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
1
|
+
import { Value2 } from "../../../../@types/log";
|
2
|
+
import { kScoreTypeCategorical } from "../../../../constants";
|
3
3
|
import { ScoreDescriptor } from "../types";
|
4
4
|
|
5
5
|
export const categoricalScoreDescriptor = (
|
inspect_ai/_view/www/src/{samples → app/samples}/descriptor/score/NumericScoreDescriptor.tsx
RENAMED
@@ -1,6 +1,6 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import { formatDecimalNoTrailingZeroes } from "
|
1
|
+
import { Value2 } from "../../../../@types/log";
|
2
|
+
import { kScoreTypeNumeric } from "../../../../constants";
|
3
|
+
import { formatDecimalNoTrailingZeroes } from "../../../../utils/format";
|
4
4
|
import { ScoreDescriptor } from "../types";
|
5
5
|
|
6
6
|
export const numericScoreDescriptor = (values: Value2[]): ScoreDescriptor => {
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import clsx from "clsx";
|
2
2
|
import { JSX } from "react";
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import { formatPrettyDecimal } from "
|
6
|
-
import { isNumeric } from "
|
3
|
+
import { Value2 } from "../../../../@types/log";
|
4
|
+
import { kScoreTypeObject } from "../../../../constants";
|
5
|
+
import { formatPrettyDecimal } from "../../../../utils/format";
|
6
|
+
import { isNumeric } from "../../../../utils/type";
|
7
7
|
import { ScoreDescriptor } from "../types";
|
8
8
|
import styles from "./ObjectScoreDescriptor.module.css";
|
9
9
|
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { kScoreTypeOther } from "
|
2
|
-
import { RenderedContent } from "../../../
|
1
|
+
import { kScoreTypeOther } from "../../../../constants";
|
2
|
+
import { RenderedContent } from "../../../content/RenderedContent";
|
3
3
|
import { ScoreDescriptor } from "../types";
|
4
4
|
|
5
5
|
export const otherScoreDescriptor = (): ScoreDescriptor => {
|
inspect_ai/_view/www/src/{samples → app/samples}/descriptor/score/PassFailScoreDescriptor.tsx
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
import clsx from "clsx";
|
2
|
-
import {
|
3
|
-
import {
|
2
|
+
import { Value2 } from "../../../../@types/log";
|
3
|
+
import { kScoreTypePassFail } from "../../../../constants";
|
4
4
|
import { ScoreDescriptor, SelectedScore } from "../types";
|
5
5
|
import styles from "./PassFailScoreDescriptor.module.css";
|
6
6
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Value2 } from "
|
1
|
+
import { Value2 } from "../../../../@types/log";
|
2
2
|
import { ScoreDescriptor } from "../types";
|
3
3
|
import { booleanScoreDescriptor } from "./BooleanScoreDescriptor";
|
4
4
|
import { categoricalScoreDescriptor } from "./CategoricalScoreDescriptor";
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { ReactNode } from "react";
|
2
|
-
import {
|
3
|
-
import { ScoreLabel } from "
|
4
|
-
import {
|
2
|
+
import { Value2 } from "../../../@types/log";
|
3
|
+
import { ScoreLabel } from "../../../app/types";
|
4
|
+
import { BasicSampleData } from "../../../client/api/types";
|
5
5
|
|
6
6
|
export interface EvalDescriptor {
|
7
7
|
scores: ScoreLabel[];
|
@@ -52,5 +52,6 @@ export interface MessageShapeData {
|
|
52
52
|
target: number;
|
53
53
|
answer: number;
|
54
54
|
limit: number;
|
55
|
+
retries: number;
|
55
56
|
score: number;
|
56
57
|
}
|
@@ -3,6 +3,7 @@ interface SampleHeaderProps {
|
|
3
3
|
target?: boolean;
|
4
4
|
answer?: boolean;
|
5
5
|
limit?: boolean;
|
6
|
+
retries?: boolean;
|
6
7
|
score?: boolean;
|
7
8
|
gridColumnsTemplate: string;
|
8
9
|
}
|
@@ -15,6 +16,7 @@ export const SampleHeader: FC<SampleHeaderProps> = ({
|
|
15
16
|
target = true,
|
16
17
|
answer = true,
|
17
18
|
limit = true,
|
19
|
+
retries = false,
|
18
20
|
score = true,
|
19
21
|
gridColumnsTemplate,
|
20
22
|
}) => (
|
@@ -32,6 +34,7 @@ export const SampleHeader: FC<SampleHeaderProps> = ({
|
|
32
34
|
<div>{target ? "Target" : ""}</div>
|
33
35
|
<div>{answer ? "Answer" : ""}</div>
|
34
36
|
<div>{limit ? "Limit" : ""}</div>
|
37
|
+
<div>{retries ? "Retries" : ""}</div>
|
35
38
|
<div className={styles.center}>{score ? "Score" : ""}</div>
|
36
39
|
</div>
|
37
40
|
);
|