@tanstack/ai-devtools-core 0.2.1 → 0.2.3

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 (29) hide show
  1. package/README.md +1 -0
  2. package/dist/esm/components/ConversationDetails.js +74 -1
  3. package/dist/esm/components/ConversationDetails.js.map +1 -1
  4. package/dist/esm/components/conversation/ActivityEventsTab.d.ts +8 -0
  5. package/dist/esm/components/conversation/ActivityEventsTab.js +72 -0
  6. package/dist/esm/components/conversation/ActivityEventsTab.js.map +1 -0
  7. package/dist/esm/components/conversation/ConversationHeader.js +109 -66
  8. package/dist/esm/components/conversation/ConversationHeader.js.map +1 -1
  9. package/dist/esm/components/conversation/ConversationTabs.d.ts +1 -1
  10. package/dist/esm/components/conversation/ConversationTabs.js +107 -3
  11. package/dist/esm/components/conversation/ConversationTabs.js.map +1 -1
  12. package/dist/esm/components/conversation/MessageCard.js +83 -28
  13. package/dist/esm/components/conversation/MessageCard.js.map +1 -1
  14. package/dist/esm/components/conversation/index.d.ts +1 -0
  15. package/dist/esm/store/ai-context.d.ts +19 -2
  16. package/dist/esm/store/ai-context.js +528 -262
  17. package/dist/esm/store/ai-context.js.map +1 -1
  18. package/dist/esm/styles/use-styles.d.ts +7 -0
  19. package/dist/esm/styles/use-styles.js +65 -1
  20. package/dist/esm/styles/use-styles.js.map +1 -1
  21. package/package.json +2 -2
  22. package/src/components/ConversationDetails.tsx +70 -1
  23. package/src/components/conversation/ActivityEventsTab.tsx +57 -0
  24. package/src/components/conversation/ConversationHeader.tsx +52 -36
  25. package/src/components/conversation/ConversationTabs.tsx +121 -2
  26. package/src/components/conversation/MessageCard.tsx +45 -10
  27. package/src/components/conversation/index.ts +1 -0
  28. package/src/store/ai-context.tsx +783 -418
  29. package/src/styles/use-styles.ts +65 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use-styles.js","sources":["../../../src/styles/use-styles.ts"],"sourcesContent":["import * as goober from 'goober'\nimport { createEffect, createSignal } from 'solid-js'\nimport { useTheme } from '@tanstack/devtools-ui'\nimport { tokens } from './tokens'\n\nconst stylesFactory = (theme: 'light' | 'dark') => {\n const { colors, font, size, alpha, border } = tokens\n const { fontFamily, size: fontSize } = font\n const css = goober.css\n const t = (light: string, dark: string) => (theme === 'light' ? light : dark)\n\n return {\n mainContainer: css`\n display: flex;\n flex: 1;\n min-height: 80%;\n overflow: hidden;\n padding: ${size[2]};\n `,\n dragHandle: css`\n width: 8px;\n background: ${t(colors.gray[300], colors.darkGray[600])};\n cursor: col-resize;\n position: relative;\n transition: all 0.2s ease;\n user-select: none;\n pointer-events: all;\n margin: 0 ${size[1]};\n border-radius: 2px;\n\n &:hover {\n background: ${t(colors.blue[600], colors.blue[500])};\n margin: 0 ${size[1]};\n }\n\n &.dragging {\n background: ${t(colors.blue[700], colors.blue[600])};\n margin: 0 ${size[1]};\n }\n\n &::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 2px;\n height: 20px;\n background: ${t(colors.gray[400], colors.darkGray[400])};\n border-radius: 1px;\n pointer-events: none;\n }\n\n &:hover::after,\n &.dragging::after {\n background: ${t(colors.blue[500], colors.blue[300])};\n }\n `,\n leftPanel: css`\n background: ${t(colors.gray[100], colors.darkGray[800])};\n border-radius: ${border.radius.lg};\n border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n display: flex;\n flex-direction: column;\n overflow: hidden;\n min-height: 0;\n flex-shrink: 0;\n `,\n rightPanel: css`\n background: ${t(colors.gray[100], colors.darkGray[800])};\n border-radius: ${border.radius.lg};\n border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n display: flex;\n flex-direction: column;\n overflow: hidden;\n min-height: 0;\n flex: 1;\n `,\n panelHeader: css`\n font-size: ${fontSize.md};\n font-weight: ${font.weight.bold};\n color: ${t(colors.blue[700], colors.blue[400])};\n padding: ${size[2]};\n border-bottom: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n background: ${t(colors.gray[100], colors.darkGray[800])};\n flex-shrink: 0;\n `,\n utilList: css`\n flex: 1;\n overflow-y: auto;\n padding: ${size[1]};\n min-height: 0;\n `,\n utilGroup: css`\n margin-bottom: ${size[2]};\n `,\n utilGroupHeader: css`\n font-size: ${fontSize.xs};\n font-weight: ${font.weight.semibold};\n color: ${t(colors.gray[600], colors.gray[400])};\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-bottom: ${size[1]};\n padding: ${size[1]} ${size[2]};\n background: ${t(colors.gray[200], colors.darkGray[700])};\n border-radius: ${border.radius.md};\n `,\n utilRow: css`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ${size[2]};\n margin-bottom: ${size[1]};\n background: ${t(colors.gray[200], colors.darkGray[700])};\n border-radius: ${border.radius.md};\n cursor: pointer;\n transition: all 0.2s ease;\n border: 1px solid transparent;\n\n &:hover {\n background: ${t(colors.gray[300], colors.darkGray[600])};\n border-color: ${t(colors.gray[400], colors.darkGray[500])};\n }\n `,\n utilRowSelected: css`\n background: ${t(colors.blue[100], colors.blue[900] + alpha[20])};\n border-color: ${t(colors.blue[600], colors.blue[500])};\n box-shadow: 0 0 0 1px\n ${t(colors.blue[600] + alpha[30], colors.blue[500] + alpha[30])};\n `,\n utilKey: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[900], colors.gray[100])};\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n utilStatus: css`\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[600], colors.gray[400])};\n text-transform: uppercase;\n letter-spacing: 0.05em;\n padding: ${size[1]} ${size[1]};\n background: ${t(colors.gray[300], colors.darkGray[600])};\n border-radius: ${border.radius.sm};\n margin-left: ${size[1]};\n `,\n stateDetails: css`\n flex: 1;\n overflow-y: auto;\n padding: ${size[2]};\n min-height: 0;\n `,\n stateHeader: css`\n margin-bottom: ${size[2]};\n padding-bottom: ${size[2]};\n border-bottom: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n `,\n stateTitle: css`\n font-size: ${fontSize.md};\n font-weight: ${font.weight.bold};\n color: ${t(colors.blue[700], colors.blue[400])};\n margin-bottom: ${size[1]};\n `,\n stateKey: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[600], colors.gray[400])};\n word-break: break-all;\n `,\n stateContent: css`\n background: ${t(colors.gray[100], colors.darkGray[700])};\n border-radius: ${border.radius.md};\n padding: ${size[2]};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n `,\n detailsGrid: css`\n display: grid;\n grid-template-columns: 1fr;\n gap: ${size[2]};\n align-items: start;\n `,\n detailSection: css`\n background: ${t(colors.white, colors.darkGray[700])};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n border-radius: ${border.radius.md};\n padding: ${size[2]};\n `,\n detailSectionHeader: css`\n font-size: ${fontSize.sm};\n font-weight: ${font.weight.bold};\n color: ${t(colors.gray[800], colors.gray[200])};\n margin-bottom: ${size[1]};\n text-transform: uppercase;\n letter-spacing: 0.04em;\n `,\n actionsRow: css`\n display: flex;\n flex-wrap: wrap;\n gap: ${size[2]};\n `,\n actionButton: css`\n display: inline-flex;\n align-items: center;\n gap: ${size[1]};\n padding: ${size[1]} ${size[2]};\n border-radius: ${border.radius.md};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[500])};\n background: ${t(colors.gray[200], colors.darkGray[600])};\n color: ${t(colors.gray[900], colors.gray[100])};\n font-size: ${fontSize.xs};\n cursor: pointer;\n user-select: none;\n transition:\n background 0.15s,\n border-color 0.15s;\n &:hover {\n background: ${t(colors.gray[300], colors.darkGray[500])};\n border-color: ${t(colors.gray[400], colors.darkGray[400])};\n }\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n &:hover {\n background: ${t(colors.gray[200], colors.darkGray[600])};\n border-color: ${t(colors.gray[300], colors.darkGray[500])};\n }\n }\n `,\n actionDotBlue: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.blue[400]};\n `,\n actionDotGreen: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.green[400]};\n `,\n actionDotRed: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.red[400]};\n `,\n actionDotYellow: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.yellow[400]};\n `,\n actionDotOrange: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.pink[400]};\n `,\n actionDotPurple: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.purple[400]};\n `,\n infoGrid: css`\n display: grid;\n grid-template-columns: auto 1fr;\n gap: ${size[1]};\n row-gap: ${size[1]};\n align-items: center;\n `,\n infoLabel: css`\n color: ${t(colors.gray[600], colors.gray[400])};\n font-size: ${fontSize.xs};\n text-transform: uppercase;\n letter-spacing: 0.05em;\n `,\n infoValueMono: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[900], colors.gray[100])};\n word-break: break-all;\n `,\n noSelection: css`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${t(colors.gray[500], colors.gray[500])};\n font-style: italic;\n text-align: center;\n padding: ${size[4]};\n `,\n // Keep existing styles for backward compatibility\n sectionContainer: css`\n display: flex;\n flex-wrap: wrap;\n gap: ${size[4]};\n `,\n section: css`\n background: ${t(colors.gray[100], colors.darkGray[800])};\n border-radius: ${border.radius.lg};\n box-shadow: ${tokens.shadow.md(\n t(colors.gray[400] + alpha[80], colors.black + alpha[80]),\n )};\n padding: ${size[4]};\n margin-bottom: ${size[4]};\n border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n min-width: 0;\n max-width: 33%;\n max-height: fit-content;\n `,\n sectionHeader: css`\n font-size: ${fontSize.lg};\n font-weight: ${font.weight.bold};\n margin-bottom: ${size[2]};\n color: ${t(colors.blue[600], colors.blue[400])};\n letter-spacing: 0.01em;\n display: flex;\n align-items: center;\n gap: ${size[2]};\n `,\n sectionEmpty: css`\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: ${fontSize.sm};\n font-style: italic;\n margin: ${size[2]} 0;\n `,\n instanceList: css`\n display: flex;\n flex-direction: column;\n gap: ${size[2]};\n background: ${t(colors.gray[200], colors.darkGray[700])};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n `,\n instanceCard: css`\n background: ${t(colors.gray[200], colors.darkGray[700])};\n border-radius: ${border.radius.md};\n padding: ${size[3]};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n font-size: ${fontSize.sm};\n color: ${t(colors.gray[900], colors.gray[100])};\n font-family: ${fontFamily.mono};\n overflow-x: auto;\n transition:\n box-shadow 0.3s,\n background 0.3s;\n `,\n // Shell component styles\n shell: {\n sectionHeader: css`\n padding: ${size[3]} ${size[4]};\n font-size: ${fontSize.sm};\n font-weight: ${font.weight.semibold};\n color: ${t(colors.gray[100], colors.gray[200])};\n text-transform: uppercase;\n letter-spacing: 0.5px;\n text-align: center;\n background: ${t(colors.gray[700], colors.darkGray[600])};\n border-bottom: 1px solid ${t(colors.gray[600], colors.darkGray[500])};\n `,\n filterContainer: css`\n display: flex;\n flex-direction: column;\n gap: ${size[2]};\n padding: ${size[3]};\n border-bottom: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n `,\n filterButtonsRow: css`\n display: flex;\n gap: ${size[1.5]};\n flex-wrap: wrap;\n `,\n filterButton: css`\n display: inline-flex;\n align-items: center;\n gap: ${size[1]};\n padding: ${size[1]} ${size[2]};\n border-radius: ${border.radius.md};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[500])};\n background: ${t(colors.gray[200], colors.darkGray[600])};\n color: ${t(colors.gray[900], colors.gray[100])};\n font-size: ${fontSize.xs};\n cursor: pointer;\n user-select: none;\n transition:\n background 0.15s,\n border-color 0.15s;\n &:hover {\n background: ${t(colors.gray[300], colors.darkGray[500])};\n border-color: ${t(colors.gray[400], colors.darkGray[400])};\n }\n `,\n filterButtonActive: css`\n background: ${colors.pink[400]};\n color: ${colors.white};\n border-color: ${colors.pink[400]};\n &:hover {\n background: ${colors.pink[500]};\n border-color: ${colors.pink[500]};\n }\n `,\n actionsRow: css`\n display: flex;\n gap: ${size[1.5]};\n `,\n clearAllButton: css`\n flex: 1;\n font-size: ${fontSize.xs};\n `,\n },\n // ConversationsList component styles\n conversationsList: {\n rowMain: css`\n display: flex;\n flex-direction: column;\n gap: 4px;\n flex: 1;\n min-width: 0;\n `,\n rowTop: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: ${size[2]};\n `,\n rowRight: css`\n display: flex;\n align-items: center;\n gap: ${size[1]};\n flex-shrink: 0;\n `,\n rowContent: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n flex: 1;\n `,\n rowInfo: css`\n display: flex;\n align-items: center;\n gap: ${size[1]};\n min-width: 0;\n flex: 1;\n `,\n typeDot: css`\n width: 8px;\n height: 8px;\n border-radius: 50%;\n `,\n label: css`\n font-weight: ${font.weight.semibold};\n `,\n toolCallsBadge: css`\n display: flex;\n align-items: center;\n gap: 3px;\n padding: 2px 6px;\n border-radius: ${border.radius.sm};\n background: oklch(0.35 0.1 280);\n color: oklch(0.8 0.12 280);\n font-size: ${fontSize.xs};\n font-weight: ${font.weight.semibold};\n `,\n statusDot: css`\n width: 6px;\n height: 6px;\n border-radius: 50%;\n margin-left: auto;\n `,\n stats: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n font-size: 10px;\n opacity: 0.7;\n flex-wrap: wrap;\n `,\n statItem: css`\n display: flex;\n align-items: center;\n gap: 2px;\n white-space: nowrap;\n `,\n tokensBadge: css`\n display: flex;\n align-items: center;\n gap: 2px;\n padding: 1px 5px;\n border-radius: ${border.radius.sm};\n background: oklch(0.35 0.08 220);\n color: oklch(0.75 0.12 220);\n font-size: 10px;\n font-weight: ${font.weight.semibold};\n white-space: nowrap;\n `,\n loadingIndicator: css`\n font-size: 12px;\n color: oklch(0.7 0.17 142);\n animation: spin 1s linear infinite;\n @keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n `,\n },\n // ConversationDetails component styles\n conversationDetails: {\n emptyState: css`\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: ${fontSize.sm};\n `,\n container: css`\n display: flex;\n flex-direction: column;\n height: 100%;\n `,\n headerContent: css`\n display: flex;\n flex-direction: column;\n gap: ${size[1]};\n `,\n headerRow: css`\n display: flex;\n align-items: center;\n gap: ${size[3]};\n `,\n headerLabel: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n `,\n statusBadge: css`\n font-size: ${fontSize.xs};\n padding: 2px ${size[2]};\n border-radius: ${border.radius.sm};\n `,\n statusActive: css`\n background: ${colors.blue[500]}20;\n color: ${colors.blue[500]};\n `,\n statusCompleted: css`\n background: ${colors.green[500]}20;\n color: ${colors.green[500]};\n `,\n statusError: css`\n background: ${colors.red[500]}20;\n color: ${colors.red[500]};\n `,\n metaInfo: css`\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[600], colors.gray[400])};\n `,\n usageInfo: css`\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[600], colors.gray[400])};\n display: flex;\n align-items: center;\n gap: ${size[2]};\n `,\n usageLabel: css`\n font-weight: ${font.weight.semibold};\n color: ${colors.blue[500]};\n `,\n usageBold: css`\n font-weight: ${font.weight.semibold};\n `,\n toolsRow: css`\n display: flex;\n align-items: flex-start;\n gap: ${size[2]};\n margin-top: ${size[2]};\n `,\n toolsLabel: css`\n font-size: ${fontSize.sm};\n flex-shrink: 0;\n `,\n optionsRow: css`\n display: flex;\n align-items: flex-start;\n gap: ${size[2]};\n margin-top: ${size[1]};\n `,\n optionsLabel: css`\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[600], colors.gray[400])};\n flex-shrink: 0;\n white-space: nowrap;\n `,\n optionsCompact: css`\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n `,\n optionBadge: css`\n display: inline-flex;\n align-items: center;\n padding: 1px 6px;\n background: ${t(colors.gray[200], colors.darkGray[700])};\n color: ${t(colors.gray[700], colors.gray[300])};\n border-radius: ${border.radius.sm};\n font-size: 10px;\n font-family: ${fontFamily.mono};\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n toggleButton: css`\n background: transparent;\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n color: ${t(colors.gray[600], colors.gray[400])};\n padding: ${size[1]} ${size[2]};\n border-radius: ${border.radius.sm};\n font-size: ${fontSize.xs};\n cursor: pointer;\n transition: all 0.15s ease;\n margin-top: ${size[2]};\n &:hover {\n background: ${t(colors.gray[100], colors.darkGray[700])};\n color: ${t(colors.gray[700], colors.gray[300])};\n }\n `,\n extendedInfo: css`\n margin-top: ${size[3]};\n padding: ${size[3]};\n background: ${t(colors.gray[50], colors.darkGray[800])};\n border-radius: ${border.radius.md};\n border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n `,\n infoSection: css`\n margin-bottom: ${size[3]};\n &:last-child {\n margin-bottom: 0;\n }\n `,\n infoLabel: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[700], colors.gray[300])};\n display: block;\n margin-bottom: ${size[1]};\n `,\n toolsList: css`\n display: flex;\n flex-wrap: wrap;\n gap: ${size[1]};\n `,\n toolBadge: css`\n display: inline-flex;\n align-items: center;\n padding: 2px ${size[2]};\n background: ${colors.purple[500]}20;\n color: ${colors.purple[400]};\n border-radius: ${border.radius.sm};\n font-size: ${fontSize.xs};\n font-family: ${fontFamily.mono};\n `,\n jsonPreview: css`\n margin: 0;\n padding: ${size[2]};\n background: ${t(colors.gray[100], colors.darkGray[900])};\n border-radius: ${border.radius.sm};\n font-size: ${fontSize.xs};\n font-family: ${fontFamily.mono};\n overflow-x: auto;\n max-height: 200px;\n overflow-y: auto;\n color: ${t(colors.gray[700], colors.gray[300])};\n white-space: pre-wrap;\n word-break: break-word;\n `,\n tabsContainer: css`\n display: flex;\n gap: ${size[2]};\n padding: ${size[3]};\n border-bottom: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n `,\n tabButtonActive: css`\n background: ${colors.pink[400]};\n color: ${colors.white};\n border-color: ${colors.pink[400]};\n `,\n contentArea: css`\n flex: 1;\n overflow: auto;\n padding: ${size[3]};\n `,\n emptyMessages: css`\n padding: ${size[6]};\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: ${fontSize.sm};\n text-align: center;\n `,\n messagesList: css`\n display: flex;\n flex-direction: column;\n gap: ${size[3]};\n `,\n messageCard: css`\n border-radius: ${border.radius.lg};\n overflow: hidden;\n `,\n messageCardUser: css`\n padding: ${size[4]};\n border: 1.5px solid oklch(0.45 0.12 260);\n `,\n messageCardAssistant: css`\n padding: ${size[4]};\n border: 1.5px solid oklch(0.45 0.12 142);\n `,\n messageCardClient: css`\n border: 2px solid oklch(0.45 0.15 142);\n `,\n messageCardServer: css`\n border: 2px solid oklch(0.45 0.12 45);\n `,\n messageHeader: css`\n display: flex;\n align-items: center;\n gap: 10px;\n margin-bottom: ${size[3]};\n `,\n avatarUser: css`\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: oklch(0.5 0.2 260);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: ${font.weight.bold};\n font-size: ${fontSize.sm};\n color: ${colors.white};\n flex-shrink: 0;\n `,\n avatarAssistant: css`\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: oklch(0.5 0.2 142);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: ${font.weight.bold};\n font-size: ${fontSize.sm};\n color: ${colors.white};\n flex-shrink: 0;\n `,\n avatarClient: css`\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: oklch(0.5 0.22 142);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: ${font.weight.bold};\n font-size: ${fontSize.sm};\n color: ${colors.white};\n flex-shrink: 0;\n `,\n avatarServer: css`\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: oklch(0.55 0.18 45);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: ${font.weight.bold};\n font-size: ${fontSize.sm};\n color: ${colors.white};\n flex-shrink: 0;\n `,\n roleLabel: css`\n flex: 1;\n `,\n roleLabelUser: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n color: oklch(0.7 0.15 260);\n text-transform: capitalize;\n `,\n roleLabelAssistant: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n color: oklch(0.7 0.15 142);\n text-transform: capitalize;\n `,\n roleLabelClient: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n color: oklch(0.75 0.18 142);\n text-transform: capitalize;\n `,\n roleLabelServer: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n color: oklch(0.75 0.15 45);\n text-transform: capitalize;\n `,\n sourceBanner: css`\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 12px;\n font-size: 10px;\n font-weight: ${font.weight.medium};\n text-transform: uppercase;\n letter-spacing: 0.5px;\n `,\n sourceBannerClient: css`\n background: oklch(0.25 0.04 142);\n color: oklch(0.7 0.08 142);\n `,\n sourceBannerServer: css`\n background: oklch(0.25 0.04 45);\n color: oklch(0.7 0.06 45);\n `,\n sourceBannerIcon: css`\n font-size: 14px;\n `,\n sourceBannerText: css`\n flex: 1;\n `,\n messageCardContent: css`\n padding: ${size[4]};\n padding-top: ${size[3]};\n `,\n sourceBadge: css`\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 4px;\n font-family: ${fontFamily.mono};\n font-weight: ${font.weight.medium};\n `,\n sourceBadgeClient: css`\n background: oklch(0.25 0.08 260);\n color: oklch(0.75 0.12 260);\n `,\n sourceBadgeServer: css`\n background: oklch(0.25 0.08 45);\n color: oklch(0.75 0.12 45);\n `,\n timestamp: css`\n font-size: 10px;\n color: oklch(0.6 0.05 260);\n font-family: ${fontFamily.mono};\n `,\n messageUsage: css`\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 10px;\n font-family: ${fontFamily.mono};\n color: oklch(0.65 0.12 142);\n margin-left: auto;\n padding: 2px 6px;\n background: oklch(0.2 0.03 142);\n border-radius: 4px;\n `,\n messageUsageIcon: css`\n font-size: 10px;\n `,\n thinkingDetails: css`\n margin-bottom: ${size[2]};\n border: 1px solid oklch(0.35 0.1 280);\n border-radius: 6px;\n background: oklch(0.18 0.02 280);\n overflow: hidden;\n `,\n thinkingSummary: css`\n padding: ${size[2]};\n cursor: pointer;\n font-size: ${fontSize.sm};\n color: oklch(0.75 0.1 280);\n font-weight: ${font.weight.semibold};\n &:hover {\n background: oklch(0.22 0.03 280);\n }\n `,\n thinkingContent: css`\n padding: ${size[2]};\n font-size: ${fontSize.xs};\n line-height: 1.5;\n white-space: pre-wrap;\n word-break: break-word;\n color: oklch(0.7 0.05 280);\n font-family: ${fontFamily.mono};\n border-top: 1px solid oklch(0.3 0.05 280);\n max-height: 300px;\n overflow-y: auto;\n `,\n messageContent: css`\n font-size: ${fontSize.sm};\n line-height: 1.6;\n white-space: pre-wrap;\n word-break: break-word;\n color: oklch(0.85 0.02 260);\n font-family:\n system-ui,\n -apple-system,\n sans-serif;\n `,\n toolCallsContainer: css`\n margin-top: ${size[3]};\n display: flex;\n flex-direction: column;\n gap: 8px;\n `,\n toolCall: css`\n border-radius: 8px;\n font-size: ${fontSize.xs};\n overflow: hidden;\n `,\n toolCallNormal: css`\n background: oklch(0.22 0.02 260);\n border: 1px solid oklch(0.3 0.05 280);\n `,\n toolCallApproval: css`\n background: oklch(0.22 0.08 60);\n border: 1px solid oklch(0.4 0.12 60);\n `,\n toolCallHeader: css`\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 10px 12px;\n cursor: pointer;\n list-style: none;\n &::-webkit-details-marker {\n display: none;\n }\n &::before {\n content: '▶';\n font-size: 10px;\n color: oklch(0.6 0.1 280);\n transition: transform 0.2s ease;\n }\n details[open] > &::before {\n transform: rotate(90deg);\n }\n &:hover {\n background: oklch(0.25 0.04 280);\n }\n `,\n toolCallContent: css`\n padding: ${size[2]} ${size[3]} ${size[3]};\n border-top: 1px solid oklch(0.3 0.05 280);\n `,\n toolCallName: css`\n font-weight: ${font.weight.semibold};\n `,\n toolCallNameNormal: css`\n color: oklch(0.75 0.15 280);\n `,\n toolCallNameApproval: css`\n color: oklch(0.75 0.15 60);\n `,\n toolStateBadge: css`\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 3px;\n `,\n toolStateBadgeNormal: css`\n background: oklch(0.35 0.1 280);\n color: oklch(0.8 0.1 280);\n `,\n toolStateBadgeApproval: css`\n background: oklch(0.35 0.12 60);\n color: oklch(0.85 0.1 60);\n `,\n approvalRequiredBadge: css`\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 3px;\n background: oklch(0.45 0.15 30);\n color: oklch(0.95 0.05 60);\n font-weight: ${font.weight.semibold};\n `,\n toolArguments: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: oklch(0.7 0.05 260);\n white-space: pre-wrap;\n word-break: break-all;\n `,\n toolSection: css`\n margin-top: ${size[2]};\n border-top: 1px solid oklch(0.28 0.03 260);\n padding-top: ${size[2]};\n `,\n toolSectionLabel: css`\n font-size: 10px;\n font-weight: ${font.weight.semibold};\n color: oklch(0.6 0.08 260);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-bottom: ${size[1]};\n `,\n toolJsonContainer: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: oklch(0.8 0.05 260);\n background: oklch(0.18 0.02 260);\n border-radius: 4px;\n padding: ${size[4]};\n padding-left: ${size[8]};\n `,\n chunksDetails: css`\n margin-top: ${size[3]};\n `,\n chunksSummary: css`\n cursor: pointer;\n font-size: ${fontSize.xs};\n font-weight: ${font.weight.semibold};\n color: oklch(0.65 0.08 260);\n padding: ${size[2]};\n background: oklch(0.2 0.02 260);\n border-radius: 6px;\n border: 1px solid oklch(0.28 0.03 260);\n user-select: none;\n list-style: none;\n &::-webkit-details-marker {\n display: none;\n }\n &::marker {\n display: none;\n }\n details[open] > & .chunks-arrow {\n transform: rotate(90deg);\n }\n `,\n chunksSummaryRow: css`\n display: flex;\n align-items: center;\n gap: ${size[1]};\n `,\n chunksSummaryArrow: css`\n font-size: 8px;\n transition: transform 0.15s ease;\n color: oklch(0.5 0.05 260);\n details[open] > summary > div > & {\n transform: rotate(90deg);\n }\n `,\n chunksSummaryTitle: css`\n margin-right: ${size[1]};\n `,\n chunksSummaryContent: css`\n display: flex;\n flex-direction: column;\n gap: 6px;\n `,\n chunksSummaryHeader: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n `,\n chunkBadge: css`\n padding: 2px 6px;\n border-radius: 3px;\n font-size: 9px;\n `,\n chunkBadgeTool: css`\n background: oklch(0.3 0.1 280);\n color: oklch(0.75 0.12 280);\n `,\n chunkBadgeError: css`\n background: oklch(0.3 0.15 25);\n color: oklch(0.75 0.2 25);\n `,\n chunkBadgeSuccess: css`\n background: oklch(0.3 0.1 142);\n color: oklch(0.75 0.15 142);\n `,\n chunkBadgeApproval: css`\n background: oklch(0.3 0.15 50);\n color: oklch(0.75 0.2 50);\n `,\n chunkBadgeCount: css`\n background: oklch(0.3 0.08 260);\n color: oklch(0.75 0.1 260);\n font-weight: ${font.weight.semibold};\n `,\n contentPreview: css`\n font-family: ${fontFamily.mono};\n font-size: 10px;\n color: oklch(0.75 0.05 260);\n white-space: pre-wrap;\n word-break: break-word;\n max-width: 100%;\n font-weight: ${font.weight.normal};\n margin-top: 2px;\n `,\n chunksContainer: css`\n margin-top: ${size[2]};\n padding: ${size[2]};\n background: oklch(0.18 0.02 260);\n border-radius: 6px;\n border: 1px solid oklch(0.25 0.03 260);\n `,\n chunksList: css`\n display: flex;\n flex-direction: column;\n gap: ${size[1]};\n `,\n chunkItem: css`\n padding: 6px ${size[2]};\n border-radius: ${border.radius.sm};\n background: oklch(0.22 0.02 260);\n border: 1px solid oklch(0.28 0.03 260);\n font-size: 10px;\n `,\n chunkItemLarge: css`\n padding: ${size[2]} 10px;\n border-radius: 6px;\n background: oklch(0.22 0.02 260);\n border: 1px solid oklch(0.28 0.03 260);\n font-size: ${fontSize.xs};\n `,\n chunkHeader: css`\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: ${size[1]};\n `,\n chunkHeaderLarge: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n margin-bottom: 6px;\n `,\n chunkNumber: css`\n font-size: 9px;\n font-weight: ${font.weight.semibold};\n color: oklch(0.6 0.05 260);\n min-width: 24px;\n `,\n chunkNumberLarge: css`\n font-size: 10px;\n font-weight: ${font.weight.semibold};\n color: oklch(0.6 0.05 260);\n min-width: 32px;\n `,\n chunkTypeBadge: css`\n display: flex;\n align-items: center;\n gap: 3px;\n `,\n chunkTypeBadgeLarge: css`\n display: flex;\n align-items: center;\n gap: ${size[1]};\n `,\n chunkTypeDot: css`\n width: 5px;\n height: 5px;\n border-radius: 50%;\n `,\n chunkTypeDotLarge: css`\n width: 6px;\n height: 6px;\n border-radius: 50%;\n `,\n chunkTypeLabel: css`\n font-weight: ${font.weight.semibold};\n color: oklch(0.7 0.08 260);\n `,\n chunkTypeLabelLarge: css`\n font-weight: ${font.weight.semibold};\n color: oklch(0.75 0.08 260);\n `,\n chunkToolBadge: css`\n padding: 1px ${size[1]};\n border-radius: 3px;\n background: oklch(0.3 0.1 280);\n color: oklch(0.75 0.12 280);\n font-size: 9px;\n font-weight: ${font.weight.semibold};\n `,\n chunkToolBadgeLarge: css`\n padding: 2px 6px;\n border-radius: 3px;\n background: oklch(0.3 0.1 280);\n color: oklch(0.75 0.12 280);\n font-size: 10px;\n font-weight: ${font.weight.semibold};\n `,\n chunkTimestamp: css`\n margin-left: auto;\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: 9px;\n `,\n chunkTimestampLarge: css`\n margin-left: auto;\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: 10px;\n `,\n rawJsonButton: css`\n padding: 1px ${size[1]};\n border-radius: 2px;\n border: 1px solid oklch(0.32 0.05 260);\n color: oklch(0.7 0.08 260);\n font-size: 8px;\n cursor: pointer;\n font-family: ${fontFamily.mono};\n font-weight: ${font.weight.semibold};\n `,\n rawJsonButtonInactive: css`\n background: oklch(0.28 0.03 260);\n `,\n rawJsonButtonActive: css`\n background: oklch(0.35 0.1 260);\n `,\n rawJsonButtonLarge: css`\n padding: 2px 6px;\n border-radius: 3px;\n border: 1px solid oklch(0.32 0.05 260);\n color: oklch(0.7 0.08 260);\n font-size: 10px;\n cursor: pointer;\n font-family: ${fontFamily.mono};\n font-weight: ${font.weight.semibold};\n `,\n chunkContent: css`\n font-family: ${fontFamily.mono};\n white-space: pre-wrap;\n word-break: break-word;\n padding: ${size[1]} 6px;\n background: oklch(0.2 0.01 260);\n border-radius: 3px;\n color: oklch(0.8 0.05 260);\n font-size: 10px;\n `,\n chunkContentLarge: css`\n font-family: ${fontFamily.mono};\n white-space: pre-wrap;\n word-break: break-word;\n padding: 6px ${size[2]};\n background: oklch(0.2 0.01 260);\n border-radius: ${border.radius.sm};\n color: oklch(0.8 0.05 260);\n font-size: ${fontSize.xs};\n `,\n chunkError: css`\n color: oklch(0.65 0.2 25);\n font-family: ${fontFamily.mono};\n padding: ${size[1]} 6px;\n background: oklch(0.2 0.05 25);\n border-radius: 3px;\n `,\n chunkErrorLarge: css`\n color: oklch(0.65 0.2 25);\n font-family: ${fontFamily.mono};\n padding: 6px ${size[2]};\n background: oklch(0.2 0.05 25);\n border-radius: ${border.radius.sm};\n `,\n chunkFinish: css`\n color: oklch(0.7 0.12 142);\n padding: ${size[1]} 6px;\n background: oklch(0.2 0.03 142);\n border-radius: 3px;\n font-weight: ${font.weight.semibold};\n `,\n chunkFinishLarge: css`\n color: oklch(0.7 0.12 142);\n padding: 6px ${size[2]};\n background: oklch(0.2 0.03 142);\n border-radius: ${border.radius.sm};\n font-weight: ${font.weight.semibold};\n `,\n chunkApproval: css`\n padding: 6px ${size[2]};\n background: oklch(0.25 0.12 50);\n border-radius: ${border.radius.sm};\n border: 1px solid oklch(0.35 0.15 50);\n `,\n chunkApprovalLarge: css`\n padding: ${size[2]};\n background: oklch(0.25 0.12 50);\n border-radius: 6px;\n border: 1px solid oklch(0.35 0.15 50);\n `,\n chunkApprovalTitle: css`\n color: oklch(0.75 0.15 50);\n font-weight: ${font.weight.semibold};\n margin-bottom: ${size[1]};\n font-size: 10px;\n `,\n chunkApprovalTitleLarge: css`\n color: oklch(0.75 0.15 50);\n font-weight: ${font.weight.semibold};\n margin-bottom: 6px;\n font-size: ${fontSize.xs};\n `,\n chunkApprovalInput: css`\n font-family: ${fontFamily.mono};\n font-size: 9px;\n color: oklch(0.7 0.08 50);\n white-space: pre-wrap;\n word-break: break-word;\n `,\n chunkApprovalInputLarge: css`\n font-family: ${fontFamily.mono};\n font-size: 10px;\n color: oklch(0.7 0.08 50);\n white-space: pre-wrap;\n word-break: break-word;\n `,\n chunkToolCall: css`\n padding: ${size[2]} ${size[3]};\n background: oklch(0.22 0.08 280);\n border-radius: ${border.radius.sm};\n border: 1px solid oklch(0.32 0.1 280);\n margin-top: ${size[1]};\n `,\n chunkToolCallHeader: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: ${size[2]};\n `,\n chunkToolCallTitle: css`\n color: oklch(0.75 0.12 280);\n font-weight: ${font.weight.semibold};\n font-size: 10px;\n `,\n chunkToolResult: css`\n padding: ${size[2]} ${size[3]};\n background: oklch(0.22 0.08 160);\n border-radius: ${border.radius.sm};\n border: 1px solid oklch(0.32 0.1 160);\n margin-top: ${size[1]};\n `,\n chunkToolResultHeader: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: ${size[2]};\n `,\n chunkToolResultTitle: css`\n color: oklch(0.75 0.12 160);\n font-weight: ${font.weight.semibold};\n font-size: 10px;\n `,\n rawJson: css`\n font-family: ${fontFamily.mono};\n white-space: pre-wrap;\n word-break: break-word;\n padding: 6px;\n background: oklch(0.16 0.01 260);\n border-radius: 3px;\n color: oklch(0.75 0.08 260);\n font-size: 9px;\n max-height: 200px;\n overflow-y: auto;\n `,\n rawJsonLarge: css`\n font-family: ${fontFamily.mono};\n white-space: pre-wrap;\n word-break: break-word;\n padding: ${size[2]};\n background: oklch(0.16 0.01 260);\n border-radius: ${border.radius.sm};\n color: oklch(0.75 0.08 260);\n font-size: 10px;\n max-height: 300px;\n overflow-y: auto;\n `,\n noChunks: css`\n padding: ${size[3]};\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: ${fontSize.xs};\n `,\n streamContainer: css`\n padding: ${size[3]};\n background: oklch(0.18 0.02 260);\n border-radius: ${border.radius.lg};\n border: 1px solid oklch(0.25 0.03 260);\n `,\n streamHeader: css`\n margin-bottom: ${size[3]};\n padding-bottom: ${size[2]};\n border-bottom: 1px solid oklch(0.25 0.03 260);\n `,\n streamHeaderRow: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n margin-bottom: ${size[1]};\n `,\n streamTitle: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n color: oklch(0.8 0.05 260);\n `,\n streamSubtitle: css`\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[500], colors.gray[500])};\n `,\n messageGroups: css`\n display: flex;\n flex-direction: column;\n gap: ${size[2]};\n `,\n messageGroupDetails: css`\n margin-bottom: ${size[1]};\n `,\n messageGroupSummary: css`\n cursor: pointer;\n font-size: ${fontSize.xs};\n font-weight: ${font.weight.semibold};\n color: oklch(0.65 0.08 260);\n padding: 10px;\n background: oklch(0.2 0.02 260);\n border-radius: 6px;\n border: 1px solid oklch(0.28 0.03 260);\n user-select: none;\n `,\n messageGroupContent: css`\n display: flex;\n flex-direction: column;\n gap: 6px;\n `,\n messageGroupHeader: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n `,\n messageId: css`\n font-family: ${fontFamily.mono};\n font-size: 9px;\n color: oklch(0.6 0.05 260);\n font-weight: ${font.weight.normal};\n `,\n // Embedding and Summarize operation styles\n operationCard: css`\n padding: ${size[4]};\n border-radius: ${border.radius.lg};\n background: linear-gradient(\n 135deg,\n oklch(0.25 0.04 200) 0%,\n oklch(0.22 0.03 200) 100%\n );\n border: 1.5px solid oklch(0.5 0.15 200);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);\n `,\n operationHeader: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n margin-bottom: ${size[3]};\n `,\n operationIcon: css`\n font-size: ${fontSize.lg};\n `,\n operationTitle: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n color: oklch(0.85 0.1 200);\n flex: 1;\n `,\n operationStatus: css`\n font-size: ${fontSize.xs};\n padding: 2px ${size[2]};\n border-radius: ${border.radius.sm};\n `,\n operationStatusCompleted: css`\n background: ${colors.green[500]}20;\n color: ${colors.green[400]};\n `,\n operationStatusPending: css`\n background: ${colors.yellow[500]}20;\n color: ${colors.yellow[400]};\n `,\n durationBadge: css`\n font-size: ${fontSize.xs};\n padding: 2px ${size[2]};\n border-radius: ${border.radius.sm};\n background: oklch(0.3 0.1 280);\n color: oklch(0.8 0.1 280);\n font-family: ${fontFamily.mono};\n `,\n operationDetails: css`\n display: flex;\n flex-direction: column;\n gap: ${size[2]};\n `,\n operationDetail: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n font-size: ${fontSize.xs};\n `,\n operationLabel: css`\n color: oklch(0.65 0.08 200);\n font-weight: ${font.weight.semibold};\n min-width: 70px;\n `,\n operationValue: css`\n color: oklch(0.8 0.05 200);\n font-family: ${fontFamily.mono};\n `,\n // Iteration badge\n iterationBadge: css`\n font-size: ${fontSize.xs};\n padding: 2px ${size[2]};\n border-radius: ${border.radius.sm};\n background: ${colors.purple[500]}20;\n color: ${colors.purple[400]};\n font-weight: ${font.weight.semibold};\n `,\n },\n }\n}\n\nexport function useStyles() {\n const { theme } = useTheme()\n const [styles, setStyles] = createSignal(stylesFactory(theme()))\n createEffect(() => {\n setStyles(stylesFactory(theme()))\n })\n return styles\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-styles.js","sources":["../../../src/styles/use-styles.ts"],"sourcesContent":["import * as goober from 'goober'\nimport { createEffect, createSignal } from 'solid-js'\nimport { useTheme } from '@tanstack/devtools-ui'\nimport { tokens } from './tokens'\n\nconst stylesFactory = (theme: 'light' | 'dark') => {\n const { colors, font, size, alpha, border } = tokens\n const { fontFamily, size: fontSize } = font\n const css = goober.css\n const t = (light: string, dark: string) => (theme === 'light' ? light : dark)\n\n return {\n mainContainer: css`\n display: flex;\n flex: 1;\n min-height: 80%;\n overflow: hidden;\n padding: ${size[2]};\n `,\n dragHandle: css`\n width: 8px;\n background: ${t(colors.gray[300], colors.darkGray[600])};\n cursor: col-resize;\n position: relative;\n transition: all 0.2s ease;\n user-select: none;\n pointer-events: all;\n margin: 0 ${size[1]};\n border-radius: 2px;\n\n &:hover {\n background: ${t(colors.blue[600], colors.blue[500])};\n margin: 0 ${size[1]};\n }\n\n &.dragging {\n background: ${t(colors.blue[700], colors.blue[600])};\n margin: 0 ${size[1]};\n }\n\n &::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 2px;\n height: 20px;\n background: ${t(colors.gray[400], colors.darkGray[400])};\n border-radius: 1px;\n pointer-events: none;\n }\n\n &:hover::after,\n &.dragging::after {\n background: ${t(colors.blue[500], colors.blue[300])};\n }\n `,\n leftPanel: css`\n background: ${t(colors.gray[100], colors.darkGray[800])};\n border-radius: ${border.radius.lg};\n border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n display: flex;\n flex-direction: column;\n overflow: hidden;\n min-height: 0;\n flex-shrink: 0;\n `,\n rightPanel: css`\n background: ${t(colors.gray[100], colors.darkGray[800])};\n border-radius: ${border.radius.lg};\n border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n display: flex;\n flex-direction: column;\n overflow: hidden;\n min-height: 0;\n flex: 1;\n `,\n panelHeader: css`\n font-size: ${fontSize.md};\n font-weight: ${font.weight.bold};\n color: ${t(colors.blue[700], colors.blue[400])};\n padding: ${size[2]};\n border-bottom: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n background: ${t(colors.gray[100], colors.darkGray[800])};\n flex-shrink: 0;\n `,\n utilList: css`\n flex: 1;\n overflow-y: auto;\n padding: ${size[1]};\n min-height: 0;\n `,\n utilGroup: css`\n margin-bottom: ${size[2]};\n `,\n utilGroupHeader: css`\n font-size: ${fontSize.xs};\n font-weight: ${font.weight.semibold};\n color: ${t(colors.gray[600], colors.gray[400])};\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-bottom: ${size[1]};\n padding: ${size[1]} ${size[2]};\n background: ${t(colors.gray[200], colors.darkGray[700])};\n border-radius: ${border.radius.md};\n `,\n utilRow: css`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ${size[2]};\n margin-bottom: ${size[1]};\n background: ${t(colors.gray[200], colors.darkGray[700])};\n border-radius: ${border.radius.md};\n cursor: pointer;\n transition: all 0.2s ease;\n border: 1px solid transparent;\n\n &:hover {\n background: ${t(colors.gray[300], colors.darkGray[600])};\n border-color: ${t(colors.gray[400], colors.darkGray[500])};\n }\n `,\n utilRowSelected: css`\n background: ${t(colors.blue[100], colors.blue[900] + alpha[20])};\n border-color: ${t(colors.blue[600], colors.blue[500])};\n box-shadow: 0 0 0 1px\n ${t(colors.blue[600] + alpha[30], colors.blue[500] + alpha[30])};\n `,\n utilKey: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[900], colors.gray[100])};\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n utilStatus: css`\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[600], colors.gray[400])};\n text-transform: uppercase;\n letter-spacing: 0.05em;\n padding: ${size[1]} ${size[1]};\n background: ${t(colors.gray[300], colors.darkGray[600])};\n border-radius: ${border.radius.sm};\n margin-left: ${size[1]};\n `,\n stateDetails: css`\n flex: 1;\n overflow-y: auto;\n padding: ${size[2]};\n min-height: 0;\n `,\n stateHeader: css`\n margin-bottom: ${size[2]};\n padding-bottom: ${size[2]};\n border-bottom: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n `,\n stateTitle: css`\n font-size: ${fontSize.md};\n font-weight: ${font.weight.bold};\n color: ${t(colors.blue[700], colors.blue[400])};\n margin-bottom: ${size[1]};\n `,\n stateKey: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[600], colors.gray[400])};\n word-break: break-all;\n `,\n stateContent: css`\n background: ${t(colors.gray[100], colors.darkGray[700])};\n border-radius: ${border.radius.md};\n padding: ${size[2]};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n `,\n detailsGrid: css`\n display: grid;\n grid-template-columns: 1fr;\n gap: ${size[2]};\n align-items: start;\n `,\n detailSection: css`\n background: ${t(colors.white, colors.darkGray[700])};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n border-radius: ${border.radius.md};\n padding: ${size[2]};\n `,\n detailSectionHeader: css`\n font-size: ${fontSize.sm};\n font-weight: ${font.weight.bold};\n color: ${t(colors.gray[800], colors.gray[200])};\n margin-bottom: ${size[1]};\n text-transform: uppercase;\n letter-spacing: 0.04em;\n `,\n actionsRow: css`\n display: flex;\n flex-wrap: wrap;\n gap: ${size[2]};\n `,\n actionButton: css`\n display: inline-flex;\n align-items: center;\n gap: ${size[1]};\n padding: ${size[1]} ${size[2]};\n border-radius: ${border.radius.md};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[500])};\n background: ${t(colors.gray[200], colors.darkGray[600])};\n color: ${t(colors.gray[900], colors.gray[100])};\n font-size: ${fontSize.xs};\n cursor: pointer;\n user-select: none;\n transition:\n background 0.15s,\n border-color 0.15s;\n &:hover {\n background: ${t(colors.gray[300], colors.darkGray[500])};\n border-color: ${t(colors.gray[400], colors.darkGray[400])};\n }\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n &:hover {\n background: ${t(colors.gray[200], colors.darkGray[600])};\n border-color: ${t(colors.gray[300], colors.darkGray[500])};\n }\n }\n `,\n actionDotBlue: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.blue[400]};\n `,\n actionDotGreen: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.green[400]};\n `,\n actionDotRed: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.red[400]};\n `,\n actionDotYellow: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.yellow[400]};\n `,\n actionDotOrange: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.pink[400]};\n `,\n actionDotPurple: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.purple[400]};\n `,\n infoGrid: css`\n display: grid;\n grid-template-columns: auto 1fr;\n gap: ${size[1]};\n row-gap: ${size[1]};\n align-items: center;\n `,\n infoLabel: css`\n color: ${t(colors.gray[600], colors.gray[400])};\n font-size: ${fontSize.xs};\n text-transform: uppercase;\n letter-spacing: 0.05em;\n `,\n infoValueMono: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[900], colors.gray[100])};\n word-break: break-all;\n `,\n noSelection: css`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${t(colors.gray[500], colors.gray[500])};\n font-style: italic;\n text-align: center;\n padding: ${size[4]};\n `,\n // Keep existing styles for backward compatibility\n sectionContainer: css`\n display: flex;\n flex-wrap: wrap;\n gap: ${size[4]};\n `,\n section: css`\n background: ${t(colors.gray[100], colors.darkGray[800])};\n border-radius: ${border.radius.lg};\n box-shadow: ${tokens.shadow.md(\n t(colors.gray[400] + alpha[80], colors.black + alpha[80]),\n )};\n padding: ${size[4]};\n margin-bottom: ${size[4]};\n border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n min-width: 0;\n max-width: 33%;\n max-height: fit-content;\n `,\n sectionHeader: css`\n font-size: ${fontSize.lg};\n font-weight: ${font.weight.bold};\n margin-bottom: ${size[2]};\n color: ${t(colors.blue[600], colors.blue[400])};\n letter-spacing: 0.01em;\n display: flex;\n align-items: center;\n gap: ${size[2]};\n `,\n sectionEmpty: css`\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: ${fontSize.sm};\n font-style: italic;\n margin: ${size[2]} 0;\n `,\n instanceList: css`\n display: flex;\n flex-direction: column;\n gap: ${size[2]};\n background: ${t(colors.gray[200], colors.darkGray[700])};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n `,\n instanceCard: css`\n background: ${t(colors.gray[200], colors.darkGray[700])};\n border-radius: ${border.radius.md};\n padding: ${size[3]};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n font-size: ${fontSize.sm};\n color: ${t(colors.gray[900], colors.gray[100])};\n font-family: ${fontFamily.mono};\n overflow-x: auto;\n transition:\n box-shadow 0.3s,\n background 0.3s;\n `,\n // Shell component styles\n shell: {\n sectionHeader: css`\n padding: ${size[3]} ${size[4]};\n font-size: ${fontSize.sm};\n font-weight: ${font.weight.semibold};\n color: ${t(colors.gray[100], colors.gray[200])};\n text-transform: uppercase;\n letter-spacing: 0.5px;\n text-align: center;\n background: ${t(colors.gray[700], colors.darkGray[600])};\n border-bottom: 1px solid ${t(colors.gray[600], colors.darkGray[500])};\n `,\n filterContainer: css`\n display: flex;\n flex-direction: column;\n gap: ${size[2]};\n padding: ${size[3]};\n border-bottom: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n `,\n filterButtonsRow: css`\n display: flex;\n gap: ${size[1.5]};\n flex-wrap: wrap;\n `,\n filterButton: css`\n display: inline-flex;\n align-items: center;\n gap: ${size[1]};\n padding: ${size[1]} ${size[2]};\n border-radius: ${border.radius.md};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[500])};\n background: ${t(colors.gray[200], colors.darkGray[600])};\n color: ${t(colors.gray[900], colors.gray[100])};\n font-size: ${fontSize.xs};\n cursor: pointer;\n user-select: none;\n transition:\n background 0.15s,\n border-color 0.15s;\n &:hover {\n background: ${t(colors.gray[300], colors.darkGray[500])};\n border-color: ${t(colors.gray[400], colors.darkGray[400])};\n }\n `,\n filterButtonActive: css`\n background: ${colors.pink[400]};\n color: ${colors.white};\n border-color: ${colors.pink[400]};\n &:hover {\n background: ${colors.pink[500]};\n border-color: ${colors.pink[500]};\n }\n `,\n actionsRow: css`\n display: flex;\n gap: ${size[1.5]};\n `,\n clearAllButton: css`\n flex: 1;\n font-size: ${fontSize.xs};\n `,\n },\n // ConversationsList component styles\n conversationsList: {\n rowMain: css`\n display: flex;\n flex-direction: column;\n gap: 4px;\n flex: 1;\n min-width: 0;\n `,\n rowTop: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: ${size[2]};\n `,\n rowRight: css`\n display: flex;\n align-items: center;\n gap: ${size[1]};\n flex-shrink: 0;\n `,\n rowContent: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n flex: 1;\n `,\n rowInfo: css`\n display: flex;\n align-items: center;\n gap: ${size[1]};\n min-width: 0;\n flex: 1;\n `,\n typeDot: css`\n width: 8px;\n height: 8px;\n border-radius: 50%;\n `,\n label: css`\n font-weight: ${font.weight.semibold};\n `,\n toolCallsBadge: css`\n display: flex;\n align-items: center;\n gap: 3px;\n padding: 2px 6px;\n border-radius: ${border.radius.sm};\n background: oklch(0.35 0.1 280);\n color: oklch(0.8 0.12 280);\n font-size: ${fontSize.xs};\n font-weight: ${font.weight.semibold};\n `,\n statusDot: css`\n width: 6px;\n height: 6px;\n border-radius: 50%;\n margin-left: auto;\n `,\n stats: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n font-size: 10px;\n opacity: 0.7;\n flex-wrap: wrap;\n `,\n statItem: css`\n display: flex;\n align-items: center;\n gap: 2px;\n white-space: nowrap;\n `,\n tokensBadge: css`\n display: flex;\n align-items: center;\n gap: 2px;\n padding: 1px 5px;\n border-radius: ${border.radius.sm};\n background: oklch(0.35 0.08 220);\n color: oklch(0.75 0.12 220);\n font-size: 10px;\n font-weight: ${font.weight.semibold};\n white-space: nowrap;\n `,\n loadingIndicator: css`\n font-size: 12px;\n color: oklch(0.7 0.17 142);\n animation: spin 1s linear infinite;\n @keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n `,\n },\n // ConversationDetails component styles\n conversationDetails: {\n emptyState: css`\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: ${fontSize.sm};\n `,\n container: css`\n display: flex;\n flex-direction: column;\n height: 100%;\n `,\n headerContent: css`\n display: flex;\n flex-direction: column;\n gap: ${size[1]};\n `,\n headerRow: css`\n display: flex;\n align-items: center;\n gap: ${size[3]};\n `,\n headerLabel: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n `,\n statusBadge: css`\n font-size: ${fontSize.xs};\n padding: 2px ${size[2]};\n border-radius: ${border.radius.sm};\n `,\n statusActive: css`\n background: ${colors.blue[500]}20;\n color: ${colors.blue[500]};\n `,\n statusCompleted: css`\n background: ${colors.green[500]}20;\n color: ${colors.green[500]};\n `,\n statusError: css`\n background: ${colors.red[500]}20;\n color: ${colors.red[500]};\n `,\n metaInfo: css`\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[600], colors.gray[400])};\n `,\n usageInfo: css`\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[600], colors.gray[400])};\n display: flex;\n align-items: center;\n gap: ${size[2]};\n `,\n usageLabel: css`\n font-weight: ${font.weight.semibold};\n color: ${colors.blue[500]};\n `,\n usageBold: css`\n font-weight: ${font.weight.semibold};\n `,\n toolsRow: css`\n display: flex;\n align-items: flex-start;\n gap: ${size[2]};\n margin-top: ${size[2]};\n `,\n toolsLabel: css`\n font-size: ${fontSize.sm};\n flex-shrink: 0;\n `,\n optionsRow: css`\n display: flex;\n align-items: flex-start;\n gap: ${size[2]};\n margin-top: ${size[1]};\n `,\n optionsLabel: css`\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[600], colors.gray[400])};\n flex-shrink: 0;\n white-space: nowrap;\n `,\n optionsCompact: css`\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n `,\n optionBadge: css`\n display: inline-flex;\n align-items: center;\n padding: 1px 6px;\n background: ${t(colors.gray[200], colors.darkGray[700])};\n color: ${t(colors.gray[700], colors.gray[300])};\n border-radius: ${border.radius.sm};\n font-size: 10px;\n font-family: ${fontFamily.mono};\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n toggleButton: css`\n background: transparent;\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n color: ${t(colors.gray[600], colors.gray[400])};\n padding: ${size[1]} ${size[2]};\n border-radius: ${border.radius.sm};\n font-size: ${fontSize.xs};\n cursor: pointer;\n transition: all 0.15s ease;\n margin-top: ${size[2]};\n &:hover {\n background: ${t(colors.gray[100], colors.darkGray[700])};\n color: ${t(colors.gray[700], colors.gray[300])};\n }\n `,\n extendedInfo: css`\n margin-top: ${size[3]};\n padding: ${size[3]};\n background: ${t(colors.gray[50], colors.darkGray[800])};\n border-radius: ${border.radius.md};\n border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n `,\n infoSection: css`\n margin-bottom: ${size[3]};\n &:last-child {\n margin-bottom: 0;\n }\n `,\n infoLabel: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[700], colors.gray[300])};\n display: block;\n margin-bottom: ${size[1]};\n `,\n toolsList: css`\n display: flex;\n flex-wrap: wrap;\n gap: ${size[1]};\n `,\n toolBadge: css`\n display: inline-flex;\n align-items: center;\n padding: 2px ${size[2]};\n background: ${colors.purple[500]}20;\n color: ${colors.purple[400]};\n border-radius: ${border.radius.sm};\n font-size: ${fontSize.xs};\n font-family: ${fontFamily.mono};\n `,\n jsonPreview: css`\n margin: 0;\n padding: ${size[2]};\n background: ${t(colors.gray[100], colors.darkGray[900])};\n border-radius: ${border.radius.sm};\n font-size: ${fontSize.xs};\n font-family: ${fontFamily.mono};\n overflow-x: auto;\n max-height: 200px;\n overflow-y: auto;\n color: ${t(colors.gray[700], colors.gray[300])};\n white-space: pre-wrap;\n word-break: break-word;\n `,\n collapsibleSection: css`\n margin-top: ${size[2]};\n border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n border-radius: ${border.radius.md};\n overflow: hidden;\n `,\n collapsibleSummary: css`\n cursor: pointer;\n padding: ${size[2]} ${size[3]};\n background: ${t(colors.gray[100], colors.darkGray[800])};\n font-size: ${fontSize.xs};\n font-weight: ${font.weight.medium};\n color: ${t(colors.gray[700], colors.gray[300])};\n user-select: none;\n &:hover {\n background: ${t(colors.gray[200], colors.darkGray[700])};\n }\n `,\n collapsibleContent: css`\n padding: ${size[3]};\n background: ${t(colors.gray[50], colors.darkGray[900])};\n font-size: ${fontSize.xs};\n max-height: 300px;\n overflow-y: auto;\n `,\n systemPromptItem: css`\n display: flex;\n gap: ${size[2]};\n padding: ${size[2]};\n margin-bottom: ${size[2]};\n background: ${t(colors.gray[100], colors.darkGray[800])};\n border-radius: ${border.radius.sm};\n &:last-child {\n margin-bottom: 0;\n }\n `,\n systemPromptIndex: css`\n font-weight: ${font.weight.semibold};\n color: ${colors.purple[400]};\n font-size: 10px;\n flex-shrink: 0;\n `,\n systemPromptText: css`\n color: ${t(colors.gray[700], colors.gray[300])};\n white-space: pre-wrap;\n word-break: break-word;\n line-height: 1.4;\n `,\n tabsContainer: css`\n display: flex;\n gap: ${size[2]};\n padding: ${size[3]};\n border-bottom: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n `,\n tabButtonActive: css`\n background: ${colors.pink[400]};\n color: ${colors.white};\n border-color: ${colors.pink[400]};\n `,\n tabButtonPulse: css`\n position: relative;\n animation: activityPulse 1.4s ease-in-out infinite;\n @keyframes activityPulse {\n 0% {\n box-shadow: 0 0 0 0 ${colors.pink[400]}55;\n }\n 70% {\n box-shadow: 0 0 0 8px ${colors.pink[400]}00;\n }\n 100% {\n box-shadow: 0 0 0 0 ${colors.pink[400]}00;\n }\n }\n `,\n contentArea: css`\n flex: 1;\n overflow: auto;\n padding: ${size[3]};\n padding-bottom: ${size[6]};\n `,\n emptyMessages: css`\n padding: ${size[6]};\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: ${fontSize.sm};\n text-align: center;\n `,\n messagesList: css`\n display: flex;\n flex-direction: column;\n gap: ${size[3]};\n `,\n messageCard: css`\n border-radius: ${border.radius.lg};\n overflow: hidden;\n `,\n messageCardUser: css`\n padding: ${size[3]};\n border: 1.5px solid oklch(0.45 0.12 260);\n `,\n messageCardAssistant: css`\n padding: ${size[4]};\n border: 1.5px solid oklch(0.45 0.12 142);\n `,\n messageCardClient: css`\n border: 2px solid oklch(0.45 0.15 142);\n `,\n messageCardServer: css`\n border: 2px solid oklch(0.45 0.12 45);\n `,\n messageHeader: css`\n display: flex;\n align-items: center;\n gap: 10px;\n margin-bottom: ${size[3]};\n `,\n avatarUser: css`\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: oklch(0.5 0.2 260);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: ${font.weight.bold};\n font-size: ${fontSize.sm};\n color: ${colors.white};\n flex-shrink: 0;\n `,\n avatarAssistant: css`\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: oklch(0.5 0.2 142);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: ${font.weight.bold};\n font-size: ${fontSize.sm};\n color: ${colors.white};\n flex-shrink: 0;\n `,\n avatarClient: css`\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: oklch(0.5 0.22 142);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: ${font.weight.bold};\n font-size: ${fontSize.sm};\n color: ${colors.white};\n flex-shrink: 0;\n `,\n avatarServer: css`\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background: oklch(0.55 0.18 45);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: ${font.weight.bold};\n font-size: ${fontSize.sm};\n color: ${colors.white};\n flex-shrink: 0;\n `,\n roleLabel: css`\n flex: 1;\n `,\n roleLabelUser: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n color: oklch(0.7 0.15 260);\n text-transform: capitalize;\n `,\n roleLabelAssistant: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n color: oklch(0.7 0.15 142);\n text-transform: capitalize;\n `,\n roleLabelClient: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n color: oklch(0.75 0.18 142);\n text-transform: capitalize;\n `,\n roleLabelServer: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n color: oklch(0.75 0.15 45);\n text-transform: capitalize;\n `,\n sourceBanner: css`\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 12px;\n font-size: 10px;\n font-weight: ${font.weight.medium};\n text-transform: uppercase;\n letter-spacing: 0.5px;\n `,\n sourceBannerClient: css`\n background: oklch(0.25 0.04 142);\n color: oklch(0.7 0.08 142);\n `,\n sourceBannerServer: css`\n background: oklch(0.25 0.04 45);\n color: oklch(0.7 0.06 45);\n `,\n sourceBannerIcon: css`\n font-size: 14px;\n `,\n sourceBannerText: css`\n flex: 1;\n `,\n messageCardContent: css`\n padding: ${size[4]};\n padding-top: ${size[3]};\n `,\n sourceBadge: css`\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 4px;\n font-family: ${fontFamily.mono};\n font-weight: ${font.weight.medium};\n `,\n sourceBadgeClient: css`\n background: oklch(0.25 0.08 260);\n color: oklch(0.75 0.12 260);\n `,\n sourceBadgeServer: css`\n background: oklch(0.25 0.08 45);\n color: oklch(0.75 0.12 45);\n `,\n timestamp: css`\n font-size: 10px;\n color: oklch(0.6 0.05 260);\n font-family: ${fontFamily.mono};\n `,\n messageUsage: css`\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 10px;\n font-family: ${fontFamily.mono};\n color: oklch(0.65 0.12 142);\n margin-left: auto;\n padding: 2px 6px;\n background: oklch(0.2 0.03 142);\n border-radius: 4px;\n `,\n messageUsageIcon: css`\n font-size: 10px;\n `,\n thinkingDetails: css`\n margin-bottom: ${size[2]};\n border: 1px solid oklch(0.35 0.1 280);\n border-radius: 6px;\n background: oklch(0.18 0.02 280);\n overflow: hidden;\n `,\n thinkingSummary: css`\n padding: ${size[2]};\n cursor: pointer;\n font-size: ${fontSize.sm};\n color: oklch(0.75 0.1 280);\n font-weight: ${font.weight.semibold};\n &:hover {\n background: oklch(0.22 0.03 280);\n }\n `,\n thinkingContent: css`\n padding: ${size[2]};\n font-size: ${fontSize.xs};\n line-height: 1.5;\n white-space: pre-wrap;\n word-break: break-word;\n color: oklch(0.7 0.05 280);\n font-family: ${fontFamily.mono};\n border-top: 1px solid oklch(0.3 0.05 280);\n max-height: 300px;\n overflow-y: auto;\n `,\n messageContent: css`\n font-size: ${fontSize.sm};\n line-height: 1.6;\n white-space: pre-wrap;\n word-break: break-word;\n color: oklch(0.85 0.02 260);\n font-family:\n system-ui,\n -apple-system,\n sans-serif;\n `,\n toolCallsContainer: css`\n margin-top: ${size[3]};\n display: flex;\n flex-direction: column;\n gap: 8px;\n `,\n toolCall: css`\n border-radius: 8px;\n font-size: ${fontSize.xs};\n overflow: hidden;\n `,\n toolCallNormal: css`\n background: oklch(0.22 0.02 260);\n border: 1px solid oklch(0.3 0.05 280);\n `,\n toolCallApproval: css`\n background: oklch(0.22 0.08 60);\n border: 1px solid oklch(0.4 0.12 60);\n `,\n toolCallHeader: css`\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 10px 12px;\n cursor: pointer;\n list-style: none;\n &::-webkit-details-marker {\n display: none;\n }\n &::before {\n content: '▶';\n font-size: 10px;\n color: oklch(0.6 0.1 280);\n transition: transform 0.2s ease;\n }\n details[open] > &::before {\n transform: rotate(90deg);\n }\n &:hover {\n background: oklch(0.25 0.04 280);\n }\n `,\n toolCallContent: css`\n padding: ${size[2]} ${size[3]} ${size[3]};\n border-top: 1px solid oklch(0.3 0.05 280);\n `,\n toolCallName: css`\n font-weight: ${font.weight.semibold};\n `,\n toolCallNameNormal: css`\n color: oklch(0.75 0.15 280);\n `,\n toolCallNameApproval: css`\n color: oklch(0.75 0.15 60);\n `,\n toolStateBadge: css`\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 3px;\n `,\n toolStateBadgeNormal: css`\n background: oklch(0.35 0.1 280);\n color: oklch(0.8 0.1 280);\n `,\n toolStateBadgeApproval: css`\n background: oklch(0.35 0.12 60);\n color: oklch(0.85 0.1 60);\n `,\n approvalRequiredBadge: css`\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 3px;\n background: oklch(0.45 0.15 30);\n color: oklch(0.95 0.05 60);\n font-weight: ${font.weight.semibold};\n `,\n toolArguments: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: oklch(0.7 0.05 260);\n white-space: pre-wrap;\n word-break: break-all;\n `,\n toolSection: css`\n margin-top: ${size[2]};\n border-top: 1px solid oklch(0.28 0.03 260);\n padding-top: ${size[2]};\n `,\n toolSectionLabel: css`\n font-size: 10px;\n font-weight: ${font.weight.semibold};\n color: oklch(0.6 0.08 260);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-bottom: ${size[1]};\n `,\n toolJsonContainer: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: oklch(0.8 0.05 260);\n background: oklch(0.18 0.02 260);\n border-radius: 4px;\n padding: ${size[4]};\n padding-left: ${size[8]};\n `,\n chunksDetails: css`\n margin-top: ${size[3]};\n `,\n chunksSummary: css`\n cursor: pointer;\n font-size: ${fontSize.xs};\n font-weight: ${font.weight.semibold};\n color: oklch(0.65 0.08 260);\n padding: ${size[2]};\n background: oklch(0.2 0.02 260);\n border-radius: 6px;\n border: 1px solid oklch(0.28 0.03 260);\n user-select: none;\n list-style: none;\n &::-webkit-details-marker {\n display: none;\n }\n &::marker {\n display: none;\n }\n details[open] > & .chunks-arrow {\n transform: rotate(90deg);\n }\n `,\n chunksSummaryRow: css`\n display: flex;\n align-items: center;\n gap: ${size[1]};\n `,\n chunksSummaryArrow: css`\n font-size: 8px;\n transition: transform 0.15s ease;\n color: oklch(0.5 0.05 260);\n details[open] > summary > div > & {\n transform: rotate(90deg);\n }\n `,\n chunksSummaryTitle: css`\n margin-right: ${size[1]};\n `,\n chunksSummaryContent: css`\n display: flex;\n flex-direction: column;\n gap: 6px;\n `,\n chunksSummaryHeader: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n `,\n chunkBadge: css`\n padding: 2px 6px;\n border-radius: 3px;\n font-size: 9px;\n `,\n chunkBadgeTool: css`\n background: oklch(0.3 0.1 280);\n color: oklch(0.75 0.12 280);\n `,\n chunkBadgeError: css`\n background: oklch(0.3 0.15 25);\n color: oklch(0.75 0.2 25);\n `,\n chunkBadgeSuccess: css`\n background: oklch(0.3 0.1 142);\n color: oklch(0.75 0.15 142);\n `,\n chunkBadgeApproval: css`\n background: oklch(0.3 0.15 50);\n color: oklch(0.75 0.2 50);\n `,\n chunkBadgeCount: css`\n background: oklch(0.3 0.08 260);\n color: oklch(0.75 0.1 260);\n font-weight: ${font.weight.semibold};\n `,\n contentPreview: css`\n font-family: ${fontFamily.mono};\n font-size: 10px;\n color: oklch(0.75 0.05 260);\n white-space: pre-wrap;\n word-break: break-word;\n max-width: 100%;\n font-weight: ${font.weight.normal};\n margin-top: 2px;\n `,\n chunksContainer: css`\n margin-top: ${size[2]};\n padding: ${size[2]};\n background: oklch(0.18 0.02 260);\n border-radius: 6px;\n border: 1px solid oklch(0.25 0.03 260);\n `,\n chunksList: css`\n display: flex;\n flex-direction: column;\n gap: ${size[1]};\n `,\n chunkItem: css`\n padding: 6px ${size[2]};\n border-radius: ${border.radius.sm};\n background: oklch(0.22 0.02 260);\n border: 1px solid oklch(0.28 0.03 260);\n font-size: 10px;\n `,\n chunkItemLarge: css`\n padding: ${size[2]} 10px;\n border-radius: 6px;\n background: oklch(0.22 0.02 260);\n border: 1px solid oklch(0.28 0.03 260);\n font-size: ${fontSize.xs};\n `,\n chunkHeader: css`\n display: flex;\n align-items: center;\n gap: 6px;\n margin-bottom: ${size[1]};\n `,\n chunkHeaderLarge: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n margin-bottom: 6px;\n `,\n chunkNumber: css`\n font-size: 9px;\n font-weight: ${font.weight.semibold};\n color: oklch(0.6 0.05 260);\n min-width: 24px;\n `,\n chunkNumberLarge: css`\n font-size: 10px;\n font-weight: ${font.weight.semibold};\n color: oklch(0.6 0.05 260);\n min-width: 32px;\n `,\n chunkTypeBadge: css`\n display: flex;\n align-items: center;\n gap: 3px;\n `,\n chunkTypeBadgeLarge: css`\n display: flex;\n align-items: center;\n gap: ${size[1]};\n `,\n chunkTypeDot: css`\n width: 5px;\n height: 5px;\n border-radius: 50%;\n `,\n chunkTypeDotLarge: css`\n width: 6px;\n height: 6px;\n border-radius: 50%;\n `,\n chunkTypeLabel: css`\n font-weight: ${font.weight.semibold};\n color: oklch(0.7 0.08 260);\n `,\n chunkTypeLabelLarge: css`\n font-weight: ${font.weight.semibold};\n color: oklch(0.75 0.08 260);\n `,\n chunkToolBadge: css`\n padding: 1px ${size[1]};\n border-radius: 3px;\n background: oklch(0.3 0.1 280);\n color: oklch(0.75 0.12 280);\n font-size: 9px;\n font-weight: ${font.weight.semibold};\n `,\n chunkToolBadgeLarge: css`\n padding: 2px 6px;\n border-radius: 3px;\n background: oklch(0.3 0.1 280);\n color: oklch(0.75 0.12 280);\n font-size: 10px;\n font-weight: ${font.weight.semibold};\n `,\n chunkTimestamp: css`\n margin-left: auto;\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: 9px;\n `,\n chunkTimestampLarge: css`\n margin-left: auto;\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: 10px;\n `,\n rawJsonButton: css`\n padding: 1px ${size[1]};\n border-radius: 2px;\n border: 1px solid oklch(0.32 0.05 260);\n color: oklch(0.7 0.08 260);\n font-size: 8px;\n cursor: pointer;\n font-family: ${fontFamily.mono};\n font-weight: ${font.weight.semibold};\n `,\n rawJsonButtonInactive: css`\n background: oklch(0.28 0.03 260);\n `,\n rawJsonButtonActive: css`\n background: oklch(0.35 0.1 260);\n `,\n rawJsonButtonLarge: css`\n padding: 2px 6px;\n border-radius: 3px;\n border: 1px solid oklch(0.32 0.05 260);\n color: oklch(0.7 0.08 260);\n font-size: 10px;\n cursor: pointer;\n font-family: ${fontFamily.mono};\n font-weight: ${font.weight.semibold};\n `,\n chunkContent: css`\n font-family: ${fontFamily.mono};\n white-space: pre-wrap;\n word-break: break-word;\n padding: ${size[1]} 6px;\n background: oklch(0.2 0.01 260);\n border-radius: 3px;\n color: oklch(0.8 0.05 260);\n font-size: 10px;\n `,\n chunkContentLarge: css`\n font-family: ${fontFamily.mono};\n white-space: pre-wrap;\n word-break: break-word;\n padding: 6px ${size[2]};\n background: oklch(0.2 0.01 260);\n border-radius: ${border.radius.sm};\n color: oklch(0.8 0.05 260);\n font-size: ${fontSize.xs};\n `,\n chunkError: css`\n color: oklch(0.65 0.2 25);\n font-family: ${fontFamily.mono};\n padding: ${size[1]} 6px;\n background: oklch(0.2 0.05 25);\n border-radius: 3px;\n `,\n chunkErrorLarge: css`\n color: oklch(0.65 0.2 25);\n font-family: ${fontFamily.mono};\n padding: 6px ${size[2]};\n background: oklch(0.2 0.05 25);\n border-radius: ${border.radius.sm};\n `,\n chunkFinish: css`\n color: oklch(0.7 0.12 142);\n padding: ${size[1]} 6px;\n background: oklch(0.2 0.03 142);\n border-radius: 3px;\n font-weight: ${font.weight.semibold};\n `,\n chunkFinishLarge: css`\n color: oklch(0.7 0.12 142);\n padding: 6px ${size[2]};\n background: oklch(0.2 0.03 142);\n border-radius: ${border.radius.sm};\n font-weight: ${font.weight.semibold};\n `,\n chunkApproval: css`\n padding: 6px ${size[2]};\n background: oklch(0.25 0.12 50);\n border-radius: ${border.radius.sm};\n border: 1px solid oklch(0.35 0.15 50);\n `,\n chunkApprovalLarge: css`\n padding: ${size[2]};\n background: oklch(0.25 0.12 50);\n border-radius: 6px;\n border: 1px solid oklch(0.35 0.15 50);\n `,\n chunkApprovalTitle: css`\n color: oklch(0.75 0.15 50);\n font-weight: ${font.weight.semibold};\n margin-bottom: ${size[1]};\n font-size: 10px;\n `,\n chunkApprovalTitleLarge: css`\n color: oklch(0.75 0.15 50);\n font-weight: ${font.weight.semibold};\n margin-bottom: 6px;\n font-size: ${fontSize.xs};\n `,\n chunkApprovalInput: css`\n font-family: ${fontFamily.mono};\n font-size: 9px;\n color: oklch(0.7 0.08 50);\n white-space: pre-wrap;\n word-break: break-word;\n `,\n chunkApprovalInputLarge: css`\n font-family: ${fontFamily.mono};\n font-size: 10px;\n color: oklch(0.7 0.08 50);\n white-space: pre-wrap;\n word-break: break-word;\n `,\n chunkToolCall: css`\n padding: ${size[2]} ${size[3]};\n background: oklch(0.22 0.08 280);\n border-radius: ${border.radius.sm};\n border: 1px solid oklch(0.32 0.1 280);\n margin-top: ${size[1]};\n `,\n chunkToolCallHeader: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: ${size[2]};\n `,\n chunkToolCallTitle: css`\n color: oklch(0.75 0.12 280);\n font-weight: ${font.weight.semibold};\n font-size: 10px;\n `,\n chunkToolResult: css`\n padding: ${size[2]} ${size[3]};\n background: oklch(0.22 0.08 160);\n border-radius: ${border.radius.sm};\n border: 1px solid oklch(0.32 0.1 160);\n margin-top: ${size[1]};\n `,\n chunkToolResultHeader: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: ${size[2]};\n `,\n chunkToolResultTitle: css`\n color: oklch(0.75 0.12 160);\n font-weight: ${font.weight.semibold};\n font-size: 10px;\n `,\n rawJson: css`\n font-family: ${fontFamily.mono};\n white-space: pre-wrap;\n word-break: break-word;\n padding: 6px;\n background: oklch(0.16 0.01 260);\n border-radius: 3px;\n color: oklch(0.75 0.08 260);\n font-size: 9px;\n max-height: 200px;\n overflow-y: auto;\n `,\n rawJsonLarge: css`\n font-family: ${fontFamily.mono};\n white-space: pre-wrap;\n word-break: break-word;\n padding: ${size[2]};\n background: oklch(0.16 0.01 260);\n border-radius: ${border.radius.sm};\n color: oklch(0.75 0.08 260);\n font-size: 10px;\n max-height: 300px;\n overflow-y: auto;\n `,\n noChunks: css`\n padding: ${size[3]};\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: ${fontSize.xs};\n `,\n streamContainer: css`\n padding: ${size[3]};\n background: oklch(0.18 0.02 260);\n border-radius: ${border.radius.lg};\n border: 1px solid oklch(0.25 0.03 260);\n `,\n streamHeader: css`\n margin-bottom: ${size[3]};\n padding-bottom: ${size[2]};\n border-bottom: 1px solid oklch(0.25 0.03 260);\n `,\n streamHeaderRow: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n margin-bottom: ${size[1]};\n `,\n streamTitle: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n color: oklch(0.8 0.05 260);\n `,\n streamSubtitle: css`\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[500], colors.gray[500])};\n `,\n messageGroups: css`\n display: flex;\n flex-direction: column;\n gap: ${size[2]};\n `,\n messageGroupDetails: css`\n margin-bottom: ${size[1]};\n `,\n messageGroupSummary: css`\n cursor: pointer;\n font-size: ${fontSize.xs};\n font-weight: ${font.weight.semibold};\n color: oklch(0.65 0.08 260);\n padding: 10px;\n background: oklch(0.2 0.02 260);\n border-radius: 6px;\n border: 1px solid oklch(0.28 0.03 260);\n user-select: none;\n `,\n messageGroupContent: css`\n display: flex;\n flex-direction: column;\n gap: 6px;\n `,\n messageGroupHeader: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n `,\n messageId: css`\n font-family: ${fontFamily.mono};\n font-size: 9px;\n color: oklch(0.6 0.05 260);\n font-weight: ${font.weight.normal};\n `,\n // Embedding and Summarize operation styles\n operationCard: css`\n padding: ${size[4]};\n border-radius: ${border.radius.lg};\n background: linear-gradient(\n 135deg,\n oklch(0.25 0.04 200) 0%,\n oklch(0.22 0.03 200) 100%\n );\n border: 1.5px solid oklch(0.5 0.15 200);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);\n `,\n operationHeader: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n margin-bottom: ${size[3]};\n `,\n operationIcon: css`\n font-size: ${fontSize.lg};\n `,\n operationTitle: css`\n font-weight: ${font.weight.semibold};\n font-size: ${fontSize.sm};\n color: oklch(0.85 0.1 200);\n flex: 1;\n `,\n operationStatus: css`\n font-size: ${fontSize.xs};\n padding: 2px ${size[2]};\n border-radius: ${border.radius.sm};\n `,\n operationStatusCompleted: css`\n background: ${colors.green[500]}20;\n color: ${colors.green[400]};\n `,\n operationStatusPending: css`\n background: ${colors.yellow[500]}20;\n color: ${colors.yellow[400]};\n `,\n durationBadge: css`\n font-size: ${fontSize.xs};\n padding: 2px ${size[2]};\n border-radius: ${border.radius.sm};\n background: oklch(0.3 0.1 280);\n color: oklch(0.8 0.1 280);\n font-family: ${fontFamily.mono};\n `,\n operationDetails: css`\n display: flex;\n flex-direction: column;\n gap: ${size[2]};\n `,\n operationDetail: css`\n display: flex;\n align-items: center;\n gap: ${size[2]};\n font-size: ${fontSize.xs};\n `,\n operationLabel: css`\n color: oklch(0.65 0.08 200);\n font-weight: ${font.weight.semibold};\n min-width: 70px;\n `,\n operationValue: css`\n color: oklch(0.8 0.05 200);\n font-family: ${fontFamily.mono};\n `,\n // Iteration badge\n iterationBadge: css`\n font-size: ${fontSize.xs};\n padding: 2px ${size[2]};\n border-radius: ${border.radius.sm};\n background: ${colors.purple[500]}20;\n color: ${colors.purple[400]};\n font-weight: ${font.weight.semibold};\n `,\n },\n }\n}\n\nexport function useStyles() {\n const { theme } = useTheme()\n const [styles, setStyles] = createSignal(stylesFactory(theme()))\n createEffect(() => {\n setStyles(stylesFactory(theme()))\n })\n return styles\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/ai-devtools-core",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Core TanStack AI Devtools",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -40,7 +40,7 @@
