inspect-ai 0.3.99__py3-none-any.whl → 0.3.101__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.
Files changed (138) hide show
  1. inspect_ai/_cli/eval.py +2 -1
  2. inspect_ai/_display/core/config.py +11 -5
  3. inspect_ai/_display/core/panel.py +66 -2
  4. inspect_ai/_display/core/textual.py +5 -2
  5. inspect_ai/_display/plain/display.py +1 -0
  6. inspect_ai/_display/rich/display.py +2 -2
  7. inspect_ai/_display/textual/widgets/transcript.py +37 -9
  8. inspect_ai/_eval/eval.py +13 -1
  9. inspect_ai/_eval/evalset.py +3 -2
  10. inspect_ai/_eval/run.py +2 -0
  11. inspect_ai/_eval/score.py +2 -4
  12. inspect_ai/_eval/task/log.py +3 -1
  13. inspect_ai/_eval/task/run.py +59 -81
  14. inspect_ai/_util/content.py +11 -6
  15. inspect_ai/_util/interrupt.py +2 -2
  16. inspect_ai/_util/text.py +7 -0
  17. inspect_ai/_util/working.py +8 -37
  18. inspect_ai/_view/__init__.py +0 -0
  19. inspect_ai/_view/schema.py +2 -1
  20. inspect_ai/_view/www/CLAUDE.md +15 -0
  21. inspect_ai/_view/www/dist/assets/index.css +307 -171
  22. inspect_ai/_view/www/dist/assets/index.js +24733 -21641
  23. inspect_ai/_view/www/log-schema.json +77 -3
  24. inspect_ai/_view/www/package.json +9 -5
  25. inspect_ai/_view/www/src/@types/log.d.ts +9 -0
  26. inspect_ai/_view/www/src/app/App.tsx +1 -15
  27. inspect_ai/_view/www/src/app/appearance/icons.ts +4 -1
  28. inspect_ai/_view/www/src/app/content/MetaDataGrid.tsx +24 -6
  29. inspect_ai/_view/www/src/app/content/MetadataGrid.module.css +0 -5
  30. inspect_ai/_view/www/src/app/content/RenderedContent.tsx +220 -205
  31. inspect_ai/_view/www/src/app/log-view/LogViewContainer.tsx +2 -1
  32. inspect_ai/_view/www/src/app/log-view/tabs/SamplesTab.tsx +5 -0
  33. inspect_ai/_view/www/src/app/log-view/tabs/grouping.ts +4 -4
  34. inspect_ai/_view/www/src/app/routing/navigationHooks.ts +22 -25
  35. inspect_ai/_view/www/src/app/routing/url.ts +84 -4
  36. inspect_ai/_view/www/src/app/samples/InlineSampleDisplay.module.css +0 -5
  37. inspect_ai/_view/www/src/app/samples/SampleDialog.module.css +1 -1
  38. inspect_ai/_view/www/src/app/samples/SampleDisplay.module.css +7 -0
  39. inspect_ai/_view/www/src/app/samples/SampleDisplay.tsx +24 -17
  40. inspect_ai/_view/www/src/app/samples/SampleSummaryView.module.css +1 -2
  41. inspect_ai/_view/www/src/app/samples/chat/ChatMessage.tsx +8 -6
  42. inspect_ai/_view/www/src/app/samples/chat/ChatMessageRow.tsx +0 -4
  43. inspect_ai/_view/www/src/app/samples/chat/ChatViewVirtualList.tsx +3 -2
  44. inspect_ai/_view/www/src/app/samples/chat/MessageContent.tsx +2 -0
  45. inspect_ai/_view/www/src/app/samples/chat/MessageContents.tsx +2 -0
  46. inspect_ai/_view/www/src/app/samples/chat/messages.ts +1 -0
  47. inspect_ai/_view/www/src/app/samples/chat/tools/ToolCallView.tsx +1 -0
  48. inspect_ai/_view/www/src/app/samples/list/SampleList.tsx +17 -5
  49. inspect_ai/_view/www/src/app/samples/list/SampleRow.tsx +1 -1
  50. inspect_ai/_view/www/src/app/samples/transcript/ErrorEventView.tsx +1 -2
  51. inspect_ai/_view/www/src/app/samples/transcript/InfoEventView.tsx +1 -1
  52. inspect_ai/_view/www/src/app/samples/transcript/InputEventView.tsx +1 -2
  53. inspect_ai/_view/www/src/app/samples/transcript/ModelEventView.module.css +1 -1
  54. inspect_ai/_view/www/src/app/samples/transcript/ModelEventView.tsx +1 -1
  55. inspect_ai/_view/www/src/app/samples/transcript/SampleInitEventView.tsx +1 -1
  56. inspect_ai/_view/www/src/app/samples/transcript/SampleLimitEventView.tsx +3 -2
  57. inspect_ai/_view/www/src/app/samples/transcript/SandboxEventView.tsx +4 -5
  58. inspect_ai/_view/www/src/app/samples/transcript/ScoreEventView.tsx +1 -1
  59. inspect_ai/_view/www/src/app/samples/transcript/SpanEventView.tsx +1 -2
  60. inspect_ai/_view/www/src/app/samples/transcript/StepEventView.tsx +1 -3
  61. inspect_ai/_view/www/src/app/samples/transcript/SubtaskEventView.tsx +1 -2
  62. inspect_ai/_view/www/src/app/samples/transcript/ToolEventView.tsx +3 -4
  63. inspect_ai/_view/www/src/app/samples/transcript/TranscriptPanel.module.css +42 -0
  64. inspect_ai/_view/www/src/app/samples/transcript/TranscriptPanel.tsx +77 -0
  65. inspect_ai/_view/www/src/app/samples/transcript/TranscriptVirtualList.tsx +27 -71
  66. inspect_ai/_view/www/src/app/samples/transcript/TranscriptVirtualListComponent.module.css +13 -3
  67. inspect_ai/_view/www/src/app/samples/transcript/TranscriptVirtualListComponent.tsx +27 -2
  68. inspect_ai/_view/www/src/app/samples/transcript/event/EventPanel.module.css +1 -0
  69. inspect_ai/_view/www/src/app/samples/transcript/event/EventPanel.tsx +21 -22
  70. inspect_ai/_view/www/src/app/samples/transcript/outline/OutlineRow.module.css +45 -0
  71. inspect_ai/_view/www/src/app/samples/transcript/outline/OutlineRow.tsx +223 -0
  72. inspect_ai/_view/www/src/app/samples/transcript/outline/TranscriptOutline.module.css +10 -0
  73. inspect_ai/_view/www/src/app/samples/transcript/outline/TranscriptOutline.tsx +258 -0
  74. inspect_ai/_view/www/src/app/samples/transcript/outline/tree-visitors.ts +187 -0
  75. inspect_ai/_view/www/src/app/samples/transcript/state/StateEventRenderers.tsx +8 -1
  76. inspect_ai/_view/www/src/app/samples/transcript/state/StateEventView.tsx +3 -4
  77. inspect_ai/_view/www/src/app/samples/transcript/transform/hooks.ts +78 -0
  78. inspect_ai/_view/www/src/app/samples/transcript/transform/treeify.ts +340 -135
  79. inspect_ai/_view/www/src/app/samples/transcript/transform/utils.ts +3 -0
  80. inspect_ai/_view/www/src/app/samples/transcript/types.ts +2 -0
  81. inspect_ai/_view/www/src/app/types.ts +5 -1
  82. inspect_ai/_view/www/src/client/api/api-browser.ts +2 -2
  83. inspect_ai/_view/www/src/components/LiveVirtualList.tsx +6 -1
  84. inspect_ai/_view/www/src/components/MarkdownDiv.tsx +1 -1
  85. inspect_ai/_view/www/src/components/PopOver.tsx +422 -0
  86. inspect_ai/_view/www/src/components/PulsingDots.module.css +9 -9
  87. inspect_ai/_view/www/src/components/PulsingDots.tsx +4 -1
  88. inspect_ai/_view/www/src/components/StickyScroll.tsx +183 -0
  89. inspect_ai/_view/www/src/components/TabSet.tsx +4 -0
  90. inspect_ai/_view/www/src/state/hooks.ts +52 -2
  91. inspect_ai/_view/www/src/state/logSlice.ts +4 -3
  92. inspect_ai/_view/www/src/state/samplePolling.ts +8 -0
  93. inspect_ai/_view/www/src/state/sampleSlice.ts +53 -9
  94. inspect_ai/_view/www/src/state/scrolling.ts +152 -0
  95. inspect_ai/_view/www/src/utils/attachments.ts +7 -0
  96. inspect_ai/_view/www/src/utils/python.ts +18 -0
  97. inspect_ai/_view/www/yarn.lock +290 -33
  98. inspect_ai/agent/_react.py +12 -7
  99. inspect_ai/agent/_run.py +2 -3
  100. inspect_ai/analysis/beta/__init__.py +2 -0
  101. inspect_ai/analysis/beta/_dataframe/samples/table.py +19 -18
  102. inspect_ai/dataset/_sources/csv.py +2 -6
  103. inspect_ai/dataset/_sources/hf.py +2 -6
  104. inspect_ai/dataset/_sources/json.py +2 -6
  105. inspect_ai/dataset/_util.py +23 -0
  106. inspect_ai/log/_log.py +1 -1
  107. inspect_ai/log/_recorders/eval.py +4 -3
  108. inspect_ai/log/_recorders/file.py +2 -9
  109. inspect_ai/log/_recorders/json.py +1 -0
  110. inspect_ai/log/_recorders/recorder.py +1 -0
  111. inspect_ai/log/_transcript.py +1 -1
  112. inspect_ai/model/_call_tools.py +6 -2
  113. inspect_ai/model/_openai.py +1 -1
  114. inspect_ai/model/_openai_responses.py +85 -41
  115. inspect_ai/model/_openai_web_search.py +38 -0
  116. inspect_ai/model/_providers/azureai.py +72 -3
  117. inspect_ai/model/_providers/openai.py +4 -1
  118. inspect_ai/model/_providers/openai_responses.py +5 -1
  119. inspect_ai/scorer/_metric.py +1 -2
  120. inspect_ai/scorer/_reducer/reducer.py +1 -1
  121. inspect_ai/solver/_task_state.py +2 -2
  122. inspect_ai/tool/_tool.py +6 -2
  123. inspect_ai/tool/_tool_def.py +27 -4
  124. inspect_ai/tool/_tool_info.py +2 -0
  125. inspect_ai/tool/_tools/_web_search/_google.py +43 -15
  126. inspect_ai/tool/_tools/_web_search/_tavily.py +46 -13
  127. inspect_ai/tool/_tools/_web_search/_web_search.py +214 -45
  128. inspect_ai/util/__init__.py +4 -0
  129. inspect_ai/util/_json.py +3 -0
  130. inspect_ai/util/_limit.py +230 -20
  131. inspect_ai/util/_sandbox/docker/compose.py +20 -11
  132. inspect_ai/util/_span.py +1 -1
  133. {inspect_ai-0.3.99.dist-info → inspect_ai-0.3.101.dist-info}/METADATA +3 -3
  134. {inspect_ai-0.3.99.dist-info → inspect_ai-0.3.101.dist-info}/RECORD +138 -124
  135. {inspect_ai-0.3.99.dist-info → inspect_ai-0.3.101.dist-info}/WHEEL +1 -1
  136. {inspect_ai-0.3.99.dist-info → inspect_ai-0.3.101.dist-info}/entry_points.txt +0 -0
  137. {inspect_ai-0.3.99.dist-info → inspect_ai-0.3.101.dist-info}/licenses/LICENSE +0 -0
  138. {inspect_ai-0.3.99.dist-info → inspect_ai-0.3.101.dist-info}/top_level.txt +0 -0
