@assistant-ui/react-devtools 1.2.8 → 1.2.10

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 (219) hide show
  1. package/dist/DevToolsModal.d.ts +0 -1
  2. package/dist/DevToolsModal.d.ts.map +1 -1
  3. package/dist/DevToolsModal.js.map +1 -1
  4. package/dist/DevToolsModalImpl.d.ts +1 -6
  5. package/dist/DevToolsModalImpl.d.ts.map +1 -1
  6. package/dist/DevToolsModalImpl.js.map +1 -1
  7. package/dist/data/createInProcessClient.d.ts +0 -1
  8. package/dist/data/createInProcessClient.d.ts.map +1 -1
  9. package/dist/data/projectApi.d.ts +0 -1
  10. package/dist/data/projectApi.d.ts.map +1 -1
  11. package/dist/data/types.d.ts +0 -1
  12. package/dist/data/types.d.ts.map +1 -1
  13. package/dist/data/useDevToolsClient.d.ts +0 -1
  14. package/dist/data/useDevToolsClient.d.ts.map +1 -1
  15. package/dist/shell/DevToolsOverlay.d.ts +1 -6
  16. package/dist/shell/DevToolsOverlay.d.ts.map +1 -1
  17. package/dist/shell/DevToolsOverlay.js.map +1 -1
  18. package/dist/shell/DevToolsPanel.d.ts +1 -7
  19. package/dist/shell/DevToolsPanel.d.ts.map +1 -1
  20. package/dist/shell/DevToolsPanel.js.map +1 -1
  21. package/dist/shell/ShadowRoot.d.ts +1 -7
  22. package/dist/shell/ShadowRoot.d.ts.map +1 -1
  23. package/dist/shell/SplitLayout.d.ts +3 -7
  24. package/dist/shell/SplitLayout.d.ts.map +1 -1
  25. package/dist/shell/SplitLayout.js.map +1 -1
  26. package/dist/shell/registry.d.ts +0 -1
  27. package/dist/shell/registry.d.ts.map +1 -1
  28. package/dist/shell/tabs/ActivityTab.d.ts +1 -8
  29. package/dist/shell/tabs/ActivityTab.d.ts.map +1 -1
  30. package/dist/shell/tabs/ActivityTab.js.map +1 -1
  31. package/dist/shell/tabs/ContextTab.d.ts +1 -6
  32. package/dist/shell/tabs/ContextTab.d.ts.map +1 -1
  33. package/dist/shell/tabs/ContextTab.js.map +1 -1
  34. package/dist/shell/tabs/RawTab.d.ts +1 -6
  35. package/dist/shell/tabs/RawTab.d.ts.map +1 -1
  36. package/dist/shell/tabs/RawTab.js.map +1 -1
  37. package/dist/shell/tabs/ThreadTab.d.ts +1 -7
  38. package/dist/shell/tabs/ThreadTab.d.ts.map +1 -1
  39. package/dist/shell/tabs/ThreadTab.js.map +1 -1
  40. package/dist/shell/tabs/navSelection.d.ts.map +1 -1
  41. package/dist/styles/panel.generated.d.ts +1 -1
  42. package/dist/styles/panel.generated.d.ts.map +1 -1
  43. package/dist/styles/panel.generated.js +1 -1
  44. package/dist/styles/panel.generated.js.map +1 -1
  45. package/dist/types.d.ts +0 -1
  46. package/dist/types.d.ts.map +1 -1
  47. package/dist/utils/common.d.ts.map +1 -1
  48. package/dist/utils/diff.d.ts.map +1 -1
  49. package/dist/utils/serialization.d.ts +0 -1
  50. package/dist/utils/serialization.d.ts.map +1 -1
  51. package/dist/utils/toolNormalization.d.ts.map +1 -1
  52. package/dist/views/activity/EventLogRow.d.ts +4 -14
  53. package/dist/views/activity/EventLogRow.d.ts.map +1 -1
  54. package/dist/views/activity/EventLogRow.js.map +1 -1
  55. package/dist/views/activity/EventStreamPane.d.ts +1 -4
  56. package/dist/views/activity/EventStreamPane.d.ts.map +1 -1
  57. package/dist/views/activity/EventStreamPane.js.map +1 -1
  58. package/dist/views/activity/OrphansPane.d.ts +1 -4
  59. package/dist/views/activity/OrphansPane.d.ts.map +1 -1
  60. package/dist/views/activity/OrphansPane.js.map +1 -1
  61. package/dist/views/activity/RunDetailPane.d.ts +1 -4
  62. package/dist/views/activity/RunDetailPane.d.ts.map +1 -1
  63. package/dist/views/activity/RunDetailPane.js.map +1 -1
  64. package/dist/views/activity/activityNodes.d.ts +0 -1
  65. package/dist/views/activity/activityNodes.d.ts.map +1 -1
  66. package/dist/views/attachments/AttachmentList.d.ts +1 -6
  67. package/dist/views/attachments/AttachmentList.d.ts.map +1 -1
  68. package/dist/views/attachments/AttachmentList.js.map +1 -1
  69. package/dist/views/attachments/MediaPartView.d.ts +3 -13
  70. package/dist/views/attachments/MediaPartView.d.ts.map +1 -1
  71. package/dist/views/attachments/MediaPartView.js.map +1 -1
  72. package/dist/views/attachments/formatBytes.d.ts.map +1 -1
  73. package/dist/views/attachments/parseAttachment.d.ts +0 -1
  74. package/dist/views/attachments/parseAttachment.d.ts.map +1 -1
  75. package/dist/views/attachments/types.d.ts.map +1 -1
  76. package/dist/views/context/ContextDetail.d.ts +1 -5
  77. package/dist/views/context/ContextDetail.d.ts.map +1 -1
  78. package/dist/views/context/ToolUIsView.d.ts +1 -3
  79. package/dist/views/context/ToolUIsView.d.ts.map +1 -1
  80. package/dist/views/context/ToolUIsView.js.map +1 -1
  81. package/dist/views/context/contextNodes.d.ts +0 -1
  82. package/dist/views/context/contextNodes.d.ts.map +1 -1
  83. package/dist/views/mcp/McpView.d.ts +1 -4
  84. package/dist/views/mcp/McpView.d.ts.map +1 -1
  85. package/dist/views/mcp/McpView.js.map +1 -1
  86. package/dist/views/mcp/parse.d.ts +0 -1
  87. package/dist/views/mcp/parse.d.ts.map +1 -1
  88. package/dist/views/mcp/types.d.ts.map +1 -1
  89. package/dist/views/message/ChainOfThought.d.ts +1 -4
  90. package/dist/views/message/ChainOfThought.d.ts.map +1 -1
  91. package/dist/views/message/ChainOfThought.js.map +1 -1
  92. package/dist/views/message/MessageDetailPane.d.ts +1 -4
  93. package/dist/views/message/MessageDetailPane.d.ts.map +1 -1
  94. package/dist/views/message/MessageDetailPane.js.map +1 -1
  95. package/dist/views/message/MessageItem.d.ts +3 -6
  96. package/dist/views/message/MessageItem.d.ts.map +1 -1
  97. package/dist/views/message/MessageItem.js.map +1 -1
  98. package/dist/views/message/MessageList.d.ts +1 -5
  99. package/dist/views/message/MessageList.d.ts.map +1 -1
  100. package/dist/views/message/MessageList.js.map +1 -1
  101. package/dist/views/message/MessageMetrics.d.ts +1 -4
  102. package/dist/views/message/MessageMetrics.d.ts.map +1 -1
  103. package/dist/views/message/MessageMetrics.js.map +1 -1
  104. package/dist/views/message/MessageTimeline.d.ts +1 -4
  105. package/dist/views/message/MessageTimeline.d.ts.map +1 -1
  106. package/dist/views/message/MessageTimeline.js.map +1 -1
  107. package/dist/views/message/PartDisclosure.d.ts +1 -7
  108. package/dist/views/message/PartDisclosure.d.ts.map +1 -1
  109. package/dist/views/message/PartDisclosure.js.map +1 -1
  110. package/dist/views/message/PartView.d.ts +1 -5
  111. package/dist/views/message/PartView.d.ts.map +1 -1
  112. package/dist/views/message/PartView.js.map +1 -1
  113. package/dist/views/message/RoleLabel.d.ts +1 -4
  114. package/dist/views/message/RoleLabel.d.ts.map +1 -1
  115. package/dist/views/message/RoleLabel.js.map +1 -1
  116. package/dist/views/message/StatusBadge.d.ts +3 -8
  117. package/dist/views/message/StatusBadge.d.ts.map +1 -1
  118. package/dist/views/message/StatusBadge.js.map +1 -1
  119. package/dist/views/message/ToolCallView.d.ts +1 -5
  120. package/dist/views/message/ToolCallView.d.ts.map +1 -1
  121. package/dist/views/message/ToolCallView.js.map +1 -1
  122. package/dist/views/message/TtftBar.d.ts +1 -4
  123. package/dist/views/message/TtftBar.d.ts.map +1 -1
  124. package/dist/views/message/TtftBar.js.map +1 -1
  125. package/dist/views/message/messagePlainText.d.ts +0 -1
  126. package/dist/views/message/messagePlainText.d.ts.map +1 -1
  127. package/dist/views/message/parse.d.ts +0 -1
  128. package/dist/views/message/parse.d.ts.map +1 -1
  129. package/dist/views/message/types.d.ts +0 -1
  130. package/dist/views/message/types.d.ts.map +1 -1
  131. package/dist/views/model-context/ModelContextView.d.ts +4 -13
  132. package/dist/views/model-context/ModelContextView.d.ts.map +1 -1
  133. package/dist/views/model-context/ModelContextView.js.map +1 -1
  134. package/dist/views/nav.d.ts.map +1 -1
  135. package/dist/views/raw/RawDetail.d.ts +1 -6
  136. package/dist/views/raw/RawDetail.d.ts.map +1 -1
  137. package/dist/views/raw/RawDetail.js.map +1 -1
  138. package/dist/views/raw/rawNodes.d.ts +0 -1
  139. package/dist/views/raw/rawNodes.d.ts.map +1 -1
  140. package/dist/views/raw/statePreview.d.ts.map +1 -1
  141. package/dist/views/raw/statePreview.js.map +1 -1
  142. package/dist/views/runs/PayloadDiff.d.ts +1 -4
  143. package/dist/views/runs/PayloadDiff.d.ts.map +1 -1
  144. package/dist/views/runs/PayloadDiff.js.map +1 -1
  145. package/dist/views/runs/parse.d.ts +0 -1
  146. package/dist/views/runs/parse.d.ts.map +1 -1
  147. package/dist/views/runs/types.d.ts.map +1 -1
  148. package/dist/views/scopes/ScopesView.d.ts +1 -3
  149. package/dist/views/scopes/ScopesView.d.ts.map +1 -1
  150. package/dist/views/scopes/ScopesView.js.map +1 -1
  151. package/dist/views/scopes/parse.d.ts +0 -1
  152. package/dist/views/scopes/parse.d.ts.map +1 -1
  153. package/dist/views/scopes/types.d.ts.map +1 -1
  154. package/dist/views/thread/ComposerAttachments.d.ts +1 -4
  155. package/dist/views/thread/ComposerAttachments.d.ts.map +1 -1
  156. package/dist/views/thread/ComposerFlags.d.ts +1 -4
  157. package/dist/views/thread/ComposerFlags.d.ts.map +1 -1
  158. package/dist/views/thread/ComposerFlags.js.map +1 -1
  159. package/dist/views/thread/ComposerQueue.d.ts +1 -4
  160. package/dist/views/thread/ComposerQueue.d.ts.map +1 -1
  161. package/dist/views/thread/ComposerQueue.js.map +1 -1
  162. package/dist/views/thread/ConversationList.d.ts +1 -7
  163. package/dist/views/thread/ConversationList.d.ts.map +1 -1
  164. package/dist/views/thread/ConversationList.js.map +1 -1
  165. package/dist/views/thread/ConversationStatusDot.d.ts +2 -13
  166. package/dist/views/thread/ConversationStatusDot.d.ts.map +1 -1
  167. package/dist/views/thread/ThreadDetails.d.ts +1 -5
  168. package/dist/views/thread/ThreadDetails.d.ts.map +1 -1
  169. package/dist/views/thread/ThreadDetails.js.map +1 -1
  170. package/dist/views/thread/Transcript.d.ts +2 -9
  171. package/dist/views/thread/Transcript.d.ts.map +1 -1
  172. package/dist/views/thread/Transcript.js.map +1 -1
  173. package/dist/views/thread/resolve.d.ts +0 -1
  174. package/dist/views/thread/resolve.d.ts.map +1 -1
  175. package/dist/views/thread/types.d.ts +0 -1
  176. package/dist/views/thread/types.d.ts.map +1 -1
  177. package/dist/views/thread/utils.d.ts +0 -1
  178. package/dist/views/thread/utils.d.ts.map +1 -1
  179. package/dist/views/ui/CenteredMessage.d.ts +1 -4
  180. package/dist/views/ui/CenteredMessage.d.ts.map +1 -1
  181. package/dist/views/ui/Chip.d.ts +1 -5
  182. package/dist/views/ui/Chip.d.ts.map +1 -1
  183. package/dist/views/ui/ControlButton.d.ts +1 -5
  184. package/dist/views/ui/ControlButton.d.ts.map +1 -1
  185. package/dist/views/ui/CopyButton.d.ts +1 -8
  186. package/dist/views/ui/CopyButton.d.ts.map +1 -1
  187. package/dist/views/ui/CopyButton.js.map +1 -1
  188. package/dist/views/ui/EmptyState.d.ts +1 -4
  189. package/dist/views/ui/EmptyState.d.ts.map +1 -1
  190. package/dist/views/ui/InfoCard.d.ts +1 -7
  191. package/dist/views/ui/InfoCard.d.ts.map +1 -1
  192. package/dist/views/ui/InfoCard.js.map +1 -1
  193. package/dist/views/ui/JSONTree.d.ts +1 -5
  194. package/dist/views/ui/JSONTree.d.ts.map +1 -1
  195. package/dist/views/ui/JSONTree.js.map +1 -1
  196. package/dist/views/ui/PaneHeader.d.ts +2 -10
  197. package/dist/views/ui/PaneHeader.d.ts.map +1 -1
  198. package/dist/views/ui/PaneHeader.js.map +1 -1
  199. package/dist/views/ui/RailTime.d.ts +1 -4
  200. package/dist/views/ui/RailTime.d.ts.map +1 -1
  201. package/dist/views/ui/RailTime.js.map +1 -1
  202. package/dist/views/ui/SectionLabel.d.ts +1 -4
  203. package/dist/views/ui/SectionLabel.d.ts.map +1 -1
  204. package/dist/views/ui/SelectableRow.d.ts +2 -2
  205. package/dist/views/ui/SelectableRow.d.ts.map +1 -1
  206. package/dist/views/ui/Sparkline.d.ts +1 -4
  207. package/dist/views/ui/Sparkline.d.ts.map +1 -1
  208. package/dist/views/ui/Sparkline.js.map +1 -1
  209. package/dist/views/ui/SummaryItem.d.ts +2 -8
  210. package/dist/views/ui/SummaryItem.d.ts.map +1 -1
  211. package/dist/views/ui/SummaryItem.js.map +1 -1
  212. package/dist/views/ui/ToneBadge.d.ts +1 -7
  213. package/dist/views/ui/ToneBadge.d.ts.map +1 -1
  214. package/dist/views/ui/badgeTone.d.ts.map +1 -1
  215. package/dist/views/ui/useCopyToClipboard.d.ts +1 -3
  216. package/dist/views/ui/useCopyToClipboard.d.ts.map +1 -1
  217. package/package.json +10 -10
  218. package/src/styles/panel.generated.ts +1 -1
  219. package/src/views/message/MessageTimeline.test.tsx +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"PartView.js","names":["ReactNode","AudioPartView","FilePartView","ImagePartView","Chip","JSONTree","ToneBadge","StatusBadge","ToolCallView","PartPreview","PartStatusPreview","PartShell","t0","$","_c","type","status","children","tone","compact","t1","undefined","t2","reason","t3","t4","t5","Text","value","muted","PartView","part","text","title","url","sourceType","name","data","spec","rawType","raw"],"sources":["../../../src/views/message/PartView.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport {\n AudioPartView,\n FilePartView,\n ImagePartView,\n} from \"../attachments/MediaPartView\";\nimport { Chip, JSONTree, ToneBadge } from \"../ui\";\nimport { StatusBadge } from \"./StatusBadge\";\nimport { ToolCallView } from \"./ToolCallView\";\nimport type { PartPreview, PartStatusPreview } from \"./types\";\n\nconst PartShell = ({\n type,\n status,\n children,\n tone,\n compact = false,\n}: {\n type: string;\n status?: PartStatusPreview | undefined;\n children?: ReactNode;\n tone?: \"reasoning\" | undefined;\n compact?: boolean;\n}) => {\n if (compact) {\n return (\n <div className=\"px-2 py-1.5\">\n {children}\n {status ? (\n <div className=\"mt-1\">\n <StatusBadge\n type={status.type}\n reason={status.reason}\n compact\n size=\"sm\"\n />\n </div>\n ) : null}\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-1\">\n <div className=\"flex items-center gap-2\">\n {tone === \"reasoning\" ? (\n <ToneBadge tone=\"violet\">{type}</ToneBadge>\n ) : (\n <Chip>{type}</Chip>\n )}\n {status ? (\n <StatusBadge type={status.type} reason={status.reason} />\n ) : null}\n </div>\n {children}\n </div>\n );\n};\n\nconst Text = ({\n value,\n muted,\n compact = false,\n}: {\n value: string;\n muted?: boolean;\n compact?: boolean;\n}) => (\n <div\n className={\n muted\n ? compact\n ? \"text-muted-foreground text-[11px] wrap-break-word whitespace-pre-wrap italic\"\n : \"text-muted-foreground wrap-break-word whitespace-pre-wrap italic\"\n : compact\n ? \"text-foreground text-[11px] wrap-break-word whitespace-pre-wrap\"\n : \"text-foreground wrap-break-word whitespace-pre-wrap\"\n }\n >\n {value || \"(empty)\"}\n </div>\n);\n\nexport const PartView = ({\n part,\n compact = false,\n}: {\n part: PartPreview;\n compact?: boolean;\n}) => {\n switch (part.type) {\n case \"tool-call\":\n return <ToolCallView part={part} nested={compact} />;\n case \"text\":\n return (\n <PartShell type=\"text\" status={part.status} compact={compact}>\n <Text value={part.text} compact={compact} />\n </PartShell>\n );\n case \"reasoning\":\n return (\n <PartShell\n type=\"reasoning\"\n status={part.status}\n tone=\"reasoning\"\n compact={compact}\n >\n <Text value={part.text} muted compact={compact} />\n </PartShell>\n );\n case \"source\":\n return (\n <PartShell type=\"source\" status={part.status} compact={compact}>\n <div className=\"text-foreground text-[11px]\">\n {part.title ?? part.url ?? part.sourceType ?? \"(source)\"}\n {part.title && part.url ? (\n <span className=\"text-muted-foreground ml-1\">({part.url})</span>\n ) : null}\n </div>\n </PartShell>\n );\n case \"image\":\n return (\n <div className=\"flex flex-col gap-1\">\n <ImagePartView part={part} compact={compact} />\n {part.status ? (\n <div className={compact ? \"px-2\" : undefined}>\n <StatusBadge\n type={part.status.type}\n reason={part.status.reason}\n compact\n size=\"sm\"\n />\n </div>\n ) : null}\n </div>\n );\n case \"file\":\n return (\n <div className=\"flex flex-col gap-1\">\n <FilePartView part={part} compact={compact} />\n {part.status ? (\n <div className={compact ? \"px-2\" : undefined}>\n <StatusBadge\n type={part.status.type}\n reason={part.status.reason}\n compact\n size=\"sm\"\n />\n </div>\n ) : null}\n </div>\n );\n case \"audio\":\n return (\n <div className=\"flex flex-col gap-1\">\n <AudioPartView part={part} compact={compact} />\n {part.status ? (\n <div className={compact ? \"px-2\" : undefined}>\n <StatusBadge\n type={part.status.type}\n reason={part.status.reason}\n compact\n size=\"sm\"\n />\n </div>\n ) : null}\n </div>\n );\n case \"data\":\n return (\n <PartShell\n type={part.name ? `data: ${part.name}` : \"data\"}\n status={part.status}\n compact={compact}\n >\n <JSONTree value={part.data} openDepth={compact ? 0 : 1} />\n </PartShell>\n );\n case \"generative-ui\":\n return (\n <PartShell type=\"generative-ui\" status={part.status} compact={compact}>\n <JSONTree value={part.spec} openDepth={compact ? 0 : 1} />\n </PartShell>\n );\n default:\n return (\n <PartShell\n type={part.rawType || \"unknown\"}\n status={part.status}\n compact={compact}\n >\n <JSONTree value={part.raw} openDepth={compact ? 0 : 1} />\n </PartShell>\n );\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"PartView.js","names":["ReactNode","AudioPartView","FilePartView","ImagePartView","Chip","JSONTree","ToneBadge","StatusBadge","ToolCallView","PartPreview","PartStatusPreview","PartShell","t0","$","_c","type","status","children","tone","compact","t1","undefined","t2","reason","t3","t4","t5","Text","value","muted","PartView","part","text","title","url","sourceType","name","data","spec","rawType","raw"],"sources":["../../../src/views/message/PartView.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport {\n AudioPartView,\n FilePartView,\n ImagePartView,\n} from \"../attachments/MediaPartView\";\nimport { Chip, JSONTree, ToneBadge } from \"../ui\";\nimport { StatusBadge } from \"./StatusBadge\";\nimport { ToolCallView } from \"./ToolCallView\";\nimport type { PartPreview, PartStatusPreview } from \"./types\";\n\nconst PartShell = ({\n type,\n status,\n children,\n tone,\n compact = false,\n}: {\n type: string;\n status?: PartStatusPreview | undefined;\n children?: ReactNode;\n tone?: \"reasoning\" | undefined;\n compact?: boolean;\n}) => {\n if (compact) {\n return (\n <div className=\"px-2 py-1.5\">\n {children}\n {status ? (\n <div className=\"mt-1\">\n <StatusBadge\n type={status.type}\n reason={status.reason}\n compact\n size=\"sm\"\n />\n </div>\n ) : null}\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-1\">\n <div className=\"flex items-center gap-2\">\n {tone === \"reasoning\" ? (\n <ToneBadge tone=\"violet\">{type}</ToneBadge>\n ) : (\n <Chip>{type}</Chip>\n )}\n {status ? (\n <StatusBadge type={status.type} reason={status.reason} />\n ) : null}\n </div>\n {children}\n </div>\n );\n};\n\nconst Text = ({\n value,\n muted,\n compact = false,\n}: {\n value: string;\n muted?: boolean;\n compact?: boolean;\n}) => (\n <div\n className={\n muted\n ? compact\n ? \"text-muted-foreground text-[11px] wrap-break-word whitespace-pre-wrap italic\"\n : \"text-muted-foreground wrap-break-word whitespace-pre-wrap italic\"\n : compact\n ? \"text-foreground text-[11px] wrap-break-word whitespace-pre-wrap\"\n : \"text-foreground wrap-break-word whitespace-pre-wrap\"\n }\n >\n {value || \"(empty)\"}\n </div>\n);\n\nexport const PartView = ({\n part,\n compact = false,\n}: {\n part: PartPreview;\n compact?: boolean;\n}) => {\n switch (part.type) {\n case \"tool-call\":\n return <ToolCallView part={part} nested={compact} />;\n case \"text\":\n return (\n <PartShell type=\"text\" status={part.status} compact={compact}>\n <Text value={part.text} compact={compact} />\n </PartShell>\n );\n case \"reasoning\":\n return (\n <PartShell\n type=\"reasoning\"\n status={part.status}\n tone=\"reasoning\"\n compact={compact}\n >\n <Text value={part.text} muted compact={compact} />\n </PartShell>\n );\n case \"source\":\n return (\n <PartShell type=\"source\" status={part.status} compact={compact}>\n <div className=\"text-foreground text-[11px]\">\n {part.title ?? part.url ?? part.sourceType ?? \"(source)\"}\n {part.title && part.url ? (\n <span className=\"text-muted-foreground ml-1\">({part.url})</span>\n ) : null}\n </div>\n </PartShell>\n );\n case \"image\":\n return (\n <div className=\"flex flex-col gap-1\">\n <ImagePartView part={part} compact={compact} />\n {part.status ? (\n <div className={compact ? \"px-2\" : undefined}>\n <StatusBadge\n type={part.status.type}\n reason={part.status.reason}\n compact\n size=\"sm\"\n />\n </div>\n ) : null}\n </div>\n );\n case \"file\":\n return (\n <div className=\"flex flex-col gap-1\">\n <FilePartView part={part} compact={compact} />\n {part.status ? (\n <div className={compact ? \"px-2\" : undefined}>\n <StatusBadge\n type={part.status.type}\n reason={part.status.reason}\n compact\n size=\"sm\"\n />\n </div>\n ) : null}\n </div>\n );\n case \"audio\":\n return (\n <div className=\"flex flex-col gap-1\">\n <AudioPartView part={part} compact={compact} />\n {part.status ? (\n <div className={compact ? \"px-2\" : undefined}>\n <StatusBadge\n type={part.status.type}\n reason={part.status.reason}\n compact\n size=\"sm\"\n />\n </div>\n ) : null}\n </div>\n );\n case \"data\":\n return (\n <PartShell\n type={part.name ? `data: ${part.name}` : \"data\"}\n status={part.status}\n compact={compact}\n >\n <JSONTree value={part.data} openDepth={compact ? 0 : 1} />\n </PartShell>\n );\n case \"generative-ui\":\n return (\n <PartShell type=\"generative-ui\" status={part.status} compact={compact}>\n <JSONTree value={part.spec} openDepth={compact ? 0 : 1} />\n </PartShell>\n );\n default:\n return (\n <PartShell\n type={part.rawType || \"unknown\"}\n status={part.status}\n compact={compact}\n >\n <JSONTree value={part.raw} openDepth={compact ? 0 : 1} />\n </PartShell>\n );\n }\n};\n"],"mappings":"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"}