40
40
  "@tanstack/devtools-utils": "^0.3.0",
41
41
  "goober": "^2.1.18",
42
42
  "solid-js": "^1.9.10",
43
- "@tanstack/ai": "0.2.2"
43
+ "@tanstack/ai": "0.3.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@vitest/coverage-v8": "4.0.14",
@@ -2,6 +2,7 @@ import { Show, createEffect, createSignal } from 'solid-js'
2
2
  import { useStyles } from '../styles/use-styles'
3
3
  import { useAIStore } from '../store/ai-context'
4
4
  import {
5
+ ActivityEventsTab,
5
6
  ChunksTab,
6
7
  ConversationHeader,
7
8
  ConversationTabs,
@@ -35,12 +36,56 @@ export const ConversationDetails: Component = () => {
35
36
  (conv.summaries && conv.summaries.length > 0)
36
37
  ) {
37
38
  setActiveTab('summaries')
39
+ } else if (
40
+ conv.hasImage ||
41
+ (conv.imageEvents && conv.imageEvents.length > 0)
42
+ ) {
43
+ setActiveTab('image')
44
+ } else if (
45
+ conv.hasSpeech ||
46
+ (conv.speechEvents && conv.speechEvents.length > 0)
47
+ ) {
48
+ setActiveTab('speech')
49
+ } else if (
50
+ conv.hasTranscription ||
51
+ (conv.transcriptionEvents && conv.transcriptionEvents.length > 0)
52
+ ) {
53
+ setActiveTab('transcription')
54
+ } else if (
55
+ conv.hasVideo ||
56
+ (conv.videoEvents && conv.videoEvents.length > 0)
57
+ ) {
58
+ setActiveTab('video')
38
59
  } else {
39
60
  setActiveTab('chunks')
40
61
  }
41
62
  } else {
42
63
  // For client conversations, default to messages tab
43
- setActiveTab('messages')
64
+ if (conv.messages.length > 0) {
65
+ setActiveTab('messages')
66
+ } else if (
67
+ conv.hasImage ||
68
+ (conv.imageEvents && conv.imageEvents.length > 0)
69
+ ) {
70
+ setActiveTab('image')
71
+ } else if (
72
+ conv.hasSpeech ||
73
+ (conv.speechEvents && conv.speechEvents.length > 0)
74
+ ) {
75
+ setActiveTab('speech')
76
+ } else if (
77
+ conv.hasTranscription ||
78
+ (conv.transcriptionEvents && conv.transcriptionEvents.length > 0)
79
+ ) {
80
+ setActiveTab('transcription')
81
+ } else if (
82
+ conv.hasVideo ||
83
+ (conv.videoEvents && conv.videoEvents.length > 0)
84
+ ) {
85
+ setActiveTab('video')
86
+ } else {
87
+ setActiveTab('messages')
88
+ }
44
89
  }