@@ -656,6 +656,17 @@
656
656
  "ContentAudio": {
657
657
  "description": "Audio content.",
658
658
  "properties": {
659
+ "internal": {
660
+ "anyOf": [
661
+ {
662
+ "$ref": "#/$defs/JsonValue"
663
+ },
664
+ {
665
+ "type": "null"
666
+ }
667
+ ],
668
+ "default": null
669
+ },
659
670
  "type": {
660
671
  "const": "audio",
661
672
  "default": "audio",
@@ -676,6 +687,7 @@
676
687
  }
677
688
  },
678
689
  "required": [
690
+ "internal",
679
691
  "type",
680
692
  "audio",
681
693
  "format"
@@ -687,6 +699,17 @@
687
699
  "ContentImage": {
688
700
  "description": "Image content.",
689
701
  "properties": {
702
+ "internal": {
703
+ "anyOf": [
704
+ {
705
+ "$ref": "#/$defs/JsonValue"
706
+ },
707
+ {
708
+ "type": "null"
709
+ }
710
+ ],
711
+ "default": null
712
+ },
690
713
  "type": {
691
714
  "const": "image",
692
715
  "default": "image",
@@ -709,6 +732,7 @@
709
732
  }
710
733
  },
711
734
  "required": [
735
+ "internal",
712
736
  "type",
713
737
  "image",
714
738
  "detail"
@@ -720,6 +744,17 @@
720
744
  "ContentReasoning": {
721
745
  "description": "Reasoning content.\n\nSee the specification for [thinking blocks](https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking#understanding-thinking-blocks) for Claude models.",
722
746
  "properties": {
747
+ "internal": {
748
+ "anyOf": [
749
+ {
750
+ "$ref": "#/$defs/JsonValue"
751
+ },
752
+ {
753
+ "type": "null"
754
+ }
755
+ ],
756
+ "default": null
757
+ },
723
758
  "type": {
724
759
  "const": "reasoning",
725
760
  "default": "reasoning",
@@ -749,6 +784,7 @@
749
784
  }
750
785
  },
751
786
  "required": [
787
+ "internal",
752
788
  "type",
753
789
  "reasoning",
754
790
  "signature",
@@ -761,6 +797,17 @@
761
797
  "ContentText": {
762
798
  "description": "Text content.",
763
799
  "properties": {
800
+ "internal": {
801
+ "anyOf": [
802
+ {
803
+ "$ref": "#/$defs/JsonValue"
804
+ },
805
+ {
806
+ "type": "null"
807
+ }
808
+ ],
809
+ "default": null
810
+ },
764
811
  "type": {
765
812
  "const": "text",
766
813
  "default": "text",
@@ -785,6 +832,7 @@
785
832
  }
786
833
  },
787
834
  "required": [
835
+ "internal",
788
836
  "type",
789
837
  "text",
790
838
  "refusal"
@@ -796,6 +844,17 @@
796
844
  "ContentVideo": {
797
845
  "description": "Video content.",
798
846
  "properties": {
847
+ "internal": {
848
+ "anyOf": [
849
+ {
850
+ "$ref": "#/$defs/JsonValue"
851
+ },
852
+ {
853
+ "type": "null"
854
+ }
855
+ ],
856
+ "default": null
857
+ },
799
858
  "type": {
800
859
  "const": "video",
801
860
  "default": "video",
@@ -817,6 +876,7 @@
817
876
  }
818
877
  },
819
878
  "required": [
879
+ "internal",
820
880
  "type",
821
881
  "video",
822
882
  "format"
@@ -1975,7 +2035,7 @@
1975
2035
  },
1976
2036
  "limit": {
1977
2037
  "title": "Limit",
1978
- "type": "integer"
2038
+ "type": "number"
1979
2039
  }
1980
2040
  },
1981
2041
  "required": [
@@ -4203,7 +4263,7 @@
4203
4263
  "limit": {
4204
4264
  "anyOf": [
4205
4265
  {
4206
- "type": "integer"
4266
+ "type": "number"
4207
4267
  },
4208
4268
  {
4209
4269
  "type": "null"
@@ -5632,12 +5692,26 @@
5632
5692
  },
5633
5693
  "parameters": {
5634
5694
  "$ref": "#/$defs/ToolParams"
5695
+ },
5696
+ "options": {
5697
+ "anyOf": [
5698
+ {
5699
+ "additionalProperties": true,
5700
+ "type": "object"
5701
+ },
5702
+ {
5703
+ "type": "null"
5704
+ }
5705
+ ],
5706
+ "default": null,
5707
+ "title": "Options"
5635
5708
  }
5636
5709
  },
5637
5710
  "required": [
5638
5711
  "name",
5639
5712
  "description",
5640
- "parameters"
5713
+ "parameters",
5714
+ "options"
5641
5715
  ],
5642
5716
  "title": "ToolInfo",
5643
5717
  "type": "object",
@@ -62,11 +62,13 @@
62
62
  "@codemirror/lint": "^6.8.5",
63
63
  "@codemirror/state": "^6.5.2",
64
64
  "@lezer/highlight": "^1.2.1",
65
+ "@mui/material": "^7.1.0",
66
+ "@mui/x-tree-view": "^8.3.0",
65
67
  "@popperjs/core": "^2.11.8",
66
68
  "ansi-output": "^0.0.9",
67
69
  "asciinema-player": "^3.9.0",
68
- "bootstrap": "^5.3.3",
69
- "bootstrap-icons": "^1.11.3",
70
+ "bootstrap": "^5.3.6",
71
+ "bootstrap-icons": "^1.12.1",
70
72
  "clipboard": "^2.0.11",
71
73
  "clsx": "^2.1.1",
72
74
  "codemirror": "^6.0.1",
@@ -86,8 +88,10 @@
86
88
  "prismjs": "^1.30.0",
87
89
  "react": "^19.0.0",
88
90
  "react-dom": "^19.0.0",
89
- "react-router-dom": "^7.5.3",
90
- "react-virtuoso": "^4.12.6",
91
- "zustand": "^5.0.3"
91
+ "react-popper": "^2.3.0",
92
+ "react-router-dom": "^7.6.0",
93
+ "react-virtuoso": "^4.12.7",
94
+ "zustand": "^5.0.5",
95
+ "use-resize-observer": "^9.1.0"
92
96
  }
93
97
  }
@@ -407,6 +407,9 @@ export type Description2 = string;
407
407
  export type Type11 = "object";
408
408
  export type Required1 = string[];
409
409
  export type Additionalproperties1 = boolean;
410
+ export type Options3 = {
411
+ [k: string]: unknown;
412
+ } | null;
410
413
  export type Tools1 = ToolInfo[];
411
414
  export type ToolChoice = ("auto" | "any" | "none") | ToolFunction;
412
415
  export type Name9 = string;
@@ -1007,6 +1010,7 @@ export interface ChatMessageSystem {
1007
1010
  * Text content.
1008
1011
  */
1009
1012
  export interface ContentText {
1013
+ internal: unknown;
1010
1014
  type: Type3;
1011
1015
  text: Text;
1012
1016
  refusal: Refusal;
@@ -1017,6 +1021,7 @@ export interface ContentText {
1017
1021
  * See the specification for [thinking blocks](https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking#understanding-thinking-blocks) for Claude models.
1018
1022
  */
1019
1023
  export interface ContentReasoning {
1024
+ internal: unknown;
1020
1025
  type: Type4;
1021
1026
  reasoning: Reasoning;
1022
1027
  signature: Signature;
@@ -1026,6 +1031,7 @@ export interface ContentReasoning {
1026
1031
  * Image content.
1027
1032
  */
1028
1033
  export interface ContentImage {
1034
+ internal: unknown;
1029
1035
  type: Type5;
1030
1036
  image: Image;
1031
1037
  detail: Detail;
@@ -1034,6 +1040,7 @@ export interface ContentImage {
1034
1040
  * Audio content.
1035
1041
  */
1036
1042
  export interface ContentAudio {
1043
+ internal: unknown;
1037
1044
  type: Type6;
1038
1045
  audio: Audio;
1039
1046
  format: Format1;
@@ -1042,6 +1049,7 @@ export interface ContentAudio {
1042
1049
  * Video content.
1043
1050
  */
1044
1051
  export interface ContentVideo {
1052
+ internal: unknown;
1045
1053
  type: Type7;
1046
1054
  video: Video;
1047
1055
  format: Format2;
@@ -1308,6 +1316,7 @@ export interface ToolInfo {
1308
1316
  name: Name8;
1309
1317
  description: Description2;
1310
1318
  parameters: ToolParams;
1319
+ options: Options3;
1311
1320
  }
1312
1321
  /**
1313
1322
  * Description of tool parameters object in JSON Schema format.
@@ -14,7 +14,7 @@ import "./App.css";
14
14
 
15
15
  import ClipboardJS from "clipboard";
16
16
  import { FC, useCallback, useEffect } from "react";
17
- import { RouterProvider, useParams } from "react-router-dom";
17
+ import { RouterProvider } from "react-router-dom";
18
18
  import { ClientAPI, HostMessage } from "../client/api/types.ts";
19
19
  import { useStore } from "../state/store.ts";
20
20
  import { AppRouter } from "./routing/AppRouter.tsx";
@@ -32,7 +32,6 @@ export const App: FC<AppProps> = ({ api }) => {
32
32
 
33
33
  const logs = useStore((state) => state.logs.logs);
34
34
  const selectedLogFile = useStore((state) => state.logs.selectedLogFile);
35
-
36
35
  const loadedLogFile = useStore((state) => state.log.loadedLog);
37
36
  const selectedLogSummary = useStore((state) => state.log.selectedLogSummary);
38
37
 
@@ -46,15 +45,6 @@ export const App: FC<AppProps> = ({ api }) => {
46
45
  const loadLog = useStore((state) => state.logActions.loadLog);
47
46
  const pollLog = useStore((state) => state.logActions.pollLog);
48
47
 
49
- const { sampleId } = useParams<{
50
- logPath?: string;
51
- tabId?: string;
52
- sampleId?: string;
53
- epoch?: string;
54
- sampleTabId?: string;
55
- }>();
56
- const selectSample = useStore((state) => state.logActions.selectSample);
57
-
58
48
  // Load a specific log
59
49
  useEffect(() => {
60
50
  const loadSpecificLog = async () => {
@@ -66,10 +56,6 @@ export const App: FC<AppProps> = ({ api }) => {
66
56
  // Then load the log
67
57
  await loadLog(selectedLogFile);
68
58
 
69
- if (!sampleId) {
70
- selectSample(0);
71
- }
72
-
73
59
  // Finally set loading to false
74
60
  setAppStatus({ loading: false, error: undefined });
75
61
  } catch (e) {
@@ -9,6 +9,7 @@ const loggingIcons: Record<string, string> = {
9
9
  };
10
10
 
11
11
  export const ApplicationIcons = {
12
+ agent: "bi bi-grid", // bi bi-x-diamond
12
13
  approve: "bi bi-shield",
13
14
  approvals: {
14
15
  approve: "bi bi-shield-check",
@@ -56,7 +57,7 @@ export const ApplicationIcons = {
56
57
  json: "bi bi-filetype-json",
57
58
  limits: {
58
59
  messages: "bi bi-chat-right-text",
59
- custom: "bi bi-person-workspace",
60
+ custom: "bi bi-exclamation-triangle",
60
61
  operator: "bi bi-person-workspace",
61
62
  tokens: "bi bi-list",
62
63
  time: "bi bi-clock",
@@ -91,6 +92,7 @@ export const ApplicationIcons = {
91
92
  sandbox: "bi bi-box-seam",
92
93
  scorer: "bi bi-calculator",
93
94
  search: "bi bi-search",
95
+ sidebar: "bi bi-list",
94
96
  solvers: {
95
97
  default: "bi bi-arrow-return-right",
96
98
  generate: "bi bi-share",
@@ -106,5 +108,6 @@ export const ApplicationIcons = {
106
108
  open: "bi bi-caret-down-fill",
107
109
  closed: "bi bi-caret-right-fill",
108
110
  },
111
+ turns: "bi bi-chat-left-text", // bi bi-repeat
109
112
  usage: "bi bi-stopwatch",
110
113
  };
@@ -7,6 +7,7 @@ interface MetadataGridProps {
7
7
  id?: string;
8
8
  className?: string | string[];
9
9
  style?: CSSProperties;
10
+ size?: "mini" | "small";
10
11
  entries: Record<string, unknown>;
11
12
  plain?: boolean;
12
13
  }
@@ -18,10 +19,13 @@ export const MetaDataGrid: FC<MetadataGridProps> = ({
18
19
  id,
19
20
  entries,
20
21
  className,
22
+ size,
21
23
  style,
22
24
  plain,
23
25
  }) => {
24
26
  const baseId = "metadata-grid";
27
+ const fontStyle =
28
+ size === "mini" ? "text-size-smallest" : "text-size-smaller";
25
29
 
26
30
  const entryEls = entryRecords(entries).map((entry, index) => {
27
31
  const id = `${baseId}-value-${index}`;
@@ -41,15 +45,29 @@ export const MetaDataGrid: FC<MetadataGridProps> = ({
41
45
  styles.cell,
42
46
  "text-style-label",
43
47
  "text-style-secondary",
44
- "text-size-smaller",
48
+ fontStyle,
45
49
  )}
46
50
  >
47
- {entry.name}
51
+ {entry?.name}
48
52
  </div>
49
- <div
50
- className={clsx(styles.value, `${baseId}-value`, "text-size-smaller")}
51
- >
52
- <RenderedContent id={id} entry={entry} />
53
+ <div className={clsx(styles.value, `${baseId}-value`, fontStyle)}>
54
+ {entry && (
55
+ <RenderedContent
56
+ id={id}
57
+ entry={entry}
58
+ renderObject={(obj: any) => {
59
+ return (
60
+ <MetaDataGrid
61
+ id={id}
62
+ className={clsx(styles.nested)}
63
+ entries={obj}
64
+ size={size}
65
+ plain={plain}
66
+ />
67
+ );
68
+ }}
69
+ />
70
+ )}
53
71
  </div>
54
72
  </Fragment>
55
73
  );
@@ -9,8 +9,3 @@
9
9
  font-weight: 400;
10
10
  white-space: nowrap;
11
11
  }
12
-
13
- .value {
14
- white-space: pre-wrap;
15
- word-wrap: anywhere;
16
- }