@@ -1,8 +1,5 @@
1
1
  //#region src/views/message/RoleLabel.d.ts
2
- declare const RoleLabel: ({
3
- role,
4
- compact
5
- }: {
2
+ declare const RoleLabel: ({ role, compact }: {
6
3
  role: string;
7
4
  compact?: boolean;
8
5
  }) => import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"RoleLabel.d.ts","names":[],"sources":["../../../src/views/message/RoleLabel.tsx"],"mappings":";cAEa,SAAA;EAAa,IAAA;EAAA;AAAA;EAIxB,IAAA;EACA,OAAA;AAAA,sBACD,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"RoleLabel.d.ts","names":[],"sources":["../../../src/views/message/RoleLabel.tsx"],"mappings":";cAEa,cAAa,MAAA;EAIxB;EACA;sBACD,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"RoleLabel.js","names":["clsx","RoleLabel","t0","$","_c","role","compact","t1","undefined","t2","t3","t4"],"sources":["../../../src/views/message/RoleLabel.tsx"],"sourcesContent":["import clsx from \"clsx\";\n\nexport const RoleLabel = ({\n role,\n compact = false,\n}: {\n role: string;\n compact?: boolean;\n}) => (\n <span\n className={clsx(\n \"shrink-0 leading-none capitalize\",\n compact\n ? \"text-muted-foreground text-[10px] font-medium\"\n : role === \"user\"\n ? \"bg-accent text-foreground rounded px-1.5 py-0.5 text-[11px] font-medium\"\n : \"text-foreground text-[12px] font-medium\",\n )}\n >\n {role}\n </span>\n);\n"],"mappings":";;;;AAEA,MAAaC,aAAYC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAC,MAAAC,SAAAC,OAAAL;CAUpB,MAAAO,MARJF,OAAAC,KAAAA,IAAA,QAAAD,MAQI,kDAEIF,SAAS,SAAT,4EAAA;CAE2C,IAAAK;CAAA,IAAAP,EAAA,OAAAM,IAAA;EANtCC,KAAAV,KACT,oCACAS,EAKF;EAACN,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAQ;CAAA,IAAAR,EAAA,OAAAE,QAAAF,EAAA,OAAAO,IAAA;EARHC,KAAA,oBAAA,QAAA;GACa,WAAAD;aASVL;EACI,CAAA;EAAAF,EAAA,KAAAE;EAAAF,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OAXPQ;AAWO"}
1
+ {"version":3,"file":"RoleLabel.js","names":["clsx","RoleLabel","t0","$","_c","role","compact","t1","undefined","t2","t3","t4"],"sources":["../../../src/views/message/RoleLabel.tsx"],"sourcesContent":["import clsx from \"clsx\";\n\nexport const RoleLabel = ({\n role,\n compact = false,\n}: {\n role: string;\n compact?: boolean;\n}) => (\n <span\n className={clsx(\n \"shrink-0 leading-none capitalize\",\n compact\n ? \"text-muted-foreground text-[10px] font-medium\"\n : role === \"user\"\n ? \"bg-accent text-foreground rounded px-1.5 py-0.5 text-[11px] font-medium\"\n : \"text-foreground text-[12px] font-medium\",\n )}\n >\n {role}\n </span>\n);\n"],"mappings":";;;;AAEA,MAAaC,aAAYC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAC,MAAAC,SAAAC,OAAAL;CAUpB,MAAAO,MARJF,OAAAC,KAAAA,IAAA,QAAAD,MAQI,kDAEIF,SAAS,SAAT,4EAAA;CAE2C,IAAAK;CAAA,IAAAP,EAAA,OAAAM,IAAA;EANtCC,KAAAV,KACT,oCACAS,EAKF;EAACN,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAQ;CAAA,IAAAR,EAAA,OAAAE,QAAAF,EAAA,OAAAO,IAAA;EARHC,KAAA,oBAAA,QAAA;GACa,WAAAD;GASVL,UAAAA;EACI,CAAA;EAAAF,EAAA,KAAAE;EAAAF,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OAXPQ;AAWO"}
@@ -1,13 +1,8 @@
1
1
  //#region src/views/message/StatusBadge.d.ts
2
- declare const StatusBadge: ({
3
- type,
4
- reason,
5
- compact,
6
- size,
7
- className
8
- }: {
2
+ declare const StatusBadge: ({ type, reason, compact, size, className }: {
9
3
  type: string;
10
- reason?: string | undefined; /** Omits the reason segment — better for narrow transcript rails. */
4
+ reason?: string | undefined;
5
+ /** Omits the reason segment — better for narrow transcript rails. */
11
6
  compact?: boolean;
12
7
  size?: "default" | "sm";
13
8
  className?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBadge.d.ts","names":[],"sources":["../../../src/views/message/StatusBadge.tsx"],"mappings":";cAGa,WAAA;EAAe,IAAA;EAAA,MAAA;EAAA,OAAA;EAAA,IAAA;EAAA;AAAA;EAO1B,IAAA;EACA,MAAA;EAEA,OAAA;EACA,IAAA;EACA,SAAA;AAAA,sBACD,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"StatusBadge.d.ts","names":[],"sources":["../../../src/views/message/StatusBadge.tsx"],"mappings":";cAGa,gBAAe,MAAA,QAAA,SAAA,MAAA;EAO1B;EACA;;EAEA;EACA;EACA;sBACD,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBadge.js","names":["clsx","STATUS_TONE","ToneBadge","StatusBadge","t0","$","_c","type","reason","compact","t1","size","t2","className","undefined","t3","t4","t5","t6","t7"],"sources":["../../../src/views/message/StatusBadge.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { STATUS_TONE, ToneBadge } from \"../ui\";\n\nexport const StatusBadge = ({\n type,\n reason,\n compact = false,\n size = \"default\",\n className,\n}: {\n type: string;\n reason?: string | undefined;\n /** Omits the reason segment — better for narrow transcript rails. */\n compact?: boolean;\n size?: \"default\" | \"sm\";\n className?: string | undefined;\n}) => (\n <ToneBadge\n tone={STATUS_TONE[type]}\n size={size}\n className={clsx(\"inline-flex max-w-full items-center gap-0.5\", className)}\n >\n <span className=\"truncate\">{type}</span>\n {!compact && reason ? (\n <span className=\"truncate opacity-70\">· {reason}</span>\n ) : null}\n </ToneBadge>\n);\n"],"mappings":";;;;;;AAGA,MAAaG,eAAcC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAC,MAAAC,QAAAC,SAAAC,IAAAC,MAAAC,IAAAC,cAAAT;CAG1B,MAAAK,UAAAC,OAAAI,KAAAA,IAAA,QAAAJ;CACA,MAAAC,OAAAC,OAAAE,KAAAA,IAAA,YAAAF;CAWQ,MAAAG,KAAAd,YAAYM;CAAK,IAAAS;CAAA,IAAAX,EAAA,OAAAQ,WAAA;EAEZG,KAAAhB,KAAK,+CAA+Ca,SAAS;EAACR,EAAA,KAAAQ;EAAAR,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAY;CAAA,IAAAZ,EAAA,OAAAE,MAAA;EAEzEU,KAAA,oBAAA,QAAA;GAAgB,WAAA;aAAYV;EAAY,CAAA;EAAAF,EAAA,KAAAE;EAAAF,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,IAAAa;CAAA,IAAAb,EAAA,OAAAI,WAAAJ,EAAA,OAAAG,QAAA;EACvCU,KAAA,CAACT,WAADD,SACC,qBAAA,QAAA;GAAgB,WAAA;aAAhB,CAAsC,MAAGA,MAAc;OADxD;EAEOH,EAAA,KAAAI;EAAAJ,EAAA,KAAAG;EAAAH,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,OAAAM,QAAAN,EAAA,OAAAU,MAAAV,EAAA,OAAAW,MAAAX,EAAA,QAAAY,MAAAZ,EAAA,QAAAa,IAAA;EARVC,KAAA,qBAAC,WAAD;GACQ,MAAAJ;GACAJ;GACK,WAAAK;aAHb,CAKEC,IACCC,EANO;;EASEb,EAAA,KAAAM;EAAAN,EAAA,KAAAU;EAAAV,EAAA,KAAAW;EAAAX,EAAA,MAAAY;EAAAZ,EAAA,MAAAa;EAAAb,EAAA,MAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,OATZc;AASY"}
1
+ {"version":3,"file":"StatusBadge.js","names":["clsx","STATUS_TONE","ToneBadge","StatusBadge","t0","$","_c","type","reason","compact","t1","size","t2","className","undefined","t3","t4","t5","t6","t7"],"sources":["../../../src/views/message/StatusBadge.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { STATUS_TONE, ToneBadge } from \"../ui\";\n\nexport const StatusBadge = ({\n type,\n reason,\n compact = false,\n size = \"default\",\n className,\n}: {\n type: string;\n reason?: string | undefined;\n /** Omits the reason segment — better for narrow transcript rails. */\n compact?: boolean;\n size?: \"default\" | \"sm\";\n className?: string | undefined;\n}) => (\n <ToneBadge\n tone={STATUS_TONE[type]}\n size={size}\n className={clsx(\"inline-flex max-w-full items-center gap-0.5\", className)}\n >\n <span className=\"truncate\">{type}</span>\n {!compact && reason ? (\n <span className=\"truncate opacity-70\">· {reason}</span>\n ) : null}\n </ToneBadge>\n);\n"],"mappings":";;;;;;AAGA,MAAaG,eAAcC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAC,MAAAC,QAAAC,SAAAC,IAAAC,MAAAC,IAAAC,cAAAT;CAG1B,MAAAK,UAAAC,OAAAI,KAAAA,IAAA,QAAAJ;CACA,MAAAC,OAAAC,OAAAE,KAAAA,IAAA,YAAAF;CAWQ,MAAAG,KAAAd,YAAYM;CAAK,IAAAS;CAAA,IAAAX,EAAA,OAAAQ,WAAA;EAEZG,KAAAhB,KAAK,+CAA+Ca,SAAS;EAACR,EAAA,KAAAQ;EAAAR,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAY;CAAA,IAAAZ,EAAA,OAAAE,MAAA;EAEzEU,KAAA,oBAAA,QAAA;GAAgB,WAAA;GAAYV,UAAAA;EAAY,CAAA;EAAAF,EAAA,KAAAE;EAAAF,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,IAAAa;CAAA,IAAAb,EAAA,OAAAI,WAAAJ,EAAA,OAAAG,QAAA;EACvCU,KAAA,CAACT,WAADD,SACC,qBAAA,QAAA;GAAgB,WAAA;GAAhB,UAAA,CAAsC,MAAGA,MAAc;EADxD,CAAA,IAAA;EAEOH,EAAA,KAAAI;EAAAJ,EAAA,KAAAG;EAAAH,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,OAAAM,QAAAN,EAAA,OAAAU,MAAAV,EAAA,OAAAW,MAAAX,EAAA,QAAAY,MAAAZ,EAAA,QAAAa,IAAA;EARVC,KAAA,qBAAC,WAAD;GACQ,MAAAJ;GACAJ;GACK,WAAAK;GAHb,UAAA,CAKEC,IACCC,EANO;;EASEb,EAAA,KAAAM;EAAAN,EAAA,KAAAU;EAAAV,EAAA,KAAAW;EAAAX,EAAA,MAAAY;EAAAZ,EAAA,MAAAa;EAAAb,EAAA,MAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,OATZc;AASY"}
@@ -1,10 +1,6 @@
1
1
  import { ToolCallPartPreview } from "./types.js";
2
-
3
2
  //#region src/views/message/ToolCallView.d.ts
4
- declare const ToolCallView: ({
5
- part,
6
- nested
7
- }: {
3
+ declare const ToolCallView: ({ part, nested }: {
8
4
  part: ToolCallPartPreview;
9
5
  nested?: boolean;
10
6
  }) => import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ToolCallView.d.ts","names":[],"sources":["../../../src/views/message/ToolCallView.tsx"],"mappings":";;;cAoBa,YAAA;EAAgB,IAAA;EAAA;AAAA;EAI3B,IAAA,EAAM,mBAAA;EACN,MAAA;AAAA,sBACD,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"ToolCallView.d.ts","names":[],"sources":["../../../src/views/message/ToolCallView.tsx"],"mappings":";;cAoBa,iBAAgB,MAAA;EAI3B,MAAM;EACN;sBACD,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolCallView.js","names":["clsx","JSONTree","ToneBadge","PartDisclosure","StatusBadge","ToolCallPartPreview","isAwaiting","part","status","type","interrupt","undefined","approval","approved","sameAsArgsJson","argsText","trim","JSON","stringify","args","ToolCallView","t0","$","_c","nested","t1","t2","awaiting","t3","t4","t5","Symbol","for","t6","toolName","t7","reason","t8","isError","t9","mcp","t10","t11","id","String","isAutomatic","payload","t12","toolCallId","t13","t14","t15","result","t16","artifact","t17","modelContent","t18","t19","subMessageCount","t20","t21"],"sources":["../../../src/views/message/ToolCallView.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { JSONTree, ToneBadge } from \"../ui\";\nimport { PartDisclosure } from \"./PartDisclosure\";\nimport { StatusBadge } from \"./StatusBadge\";\nimport type { ToolCallPartPreview } from \"./types\";\n\nconst isAwaiting = (part: ToolCallPartPreview) =>\n part.status?.type === \"requires-action\" ||\n part.interrupt !== undefined ||\n (part.approval !== undefined && part.approval.approved === undefined);\n\nconst sameAsArgsJson = (part: ToolCallPartPreview) => {\n if (part.argsText === undefined) return false;\n try {\n return part.argsText.trim() === JSON.stringify(part.args);\n } catch {\n return false;\n }\n};\n\nexport const ToolCallView = ({\n part,\n nested = false,\n}: {\n part: ToolCallPartPreview;\n nested?: boolean;\n}) => {\n const awaiting = isAwaiting(part);\n\n return (\n <details\n open={awaiting}\n className={clsx(\n \"group\",\n !nested && \"border-border overflow-hidden rounded-md border\",\n )}\n >\n <summary className=\"hover:bg-accent/40 flex cursor-pointer list-none items-center gap-1.5 px-2 py-1.5 text-[11px] select-none\">\n <span className=\"text-muted-foreground inline-block shrink-0 transition-transform group-open:rotate-90\">\n ›\n </span>\n <span className=\"text-foreground min-w-0 flex-1 truncate font-medium\">\n {part.toolName}\n </span>\n {part.status ? (\n <StatusBadge\n type={part.status.type}\n reason={part.status.reason}\n compact\n size=\"sm\"\n />\n ) : null}\n {part.isError ? (\n <StatusBadge type=\"incomplete\" reason=\"error\" compact size=\"sm\" />\n ) : null}\n {part.mcp !== undefined ? (\n <ToneBadge tone=\"violet\" size=\"sm\">\n mcp\n </ToneBadge>\n ) : null}\n </summary>\n\n <div className=\"border-border flex flex-col gap-0.5 border-t px-2 py-1\">\n {awaiting ? (\n <div className=\"bg-muted/50 rounded border px-2 py-1.5 text-[10px]\">\n <ToneBadge tone=\"amber\" size=\"sm\">\n {part.approval ? \"Awaiting approval\" : \"Awaiting human input\"}\n </ToneBadge>\n {part.approval ? (\n <div className=\"text-muted-foreground mt-1 flex flex-wrap gap-x-2 gap-y-0.5\">\n {part.approval.id ? <span>id: {part.approval.id}</span> : null}\n <span>\n approved:{\" \"}\n {part.approval.approved === undefined\n ? \"pending\"\n : String(part.approval.approved)}\n </span>\n {part.approval.isAutomatic !== undefined ? (\n <span>auto: {String(part.approval.isAutomatic)}</span>\n ) : null}\n {part.approval.reason ? (\n <span>{part.approval.reason}</span>\n ) : null}\n </div>\n ) : null}\n {part.interrupt?.payload !== undefined ? (\n <div className=\"mt-1\">\n <JSONTree\n value={part.interrupt.payload}\n openDepth={0}\n compact\n />\n </div>\n ) : null}\n </div>\n ) : null}\n\n {part.toolCallId ? (\n <PartDisclosure label=\"Call id\">\n <span className=\"text-muted-foreground font-mono text-[10px] break-all\">\n {part.toolCallId}\n </span>\n </PartDisclosure>\n ) : null}\n\n <PartDisclosure label=\"Arguments\">\n <JSONTree value={part.args} openDepth={0} compact />\n </PartDisclosure>\n\n {part.argsText !== undefined && !sameAsArgsJson(part) ? (\n <PartDisclosure label=\"Raw args\">\n <pre className=\"text-foreground font-mono text-[10px] leading-snug break-words whitespace-pre-wrap\">\n {part.argsText}\n </pre>\n </PartDisclosure>\n ) : null}\n\n {part.result !== undefined ? (\n <PartDisclosure label={part.isError ? \"Result (error)\" : \"Result\"}>\n <JSONTree value={part.result} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n\n {part.artifact !== undefined ? (\n <PartDisclosure label=\"Artifact\">\n <JSONTree value={part.artifact} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n\n {part.modelContent !== undefined ? (\n <PartDisclosure label=\"Model content\">\n <JSONTree value={part.modelContent} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n\n {part.mcp !== undefined ? (\n <PartDisclosure label=\"MCP\">\n <JSONTree value={part.mcp} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n\n {part.subMessageCount > 0 ? (\n <span className=\"text-muted-foreground text-[10px]\">\n {part.subMessageCount} nested sub-agent message\n {part.subMessageCount === 1 ? \"\" : \"s\"}\n </span>\n ) : null}\n </div>\n </details>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"ToolCallView.js","names":["clsx","JSONTree","ToneBadge","PartDisclosure","StatusBadge","ToolCallPartPreview","isAwaiting","part","status","type","interrupt","undefined","approval","approved","sameAsArgsJson","argsText","trim","JSON","stringify","args","ToolCallView","t0","$","_c","nested","t1","t2","awaiting","t3","t4","t5","Symbol","for","t6","toolName","t7","reason","t8","isError","t9","mcp","t10","t11","id","String","isAutomatic","payload","t12","toolCallId","t13","t14","t15","result","t16","artifact","t17","modelContent","t18","t19","subMessageCount","t20","t21"],"sources":["../../../src/views/message/ToolCallView.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { JSONTree, ToneBadge } from \"../ui\";\nimport { PartDisclosure } from \"./PartDisclosure\";\nimport { StatusBadge } from \"./StatusBadge\";\nimport type { ToolCallPartPreview } from \"./types\";\n\nconst isAwaiting = (part: ToolCallPartPreview) =>\n part.status?.type === \"requires-action\" ||\n part.interrupt !== undefined ||\n (part.approval !== undefined && part.approval.approved === undefined);\n\nconst sameAsArgsJson = (part: ToolCallPartPreview) => {\n if (part.argsText === undefined) return false;\n try {\n return part.argsText.trim() === JSON.stringify(part.args);\n } catch {\n return false;\n }\n};\n\nexport const ToolCallView = ({\n part,\n nested = false,\n}: {\n part: ToolCallPartPreview;\n nested?: boolean;\n}) => {\n const awaiting = isAwaiting(part);\n\n return (\n <details\n open={awaiting}\n className={clsx(\n \"group\",\n !nested && \"border-border overflow-hidden rounded-md border\",\n )}\n >\n <summary className=\"hover:bg-accent/40 flex cursor-pointer list-none items-center gap-1.5 px-2 py-1.5 text-[11px] select-none\">\n <span className=\"text-muted-foreground inline-block shrink-0 transition-transform group-open:rotate-90\">\n ›\n </span>\n <span className=\"text-foreground min-w-0 flex-1 truncate font-medium\">\n {part.toolName}\n </span>\n {part.status ? (\n <StatusBadge\n type={part.status.type}\n reason={part.status.reason}\n compact\n size=\"sm\"\n />\n ) : null}\n {part.isError ? (\n <StatusBadge type=\"incomplete\" reason=\"error\" compact size=\"sm\" />\n ) : null}\n {part.mcp !== undefined ? (\n <ToneBadge tone=\"violet\" size=\"sm\">\n mcp\n </ToneBadge>\n ) : null}\n </summary>\n\n <div className=\"border-border flex flex-col gap-0.5 border-t px-2 py-1\">\n {awaiting ? (\n <div className=\"bg-muted/50 rounded border px-2 py-1.5 text-[10px]\">\n <ToneBadge tone=\"amber\" size=\"sm\">\n {part.approval ? \"Awaiting approval\" : \"Awaiting human input\"}\n </ToneBadge>\n {part.approval ? (\n <div className=\"text-muted-foreground mt-1 flex flex-wrap gap-x-2 gap-y-0.5\">\n {part.approval.id ? <span>id: {part.approval.id}</span> : null}\n <span>\n approved:{\" \"}\n {part.approval.approved === undefined\n ? \"pending\"\n : String(part.approval.approved)}\n </span>\n {part.approval.isAutomatic !== undefined ? (\n <span>auto: {String(part.approval.isAutomatic)}</span>\n ) : null}\n {part.approval.reason ? (\n <span>{part.approval.reason}</span>\n ) : null}\n </div>\n ) : null}\n {part.interrupt?.payload !== undefined ? (\n <div className=\"mt-1\">\n <JSONTree\n value={part.interrupt.payload}\n openDepth={0}\n compact\n />\n </div>\n ) : null}\n </div>\n ) : null}\n\n {part.toolCallId ? (\n <PartDisclosure label=\"Call id\">\n <span className=\"text-muted-foreground font-mono text-[10px] break-all\">\n {part.toolCallId}\n </span>\n </PartDisclosure>\n ) : null}\n\n <PartDisclosure label=\"Arguments\">\n <JSONTree value={part.args} openDepth={0} compact />\n </PartDisclosure>\n\n {part.argsText !== undefined && !sameAsArgsJson(part) ? (\n <PartDisclosure label=\"Raw args\">\n <pre className=\"text-foreground font-mono text-[10px] leading-snug break-words whitespace-pre-wrap\">\n {part.argsText}\n </pre>\n </PartDisclosure>\n ) : null}\n\n {part.result !== undefined ? (\n <PartDisclosure label={part.isError ? \"Result (error)\" : \"Result\"}>\n <JSONTree value={part.result} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n\n {part.artifact !== undefined ? (\n <PartDisclosure label=\"Artifact\">\n <JSONTree value={part.artifact} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n\n {part.modelContent !== undefined ? (\n <PartDisclosure label=\"Model content\">\n <JSONTree value={part.modelContent} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n\n {part.mcp !== undefined ? (\n <PartDisclosure label=\"MCP\">\n <JSONTree value={part.mcp} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n\n {part.subMessageCount > 0 ? (\n <span className=\"text-muted-foreground text-[10px]\">\n {part.subMessageCount} nested sub-agent message\n {part.subMessageCount === 1 ? \"\" : \"s\"}\n </span>\n ) : null}\n </div>\n </details>\n );\n};\n"],"mappings":"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"}
@@ -1,14 +1,11 @@
1
1
  import { MessageTimingPreview } from "./types.js";
2
-
3
2
  //#region src/views/message/TtftBar.d.ts
4
3
  /**
5
4
  * Splits a model turn into the time-to-first-token segment (dim) and the
6
5
  * streaming segment (solid). The only width-bearing timing form: both numbers
7
6
  * are measured, not derived. Renders nothing unless all three timestamps exist.
8
7
  */
9
- declare const TtftBar: ({
10
- timing
11
- }: {
8
+ declare const TtftBar: ({ timing }: {
12
9
  timing: MessageTimingPreview;
13
10
  }) => import("react").JSX.Element | null;
14
11
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"TtftBar.d.ts","names":[],"sources":["../../../src/views/message/TtftBar.tsx"],"mappings":";;;;;AAQA;;;cAAa,OAAA;EAAW;AAAA;EAAc,MAAA,EAAQ,oBAAoB;AAAA,sBAAE,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"TtftBar.d.ts","names":[],"sources":["../../../src/views/message/TtftBar.tsx"],"mappings":";;;;;;;cAQa,YAAW;EAAc,QAAQ;sBAAsB,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TtftBar.js","names":["formatMs","MessageTimingPreview","TtftBar","t0","$","_c","timing","streamStartTime","firstTokenTime","totalStreamTime","undefined","ttft","Math","max","total","stream","ttftPercent","t1","t2","t3","t4","t5","t6","t7","width","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17"],"sources":["../../../src/views/message/TtftBar.tsx"],"sourcesContent":["import { formatMs } from \"../../utils/common\";\nimport type { MessageTimingPreview } from \"./types\";\n\n/**\n * Splits a model turn into the time-to-first-token segment (dim) and the\n * streaming segment (solid). The only width-bearing timing form: both numbers\n * are measured, not derived. Renders nothing unless all three timestamps exist.\n */\nexport const TtftBar = ({ timing }: { timing: MessageTimingPreview }) => {\n const { streamStartTime, firstTokenTime, totalStreamTime } = timing;\n if (\n streamStartTime === undefined ||\n firstTokenTime === undefined ||\n totalStreamTime === undefined\n ) {\n return null;\n }\n\n const ttft = Math.max(0, firstTokenTime - streamStartTime);\n const total = Math.max(totalStreamTime, ttft);\n const stream = Math.max(0, total - ttft);\n const ttftPercent = total > 0 ? (ttft / total) * 100 : 0;\n\n return (\n <div className=\"flex flex-col gap-0.5\">\n <div className=\"text-muted-foreground flex justify-between text-[9px] leading-none tabular-nums\">\n <span>TTFT {formatMs(ttft)}</span>\n <span>{formatMs(stream)} stream</span>\n </div>\n <div className=\"bg-muted flex h-1 overflow-hidden rounded-full\">\n <div\n className=\"bg-muted-foreground/40 h-full\"\n style={{ width: `${ttftPercent}%` }}\n title={`TTFT ${formatMs(ttft)}`}\n />\n <div\n className=\"bg-primary h-full\"\n style={{ width: `${100 - ttftPercent}%` }}\n title={`stream ${formatMs(stream)}`}\n />\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAQA,MAAaE,WAAUC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAC,WAAAH;CACtB,MAAA,EAAAI,iBAAAC,gBAAAC,oBAA6DH;CAC7D,IACEC,oBAAoBG,KAAAA,KACpBF,mBAAmBE,KAAAA,KACnBD,oBAAoBC,KAAAA,GAAS,OAEtB;CAGT,MAAAC,OAAaC,KAAIC,IAAK,GAAGL,iBAAiBD,eAAe;CACzD,MAAAO,QAAcF,KAAIC,IAAKJ,iBAAiBE,IAAI;CAC5C,MAAAI,SAAeH,KAAIC,IAAK,GAAGC,QAAQH,IAAI;CACvC,MAAAK,cAAoBF,QAAQ,IAAKH,OAAOG,QAAS,MAA7B;CAAqC,IAAAG;CAAA,IAAAb,EAAA,OAAAO,MAAA;EAKvCM,KAAAjB,SAASW,IAAI;EAACP,EAAA,KAAAO;EAAAP,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,OAAAa,IAAA;EAA1BC,KAAA,qBAAA,QAAA,EAAA,UAAA,CAAM,SAAMD,EAAsB,EAAA,CAAA;EAAAb,EAAA,KAAAa;EAAAb,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,OAAAW,QAAA;EAC3BI,KAAAnB,SAASe,MAAM;EAACX,EAAA,KAAAW;EAAAX,EAAA,KAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,IAAAgB;CAAA,IAAAhB,EAAA,OAAAe,IAAA;EAAvBC,KAAA,qBAAA,QAAA,EAAA,UAAA,CAAOD,IAAiB,SAAc,EAAA,CAAA;EAAAf,EAAA,KAAAe;EAAAf,EAAA,KAAAgB;CAAA,OAAAA,KAAAhB,EAAA;CAAA,IAAAiB;CAAA,IAAAjB,EAAA,OAAAc,MAAAd,EAAA,OAAAgB,IAAA;EAFxCC,KAAA,qBAAA,OAAA;GAAe,WAAA;aAAf,CACEH,IACAE,EACI;;EAAAhB,EAAA,KAAAc;EAAAd,EAAA,KAAAgB;EAAAhB,EAAA,MAAAiB;CAAA,OAAAA,KAAAjB,EAAA;CAIc,MAAAkB,KAAA,GAAGN,YAAW;CAAG,IAAAO;CAAA,IAAAnB,EAAA,QAAAkB,IAAA;EAA1BC,KAAA,EAAAC,OAASF,GAAkB;EAAClB,EAAA,MAAAkB;EAAAlB,EAAA,MAAAmB;CAAA,OAAAA,KAAAnB,EAAA;CAAA,IAAAqB;CAAA,IAAArB,EAAA,QAAAO,MAAA;EACpBc,KAAAzB,SAASW,IAAI;EAACP,EAAA,MAAAO;EAAAP,EAAA,MAAAqB;CAAA,OAAAA,KAAArB,EAAA;CAAtB,MAAAsB,KAAA,QAAQD;CAAgB,IAAAE;CAAA,IAAAvB,EAAA,QAAAmB,MAAAnB,EAAA,QAAAsB,IAAA;EAHjCC,MAAA,oBAAA,OAAA;GACY,WAAA;GACH,OAAAJ;GACA,OAAAG;EAAwB,CAAA;EAC/BtB,EAAA,MAAAmB;EAAAnB,EAAA,MAAAsB;EAAAtB,EAAA,MAAAuB;CAAA,OAAAA,MAAAvB,EAAA;CAGgB,MAAAwB,MAAA,GAAG,MAAMZ,YAAW;CAAG,IAAAa;CAAA,IAAAzB,EAAA,QAAAwB,KAAA;EAAhCC,MAAA,EAAAL,OAASI,IAAwB;EAACxB,EAAA,MAAAwB;EAAAxB,EAAA,MAAAyB;CAAA,OAAAA,MAAAzB,EAAA;CAAA,IAAA0B;CAAA,IAAA1B,EAAA,QAAAW,QAAA;EACxBe,MAAA9B,SAASe,MAAM;EAACX,EAAA,MAAAW;EAAAX,EAAA,MAAA0B;CAAA,OAAAA,MAAA1B,EAAA;CAA1B,MAAA2B,MAAA,UAAUD;CAAkB,IAAAE;CAAA,IAAA5B,EAAA,QAAAyB,OAAAzB,EAAA,QAAA2B,KAAA;EAHrCC,MAAA,oBAAA,OAAA;GACY,WAAA;GACH,OAAAH;GACA,OAAAE;EAA4B,CAAA;EACnC3B,EAAA,MAAAyB;EAAAzB,EAAA,MAAA2B;EAAA3B,EAAA,MAAA4B;CAAA,OAAAA,MAAA5B,EAAA;CAAA,IAAA6B;CAAA,IAAA7B,EAAA,QAAAuB,OAAAvB,EAAA,QAAA4B,KAAA;EAVJC,MAAA,qBAAA,OAAA;GAAe,WAAA;aAAf,CACEN,KAKAK,GAKI;;EAAA5B,EAAA,MAAAuB;EAAAvB,EAAA,MAAA4B;EAAA5B,EAAA,MAAA6B;CAAA,OAAAA,MAAA7B,EAAA;CAAA,IAAA8B;CAAA,IAAA9B,EAAA,QAAA6B,OAAA7B,EAAA,QAAAiB,IAAA;EAhBRa,MAAA,qBAAA,OAAA;GAAe,WAAA;aAAf,CACEb,IAIAY,GAYI;;EAAA7B,EAAA,MAAA6B;EAAA7B,EAAA,MAAAiB;EAAAjB,EAAA,MAAA8B;CAAA,OAAAA,MAAA9B,EAAA;CAAA,OAjBN8B;AAiBM"}
1
+ {"version":3,"file":"TtftBar.js","names":["formatMs","MessageTimingPreview","TtftBar","t0","$","_c","timing","streamStartTime","firstTokenTime","totalStreamTime","undefined","ttft","Math","max","total","stream","ttftPercent","t1","t2","t3","t4","t5","t6","t7","width","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17"],"sources":["../../../src/views/message/TtftBar.tsx"],"sourcesContent":["import { formatMs } from \"../../utils/common\";\nimport type { MessageTimingPreview } from \"./types\";\n\n/**\n * Splits a model turn into the time-to-first-token segment (dim) and the\n * streaming segment (solid). The only width-bearing timing form: both numbers\n * are measured, not derived. Renders nothing unless all three timestamps exist.\n */\nexport const TtftBar = ({ timing }: { timing: MessageTimingPreview }) => {\n const { streamStartTime, firstTokenTime, totalStreamTime } = timing;\n if (\n streamStartTime === undefined ||\n firstTokenTime === undefined ||\n totalStreamTime === undefined\n ) {\n return null;\n }\n\n const ttft = Math.max(0, firstTokenTime - streamStartTime);\n const total = Math.max(totalStreamTime, ttft);\n const stream = Math.max(0, total - ttft);\n const ttftPercent = total > 0 ? (ttft / total) * 100 : 0;\n\n return (\n <div className=\"flex flex-col gap-0.5\">\n <div className=\"text-muted-foreground flex justify-between text-[9px] leading-none tabular-nums\">\n <span>TTFT {formatMs(ttft)}</span>\n <span>{formatMs(stream)} stream</span>\n </div>\n <div className=\"bg-muted flex h-1 overflow-hidden rounded-full\">\n <div\n className=\"bg-muted-foreground/40 h-full\"\n style={{ width: `${ttftPercent}%` }}\n title={`TTFT ${formatMs(ttft)}`}\n />\n <div\n className=\"bg-primary h-full\"\n style={{ width: `${100 - ttftPercent}%` }}\n title={`stream ${formatMs(stream)}`}\n />\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { MessagePreview } from "./types.js";
2
-
3
2
  //#region src/views/message/messagePlainText.d.ts
4
3
  /** Plain-text export of a message for clipboard copy. */
5
4
  declare const messagePlainText: (message: MessagePreview) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"messagePlainText.d.ts","names":[],"sources":["../../../src/views/message/messagePlainText.ts"],"mappings":";;;;cA8Ca,gBAAA,GAAoB,OAAuB,EAAd,cAAc"}
1
+ {"version":3,"file":"messagePlainText.d.ts","names":[],"sources":["../../../src/views/message/messagePlainText.ts"],"mappings":";;;cA8Ca,mBAAoB,SAAS"}
@@ -1,5 +1,4 @@
1
1
  import { MessagePreview, PartPreview, PartStatusPreview } from "./types.js";
2
-
3
2
  //#region src/views/message/parse.d.ts
4
3
  declare const partKey: (part: PartPreview, index: number) => string;
5
4
  declare const parsePartStatus: (value: unknown) => PartStatusPreview | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","names":[],"sources":["../../../src/views/message/parse.ts"],"mappings":";;;cAiBa,OAAA,GAAW,IAAA,EAAM,WAAW,EAAE,KAAA;AAAA,cAK9B,eAAA,GACX,KAAA,cACC,iBAAiB;AAAA,cA2EP,SAAA,GAAa,KAAA,cAAiB,WAwF1C;AAAA,cAkDY,YAAA,GACX,KAAA,WACA,KAAA,aACC,cAAc"}
1
+ {"version":3,"file":"parse.d.ts","names":[],"sources":["../../../src/views/message/parse.ts"],"mappings":";;cAiBa,UAAW,MAAM,aAAa;cAK9B,kBACX,mBACC;cA2EU,YAAa,mBAAiB;cA0I9B,eACX,gBACA,kBACC"}
@@ -1,5 +1,4 @@
1
1
  import { AttachmentPreview } from "../attachments/types.js";
2
-
3
2
  //#region src/views/message/types.d.ts
4
3
  interface PartStatusPreview {
5
4
  readonly type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/views/message/types.ts"],"mappings":";;;UAEiB,iBAAA;EAAA,SACN,IAAA;EAAA,SACA,MAAA;EAAA,SACA,KAAA;AAAA;AAAA,UAGM,uBAAA;EAAA,SACN,EAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA;EAAA,SACA,WAAA;AAAA;AAAA,UAGM,wBAAA;EAAA,SACN,IAAA;EAAA,SACA,OAAO;AAAA;AAAA,UAGR,eAAA;EAAA,SACC,MAAA,GAAS,iBAAiB;AAAA;AAAA,UAGpB,eAAA,SAAwB,eAAe;EAAA,SAC7C,IAAA;EAAA,SACA,IAAA;AAAA;AAAA,UAGM,oBAAA,SAA6B,eAAe;EAAA,SAClD,IAAA;EAAA,SACA,IAAA;AAAA;AAAA,UAGM,iBAAA,SAA0B,eAAe;EAAA,SAC/C,IAAA;EAAA,SACA,UAAA;EAAA,SACA,KAAA;EAAA,SACA,GAAA;AAAA;AAAA,UAGM,gBAAA,SAAyB,eAAe;EAAA,SAC9C,IAAA;EAAA,SACA,QAAA;EAAA,SACA,UAAA;EAAA,SACA,SAAA;AAAA;AAAA,UAGM,eAAA,SAAwB,eAAe;EAAA,SAC7C,IAAA;EAAA,SACA,QAAA;EAAA,SACA,QAAA;EAAA,SACA,SAAA;AAAA;AAAA,UAGM,gBAAA,SAAyB,eAAe;EAAA,SAC9C,IAAA;EAAA,SACA,MAAA;EAAA,SACA,SAAA;AAAA;AAAA,UAGM,eAAA,SAAwB,eAAe;EAAA,SAC7C,IAAA;EAAA,SACA,IAAA;EAAA,SACA,IAAA;AAAA;AAAA,UAGM,uBAAA,SAAgC,eAAe;EAAA,SACrD,IAAA;EAAA,SACA,IAAA;AAAA;AAAA,UAGM,mBAAA,SAA4B,eAAA;EAAA,SAClC,IAAA;EAAA,SACA,UAAA;EAAA,SACA,QAAA;EAAA,SACA,IAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA;EAAA,SACA,OAAA;EAAA,SACA,QAAA;EAAA,SACA,GAAA;EAAA,SACA,YAAA;EAAA,SACA,SAAA,GAAY,wBAAA;EAAA,SACZ,QAAA,GAAW,uBAAA;EAAA,SACX,eAAA;AAAA;AAAA,UAGM,kBAAA,SAA2B,eAAe;EAAA,SAChD,IAAA;EAAA,SACA,OAAA;EAAA,SACA,GAAA;AAAA;AAAA,KAGC,WAAA,GACR,eAAA,GACA,oBAAA,GACA,iBAAA,GACA,gBAAA,GACA,eAAA,GACA,gBAAA,GACA,eAAA,GACA,uBAAA,GACA,mBAAA,GACA,kBAAA;AAAA,UAEa,oBAAA;EAAA,SACN,eAAA;EAAA,SACA,cAAA;EAAA,SACA,eAAA;EAAA,SACA,UAAA;EAAA,SACA,eAAA;EAAA,SACA,WAAA;EAAA,SACA,aAAA;AAAA;AAAA,UAGM,mBAAA;EAAA,SACN,WAAA;EAAA,SACA,YAAA;EAAA,SACA,SAAA;AAAA;AAAA,UAGM,cAAA;EAAA,SACN,EAAA;EAAA,SACA,IAAA;EAAA,SACA,SAAA;EAAA,SACA,MAAA,GAAS,iBAAA;EAAA,SACT,KAAA,WAAgB,WAAA;EAAA,SAChB,WAAA,WAAsB,iBAAA;EAAA,SACtB,MAAA,GAAS,oBAAA;EAAA,SACT,KAAA,GAAQ,mBAAA;EAAA,SACR,YAAA;EAAA,SACA,WAAA;EAAA,SACA,KAAA;EAAA,SACA,YAAA;EAAA,SACA,iBAAA;AAAA"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/views/message/types.ts"],"mappings":";;UAEiB;WACN;WACA;WACA;;UAGM;WACN;WACA;WACA;WACA;;UAGM;WACN;WACA;;UAGD;WACC,SAAS;;UAGH,wBAAwB;WAC9B;WACA;;UAGM,6BAA6B;WACnC;WACA;;UAGM,0BAA0B;WAChC;WACA;WACA;WACA;;UAGM,yBAAyB;WAC/B;WACA;WACA;WACA;;UAGM,wBAAwB;WAC9B;WACA;WACA;WACA;;UAGM,yBAAyB;WAC/B;WACA;WACA;;UAGM,wBAAwB;WAC9B;WACA;WACA;;UAGM,gCAAgC;WACtC;WACA;;UAGM,4BAA4B;WAClC;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,YAAY;WACZ,WAAW;WACX;;UAGM,2BAA2B;WACjC;WACA;WACA;;KAGC,cACR,kBACA,uBACA,oBACA,mBACA,kBACA,mBACA,kBACA,0BACA,sBACA;UAEa;WACN;WACA;WACA;WACA;WACA;WACA;WACA;;UAGM;WACN;WACA;WACA;;UAGM;WACN;WACA;WACA;WACA,SAAS;WACT,gBAAgB;WAChB,sBAAsB;WACtB,SAAS;WACT,QAAQ;WACR;WACA;WACA;WACA;WACA"}
@@ -1,24 +1,15 @@
1
1
  import { NormalizedTool } from "../../utils/toolNormalization.js";
2
-
3
2
  //#region src/views/model-context/ModelContextView.d.ts
4
- declare const SystemPromptPane: ({
5
- system
6
- }: {
3
+ declare const SystemPromptPane: ({ system }: {
7
4
  system: string;
8
5
  }) => import("react").JSX.Element;
9
- declare const ToolDetailPane: ({
10
- tool
11
- }: {
6
+ declare const ToolDetailPane: ({ tool }: {
12
7
  tool: NormalizedTool;
13
8
  }) => import("react").JSX.Element;
14
- declare const CallSettingsPane: ({
15
- value
16
- }: {
9
+ declare const CallSettingsPane: ({ value }: {
17
10
  value: Record<string, unknown>;
18
11
  }) => import("react").JSX.Element;
19
- declare const ConfigPane: ({
20
- value
21
- }: {
12
+ declare const ConfigPane: ({ value }: {
22
13
  value: Record<string, unknown>;
23
14
  }) => import("react").JSX.Element;
24
15
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ModelContextView.d.ts","names":[],"sources":["../../../src/views/model-context/ModelContextView.tsx"],"mappings":";;;cAIa,gBAAA;EAAoB;AAAA;EAAc,MAAA;AAAA,sBAAgB,GAAA,CAAA,OAAA;AAAA,cAMlD,cAAA;EAAkB;AAAA;EAAY,IAAA,EAAM,cAAc;AAAA,sBAAE,GAAA,CAAA,OAAA;AAAA,cAoDpD,gBAAA;EAAoB;AAAA;EAG/B,KAAA,EAAO,MAAM;AAAA,sBACd,GAAA,CAAA,OAAA;AAAA,cAEY,UAAA;EAAc;AAAA;EAAa,KAAA,EAAO,MAAM;AAAA,sBAAmB,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"ModelContextView.d.ts","names":[],"sources":["../../../src/views/model-context/ModelContextView.tsx"],"mappings":";;cAIa,qBAAoB;EAAc;sBAAgB,IAAA;cAMlD,mBAAkB;EAAY,MAAM;sBAAgB,IAAA;cAoDpD,qBAAoB;EAG/B,OAAO;sBACR,IAAA;cAEY,eAAc;EAAa,OAAO;sBAAyB,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModelContextView.js","names":["NormalizedTool","PartDisclosure","Chip","JSONTree","ToneBadge","SystemPromptPane","t0","$","_c","system","t1","ToolDetailPane","tool","type","t2","providerId","t3","display","t4","supportsDeferredResults","t5","disabled","t6","t7","description","t8","parameters","undefined","t9","providerArgs","t10","providerOptions","t11","backendDefault","t12","server","t13","CallSettingsPane","value","ConfigPane"],"sources":["../../../src/views/model-context/ModelContextView.tsx"],"sourcesContent":["import type { NormalizedTool } from \"../../utils/toolNormalization\";\nimport { PartDisclosure } from \"../message/PartDisclosure\";\nimport { Chip, JSONTree, ToneBadge } from \"../ui\";\n\nexport const SystemPromptPane = ({ system }: { system: string }) => (\n <div className=\"text-foreground text-[12px] wrap-break-word whitespace-pre-wrap\">\n {system}\n </div>\n);\n\nexport const ToolDetailPane = ({ tool }: { tool: NormalizedTool }) => (\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex flex-wrap items-center gap-1.5\">\n {tool.type ? <Chip>{tool.type}</Chip> : null}\n {tool.providerId ? (\n <ToneBadge tone=\"violet\" size=\"sm\">\n {tool.providerId}\n </ToneBadge>\n ) : null}\n {tool.display ? <Chip>{tool.display}</Chip> : null}\n {tool.supportsDeferredResults ? <Chip>deferred</Chip> : null}\n {tool.disabled ? (\n <ToneBadge tone=\"amber\" size=\"sm\">\n disabled\n </ToneBadge>\n ) : null}\n </div>\n\n {tool.description ? (\n <p className=\"text-muted-foreground text-[11px] leading-snug\">\n {tool.description}\n </p>\n ) : null}\n\n {tool.parameters !== undefined ? (\n <PartDisclosure label=\"Parameters\">\n <JSONTree value={tool.parameters} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n {tool.providerArgs !== undefined ? (\n <PartDisclosure label=\"Provider args\">\n <JSONTree value={tool.providerArgs} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n {tool.providerOptions !== undefined ? (\n <PartDisclosure label=\"Provider options\">\n <JSONTree value={tool.providerOptions} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n {tool.backendDefault !== undefined ? (\n <PartDisclosure label=\"Backend defaults\">\n <JSONTree value={tool.backendDefault} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n {tool.server !== undefined ? (\n <PartDisclosure label=\"MCP server\">\n <JSONTree value={tool.server} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n </div>\n);\n\nexport const CallSettingsPane = ({\n value,\n}: {\n value: Record<string, unknown>;\n}) => <JSONTree value={value} openDepth={1} compact />;\n\nexport const ConfigPane = ({ value }: { value: Record<string, unknown> }) => (\n <JSONTree value={value} openDepth={1} compact />\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModelContextView.js","names":["NormalizedTool","PartDisclosure","Chip","JSONTree","ToneBadge","SystemPromptPane","t0","$","_c","system","t1","ToolDetailPane","tool","type","t2","providerId","t3","display","t4","supportsDeferredResults","t5","disabled","t6","t7","description","t8","parameters","undefined","t9","providerArgs","t10","providerOptions","t11","backendDefault","t12","server","t13","CallSettingsPane","value","ConfigPane"],"sources":["../../../src/views/model-context/ModelContextView.tsx"],"sourcesContent":["import type { NormalizedTool } from \"../../utils/toolNormalization\";\nimport { PartDisclosure } from \"../message/PartDisclosure\";\nimport { Chip, JSONTree, ToneBadge } from \"../ui\";\n\nexport const SystemPromptPane = ({ system }: { system: string }) => (\n <div className=\"text-foreground text-[12px] wrap-break-word whitespace-pre-wrap\">\n {system}\n </div>\n);\n\nexport const ToolDetailPane = ({ tool }: { tool: NormalizedTool }) => (\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex flex-wrap items-center gap-1.5\">\n {tool.type ? <Chip>{tool.type}</Chip> : null}\n {tool.providerId ? (\n <ToneBadge tone=\"violet\" size=\"sm\">\n {tool.providerId}\n </ToneBadge>\n ) : null}\n {tool.display ? <Chip>{tool.display}</Chip> : null}\n {tool.supportsDeferredResults ? <Chip>deferred</Chip> : null}\n {tool.disabled ? (\n <ToneBadge tone=\"amber\" size=\"sm\">\n disabled\n </ToneBadge>\n ) : null}\n </div>\n\n {tool.description ? (\n <p className=\"text-muted-foreground text-[11px] leading-snug\">\n {tool.description}\n </p>\n ) : null}\n\n {tool.parameters !== undefined ? (\n <PartDisclosure label=\"Parameters\">\n <JSONTree value={tool.parameters} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n {tool.providerArgs !== undefined ? (\n <PartDisclosure label=\"Provider args\">\n <JSONTree value={tool.providerArgs} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n {tool.providerOptions !== undefined ? (\n <PartDisclosure label=\"Provider options\">\n <JSONTree value={tool.providerOptions} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n {tool.backendDefault !== undefined ? (\n <PartDisclosure label=\"Backend defaults\">\n <JSONTree value={tool.backendDefault} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n {tool.server !== undefined ? (\n <PartDisclosure label=\"MCP server\">\n <JSONTree value={tool.server} openDepth={0} compact />\n </PartDisclosure>\n ) : null}\n </div>\n);\n\nexport const CallSettingsPane = ({\n value,\n}: {\n value: Record<string, unknown>;\n}) => <JSONTree value={value} openDepth={1} compact />;\n\nexport const ConfigPane = ({ value }: { value: Record<string, unknown> }) => (\n <JSONTree value={value} openDepth={1} compact />\n);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nav.d.ts","names":[],"sources":["../../src/views/nav.ts"],"mappings":";KAAY,QAAA;EAAqB,EAAA;AAAA;EAC/B,KAAA;EACA,KAAA,EAAO,CAAC;AAAA;AAAA,cAGG,UAAA;EAA0B,EAAA;AAAA,GACrC,MAAA,WAAiB,QAAA,CAAS,CAAA,QACzB,CAAA;AAAA,cAEU,WAAA;EAA2B,EAAA;AAAA,GACtC,MAAA,WAAiB,QAAA,CAAS,CAAA,KAC1B,MAAA,oBACC,CAAA;AAAA,cAGU,UAAA;EAA0B,EAAA;AAAA,GACrC,MAAA,WAAiB,QAAQ,CAAC,CAAA"}
1
+ {"version":3,"file":"nav.d.ts","names":[],"sources":["../../src/views/nav.ts"],"mappings":";KAAY,SAAS;EAAY;;EAC/B;EACA,OAAO;;cAGI,aAAc;EAAY;GACrC,iBAAiB,SAAS,SACzB;cAEU,cAAe;EAAY;GACtC,iBAAiB,SAAS,MAC1B,0BACC;cAGU,aAAc;EAAY;GACrC,iBAAiB,SAAS"}
@@ -1,11 +1,6 @@
1
1
  import { RawNode } from "./rawNodes.js";
2
-
3
2
  //#region src/views/raw/RawDetail.d.ts
4
- declare const RawDetail: ({
5
- node,
6
- state,
7
- scopes
8
- }: {
3
+ declare const RawDetail: ({ node, state, scopes }: {
9
4
  node: RawNode;
10
5
  state: Record<string, unknown>;
11
6
  scopes: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"RawDetail.d.ts","names":[],"sources":["../../../src/views/raw/RawDetail.tsx"],"mappings":";;;cAMa,SAAA;EAAa,IAAA;EAAA,KAAA;EAAA;AAAA;EAKxB,IAAA,EAAM,OAAA;EACN,KAAA,EAAO,MAAA;EACP,MAAA;AAAA,sBACD,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"RawDetail.d.ts","names":[],"sources":["../../../src/views/raw/RawDetail.tsx"],"mappings":";;cAMa,cAAa,MAAA,OAAA;EAKxB,MAAM;EACN,OAAO;EACP;sBACD,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"RawDetail.js","names":["PartDisclosure","ScopesView","JSONTree","renderStatePreview","RawNode","RawDetail","t0","$","_c","node","state","scopes","kind","t1","t2","undefined","t3","value","key"],"sources":["../../../src/views/raw/RawDetail.tsx"],"sourcesContent":["import { PartDisclosure } from \"../message/PartDisclosure\";\nimport { ScopesView } from \"../scopes\";\nimport { JSONTree } from \"../ui\";\nimport { renderStatePreview } from \"./statePreview\";\nimport type { RawNode } from \"./rawNodes\";\n\nexport const RawDetail = ({\n node,\n state,\n scopes,\n}: {\n node: RawNode;\n state: Record<string, unknown>;\n scopes: unknown;\n}) => {\n if (node.kind === \"scopes\") {\n return (\n <div className=\"flex flex-col gap-3\">\n <ScopesView scopes={scopes} />\n {scopes !== undefined ? (\n <PartDisclosure label=\"Raw JSON\">\n <JSONTree value={scopes} openDepth={1} compact />\n </PartDisclosure>\n ) : null}\n </div>\n );\n }\n\n const value = state[node.key];\n\n return (\n <div className=\"flex flex-col gap-3\">\n {renderStatePreview(node.key, value)}\n <PartDisclosure label=\"Raw JSON\">\n <JSONTree value={value} openDepth={1} compact />\n </PartDisclosure>\n </div>\n );\n};\n"],"mappings":";;;;;;;AAMA,MAAaK,aAAYC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAC,MAAAC,OAAAC,WAAAL;CASxB,IAAIG,KAAIG,SAAU,UAAQ;EAAA,IAAAC;EAAA,IAAAC;EAAA,IAAAP,EAAA,OAAAI,QAAA;GAGpBE,KAAA,oBAAC,YAAD,EAAoBF,OAAM,CAAA;GACzBG,KAAAH,WAAWI,KAAAA,IACV,oBAAC,gBAAD;IAAsB,OAAA;cACpB,oBAAC,UAAD;KAAiBJ,OAAAA;KAAmB,WAAA;KAAG,SAAA;IAAO,CAAA;GADjC,CAAA,IADhB;GAIOJ,EAAA,KAAAI;GAAAJ,EAAA,KAAAM;GAAAN,EAAA,KAAAO;EAAA,OAAA;GAAAD,KAAAN,EAAA;GAAAO,KAAAP,EAAA;EAAA;EAAA,IAAAS;EAAA,IAAAT,EAAA,OAAAM,MAAAN,EAAA,OAAAO,IAAA;GANVE,KAAA,qBAAA,OAAA;IAAe,WAAA;cAAf,CACEH,IACCC,EAKG;;GAAAP,EAAA,KAAAM;GAAAN,EAAA,KAAAO;GAAAP,EAAA,KAAAS;EAAA,OAAAA,KAAAT,EAAA;EAAA,OAPNS;CAOM;CAIV,MAAAC,QAAcP,MAAMD,KAAIS;CAAM,IAAAL;CAAA,IAAAN,EAAA,OAAAE,KAAAS,OAAAX,EAAA,OAAAU,OAAA;EAIzBJ,KAAAV,mBAAmBM,KAAIS,KAAMD,KAAK;EAACV,EAAA,KAAAE,KAAAS;EAAAX,EAAA,KAAAU;EAAAV,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,IAAAO;CAAA,IAAAP,EAAA,OAAAU,OAAA;EACpCH,KAAA,oBAAC,gBAAD;GAAsB,OAAA;aACpB,oBAAC,UAAD;IAAiBG;IAAkB,WAAA;IAAG,SAAA;GAAO,CAAA;EADhC,CAAA;EAEEV,EAAA,KAAAU;EAAAV,EAAA,MAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAS;CAAA,IAAAT,EAAA,QAAAM,MAAAN,EAAA,QAAAO,IAAA;EAJnBE,KAAA,qBAAA,OAAA;GAAe,WAAA;aAAf,CACGH,IACDC,EAGI;;EAAAP,EAAA,MAAAM;EAAAN,EAAA,MAAAO;EAAAP,EAAA,MAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,OALNS;AAKM"}
1
+ {"version":3,"file":"RawDetail.js","names":["PartDisclosure","ScopesView","JSONTree","renderStatePreview","RawNode","RawDetail","t0","$","_c","node","state","scopes","kind","t1","t2","undefined","t3","value","key"],"sources":["../../../src/views/raw/RawDetail.tsx"],"sourcesContent":["import { PartDisclosure } from \"../message/PartDisclosure\";\nimport { ScopesView } from \"../scopes\";\nimport { JSONTree } from \"../ui\";\nimport { renderStatePreview } from \"./statePreview\";\nimport type { RawNode } from \"./rawNodes\";\n\nexport const RawDetail = ({\n node,\n state,\n scopes,\n}: {\n node: RawNode;\n state: Record<string, unknown>;\n scopes: unknown;\n}) => {\n if (node.kind === \"scopes\") {\n return (\n <div className=\"flex flex-col gap-3\">\n <ScopesView scopes={scopes} />\n {scopes !== undefined ? (\n <PartDisclosure label=\"Raw JSON\">\n <JSONTree value={scopes} openDepth={1} compact />\n </PartDisclosure>\n ) : null}\n </div>\n );\n }\n\n const value = state[node.key];\n\n return (\n <div className=\"flex flex-col gap-3\">\n {renderStatePreview(node.key, value)}\n <PartDisclosure label=\"Raw JSON\">\n <JSONTree value={value} openDepth={1} compact />\n </PartDisclosure>\n </div>\n );\n};\n"],"mappings":";;;;;;;AAMA,MAAaK,aAAYC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAC,MAAAC,OAAAC,WAAAL;CASxB,IAAIG,KAAIG,SAAU,UAAQ;EAAA,IAAAC;EAAA,IAAAC;EAAA,IAAAP,EAAA,OAAAI,QAAA;GAGpBE,KAAA,oBAAC,YAAD,EAAoBF,OAAM,CAAA;GACzBG,KAAAH,WAAWI,KAAAA,IACV,oBAAC,gBAAD;IAAsB,OAAA;IACpB,UAAA,oBAAC,UAAD;KAAiBJ,OAAAA;KAAmB,WAAA;KAAG,SAAA;IAAO,CAAA;GADjC,CAAA,IADhB;GAIOJ,EAAA,KAAAI;GAAAJ,EAAA,KAAAM;GAAAN,EAAA,KAAAO;EAAA,OAAA;GAAAD,KAAAN,EAAA;GAAAO,KAAAP,EAAA;EAAA;EAAA,IAAAS;EAAA,IAAAT,EAAA,OAAAM,MAAAN,EAAA,OAAAO,IAAA;GANVE,KAAA,qBAAA,OAAA;IAAe,WAAA;IAAf,UAAA,CACEH,IACCC,EAKG;;GAAAP,EAAA,KAAAM;GAAAN,EAAA,KAAAO;GAAAP,EAAA,KAAAS;EAAA,OAAAA,KAAAT,EAAA;EAAA,OAPNS;CAOM;CAIV,MAAAC,QAAcP,MAAMD,KAAIS;CAAM,IAAAL;CAAA,IAAAN,EAAA,OAAAE,KAAAS,OAAAX,EAAA,OAAAU,OAAA;EAIzBJ,KAAAV,mBAAmBM,KAAIS,KAAMD,KAAK;EAACV,EAAA,KAAAE,KAAAS;EAAAX,EAAA,KAAAU;EAAAV,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,IAAAO;CAAA,IAAAP,EAAA,OAAAU,OAAA;EACpCH,KAAA,oBAAC,gBAAD;GAAsB,OAAA;GACpB,UAAA,oBAAC,UAAD;IAAiBG;IAAkB,WAAA;IAAG,SAAA;GAAO,CAAA;EADhC,CAAA;EAEEV,EAAA,KAAAU;EAAAV,EAAA,MAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAS;CAAA,IAAAT,EAAA,QAAAM,MAAAN,EAAA,QAAAO,IAAA;EAJnBE,KAAA,qBAAA,OAAA;GAAe,WAAA;GAAf,UAAA,CACGH,IACDC,EAGI;;EAAAP,EAAA,MAAAM;EAAAN,EAAA,MAAAO;EAAAP,EAAA,MAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,OALNS;AAKM"}
@@ -1,6 +1,5 @@
1
1
  import { ApiInfo } from "../../data/types.js";
2
2
  import { NavGroup } from "../nav.js";
3
-
4
3
  //#region src/views/raw/rawNodes.d.ts
5
4
  type RawNode = {
6
5
  id: `raw:slice:${string}`;
@@ -1 +1 @@
1
- {"version":3,"file":"rawNodes.d.ts","names":[],"sources":["../../../src/views/raw/rawNodes.ts"],"mappings":";;;;KAUY,OAAA;EAEN,EAAA;EACA,IAAA;EACA,GAAA;EACA,IAAA;AAAA;EAEA,EAAA;EAAkB,IAAA;EAAgB,KAAA;AAAA;AAAA,KAE5B,WAAA,GAAc,QAAQ,CAAC,OAAA;AAAA,cAwBtB,SAAA,GAAa,GAAA,UAAa,KAAc;AAAA,cAmCxC,WAAA,GAAe,IAAA,EAAM,OAAA,KAAU,WAAW"}
1
+ {"version":3,"file":"rawNodes.d.ts","names":[],"sources":["../../../src/views/raw/rawNodes.ts"],"mappings":";;;KAUY;EAEN;EACA;EACA;EACA;;EAEA;EAAkB;EAAgB;;KAE5B,cAAc,SAAS;cAwBtB,YAAa,aAAa;cAmC1B,cAAe,MAAM,YAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"statePreview.d.ts","names":[],"sources":["../../../src/views/raw/statePreview.tsx"],"mappings":";cAmKa,kBAAA,GAAsB,GAAA,UAAa,KAAA,8BAAc,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"statePreview.d.ts","names":[],"sources":["../../../src/views/raw/statePreview.tsx"],"mappings":";cAmKa,qBAAsB,aAAa,mCAAc,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"statePreview.js","names":["isRecord","truncate","McpView","ToolUIsView","ComposerAttachments","ComposerFlags","ComposerQueue","ThreadDetails","parseComposerPreview","parseThreadListItemPreview","parseThreadListPreview","parseThreadPreview","InfoCard","JSONTree","SummaryItem","SummaryList","renderToolUIsStatePreview","value","renderThreadsStatePreview","state","threadItems","slice","main","mainThreadId","newThreadId","String","threadIds","length","archivedThreadIds","map","item","id","title","status","remoteId","externalId","renderThreadStatePreview","thread","renderThreadListItemStatePreview","renderComposerStatePreview","composer","text","runConfig","role","textLength","attachments","type","queue","undefined","renderStatePreview","key"],"sources":["../../../src/views/raw/statePreview.tsx"],"sourcesContent":["import { isRecord, truncate } from \"../../utils/common\";\nimport { McpView } from \"../mcp\";\nimport { ToolUIsView } from \"../context\";\nimport {\n ComposerAttachments,\n ComposerFlags,\n ComposerQueue,\n ThreadDetails,\n parseComposerPreview,\n parseThreadListItemPreview,\n parseThreadListPreview,\n parseThreadPreview,\n} from \"../thread\";\nimport { InfoCard, JSONTree, SummaryItem, SummaryList } from \"../ui\";\n\nconst renderToolUIsStatePreview = (value: unknown) => (\n <ToolUIsView value={value} />\n);\n\nconst renderThreadsStatePreview = (value: unknown) => {\n const state = parseThreadListPreview(value);\n if (!state) {\n return <JSONTree value={value} />;\n }\n\n const threadItems = state.threadItems.slice(0, 8);\n const main = state.main;\n\n return (\n <div className=\"flex flex-col gap-6\">\n <InfoCard title=\"Threads\">\n <SummaryList>\n <SummaryItem label=\"Main thread\" value={state.mainThreadId ?? \"—\"} />\n <SummaryItem label=\"New thread\" value={state.newThreadId ?? \"—\"} />\n <SummaryItem label=\"Active\" value={String(state.threadIds.length)} />\n <SummaryItem\n label=\"Archived\"\n value={String(state.archivedThreadIds.length)}\n />\n </SummaryList>\n </InfoCard>\n\n {threadItems.length ? (\n <InfoCard title=\"Thread items\" count={state.threadItems.length}>\n <table className=\"w-full table-fixed text-left\">\n <thead className=\"text-muted-foreground text-[11px]\">\n <tr className=\"border-border border-b\">\n <th className=\"py-1.5 pr-3 font-medium\">Title</th>\n <th className=\"py-1.5 pr-3 font-medium\">Status</th>\n <th className=\"py-1.5 font-medium\">Identifiers</th>\n </tr>\n </thead>\n <tbody className=\"text-foreground text-[12px]\">\n {threadItems.map((item) => (\n <tr\n key={item.id}\n className=\"border-border/70 border-b last:border-b-0\"\n >\n <td className=\"py-2 pr-3 align-top\">\n <div className=\"text-foreground truncate font-medium\">\n {item.title || \"(untitled)\"}\n </div>\n <div className=\"text-muted-foreground truncate font-mono text-[11px]\">\n {item.id}\n </div>\n </td>\n <td className=\"text-muted-foreground py-2 pr-3 align-top\">\n {item.status ?? \"—\"}\n </td>\n <td className=\"text-muted-foreground py-2 align-top font-mono text-[11px]\">\n {item.remoteId ? `Remote: ${item.remoteId}` : null}\n {item.remoteId && item.externalId ? <br /> : null}\n {item.externalId ? `External: ${item.externalId}` : null}\n {!item.remoteId && !item.externalId ? \"—\" : null}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n {state.threadItems.length > threadItems.length ? (\n <div className=\"text-muted-foreground text-[11px]\">\n Showing first {threadItems.length}\n </div>\n ) : null}\n </InfoCard>\n ) : null}\n\n {main ? <ThreadDetails thread={main} title=\"Main thread\" /> : null}\n </div>\n );\n};\n\nconst renderThreadStatePreview = (value: unknown) => {\n const thread = parseThreadPreview(value);\n if (!thread) {\n return <JSONTree value={value} />;\n }\n return <ThreadDetails thread={thread} title=\"Thread\" />;\n};\n\nconst renderThreadListItemStatePreview = (value: unknown) => {\n const item = parseThreadListItemPreview(value);\n if (!item) {\n return <JSONTree value={value} />;\n }\n\n return (\n <SummaryList>\n <SummaryItem label=\"ID\" value={item.id} />\n <SummaryItem label=\"Title\" value={item.title ?? \"(untitled)\"} />\n <SummaryItem label=\"Status\" value={item.status ?? \"—\"} />\n <SummaryItem label=\"Remote ID\" value={item.remoteId ?? \"—\"} />\n <SummaryItem label=\"External ID\" value={item.externalId ?? \"—\"} />\n </SummaryList>\n );\n};\n\nconst renderComposerStatePreview = (value: unknown) => {\n const composer = parseComposerPreview(value);\n if (!composer || !isRecord(value)) {\n return <JSONTree value={value} />;\n }\n\n const text = typeof value.text === \"string\" ? value.text : \"\";\n const runConfig = value.runConfig;\n\n return (\n <div className=\"flex flex-col gap-6\">\n <InfoCard title=\"Composer\">\n <SummaryList>\n <SummaryItem label=\"Role\" value={composer.role ?? \"—\"} />\n <SummaryItem\n label=\"Text length\"\n value={String(composer.textLength)}\n />\n <SummaryItem\n label=\"Attachments\"\n value={String(composer.attachments.length)}\n />\n <SummaryItem label=\"Mode\" value={composer.type ?? \"—\"} />\n </SummaryList>\n <ComposerFlags composer={composer} />\n <ComposerAttachments attachments={composer.attachments} />\n <ComposerQueue queue={composer.queue} />\n </InfoCard>\n\n {text ? (\n <InfoCard title=\"Text preview\">\n <p className=\"text-foreground text-[12px] wrap-break-word whitespace-pre-wrap\">\n {truncate(text, 240)}\n </p>\n </InfoCard>\n ) : null}\n\n {runConfig !== undefined ? (\n <InfoCard title=\"Run config\">\n <JSONTree value={runConfig} />\n </InfoCard>\n ) : null}\n </div>\n );\n};\n\nexport const renderStatePreview = (key: string, value: unknown) => {\n switch (key) {\n case \"threads\":\n return renderThreadsStatePreview(value);\n case \"threadListItems\":\n return renderThreadsStatePreview({\n threadItems: value,\n threadIds: [],\n archivedThreadIds: [],\n });\n case \"thread\":\n return renderThreadStatePreview(value);\n case \"threadListItem\":\n case \"threadlistitem\":\n return renderThreadListItemStatePreview(value);\n case \"tools\":\n return renderToolUIsStatePreview(value);\n case \"composer\":\n return renderComposerStatePreview(value);\n case \"mcp\":\n return <McpView value={value} />;\n default:\n return <JSONTree value={value} />;\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"statePreview.js","names":["isRecord","truncate","McpView","ToolUIsView","ComposerAttachments","ComposerFlags","ComposerQueue","ThreadDetails","parseComposerPreview","parseThreadListItemPreview","parseThreadListPreview","parseThreadPreview","InfoCard","JSONTree","SummaryItem","SummaryList","renderToolUIsStatePreview","value","renderThreadsStatePreview","state","threadItems","slice","main","mainThreadId","newThreadId","String","threadIds","length","archivedThreadIds","map","item","id","title","status","remoteId","externalId","renderThreadStatePreview","thread","renderThreadListItemStatePreview","renderComposerStatePreview","composer","text","runConfig","role","textLength","attachments","type","queue","undefined","renderStatePreview","key"],"sources":["../../../src/views/raw/statePreview.tsx"],"sourcesContent":["import { isRecord, truncate } from \"../../utils/common\";\nimport { McpView } from \"../mcp\";\nimport { ToolUIsView } from \"../context\";\nimport {\n ComposerAttachments,\n ComposerFlags,\n ComposerQueue,\n ThreadDetails,\n parseComposerPreview,\n parseThreadListItemPreview,\n parseThreadListPreview,\n parseThreadPreview,\n} from \"../thread\";\nimport { InfoCard, JSONTree, SummaryItem, SummaryList } from \"../ui\";\n\nconst renderToolUIsStatePreview = (value: unknown) => (\n <ToolUIsView value={value} />\n);\n\nconst renderThreadsStatePreview = (value: unknown) => {\n const state = parseThreadListPreview(value);\n if (!state) {\n return <JSONTree value={value} />;\n }\n\n const threadItems = state.threadItems.slice(0, 8);\n const main = state.main;\n\n return (\n <div className=\"flex flex-col gap-6\">\n <InfoCard title=\"Threads\">\n <SummaryList>\n <SummaryItem label=\"Main thread\" value={state.mainThreadId ?? \"—\"} />\n <SummaryItem label=\"New thread\" value={state.newThreadId ?? \"—\"} />\n <SummaryItem label=\"Active\" value={String(state.threadIds.length)} />\n <SummaryItem\n label=\"Archived\"\n value={String(state.archivedThreadIds.length)}\n />\n </SummaryList>\n </InfoCard>\n\n {threadItems.length ? (\n <InfoCard title=\"Thread items\" count={state.threadItems.length}>\n <table className=\"w-full table-fixed text-left\">\n <thead className=\"text-muted-foreground text-[11px]\">\n <tr className=\"border-border border-b\">\n <th className=\"py-1.5 pr-3 font-medium\">Title</th>\n <th className=\"py-1.5 pr-3 font-medium\">Status</th>\n <th className=\"py-1.5 font-medium\">Identifiers</th>\n </tr>\n </thead>\n <tbody className=\"text-foreground text-[12px]\">\n {threadItems.map((item) => (\n <tr\n key={item.id}\n className=\"border-border/70 border-b last:border-b-0\"\n >\n <td className=\"py-2 pr-3 align-top\">\n <div className=\"text-foreground truncate font-medium\">\n {item.title || \"(untitled)\"}\n </div>\n <div className=\"text-muted-foreground truncate font-mono text-[11px]\">\n {item.id}\n </div>\n </td>\n <td className=\"text-muted-foreground py-2 pr-3 align-top\">\n {item.status ?? \"—\"}\n </td>\n <td className=\"text-muted-foreground py-2 align-top font-mono text-[11px]\">\n {item.remoteId ? `Remote: ${item.remoteId}` : null}\n {item.remoteId && item.externalId ? <br /> : null}\n {item.externalId ? `External: ${item.externalId}` : null}\n {!item.remoteId && !item.externalId ? \"—\" : null}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n {state.threadItems.length > threadItems.length ? (\n <div className=\"text-muted-foreground text-[11px]\">\n Showing first {threadItems.length}\n </div>\n ) : null}\n </InfoCard>\n ) : null}\n\n {main ? <ThreadDetails thread={main} title=\"Main thread\" /> : null}\n </div>\n );\n};\n\nconst renderThreadStatePreview = (value: unknown) => {\n const thread = parseThreadPreview(value);\n if (!thread) {\n return <JSONTree value={value} />;\n }\n return <ThreadDetails thread={thread} title=\"Thread\" />;\n};\n\nconst renderThreadListItemStatePreview = (value: unknown) => {\n const item = parseThreadListItemPreview(value);\n if (!item) {\n return <JSONTree value={value} />;\n }\n\n return (\n <SummaryList>\n <SummaryItem label=\"ID\" value={item.id} />\n <SummaryItem label=\"Title\" value={item.title ?? \"(untitled)\"} />\n <SummaryItem label=\"Status\" value={item.status ?? \"—\"} />\n <SummaryItem label=\"Remote ID\" value={item.remoteId ?? \"—\"} />\n <SummaryItem label=\"External ID\" value={item.externalId ?? \"—\"} />\n </SummaryList>\n );\n};\n\nconst renderComposerStatePreview = (value: unknown) => {\n const composer = parseComposerPreview(value);\n if (!composer || !isRecord(value)) {\n return <JSONTree value={value} />;\n }\n\n const text = typeof value.text === \"string\" ? value.text : \"\";\n const runConfig = value.runConfig;\n\n return (\n <div className=\"flex flex-col gap-6\">\n <InfoCard title=\"Composer\">\n <SummaryList>\n <SummaryItem label=\"Role\" value={composer.role ?? \"—\"} />\n <SummaryItem\n label=\"Text length\"\n value={String(composer.textLength)}\n />\n <SummaryItem\n label=\"Attachments\"\n value={String(composer.attachments.length)}\n />\n <SummaryItem label=\"Mode\" value={composer.type ?? \"—\"} />\n </SummaryList>\n <ComposerFlags composer={composer} />\n <ComposerAttachments attachments={composer.attachments} />\n <ComposerQueue queue={composer.queue} />\n </InfoCard>\n\n {text ? (\n <InfoCard title=\"Text preview\">\n <p className=\"text-foreground text-[12px] wrap-break-word whitespace-pre-wrap\">\n {truncate(text, 240)}\n </p>\n </InfoCard>\n ) : null}\n\n {runConfig !== undefined ? (\n <InfoCard title=\"Run config\">\n <JSONTree value={runConfig} />\n </InfoCard>\n ) : null}\n </div>\n );\n};\n\nexport const renderStatePreview = (key: string, value: unknown) => {\n switch (key) {\n case \"threads\":\n return renderThreadsStatePreview(value);\n case \"threadListItems\":\n return renderThreadsStatePreview({\n threadItems: value,\n threadIds: [],\n archivedThreadIds: [],\n });\n case \"thread\":\n return renderThreadStatePreview(value);\n case \"threadListItem\":\n case \"threadlistitem\":\n return renderThreadListItemStatePreview(value);\n case \"tools\":\n return renderToolUIsStatePreview(value);\n case \"composer\":\n return renderComposerStatePreview(value);\n case \"mcp\":\n return <McpView value={value} />;\n default:\n return <JSONTree value={value} />;\n }\n};\n"],"mappings":"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"}
@@ -1,8 +1,5 @@
1
1
  //#region src/views/runs/PayloadDiff.d.ts
2
- declare const PayloadDiff: ({
3
- before,
4
- after
5
- }: {
2
+ declare const PayloadDiff: ({ before, after }: {
6
3
  before: unknown;
7
4
  after: unknown;
8
5
  }) => import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"PayloadDiff.d.ts","names":[],"sources":["../../../src/views/runs/PayloadDiff.tsx"],"mappings":";cAaa,WAAA;EAAe,MAAA;EAAA;AAAA;EAI1B,MAAA;EACA,KAAA;AAAA,sBACD,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"PayloadDiff.d.ts","names":[],"sources":["../../../src/views/runs/PayloadDiff.tsx"],"mappings":";cAaa,gBAAe,QAAA;EAI1B;EACA;sBACD,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PayloadDiff.js","names":["clsx","diffValues","DiffEntry","SIGN","Record","mark","tone","added","removed","changed","format","value","JSON","stringify","PayloadDiff","t0","$","_c","before","after","t1","t2","t3","Symbol","for","bb0","entries","length","t4","map","_temp","entry","index","kind","path"],"sources":["../../../src/views/runs/PayloadDiff.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { diffValues } from \"../../utils/diff\";\nimport type { DiffEntry } from \"../../utils/diff\";\n\nconst SIGN: Record<DiffEntry[\"kind\"], { mark: string; tone: string }> = {\n added: { mark: \"+\", tone: \"text-emerald-600 dark:text-emerald-400\" },\n removed: { mark: \"−\", tone: \"text-red-600 dark:text-red-400\" },\n changed: { mark: \"~\", tone: \"text-amber-600 dark:text-amber-400\" },\n};\n\nconst format = (value: unknown) =>\n typeof value === \"string\" ? `\"${value}\"` : JSON.stringify(value);\n\nexport const PayloadDiff = ({\n before,\n after,\n}: {\n before: unknown;\n after: unknown;\n}) => {\n const entries = diffValues(before, after);\n\n if (entries.length === 0) {\n return (\n <div className=\"text-muted-foreground text-[11px]\">\n no change from the previous event in this scope\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-0.5 font-mono text-[11px]\">\n {entries.map((entry, index) => {\n const { mark, tone } = SIGN[entry.kind];\n return (\n <div key={index} className=\"flex flex-wrap items-baseline gap-1.5\">\n <span className={clsx(\"shrink-0\", tone)}>{mark}</span>\n <span className=\"text-muted-foreground\">{entry.path}</span>\n <span className=\"text-foreground break-all\">\n {entry.kind === \"changed\"\n ? `${format(entry.before)} → ${format(entry.after)}`\n : format(entry.kind === \"added\" ? entry.after : entry.before)}\n </span>\n </div>\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;;AAIA,MAAMG,OAAkE;CACtEI,OAAO;EAAEF,MAAM;EAAKC,MAAM;CAAyC;CACnEE,SAAS;EAAEH,MAAM;EAAKC,MAAM;CAAiC;CAC7DG,SAAS;EAAEJ,MAAM;EAAKC,MAAM;CAAqC;AACnE;AAEA,MAAMI,UAAUC,UACd,OAAOA,UAAU,WAAW,IAAIA,MAAK,KAAMC,KAAKC,UAAUF,KAAK;AAEjE,MAAaG,eAAcC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAC,QAAAC,UAAAJ;CAM3B,IAAAK;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAN,EAAA,OAAAG,SAAAH,EAAA,OAAAE,QAAA;EAKKI,KAAAC,OAEMC,IAFN,6BAEK;EAACC,KAAA;GANV,MAAAC,UAAgBzB,WAAWiB,QAAQC,KAAK;GAExC,IAAIO,QAAOC,WAAY,GAAC;IAAA,IAAAC;IAAA,IAAAZ,EAAA,OAAAO,OAAAC,IAAA,2BAAA,GAAA;KAEpBI,KAAA,oBAAA,OAAA;MAAe,WAAA;gBAAoC;KAE7C,CAAA;KAAAZ,EAAA,KAAAY;IAAA,OAAAA,KAAAZ,EAAA;IAFNM,KAAAM;IAAA,MAAAH;GAEM;GAKOL,KAAA;GACZC,KAAAK,QAAOG,IAAKC,KAaZ;EAAC;EAAAd,EAAA,KAAAG;EAAAH,EAAA,KAAAE;EAAAF,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAA;EAAAF,KAAAJ,EAAA;EAAAK,KAAAL,EAAA;EAAAM,KAAAN,EAAA;CAAA;CAAA,IAAAM,OAAAC,OAAAC,IAAA,6BAAA,GAAA,OAAAF;CAAA,IAAAM;CAAA,IAAAZ,EAAA,OAAAI,MAAAJ,EAAA,OAAAK,IAAA;EAdJO,KAAA,oBAAA,OAAA;GAAe,WAAAR;aACZC;EAcG,CAAA;EAAAL,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,OAfNY;AAeM;AAjCiB,SAAAE,MAAAC,OAAAC,OAAA;CAoBnB,MAAA,EAAA3B,MAAAC,SAAuBH,KAAK4B,MAAKE;CAAO,OAEtC,qBAAA,OAAA;EAA2B,WAAA;YAA3B;GACE,oBAAA,QAAA;IAAiB,WAAAjC,KAAK,YAAYM,IAAI;cAAID;GAAY,CAAA;GACtD,oBAAA,QAAA;IAAgB,WAAA;cAAyB0B,MAAKG;GAAa,CAAA;GAC3D,oBAAA,QAAA;IAAgB,WAAA;cACbH,MAAKE,SAAU,YAAf,GACMvB,OAAOqB,MAAKb,MAAO,EAAC,KAAMR,OAAOqB,MAAKZ,KAAM,MAC/CT,OAAOqB,MAAKE,SAAU,UAAUF,MAAKZ,QAASY,MAAKb,MAAO;GACzD,CAAA;EACH;IARIc,KAQJ;AAAA"}
1
+ {"version":3,"file":"PayloadDiff.js","names":["clsx","diffValues","DiffEntry","SIGN","Record","mark","tone","added","removed","changed","format","value","JSON","stringify","PayloadDiff","t0","$","_c","before","after","t1","t2","t3","Symbol","for","bb0","entries","length","t4","map","_temp","entry","index","kind","path"],"sources":["../../../src/views/runs/PayloadDiff.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { diffValues } from \"../../utils/diff\";\nimport type { DiffEntry } from \"../../utils/diff\";\n\nconst SIGN: Record<DiffEntry[\"kind\"], { mark: string; tone: string }> = {\n added: { mark: \"+\", tone: \"text-emerald-600 dark:text-emerald-400\" },\n removed: { mark: \"−\", tone: \"text-red-600 dark:text-red-400\" },\n changed: { mark: \"~\", tone: \"text-amber-600 dark:text-amber-400\" },\n};\n\nconst format = (value: unknown) =>\n typeof value === \"string\" ? `\"${value}\"` : JSON.stringify(value);\n\nexport const PayloadDiff = ({\n before,\n after,\n}: {\n before: unknown;\n after: unknown;\n}) => {\n const entries = diffValues(before, after);\n\n if (entries.length === 0) {\n return (\n <div className=\"text-muted-foreground text-[11px]\">\n no change from the previous event in this scope\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-0.5 font-mono text-[11px]\">\n {entries.map((entry, index) => {\n const { mark, tone } = SIGN[entry.kind];\n return (\n <div key={index} className=\"flex flex-wrap items-baseline gap-1.5\">\n <span className={clsx(\"shrink-0\", tone)}>{mark}</span>\n <span className=\"text-muted-foreground\">{entry.path}</span>\n <span className=\"text-foreground break-all\">\n {entry.kind === \"changed\"\n ? `${format(entry.before)} → ${format(entry.after)}`\n : format(entry.kind === \"added\" ? entry.after : entry.before)}\n </span>\n </div>\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;;AAIA,MAAMG,OAAkE;CACtEI,OAAO;EAAEF,MAAM;EAAKC,MAAM;CAAyC;CACnEE,SAAS;EAAEH,MAAM;EAAKC,MAAM;CAAiC;CAC7DG,SAAS;EAAEJ,MAAM;EAAKC,MAAM;CAAqC;AACnE;AAEA,MAAMI,UAAUC,UACd,OAAOA,UAAU,WAAW,IAAIA,MAAK,KAAMC,KAAKC,UAAUF,KAAK;AAEjE,MAAaG,eAAcC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAC,QAAAC,UAAAJ;CAM3B,IAAAK;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAN,EAAA,OAAAG,SAAAH,EAAA,OAAAE,QAAA;EAKKI,KAAAC,OAEMC,IAFN,6BAEK;EAACC,KAAA;GANV,MAAAC,UAAgBzB,WAAWiB,QAAQC,KAAK;GAExC,IAAIO,QAAOC,WAAY,GAAC;IAAA,IAAAC;IAAA,IAAAZ,EAAA,OAAAO,OAAAC,IAAA,2BAAA,GAAA;KAEpBI,KAAA,oBAAA,OAAA;MAAe,WAAA;MAAoC,UAAA;KAE7C,CAAA;KAAAZ,EAAA,KAAAY;IAAA,OAAAA,KAAAZ,EAAA;IAFNM,KAAAM;IAAA,MAAAH;GAEM;GAKOL,KAAA;GACZC,KAAAK,QAAOG,IAAKC,KAaZ;EAAC;EAAAd,EAAA,KAAAG;EAAAH,EAAA,KAAAE;EAAAF,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAA;EAAAF,KAAAJ,EAAA;EAAAK,KAAAL,EAAA;EAAAM,KAAAN,EAAA;CAAA;CAAA,IAAAM,OAAAC,OAAAC,IAAA,6BAAA,GAAA,OAAAF;CAAA,IAAAM;CAAA,IAAAZ,EAAA,OAAAI,MAAAJ,EAAA,OAAAK,IAAA;EAdJO,KAAA,oBAAA,OAAA;GAAe,WAAAR;GACZC,UAAAA;EAcG,CAAA;EAAAL,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,OAfNY;AAeM;AAjCiB,SAAAE,MAAAC,OAAAC,OAAA;CAoBnB,MAAA,EAAA3B,MAAAC,SAAuBH,KAAK4B,MAAKE;CAAO,OAEtC,qBAAA,OAAA;EAA2B,WAAA;EAA3B,UAAA;GACE,oBAAA,QAAA;IAAiB,WAAAjC,KAAK,YAAYM,IAAI;IAAID,UAAAA;GAAY,CAAA;GACtD,oBAAA,QAAA;IAAgB,WAAA;IAAyB0B,UAAAA,MAAKG;GAAa,CAAA;GAC3D,oBAAA,QAAA;IAAgB,WAAA;IACbH,UAAAA,MAAKE,SAAU,YAAf,GACMvB,OAAOqB,MAAKb,MAAO,EAAC,KAAMR,OAAOqB,MAAKZ,KAAM,MAC/CT,OAAOqB,MAAKE,SAAU,UAAUF,MAAKZ,QAASY,MAAKb,MAAO;GACzD,CAAA;EACH;CARIc,GAAAA,KAQJ;AAAA"}
@@ -1,6 +1,5 @@
1
1
  import { EventLogEntry } from "../../data/types.js";
2
2
  import { RunGrouping } from "./types.js";
3
-
4
3
  //#region src/views/runs/parse.d.ts
5
4
  declare const groupRuns: (logs: readonly EventLogEntry[]) => RunGrouping;
6
5
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","names":[],"sources":["../../../src/views/runs/parse.ts"],"mappings":";;;;cA+Ba,SAAA,GAAa,IAAA,WAAe,aAAA,OAAkB,WA8E1D"}
1
+ {"version":3,"file":"parse.d.ts","names":[],"sources":["../../../src/views/runs/parse.ts"],"mappings":";;;cA+Ba,YAAa,eAAe,oBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/views/runs/types.ts"],"mappings":";UAAiB,aAAA;EAAA,SACN,IAAA,EAAM,IAAI;EAAA,SACV,KAAA;EAAA,SACA,KAAA;EAAA,SACA,QAAA;EAAA,SACA,IAAA;AAAA;AAAA,UAGM,UAAA;EAAA,SACN,EAAA;EAAA,SACA,QAAA;EAAA,SACA,KAAA;EAAA,SACA,SAAA,EAAW,IAAA;EAAA,SACX,OAAA,GAAU,IAAA;EAAA,SACV,UAAA;EAAA,SACA,MAAA;EAAA,SACA,MAAA,WAAiB,aAAA;AAAA;AAAA,UAGX,WAAA;EAAA,SACN,IAAA,WAAe,UAAA;EAAA,SACf,OAAA,WAAkB,aAAa;AAAA"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/views/runs/types.ts"],"mappings":";UAAiB;WACN,MAAM;WACN;WACA;WACA;WACA;;UAGM;WACN;WACA;WACA;WACA,WAAW;WACX,UAAU;WACV;WACA;WACA,iBAAiB;;UAGX;WACN,eAAe;WACf,kBAAkB"}