45
90
  }
46
91
  })
@@ -72,6 +117,30 @@ export const ConversationDetails: Component = () => {
72
117
  <Show when={activeTab() === 'summaries'}>
73
118
  <SummariesTab summaries={conv().summaries ?? []} />
74
119
  </Show>
120
+ <Show when={activeTab() === 'image'}>
121
+ <ActivityEventsTab
122
+ title="Image Activity"
123
+ events={conv().imageEvents ?? []}
124
+ />
125
+ </Show>
126
+ <Show when={activeTab() === 'speech'}>
127
+ <ActivityEventsTab
128
+ title="Speech Activity"
129
+ events={conv().speechEvents ?? []}
130
+ />
131
+ </Show>
132
+ <Show when={activeTab() === 'transcription'}>
133
+ <ActivityEventsTab
134
+ title="Transcription Activity"
135
+ events={conv().transcriptionEvents ?? []}
136
+ />
137
+ </Show>
138
+ <Show when={activeTab() === 'video'}>
139
+ <ActivityEventsTab
140
+ title="Video Activity"
141
+ events={conv().videoEvents ?? []}
142
+ />
143
+ </Show>
75
144
  </div>
76
145
  </div>
77
146
  )}
@@ -0,0 +1,57 @@
1
+ import { For, Show } from 'solid-js'
2
+ import { useStyles } from '../../styles/use-styles'
3
+ import type { Component } from 'solid-js'
4
+ import type { ActivityEvent } from '../../store/ai-context'
5
+
6
+ interface ActivityEventsTabProps {
7
+ title: string
8
+ events: Array<ActivityEvent>
9
+ }
10
+
11
+ export const ActivityEventsTab: Component<ActivityEventsTabProps> = (props) => {
12
+ const styles = useStyles()
13
+
14
+ const formattedTimestamp = (timestamp: number) =>
15
+ new Date(timestamp).toLocaleTimeString()
16
+
17
+ return (
18
+ <Show
19
+ when={props.events.length > 0}
20
+ fallback={
21
+ <div class={styles().conversationDetails.noChunks}>No events yet</div>
22
+ }
23
+ >
24
+ <div class={styles().conversationDetails.streamContainer}>
25
+ <div class={styles().conversationDetails.streamHeader}>
26
+ <div class={styles().conversationDetails.streamHeaderRow}>
27
+ <div class={styles().conversationDetails.streamTitle}>
28
+ {props.title}
29
+ </div>
30
+ <div
31
+ class={`${styles().conversationDetails.chunkBadge} ${styles().conversationDetails.chunkBadgeCount}`}
32
+ >
33
+ {props.events.length} events
34
+ </div>
35
+ </div>
36
+ <div class={styles().conversationDetails.streamSubtitle}>
37
+ Activity event log
38
+ </div>
39
+ </div>
40
+ <div class={styles().conversationDetails.messageGroups}>
41
+ <For each={props.events}>
42
+ {(event) => (
43
+ <div class={styles().detailSection}>
44
+ <div class={styles().detailSectionHeader}>
45
+ {event.name} · {formattedTimestamp(event.timestamp)}
46
+ </div>
47
+ <pre class={styles().conversationDetails.jsonPreview}>
48
+ {JSON.stringify(event.payload, null, 2)}
49
+ </pre>
50
+ </div>
51
+ )}
52
+ </For>
53
+ </div>
54
+ </div>
55
+ </Show>
56
+ )
57
+ }
@@ -1,4 +1,5 @@
1
1
  import { For, Show } from 'solid-js'
2
+ import { JsonTree } from '@tanstack/devtools-ui'
2
3
  import { useStyles } from '../../styles/use-styles'
3
4
  import { formatDuration } from '../utils'
4
5
  import type { Component } from 'solid-js'
@@ -16,8 +17,9 @@ export const ConversationHeader: Component<ConversationHeaderProps> = (
16
17
 
17
18
  const toolNames = () => conv().toolNames ?? []
18
19
  const options = () => conv().options
19
- const providerOptions = () => conv().providerOptions
20
+ const modelOptions = () => conv().modelOptions
20
21
  const iterationCount = () => conv().iterationCount
22
+ const systemPrompts = () => conv().systemPrompts ?? []
21
23
 
22
24
  return (
23
25
  <div class={styles().panelHeader}>
@@ -49,24 +51,6 @@ export const ConversationHeader: Component<ConversationHeaderProps> = (
49
51
  {conv().completedAt &&
50
52
  ` • Duration: ${formatDuration(conv().completedAt! - conv().startedAt)}`}
51
53
  </div>
52
- <Show when={conv().usage}>
53
- <div class={styles().conversationDetails.usageInfo}>
54
- <span class={styles().conversationDetails.usageLabel}>
55
- 🎯 Tokens:
56
- </span>
57
- <span>
58
- Prompt: {conv().usage?.promptTokens.toLocaleString() || 0}
59
- </span>
60
- <span>•</span>
61
- <span>
62
- Completion: {conv().usage?.completionTokens.toLocaleString() || 0}
63
- </span>
64
- <span>•</span>
65
- <span class={styles().conversationDetails.usageBold}>
66
- Total: {conv().usage?.totalTokens.toLocaleString() || 0}
67
- </span>
68
- </div>
69
- </Show>
70
54
  {/* Tools list - always visible */}
71
55
  <Show when={toolNames().length > 0}>
72
56
  <div class={styles().conversationDetails.toolsRow}>
@@ -102,27 +86,59 @@ export const ConversationHeader: Component<ConversationHeaderProps> = (
102
86
  </div>
103
87
  </div>
104
88
  </Show>
105
- {/* Provider Options - always visible in compact form */}
106
- <Show
107
- when={providerOptions() && Object.keys(providerOptions()!).length > 0}
108
- >
109
- <div class={styles().conversationDetails.optionsRow}>
110
- <span class={styles().conversationDetails.optionsLabel}>
111
- 🏷️ Provider:
89
+ <Show when={conv().usage}>
90
+ <div class={styles().conversationDetails.usageInfo}>
91
+ <span class={styles().conversationDetails.usageLabel}>
92
+ 🎯 Tokens:
112
93
  </span>
113
- <div class={styles().conversationDetails.optionsCompact}>
114
- <For each={Object.entries(providerOptions()!)}>
115
- {([key, value]) => (
116
- <span class={styles().conversationDetails.optionBadge}>
117
- {key}:{' '}
118
- {typeof value === 'object'
119
- ? JSON.stringify(value)
120
- : String(value)}
121
- </span>
94
+ <span>
95
+ Prompt: {conv().usage?.promptTokens.toLocaleString() || 0}
96
+ </span>
97
+ <span>•</span>
98
+ <span>
99
+ Completion: {conv().usage?.completionTokens.toLocaleString() || 0}
100
+ </span>
101
+ <span>•</span>
102
+ <span class={styles().conversationDetails.usageBold}>
103
+ Total: {conv().usage?.totalTokens.toLocaleString() || 0}
104
+ </span>
105
+ </div>
106
+ </Show>
107
+ {/* Model options - collapsible */}
108
+ <Show when={modelOptions() && Object.keys(modelOptions()!).length > 0}>
109
+ <details class={styles().conversationDetails.collapsibleSection}>
110
+ <summary class={styles().conversationDetails.collapsibleSummary}>
111
+ 🧪 Model options
112
+ </summary>
113
+ <div class={styles().conversationDetails.collapsibleContent}>
114
+ <JsonTree
115
+ value={modelOptions() as Record<string, unknown>}
116
+ defaultExpansionDepth={2}
117
+ />
118
+ </div>
119
+ </details>
120
+ </Show>
121
+ {/* System prompts - collapsible */}
122
+ <Show when={systemPrompts().length > 0}>
123
+ <details class={styles().conversationDetails.collapsibleSection}>
124
+ <summary class={styles().conversationDetails.collapsibleSummary}>
125
+ 🧩 System prompts ({systemPrompts().length})
126
+ </summary>
127
+ <div class={styles().conversationDetails.collapsibleContent}>
128
+ <For each={systemPrompts()}>
129
+ {(prompt, index) => (
130
+ <div class={styles().conversationDetails.systemPromptItem}>
131
+ <div class={styles().conversationDetails.systemPromptIndex}>
132
+ #{index() + 1}
133
+ </div>
134
+ <div class={styles().conversationDetails.systemPromptText}>
135
+ {prompt}
136
+ </div>
137
+ </div>
122
138
  )}
123
139
  </For>
124
140
  </div>
125
- </div>
141
+ </details>
126
142
  </Show>
127
143
  </div>
128
144
  </div>