@roj-ai/debug 0.1.3 → 0.1.4
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.
- package/dist/components/debug/DebugContext.d.ts +1 -0
- package/dist/components/debug/DebugContext.d.ts.map +1 -0
- package/dist/components/debug/DebugContext.js +9 -0
- package/dist/components/debug/DebugContext.js.map +1 -0
- package/dist/components/debug/DebugNavigation.d.ts +1 -0
- package/dist/components/debug/DebugNavigation.d.ts.map +1 -0
- package/dist/components/debug/DebugNavigation.js +36 -0
- package/dist/components/debug/DebugNavigation.js.map +1 -0
- package/dist/components/debug/DebugShell.d.ts +1 -0
- package/dist/components/debug/DebugShell.d.ts.map +1 -0
- package/dist/components/debug/DebugShell.js +103 -0
- package/dist/components/debug/DebugShell.js.map +1 -0
- package/dist/components/debug/LLMCallDetail.d.ts +1 -0
- package/dist/components/debug/LLMCallDetail.d.ts.map +1 -0
- package/dist/components/debug/LLMCallDetail.js +204 -0
- package/dist/components/debug/LLMCallDetail.js.map +1 -0
- package/dist/components/debug/TimelineDetailInspector.d.ts +1 -0
- package/dist/components/debug/TimelineDetailInspector.d.ts.map +1 -0
- package/dist/components/debug/TimelineDetailInspector.js +48 -0
- package/dist/components/debug/TimelineDetailInspector.js.map +1 -0
- package/dist/components/debug/communication/CommunicationDiagram.d.ts +1 -0
- package/dist/components/debug/communication/CommunicationDiagram.d.ts.map +1 -0
- package/dist/components/debug/communication/CommunicationDiagram.js +67 -0
- package/dist/components/debug/communication/CommunicationDiagram.js.map +1 -0
- package/dist/components/debug/communication/DiagramHeader.d.ts +1 -0
- package/dist/components/debug/communication/DiagramHeader.d.ts.map +1 -0
- package/dist/components/debug/communication/DiagramHeader.js +44 -0
- package/dist/components/debug/communication/DiagramHeader.js.map +1 -0
- package/dist/components/debug/communication/ParticipantLane.d.ts +1 -0
- package/dist/components/debug/communication/ParticipantLane.d.ts.map +1 -0
- package/dist/components/debug/communication/ParticipantLane.js +10 -0
- package/dist/components/debug/communication/ParticipantLane.js.map +1 -0
- package/dist/components/debug/communication/TimeAxis.d.ts +1 -0
- package/dist/components/debug/communication/TimeAxis.d.ts.map +1 -0
- package/dist/components/debug/communication/TimeAxis.js +49 -0
- package/dist/components/debug/communication/TimeAxis.js.map +1 -0
- package/dist/components/debug/communication/elements/IdleGap.d.ts +1 -0
- package/dist/components/debug/communication/elements/IdleGap.d.ts.map +1 -0
- package/dist/components/debug/communication/elements/IdleGap.js +12 -0
- package/dist/components/debug/communication/elements/IdleGap.js.map +1 -0
- package/dist/components/debug/communication/elements/LLMBlock.d.ts +1 -0
- package/dist/components/debug/communication/elements/LLMBlock.d.ts.map +1 -0
- package/dist/components/debug/communication/elements/LLMBlock.js +30 -0
- package/dist/components/debug/communication/elements/LLMBlock.js.map +1 -0
- package/dist/components/debug/communication/elements/MessageArrow.d.ts +1 -0
- package/dist/components/debug/communication/elements/MessageArrow.d.ts.map +1 -0
- package/dist/components/debug/communication/elements/MessageArrow.js +34 -0
- package/dist/components/debug/communication/elements/MessageArrow.js.map +1 -0
- package/dist/components/debug/communication/elements/ToolBlock.d.ts +1 -0
- package/dist/components/debug/communication/elements/ToolBlock.d.ts.map +1 -0
- package/dist/components/debug/communication/elements/ToolBlock.js +27 -0
- package/dist/components/debug/communication/elements/ToolBlock.js.map +1 -0
- package/dist/components/debug/communication/hooks/useDiagramData.d.ts +1 -0
- package/dist/components/debug/communication/hooks/useDiagramData.d.ts.map +1 -0
- package/dist/components/debug/communication/hooks/useDiagramData.js +252 -0
- package/dist/components/debug/communication/hooks/useDiagramData.js.map +1 -0
- package/dist/components/debug/communication/hooks/useTimeCompression.d.ts +1 -0
- package/dist/components/debug/communication/hooks/useTimeCompression.d.ts.map +1 -0
- package/dist/components/debug/communication/hooks/useTimeCompression.js +109 -0
- package/dist/components/debug/communication/hooks/useTimeCompression.js.map +1 -0
- package/dist/components/debug/communication/hooks/useZoomPan.d.ts +1 -0
- package/dist/components/debug/communication/hooks/useZoomPan.d.ts.map +1 -0
- package/dist/components/debug/communication/hooks/useZoomPan.js +75 -0
- package/dist/components/debug/communication/hooks/useZoomPan.js.map +1 -0
- package/dist/components/debug/communication/popovers/ElementPopover.d.ts +1 -0
- package/dist/components/debug/communication/popovers/ElementPopover.d.ts.map +1 -0
- package/dist/components/debug/communication/popovers/ElementPopover.js +39 -0
- package/dist/components/debug/communication/popovers/ElementPopover.js.map +1 -0
- package/dist/components/debug/communication/types.d.ts +1 -0
- package/dist/components/debug/communication/types.d.ts.map +1 -0
- package/dist/components/debug/communication/types.js +52 -0
- package/dist/components/debug/communication/types.js.map +1 -0
- package/dist/components/debug/index.d.ts +1 -0
- package/dist/components/debug/index.d.ts.map +1 -0
- package/dist/components/debug/index.js +18 -0
- package/dist/components/debug/index.js.map +1 -0
- package/dist/components/debug/pages/AgentDetailPage.d.ts +1 -0
- package/dist/components/debug/pages/AgentDetailPage.d.ts.map +1 -0
- package/dist/components/debug/pages/AgentDetailPage.js +365 -0
- package/dist/components/debug/pages/AgentDetailPage.js.map +1 -0
- package/dist/components/debug/pages/AgentsPage.d.ts +1 -0
- package/dist/components/debug/pages/AgentsPage.d.ts.map +1 -0
- package/dist/components/debug/pages/AgentsPage.js +111 -0
- package/dist/components/debug/pages/AgentsPage.js.map +1 -0
- package/dist/components/debug/pages/CommunicationPage.d.ts +1 -0
- package/dist/components/debug/pages/CommunicationPage.d.ts.map +1 -0
- package/dist/components/debug/pages/CommunicationPage.js +19 -0
- package/dist/components/debug/pages/CommunicationPage.js.map +1 -0
- package/dist/components/debug/pages/DashboardPage.d.ts +1 -0
- package/dist/components/debug/pages/DashboardPage.d.ts.map +1 -0
- package/dist/components/debug/pages/DashboardPage.js +430 -0
- package/dist/components/debug/pages/DashboardPage.js.map +1 -0
- package/dist/components/debug/pages/EventsPage.d.ts +1 -0
- package/dist/components/debug/pages/EventsPage.d.ts.map +1 -0
- package/dist/components/debug/pages/EventsPage.js +137 -0
- package/dist/components/debug/pages/EventsPage.js.map +1 -0
- package/dist/components/debug/pages/FilesPage.d.ts +1 -0
- package/dist/components/debug/pages/FilesPage.d.ts.map +1 -0
- package/dist/components/debug/pages/FilesPage.js +187 -0
- package/dist/components/debug/pages/FilesPage.js.map +1 -0
- package/dist/components/debug/pages/LLMCallPage.d.ts +1 -0
- package/dist/components/debug/pages/LLMCallPage.d.ts.map +1 -0
- package/dist/components/debug/pages/LLMCallPage.js +12 -0
- package/dist/components/debug/pages/LLMCallPage.js.map +1 -0
- package/dist/components/debug/pages/LLMCallsPage.d.ts +1 -0
- package/dist/components/debug/pages/LLMCallsPage.d.ts.map +1 -0
- package/dist/components/debug/pages/LLMCallsPage.js +200 -0
- package/dist/components/debug/pages/LLMCallsPage.js.map +1 -0
- package/dist/components/debug/pages/LogsPage.d.ts +1 -0
- package/dist/components/debug/pages/LogsPage.d.ts.map +1 -0
- package/dist/components/debug/pages/LogsPage.js +107 -0
- package/dist/components/debug/pages/LogsPage.js.map +1 -0
- package/dist/components/debug/pages/MailboxPage.d.ts +1 -0
- package/dist/components/debug/pages/MailboxPage.d.ts.map +1 -0
- package/dist/components/debug/pages/MailboxPage.js +60 -0
- package/dist/components/debug/pages/MailboxPage.js.map +1 -0
- package/dist/components/debug/pages/ServicesPage.d.ts +1 -0
- package/dist/components/debug/pages/ServicesPage.d.ts.map +1 -0
- package/dist/components/debug/pages/ServicesPage.js +91 -0
- package/dist/components/debug/pages/ServicesPage.js.map +1 -0
- package/dist/components/debug/pages/TimelinePage.d.ts +1 -0
- package/dist/components/debug/pages/TimelinePage.d.ts.map +1 -0
- package/dist/components/debug/pages/TimelinePage.js +101 -0
- package/dist/components/debug/pages/TimelinePage.js.map +1 -0
- package/dist/components/debug/pages/UserChatPage.d.ts +1 -0
- package/dist/components/debug/pages/UserChatPage.d.ts.map +1 -0
- package/dist/components/debug/pages/UserChatPage.js +56 -0
- package/dist/components/debug/pages/UserChatPage.js.map +1 -0
- package/dist/components/debug/pages/index.d.ts +1 -0
- package/dist/components/debug/pages/index.d.ts.map +1 -0
- package/dist/components/debug/pages/index.js +14 -0
- package/dist/components/debug/pages/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/domain-utils.d.ts +1 -0
- package/dist/lib/domain-utils.d.ts.map +1 -0
- package/dist/lib/domain-utils.js +11 -0
- package/dist/lib/domain-utils.js.map +1 -0
- package/dist/providers/EventPollingProvider.d.ts +1 -0
- package/dist/providers/EventPollingProvider.d.ts.map +1 -0
- package/dist/providers/EventPollingProvider.js +49 -0
- package/dist/providers/EventPollingProvider.js.map +1 -0
- package/dist/stores/event-store.d.ts +1 -0
- package/dist/stores/event-store.d.ts.map +1 -0
- package/dist/stores/event-store.js +341 -0
- package/dist/stores/event-store.js.map +1 -0
- package/dist/utils/format.d.ts +1 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +11 -0
- package/dist/utils/format.js.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DebugContext.d.ts","sourceRoot":"","sources":["../../../src/components/debug/DebugContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG/C,MAAM,WAAW,iBAAiB;IACjC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC1C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAA;IACvC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;CACtC;AAED,eAAO,MAAM,YAAY,mDAAgD,CAAA;AAEzE,wBAAgB,eAAe,IAAI,iBAAiB,CAInD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
export const DebugContext = createContext(null);
|
|
3
|
+
export function useDebugContext() {
|
|
4
|
+
const ctx = useContext(DebugContext);
|
|
5
|
+
if (!ctx)
|
|
6
|
+
throw new Error('useDebugContext must be used within a DebugContext.Provider');
|
|
7
|
+
return ctx;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=DebugContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DebugContext.js","sourceRoot":"","sources":["../../../src/components/debug/DebugContext.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAUjD,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAA;AAEzE,MAAM,UAAU,eAAe;IAC9B,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IACpC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IACxF,OAAO,GAAG,CAAA;AACX,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DebugNavigation.d.ts","sourceRoot":"","sources":["../../../src/components/debug/DebugNavigation.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,SAAS,CAE7C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAEhF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAG5D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAgB7G"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback } from 'react';
|
|
3
|
+
import { useDebugContext } from './DebugContext';
|
|
4
|
+
/**
|
|
5
|
+
* Get the session ID from the debug context.
|
|
6
|
+
*/
|
|
7
|
+
export function useDebugSessionId() {
|
|
8
|
+
return useDebugContext().sessionId;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Get route params from the debug context.
|
|
12
|
+
*/
|
|
13
|
+
export function useDebugParams() {
|
|
14
|
+
return useDebugContext().params;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Navigate to a debug subpath (e.g., "agents/abc123", "llm-calls/xyz").
|
|
18
|
+
*/
|
|
19
|
+
export function useDebugNavigate() {
|
|
20
|
+
const { navigate } = useDebugContext();
|
|
21
|
+
return useCallback((subpath) => navigate(subpath), [navigate]);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Link component for debug navigation.
|
|
25
|
+
* Renders an <a> tag with proper href for right-click/open-in-new-tab support.
|
|
26
|
+
*/
|
|
27
|
+
export function DebugLink({ to, className, children }) {
|
|
28
|
+
const { navigate, createHref } = useDebugContext();
|
|
29
|
+
return (_jsx("a", { href: createHref(to), className: className, onClick: (e) => {
|
|
30
|
+
if (e.metaKey || e.ctrlKey || e.shiftKey)
|
|
31
|
+
return;
|
|
32
|
+
e.preventDefault();
|
|
33
|
+
navigate(to);
|
|
34
|
+
}, children: children }));
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=DebugNavigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DebugNavigation.js","sourceRoot":"","sources":["../../../src/components/debug/DebugNavigation.tsx"],"names":[],"mappings":";AASA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAChC,OAAO,eAAe,EAAE,CAAC,SAAS,CAAA;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC7B,OAAO,eAAe,EAAE,CAAC,MAAW,CAAA;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAA;IACtC,OAAO,WAAW,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAA2D;IAC7G,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAA;IAElD,OAAO,CACN,YACC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,EACpB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACd,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ;gBAAE,OAAM;YAChD,CAAC,CAAC,cAAc,EAAE,CAAA;YAClB,QAAQ,CAAC,EAAE,CAAC,CAAA;QACb,CAAC,YAEA,QAAQ,GACN,CACJ,CAAA;AACF,CAAC"}
|
|
@@ -16,3 +16,4 @@ export declare function DebugShell({ sessionId, children, className, renderNavIt
|
|
|
16
16
|
export declare function getNavItemClassName(isActive: boolean): string;
|
|
17
17
|
export declare function BackIcon(): import("react/jsx-runtime").JSX.Element;
|
|
18
18
|
export {};
|
|
19
|
+
//# sourceMappingURL=DebugShell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DebugShell.d.ts","sourceRoot":"","sources":["../../../src/components/debug/DebugShell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAA;AAKhD,MAAM,WAAW,OAAO;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,KAAK,CAAC,EAAE,CAAA;CACd;AAED,eAAO,MAAM,QAAQ,EAAE,OAAO,EAY7B,CAAA;AAED,UAAU,eAAe;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,CAAA;IAC3C,aAAa,CAAC,EAAE,SAAS,CAAA;CACzB;AAED,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAyC,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,eAAe,2CA8D3I;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,UAMpD;AAyLD,wBAAgB,QAAQ,4CAMvB"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { api, unwrap } from '@roj-ai/client';
|
|
4
|
+
import { useEventPolling } from '../../providers/EventPollingProvider';
|
|
5
|
+
import { useEventStore, useMetrics } from '../../stores/event-store';
|
|
6
|
+
export const navItems = [
|
|
7
|
+
{ to: 'dashboard', label: 'Dashboard', icon: DashboardIcon },
|
|
8
|
+
{ to: 'agents', label: 'Agents', icon: AgentsIcon },
|
|
9
|
+
{ to: 'communication', label: 'Communication', icon: CommunicationIcon },
|
|
10
|
+
{ to: 'user-chat', label: 'User Chat', icon: UserChatIcon },
|
|
11
|
+
{ to: 'timeline', label: 'Timeline', icon: TimelineIcon },
|
|
12
|
+
{ to: 'llm-calls', label: 'LLM Calls', icon: LLMIcon },
|
|
13
|
+
{ to: 'events', label: 'Events', icon: EventsIcon },
|
|
14
|
+
{ to: 'mailbox', label: 'Mailbox', icon: MailboxIcon },
|
|
15
|
+
{ to: 'files', label: 'Files', icon: FilesIcon },
|
|
16
|
+
{ to: 'services', label: 'Services', icon: ServicesIcon },
|
|
17
|
+
{ to: 'logs', label: 'Logs', icon: LogsIcon },
|
|
18
|
+
];
|
|
19
|
+
export function DebugShell({ sessionId, children, className = 'fixed inset-0 flex flex-col', renderNavItem, sidebarFooter }) {
|
|
20
|
+
const { isLoading } = useEventPolling(sessionId);
|
|
21
|
+
const metrics = useMetrics();
|
|
22
|
+
const hasEvents = useEventStore((s) => s.events.length > 0);
|
|
23
|
+
return (_jsxs("div", { className: `${className} bg-surface`, children: [_jsxs("header", { className: "h-14 bg-white shadow-card flex items-center px-5 shrink-0 z-10", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("span", { className: "bg-accent-lime rounded-full px-4 py-1.5 text-sm font-bold text-gray-900", children: "Roj" }), _jsx("span", { className: "text-gray-300", children: "/" }), _jsx("span", { className: "text-sm text-gray-400 font-mono", children: sessionId.slice(0, 8) }), _jsx("span", { className: "text-gray-300", children: "/" }), _jsx("span", { className: "text-sm font-semibold text-gray-700", children: "Debug" })] }), _jsxs("div", { className: "ml-auto flex items-center gap-5 text-sm", children: [hasEvents && (_jsxs(_Fragment, { children: [isLoading && _jsx("span", { className: "text-gray-400 text-xs animate-pulse", children: "Loading..." }), _jsx(MetricBadge, { label: "Tokens", value: metrics.totalTokens.toLocaleString() }), _jsx(MetricBadge, { label: "LLM", value: metrics.llmCalls.toString() }), _jsx(MetricBadge, { label: "Tools", value: metrics.toolCalls.toString() }), _jsx(MetricBadge, { label: "Agents", value: metrics.agentCount.toString() }), metrics.totalCost !== undefined && metrics.totalCost > 0 && (_jsx(MetricBadge, { label: "Cost", value: `$${metrics.totalCost.toFixed(4)}`, className: "text-green-600" }))] })), _jsx(SessionActionButton, { sessionId: sessionId })] })] }), _jsxs("div", { className: "flex flex-1 overflow-hidden", children: [_jsxs("nav", { className: "w-52 bg-white shadow-card flex flex-col shrink-0 z-[5]", children: [_jsx("div", { className: "flex-1 py-3 px-3 space-y-0.5", children: navItems.map((item) => renderNavItem(item)) }), sidebarFooter && (_jsx("div", { className: "p-3 border-t border-gray-100", children: sidebarFooter }))] }), _jsx("main", { className: "flex-1 overflow-auto p-5", children: children })] })] }));
|
|
24
|
+
}
|
|
25
|
+
export function getNavItemClassName(isActive) {
|
|
26
|
+
return `flex items-center gap-3 px-4 py-2.5 text-sm rounded-2xl transition-colors ${isActive
|
|
27
|
+
? 'bg-accent-lime text-gray-900 font-semibold'
|
|
28
|
+
: 'text-gray-500 hover:bg-gray-100 hover:text-gray-800'}`;
|
|
29
|
+
}
|
|
30
|
+
function SessionActionButton({ sessionId }) {
|
|
31
|
+
const [loading, setLoading] = useState(false);
|
|
32
|
+
const status = useEventStore((s) => s.sessionInfoState.id ? s.sessionInfoState.status : null);
|
|
33
|
+
if (!status)
|
|
34
|
+
return null;
|
|
35
|
+
const handleAction = async () => {
|
|
36
|
+
if (loading)
|
|
37
|
+
return;
|
|
38
|
+
setLoading(true);
|
|
39
|
+
try {
|
|
40
|
+
if (status === 'active') {
|
|
41
|
+
unwrap(await api.call('sessions.close', { sessionId }));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
unwrap(await api.call('sessions.reopen', { sessionId }));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
console.error(`Failed to ${status === 'active' ? 'stop' : 'reopen'} session:`, e);
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
setLoading(false);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
if (status === 'active') {
|
|
55
|
+
return (_jsx("button", { onClick: handleAction, disabled: loading, className: `px-4 py-1.5 text-xs font-medium rounded-full transition-colors ${loading
|
|
56
|
+
? 'bg-red-500 text-white cursor-wait opacity-70'
|
|
57
|
+
: 'bg-gray-900 text-white hover:bg-gray-800'}`, children: loading ? 'Stopping...' : 'Stop Session' }));
|
|
58
|
+
}
|
|
59
|
+
return (_jsx("button", { onClick: handleAction, disabled: loading, className: `px-4 py-1.5 text-xs font-medium rounded-full transition-colors ${loading
|
|
60
|
+
? 'bg-green-500 text-white cursor-wait opacity-70'
|
|
61
|
+
: 'bg-green-600 text-white hover:bg-green-500'}`, children: loading ? 'Reopening...' : 'Reopen Session' }));
|
|
62
|
+
}
|
|
63
|
+
function MetricBadge({ label, value, className, }) {
|
|
64
|
+
return (_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: "text-gray-400 text-xs", children: label }), _jsx("span", { className: `font-semibold text-sm ${className || 'text-gray-700'}`, children: value })] }));
|
|
65
|
+
}
|
|
66
|
+
// Icons — thin-line, rounded endpoints, 1.5px stroke
|
|
67
|
+
function DashboardIcon() {
|
|
68
|
+
return (_jsx("svg", { className: "w-[18px] h-[18px]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z" }) }));
|
|
69
|
+
}
|
|
70
|
+
function AgentsIcon() {
|
|
71
|
+
return (_jsx("svg", { className: "w-[18px] h-[18px]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z" }) }));
|
|
72
|
+
}
|
|
73
|
+
function TimelineIcon() {
|
|
74
|
+
return (_jsx("svg", { className: "w-[18px] h-[18px]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M13 10V3L4 14h7v7l9-11h-7z" }) }));
|
|
75
|
+
}
|
|
76
|
+
function LLMIcon() {
|
|
77
|
+
return (_jsx("svg", { className: "w-[18px] h-[18px]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" }) }));
|
|
78
|
+
}
|
|
79
|
+
function EventsIcon() {
|
|
80
|
+
return (_jsx("svg", { className: "w-[18px] h-[18px]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01" }) }));
|
|
81
|
+
}
|
|
82
|
+
function MailboxIcon() {
|
|
83
|
+
return (_jsx("svg", { className: "w-[18px] h-[18px]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" }) }));
|
|
84
|
+
}
|
|
85
|
+
function FilesIcon() {
|
|
86
|
+
return (_jsx("svg", { className: "w-[18px] h-[18px]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z" }) }));
|
|
87
|
+
}
|
|
88
|
+
function ServicesIcon() {
|
|
89
|
+
return (_jsx("svg", { className: "w-[18px] h-[18px]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01" }) }));
|
|
90
|
+
}
|
|
91
|
+
function LogsIcon() {
|
|
92
|
+
return (_jsx("svg", { className: "w-[18px] h-[18px]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M4 6h16M4 10h16M4 14h10M4 18h7" }) }));
|
|
93
|
+
}
|
|
94
|
+
export function BackIcon() {
|
|
95
|
+
return (_jsx("svg", { className: "w-[18px] h-[18px]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M10 19l-7-7m0 0l7-7m-7 7h18" }) }));
|
|
96
|
+
}
|
|
97
|
+
function CommunicationIcon() {
|
|
98
|
+
return (_jsx("svg", { className: "w-[18px] h-[18px]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z" }) }));
|
|
99
|
+
}
|
|
100
|
+
function UserChatIcon() {
|
|
101
|
+
return (_jsx("svg", { className: "w-[18px] h-[18px]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M17 8h2a2 2 0 012 2v6a2 2 0 01-2 2h-2v4l-4-4H9a1.994 1.994 0 01-1.414-.586m0 0L11 14h4a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2v4l.586-.586z" }) }));
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=DebugShell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DebugShell.js","sourceRoot":"","sources":["../../../src/components/debug/DebugShell.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LLMCallDetail.d.ts","sourceRoot":"","sources":["../../../src/components/debug/LLMCallDetail.tsx"],"names":[],"mappings":"AASA,UAAU,kBAAkB;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,2CA0O/E"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { estimateTokens } from '../../lib/domain-utils.js';
|
|
3
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
4
|
+
import { api, getApiBaseUrl, unwrap } from '@roj-ai/client';
|
|
5
|
+
function isLLMCallLogEntry(data) {
|
|
6
|
+
return typeof data === 'object' && data !== null && 'id' in data && 'status' in data && 'request' in data;
|
|
7
|
+
}
|
|
8
|
+
export function LLMCallDetail({ sessionId, callId, onClose }) {
|
|
9
|
+
const [call, setCall] = useState(null);
|
|
10
|
+
const [loading, setLoading] = useState(true);
|
|
11
|
+
const [error, setError] = useState(null);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
let cancelled = false;
|
|
14
|
+
const load = async () => {
|
|
15
|
+
try {
|
|
16
|
+
setLoading(true);
|
|
17
|
+
setError(null);
|
|
18
|
+
const data = unwrap(await api.call('llm.getCall', { sessionId, callId }));
|
|
19
|
+
if (!cancelled && isLLMCallLogEntry(data)) {
|
|
20
|
+
setCall(data);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
if (!cancelled) {
|
|
25
|
+
setError(err instanceof Error ? err.message : 'Failed to load LLM call');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
finally {
|
|
29
|
+
if (!cancelled) {
|
|
30
|
+
setLoading(false);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
load();
|
|
35
|
+
return () => {
|
|
36
|
+
cancelled = true;
|
|
37
|
+
};
|
|
38
|
+
}, [sessionId, callId]);
|
|
39
|
+
if (loading) {
|
|
40
|
+
return _jsx("div", { className: "text-slate-500 text-sm p-4", children: "Loading..." });
|
|
41
|
+
}
|
|
42
|
+
if (error) {
|
|
43
|
+
return _jsx("div", { className: "text-red-500 text-sm p-4", children: error });
|
|
44
|
+
}
|
|
45
|
+
if (!call) {
|
|
46
|
+
return _jsx("div", { className: "text-slate-500 text-sm p-4", children: "No data" });
|
|
47
|
+
}
|
|
48
|
+
return (_jsxs("div", { className: "space-y-6 text-sm", children: [_jsxs("div", { className: "flex items-center justify-between border-b pb-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(StatusBadge, { status: call.status }), _jsx("span", { className: "font-mono font-medium text-lg", children: call.request.model })] }), onClose && (_jsx("button", { onClick: onClose, className: "text-slate-400 hover:text-slate-600 text-xl", children: "\u00D7" }))] }), _jsx(MetricsGrid, { call: call }), call.error && (_jsxs("div", { className: "bg-red-50 border border-red-200 rounded-md p-4", children: [_jsx("h3", { className: "font-semibold text-red-800 mb-2", children: "Error" }), _jsx("div", { className: "font-medium text-red-700", children: call.error.type }), _jsx("div", { className: "text-red-600", children: call.error.message }), call.error.retryAfterMs !== undefined && (_jsxs("div", { className: "text-red-500 text-xs mt-1", children: ["Retry after: ", call.error.retryAfterMs, "ms"] }))] })), _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-3 gap-6", children: [_jsxs("div", { className: "lg:col-span-2 space-y-4", children: [_jsx(CollapsibleSection, { title: "System Prompt", defaultOpen: false, children: _jsx(CollapsibleContent, { maxLines: 10, children: call.request.systemPrompt }) }), _jsx(CollapsibleSection, { title: `Messages (${call.request.messages.length})`, defaultOpen: true, children: _jsxs("div", { className: "space-y-3", children: [call.request.messages.map((msg, idx) => (_jsxs("div", { children: [_jsx(MessageBlock, { message: msg, index: idx, sessionId: sessionId }), msg.cacheControl && _jsx(CacheBreakpointMarker, {})] }, idx))), call.response && (_jsxs("div", { className: "border-t-2 border-green-300 pt-3", children: [_jsx("div", { className: "text-xs text-green-600 font-medium mb-2", children: "Response" }), call.response.reasoning && (_jsxs("div", { className: "bg-orange-50 border border-orange-200 rounded-md p-3 mb-3", children: [_jsx("div", { className: "text-sm font-semibold text-orange-800 mb-2", children: "Reasoning:" }), _jsx(CollapsibleContent, { maxLines: 20, children: call.response.reasoning })] })), call.response.content && (_jsx("div", { className: "bg-green-50 border border-green-200 rounded-md p-3 mb-3", children: _jsx(CollapsibleContent, { maxLines: 15, children: call.response.content }) })), call.response.toolCalls.length > 0 && (_jsxs("div", { className: "space-y-2", children: [_jsx("div", { className: "text-xs font-medium text-slate-600", children: "Tool Calls:" }), call.response.toolCalls.map((tc) => (_jsxs("div", { className: "bg-cyan-50 border border-cyan-200 rounded-md p-3", children: [_jsxs("div", { className: "flex items-center gap-2 mb-2", children: [_jsx("span", { className: "font-mono font-medium text-cyan-800", children: tc.name }), _jsx("span", { className: "text-xs text-cyan-600 font-mono bg-cyan-100 px-2 py-0.5 rounded", children: tc.id.slice(0, 8) })] }), _jsx(CollapsibleContent, { maxLines: 10, children: JSON.stringify(tc.input, null, 2) })] }, tc.id)))] })), _jsxs("div", { className: "mt-2 flex items-center gap-2", children: [_jsx("span", { className: "text-xs text-slate-500", children: "Finish reason:" }), _jsx(FinishReasonBadge, { reason: call.response.finishReason })] })] }))] }) })] }), _jsxs("div", { className: "space-y-4", children: [call.metrics && (_jsx(SidebarPanel, { title: "Token Details", children: _jsxs("div", { className: "space-y-2", children: [_jsx(MetricRow, { label: "Prompt", value: call.metrics.promptTokens.toLocaleString(), color: "text-green-600" }), _jsx(MetricRow, { label: "Completion", value: call.metrics.completionTokens.toLocaleString(), color: "text-violet-600" }), call.metrics.reasoningTokens !== undefined && (_jsx(MetricRow, { label: "Reasoning", value: call.metrics.reasoningTokens.toLocaleString(), color: "text-purple-600" })), call.metrics.cachedTokens !== undefined && (_jsx(MetricRow, { label: "Cached", value: call.metrics.cachedTokens.toLocaleString(), color: "text-slate-500" })), _jsx("div", { className: "border-t pt-2", children: _jsx(MetricRow, { label: "Total", value: call.metrics.totalTokens.toLocaleString(), color: "text-slate-900", bold: true }) })] }) })), call.request.tools && call.request.tools.length > 0 && (_jsx(SidebarPanel, { title: `Tools (${call.request.toolsCount})`, children: _jsx("div", { className: "space-y-2 max-h-96 overflow-y-auto", children: call.request.tools.map((tool) => (_jsxs("details", { className: "bg-slate-50 rounded border", children: [_jsx("summary", { className: "p-2 cursor-pointer hover:bg-slate-100 text-xs", children: _jsx("span", { className: "font-mono font-medium", children: tool.name }) }), _jsxs("div", { className: "p-2 border-t text-xs space-y-2", children: [_jsx("div", { className: "text-slate-600", children: tool.description }), tool.parameters && (_jsxs("details", { className: "bg-white rounded border", children: [_jsx("summary", { className: "p-2 cursor-pointer hover:bg-slate-50 text-xs font-medium text-violet-600", children: "JSON Schema" }), _jsx("div", { className: "p-2 border-t", children: _jsx("pre", { className: "text-xs font-mono text-slate-700 whitespace-pre-wrap overflow-x-auto max-h-64 overflow-y-auto", children: JSON.stringify(tool.parameters, null, 2) }) })] }))] })] }, tool.name))) }) })), _jsx(SidebarPanel, { title: "Request Info", children: _jsxs("div", { className: "space-y-2 text-xs", children: [_jsxs("div", { children: [_jsx("span", { className: "text-slate-500", children: "Created:" }), " ", _jsx("span", { className: "font-mono", children: new Date(call.createdAt).toLocaleString() })] }), call.completedAt && (_jsxs("div", { children: [_jsx("span", { className: "text-slate-500", children: "Completed:" }), " ", _jsx("span", { className: "font-mono", children: new Date(call.completedAt).toLocaleString() })] })), _jsxs("div", { children: [_jsx("span", { className: "text-slate-500", children: "Agent:" }), " ", _jsxs("span", { className: "font-mono", children: [call.agentId.slice(0, 12), "..."] })] })] }) })] })] })] }));
|
|
49
|
+
}
|
|
50
|
+
// ============================================================================
|
|
51
|
+
// Collapsible Content Component
|
|
52
|
+
// ============================================================================
|
|
53
|
+
function CollapsibleContent({ children, maxLines = 10 }) {
|
|
54
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
55
|
+
const { lines, shouldCollapse, tokenCount } = useMemo(() => {
|
|
56
|
+
const content = children;
|
|
57
|
+
const lines = content.split('\n');
|
|
58
|
+
return {
|
|
59
|
+
lines,
|
|
60
|
+
shouldCollapse: lines.length > maxLines,
|
|
61
|
+
tokenCount: estimateTokens(content),
|
|
62
|
+
};
|
|
63
|
+
}, [children, maxLines]);
|
|
64
|
+
if (!shouldCollapse) {
|
|
65
|
+
return (_jsxs("div", { className: "space-y-2", children: [_jsx("pre", { className: "font-mono text-xs whitespace-pre-wrap break-words", children: children }), _jsx("div", { className: "flex justify-end", children: _jsx(TokenCountBadge, { count: tokenCount }) })] }));
|
|
66
|
+
}
|
|
67
|
+
return (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: `relative ${!isExpanded ? 'max-h-64 overflow-hidden' : ''}`, children: [_jsx("pre", { className: "font-mono text-xs whitespace-pre-wrap break-words", children: isExpanded ? children : lines.slice(0, maxLines).join('\n') }), !isExpanded && _jsx("div", { className: "absolute bottom-0 left-0 right-0 h-12 bg-gradient-to-t from-white to-transparent pointer-events-none" })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("button", { onClick: () => setIsExpanded(!isExpanded), className: "px-3 py-1 text-xs bg-violet-100 hover:bg-violet-200 text-violet-800 rounded transition-colors", children: isExpanded ? 'Show less' : `Show all (${lines.length} lines)` }), _jsx(TokenCountBadge, { count: tokenCount })] })] }));
|
|
68
|
+
}
|
|
69
|
+
// ============================================================================
|
|
70
|
+
// Helper Components
|
|
71
|
+
// ============================================================================
|
|
72
|
+
function CollapsibleSection({ title, defaultOpen, children, }) {
|
|
73
|
+
const [open, setOpen] = useState(defaultOpen);
|
|
74
|
+
return (_jsxs("div", { className: "border border-slate-200 rounded-md overflow-hidden", children: [_jsxs("button", { onClick: () => setOpen(!open), className: "w-full px-4 py-3 text-left flex items-center justify-between bg-slate-50 hover:bg-slate-100 transition-colors", children: [_jsx("span", { className: "font-medium text-slate-700", children: title }), _jsx("span", { className: "text-slate-400 text-lg", children: open ? '−' : '+' })] }), open && _jsx("div", { className: "p-4 border-t border-slate-200", children: children })] }));
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Convert a file:// URL to the session file proxy endpoint.
|
|
78
|
+
* Handles both real paths (file:///.../.roj/data/sessions/{id}/foo.png)
|
|
79
|
+
* and virtual/sandboxed paths (file:///home/user/session/foo.png).
|
|
80
|
+
*/
|
|
81
|
+
function fileUrlToProxyUrl(fileUrl, sessionId) {
|
|
82
|
+
const baseUrl = getApiBaseUrl();
|
|
83
|
+
// Try real path: extract after /sessions/{sessionId}/
|
|
84
|
+
const sessionMarker = `/sessions/${sessionId}/`;
|
|
85
|
+
const idx = fileUrl.indexOf(sessionMarker);
|
|
86
|
+
if (idx !== -1) {
|
|
87
|
+
const relativePath = fileUrl.slice(idx + sessionMarker.length);
|
|
88
|
+
return `${baseUrl}/sessions/${sessionId}/files/${relativePath}`;
|
|
89
|
+
}
|
|
90
|
+
// Try virtual/sandboxed path: /home/user/session/...
|
|
91
|
+
const virtualPrefix = 'file:///home/user/session/';
|
|
92
|
+
if (fileUrl.startsWith(virtualPrefix)) {
|
|
93
|
+
const relativePath = fileUrl.slice(virtualPrefix.length);
|
|
94
|
+
return `${baseUrl}/sessions/${sessionId}/files/${relativePath}`;
|
|
95
|
+
}
|
|
96
|
+
return fileUrl;
|
|
97
|
+
}
|
|
98
|
+
function MessageContentItems({ items, sessionId }) {
|
|
99
|
+
const textContent = items.filter((it) => it.type === 'text').map((it) => it.text).join('\n');
|
|
100
|
+
const images = items.filter((it) => it.type === 'image_url');
|
|
101
|
+
return (_jsxs(_Fragment, { children: [textContent && _jsx(CollapsibleContent, { maxLines: 10, children: textContent }), images.length > 0 && (_jsx("div", { className: "mt-2 flex flex-wrap gap-2", children: images.map((img, i) => (_jsx("a", { href: fileUrlToProxyUrl(img.imageUrl.url, sessionId), target: "_blank", rel: "noopener noreferrer", children: _jsx("img", { src: fileUrlToProxyUrl(img.imageUrl.url, sessionId), alt: "Tool result image", className: "max-w-64 max-h-48 rounded border border-slate-300 object-contain" }) }, i))) }))] }));
|
|
102
|
+
}
|
|
103
|
+
function MessageBlock({ message, index, sessionId }) {
|
|
104
|
+
const roleColors = {
|
|
105
|
+
user: 'bg-blue-50 border-blue-200',
|
|
106
|
+
assistant: 'bg-green-50 border-green-200',
|
|
107
|
+
tool: 'bg-purple-50 border-purple-200',
|
|
108
|
+
system: 'bg-yellow-50 border-yellow-200',
|
|
109
|
+
};
|
|
110
|
+
return (_jsxs("div", { className: `p-3 rounded-md border ${roleColors[message.role] || 'bg-slate-50 border-slate-200'}`, children: [_jsxs("div", { className: "flex items-center gap-2 mb-2", children: [_jsx(RoleBadge, { role: message.role }), _jsxs("span", { className: "text-xs text-slate-500 font-mono", children: ["#", index + 1] }), message.toolCallId && (_jsx("span", { className: "text-xs text-slate-500 font-mono bg-slate-100 px-1 rounded", children: message.toolCallId.slice(0, 8) }))] }), message.reasoning && (_jsxs("div", { className: "bg-orange-50 border border-orange-200 rounded p-2 mb-2", children: [_jsx("div", { className: "text-xs font-semibold text-orange-800 mb-1", children: "Reasoning:" }), _jsx(CollapsibleContent, { maxLines: 10, children: message.reasoning })] })), typeof message.content === 'string'
|
|
111
|
+
? _jsx(CollapsibleContent, { maxLines: 10, children: message.content })
|
|
112
|
+
: _jsx(MessageContentItems, { items: message.content, sessionId: sessionId }), message.toolCalls && message.toolCalls.length > 0 && (_jsxs("div", { className: "mt-3 space-y-2", children: [_jsx("div", { className: "text-xs font-medium text-slate-600", children: "Tool Calls:" }), message.toolCalls.map((tc) => (_jsxs("div", { className: "bg-white rounded border p-2", children: [_jsxs("div", { className: "flex items-center gap-2 mb-1", children: [_jsx("span", { className: "font-mono text-xs font-medium", children: tc.name }), _jsx("span", { className: "text-xs text-slate-500 font-mono", children: tc.id.slice(0, 8) })] }), _jsx("pre", { className: "text-xs text-slate-600 overflow-x-auto", children: JSON.stringify(tc.input, null, 2) })] }, tc.id)))] }))] }));
|
|
113
|
+
}
|
|
114
|
+
function MetricTile({ icon, iconBg, iconColor, title, children, }) {
|
|
115
|
+
return (_jsxs("div", { className: "bg-white rounded-md border border-slate-200 p-4", children: [_jsxs("div", { className: "flex items-center gap-2 mb-3", children: [_jsx("div", { className: `w-8 h-8 ${iconBg} rounded-full flex items-center justify-center`, children: _jsx("span", { className: iconColor, children: icon }) }), _jsx("h3", { className: "text-xs font-medium text-slate-500", children: title })] }), children] }));
|
|
116
|
+
}
|
|
117
|
+
function SidebarPanel({ title, children }) {
|
|
118
|
+
return (_jsxs("div", { className: "bg-white rounded-md border border-slate-200", children: [_jsx("div", { className: "px-4 py-2 border-b border-slate-200 bg-slate-50", children: _jsx("h3", { className: "text-xs font-semibold text-slate-700", children: title }) }), _jsx("div", { className: "px-4 py-3", children: children })] }));
|
|
119
|
+
}
|
|
120
|
+
function MetricRow({ label, value, color, bold, }) {
|
|
121
|
+
return (_jsxs("div", { className: "flex justify-between text-xs", children: [_jsx("span", { className: "text-slate-500", children: label }), _jsx("span", { className: `font-mono ${color || ''} ${bold ? 'font-bold' : 'font-semibold'}`, children: value })] }));
|
|
122
|
+
}
|
|
123
|
+
function TokenCountBadge({ count }) {
|
|
124
|
+
return (_jsxs("span", { className: "text-xs text-violet-500 bg-violet-50 px-2 py-1 rounded-full font-mono", children: ["~", count.toLocaleString(), " tokens"] }));
|
|
125
|
+
}
|
|
126
|
+
function StatusBadge({ status }) {
|
|
127
|
+
const colors = {
|
|
128
|
+
running: 'bg-yellow-100 text-yellow-700',
|
|
129
|
+
success: 'bg-green-100 text-green-700',
|
|
130
|
+
error: 'bg-red-100 text-red-700',
|
|
131
|
+
};
|
|
132
|
+
return (_jsx("span", { className: `text-xs px-2 py-0.5 rounded font-medium ${colors[status]}`, children: status }));
|
|
133
|
+
}
|
|
134
|
+
function CacheBreakpointMarker() {
|
|
135
|
+
return (_jsxs("div", { className: "flex items-center gap-2 my-2", title: "Prompt cache breakpoint \u2014 everything above is eligible for caching", children: [_jsx("div", { className: "flex-1 border-t border-dashed border-amber-400" }), _jsx("span", { className: "text-[10px] font-mono font-semibold text-amber-700 bg-amber-50 border border-amber-300 px-2 py-0.5 rounded uppercase tracking-wider", children: "Cache Breakpoint" }), _jsx("div", { className: "flex-1 border-t border-dashed border-amber-400" })] }));
|
|
136
|
+
}
|
|
137
|
+
function CacheBadge({ status }) {
|
|
138
|
+
const colors = {
|
|
139
|
+
hit: 'text-green-600',
|
|
140
|
+
miss: 'text-orange-600',
|
|
141
|
+
none: 'text-slate-500',
|
|
142
|
+
};
|
|
143
|
+
const labels = {
|
|
144
|
+
hit: 'CACHE HIT',
|
|
145
|
+
miss: 'CACHE MISS',
|
|
146
|
+
none: 'NO CACHE',
|
|
147
|
+
};
|
|
148
|
+
return (_jsx("span", { className: `text-xs font-mono font-semibold ${colors[status]}`, children: labels[status] }));
|
|
149
|
+
}
|
|
150
|
+
function RoleBadge({ role }) {
|
|
151
|
+
const colors = {
|
|
152
|
+
user: 'bg-blue-100 text-blue-700',
|
|
153
|
+
assistant: 'bg-green-100 text-green-700',
|
|
154
|
+
tool: 'bg-purple-100 text-purple-700',
|
|
155
|
+
system: 'bg-yellow-100 text-yellow-700',
|
|
156
|
+
};
|
|
157
|
+
return (_jsx("span", { className: `text-xs px-2 py-0.5 rounded font-medium uppercase ${colors[role] || 'bg-slate-100 text-slate-700'}`, children: role }));
|
|
158
|
+
}
|
|
159
|
+
function FinishReasonBadge({ reason }) {
|
|
160
|
+
const colors = {
|
|
161
|
+
stop: 'bg-green-100 text-green-700',
|
|
162
|
+
tool_calls: 'bg-cyan-100 text-cyan-700',
|
|
163
|
+
length: 'bg-yellow-100 text-yellow-700',
|
|
164
|
+
error: 'bg-red-100 text-red-700',
|
|
165
|
+
};
|
|
166
|
+
return (_jsx("span", { className: `text-xs px-2 py-0.5 rounded font-medium ${colors[reason] || 'bg-slate-100 text-slate-700'}`, children: reason }));
|
|
167
|
+
}
|
|
168
|
+
// ============================================================================
|
|
169
|
+
// Icons (simple SVG)
|
|
170
|
+
// ============================================================================
|
|
171
|
+
function DollarIcon() {
|
|
172
|
+
return (_jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) }));
|
|
173
|
+
}
|
|
174
|
+
function TokenIcon() {
|
|
175
|
+
return (_jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" }) }));
|
|
176
|
+
}
|
|
177
|
+
function PerformanceIcon() {
|
|
178
|
+
return (_jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13 10V3L4 14h7v7l9-11h-7z" }) }));
|
|
179
|
+
}
|
|
180
|
+
function ModelIcon() {
|
|
181
|
+
return (_jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" }) }));
|
|
182
|
+
}
|
|
183
|
+
// ============================================================================
|
|
184
|
+
// Metrics Grid Component
|
|
185
|
+
// ============================================================================
|
|
186
|
+
function MetricsGrid({ call }) {
|
|
187
|
+
const metrics = call.metrics;
|
|
188
|
+
const totalCost = metrics?.cost;
|
|
189
|
+
const promptTokens = metrics?.promptTokens;
|
|
190
|
+
const completionTokens = metrics?.completionTokens;
|
|
191
|
+
const reasoningTokens = metrics?.reasoningTokens;
|
|
192
|
+
const cachedTokens = metrics?.cachedTokens;
|
|
193
|
+
const latency = metrics?.latencyMs;
|
|
194
|
+
const generationTime = metrics?.generationTimeMs;
|
|
195
|
+
const provider = metrics?.provider;
|
|
196
|
+
// Calculate total tokens
|
|
197
|
+
const totalTokens = (promptTokens ?? 0) + (completionTokens ?? 0);
|
|
198
|
+
// Calculate effective rate (tokens/sec)
|
|
199
|
+
const tokensPerSecond = generationTime && completionTokens
|
|
200
|
+
? ((completionTokens / generationTime) * 1000).toFixed(1)
|
|
201
|
+
: null;
|
|
202
|
+
return (_jsxs("div", { className: "grid grid-cols-2 lg:grid-cols-4 gap-4", children: [_jsx(MetricTile, { icon: _jsx(DollarIcon, {}), iconBg: "bg-green-100", iconColor: "text-green-600", title: "Cost", children: _jsx("div", { className: "text-2xl font-bold text-slate-900", children: totalCost !== undefined ? `$${totalCost.toFixed(6)}` : '—' }) }), _jsxs(MetricTile, { icon: _jsx(TokenIcon, {}), iconBg: "bg-violet-100", iconColor: "text-violet-600", title: "Tokens", children: [_jsx("div", { className: "text-2xl font-bold text-slate-900", children: totalTokens.toLocaleString() }), _jsxs("div", { className: "flex flex-wrap gap-x-3 gap-y-1 text-xs mt-1", children: [_jsxs("span", { className: "text-green-600", children: [_jsx("span", { className: "text-slate-400", children: "In:" }), " ", (promptTokens ?? 0).toLocaleString()] }), _jsxs("span", { className: "text-violet-600", children: [_jsx("span", { className: "text-slate-400", children: "Out:" }), " ", (completionTokens ?? 0).toLocaleString()] }), reasoningTokens !== null && reasoningTokens !== undefined && reasoningTokens > 0 && (_jsxs("span", { className: "text-purple-600", children: [_jsx("span", { className: "text-slate-400", children: "Reason:" }), " ", reasoningTokens.toLocaleString()] }))] }), cachedTokens !== null && cachedTokens !== undefined && (_jsxs("div", { className: "mt-2", children: [_jsx(CacheBadge, { status: cachedTokens > 0 ? 'hit' : 'miss' }), cachedTokens > 0 && (_jsxs("span", { className: "text-xs text-slate-500 ml-2", children: ["(", cachedTokens.toLocaleString(), " cached)"] }))] }))] }), _jsxs(MetricTile, { icon: _jsx(PerformanceIcon, {}), iconBg: "bg-amber-100", iconColor: "text-amber-600", title: "Performance", children: [_jsx("div", { className: "text-2xl font-bold text-slate-900", children: latency !== undefined && latency !== null ? `${(latency / 1000).toFixed(2)}s` : '—' }), _jsxs("div", { className: "space-y-1 text-xs mt-1", children: [generationTime !== null && generationTime !== undefined && (_jsxs("div", { className: "text-slate-600", children: [_jsx("span", { className: "text-slate-400", children: "Generation:" }), " ", (generationTime / 1000).toFixed(2), "s"] })), tokensPerSecond && (_jsxs("div", { className: "text-purple-600 font-medium", children: [tokensPerSecond, " tok/s"] }))] })] }), _jsxs(MetricTile, { icon: _jsx(ModelIcon, {}), iconBg: "bg-purple-100", iconColor: "text-purple-600", title: "Model", children: [_jsx("div", { className: "font-mono text-sm font-medium text-slate-900 truncate", title: call.request.model, children: call.request.model.split('/').pop() }), provider && (_jsxs("div", { className: "text-xs text-slate-500 mt-1", children: [_jsx("span", { className: "text-slate-400", children: "via" }), " ", provider] })), call.response?.finishReason && (_jsx("div", { className: "mt-2", children: _jsx(FinishReasonBadge, { reason: call.response.finishReason }) }))] })] }));
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=LLMCallDetail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LLMCallDetail.js","sourceRoot":"","sources":["../../../src/components/debug/LLMCallDetail.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimelineDetailInspector.d.ts","sourceRoot":"","sources":["../../../src/components/debug/TimelineDetailInspector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAGlD,wBAAgB,uBAAuB,CAAC,EACvC,SAAS,EACT,IAAI,EACJ,UAAU,GACV,EAAE;IACF,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,YAAY,CAAA;IAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,2CAmKA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { LLMCallDetail } from './LLMCallDetail';
|
|
3
|
+
export function TimelineDetailInspector({ sessionId, item, onNavigate, }) {
|
|
4
|
+
const agentLink = (agentId, name) => onNavigate
|
|
5
|
+
? (_jsx("button", { type: "button", onClick: () => onNavigate(`agents/${agentId}`), className: "text-violet-600 hover:underline cursor-pointer", children: name }))
|
|
6
|
+
: _jsx("span", { children: name });
|
|
7
|
+
// LLM with detailed call log
|
|
8
|
+
if (item.type === 'llm' && item.llmCallId) {
|
|
9
|
+
return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(TypeBadge, { type: item.type }), _jsx("span", { className: "font-medium", children: item.model?.split('/').pop() ?? 'LLM Call' }), _jsx(StatusBadge, { status: item.status })] }), _jsx(LLMCallDetail, { sessionId: sessionId, callId: item.llmCallId })] }));
|
|
10
|
+
}
|
|
11
|
+
// LLM without detailed log
|
|
12
|
+
if (item.type === 'llm') {
|
|
13
|
+
return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(TypeBadge, { type: item.type }), _jsx("span", { className: "font-medium", children: item.model?.split('/').pop() ?? 'LLM Call' }), _jsx(StatusBadge, { status: item.status })] }), _jsxs("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-3 text-sm", children: [_jsx(MetricCard, { label: "Agent", children: agentLink(item.agentId, item.agentName) }), item.model && _jsx(MetricCard, { label: "Model", children: _jsx("span", { className: "font-mono text-xs", children: item.model }) }), item.durationMs !== undefined && _jsxs(MetricCard, { label: "Duration", children: [(item.durationMs / 1000).toFixed(2), "s"] }), item.cost !== undefined && _jsx(MetricCard, { label: "Cost", children: _jsxs("span", { className: "text-green-600", children: ["$", item.cost.toFixed(6)] }) })] }), (item.promptTokens !== undefined || item.completionTokens !== undefined) && (_jsxs("div", { className: "bg-violet-50 border border-violet-200 rounded-md p-4", children: [_jsx("h3", { className: "font-medium text-violet-800 mb-3", children: "Token Usage" }), _jsxs("div", { className: "grid grid-cols-3 gap-4 text-sm", children: [_jsxs("div", { children: [_jsx("div", { className: "text-xs text-violet-600 mb-1", children: "Prompt" }), _jsx("div", { className: "font-mono font-medium text-green-600", children: (item.promptTokens ?? 0).toLocaleString() })] }), _jsxs("div", { children: [_jsx("div", { className: "text-xs text-violet-600 mb-1", children: "Completion" }), _jsx("div", { className: "font-mono font-medium text-violet-600", children: (item.completionTokens ?? 0).toLocaleString() })] }), _jsxs("div", { children: [_jsx("div", { className: "text-xs text-violet-600 mb-1", children: "Total" }), _jsx("div", { className: "font-mono font-medium", children: ((item.promptTokens ?? 0) + (item.completionTokens ?? 0)).toLocaleString() })] })] })] })), _jsxs("div", { className: "text-xs text-slate-500 space-y-1", children: [_jsxs("div", { children: ["Started: ", new Date(item.startedAt).toLocaleString()] }), item.completedAt && _jsxs("div", { children: ["Completed: ", new Date(item.completedAt).toLocaleString()] })] }), item.error && (_jsxs("div", { className: "bg-red-50 border border-red-200 rounded-md p-4", children: [_jsx("h3", { className: "font-semibold text-red-800 mb-2", children: "Error" }), _jsx("div", { className: "text-red-700 font-mono text-sm whitespace-pre-wrap", children: item.error })] }))] }));
|
|
14
|
+
}
|
|
15
|
+
// Tool
|
|
16
|
+
if (item.type === 'tool') {
|
|
17
|
+
return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(TypeBadge, { type: item.type }), _jsx("span", { className: "font-medium font-mono", children: item.toolName ?? 'Tool' }), _jsx(StatusBadge, { status: item.status })] }), _jsxs("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-3 text-sm", children: [_jsx(MetricCard, { label: "Agent", children: agentLink(item.agentId, item.agentName) }), item.durationMs !== undefined && _jsxs(MetricCard, { label: "Duration", children: [(item.durationMs / 1000).toFixed(2), "s"] }), _jsx(MetricCard, { label: "Started", children: new Date(item.startedAt).toLocaleTimeString() }), item.completedAt && _jsx(MetricCard, { label: "Completed", children: new Date(item.completedAt).toLocaleTimeString() })] }), item.toolInput !== undefined && (_jsxs("div", { className: "border border-slate-200 rounded-md overflow-hidden", children: [_jsx("div", { className: "px-4 py-2 bg-slate-50 border-b border-slate-200", children: _jsx("h3", { className: "text-sm font-medium text-slate-700", children: "Input" }) }), _jsx("div", { className: "p-4 max-h-64 overflow-auto", children: _jsx("pre", { className: "font-mono text-xs whitespace-pre-wrap break-words", children: JSON.stringify(item.toolInput, null, 2) }) })] })), item.toolResult !== undefined && (_jsxs("div", { className: "border border-emerald-200 rounded-md overflow-hidden", children: [_jsx("div", { className: "px-4 py-2 bg-emerald-50 border-b border-emerald-200", children: _jsx("h3", { className: "text-sm font-medium text-emerald-700", children: "Result" }) }), _jsx("div", { className: "p-4 max-h-64 overflow-auto", children: _jsx("pre", { className: "font-mono text-xs whitespace-pre-wrap break-words", children: JSON.stringify(item.toolResult, null, 2) }) })] })), item.error && (_jsxs("div", { className: "bg-red-50 border border-red-200 rounded-md p-4", children: [_jsx("h3", { className: "font-semibold text-red-800 mb-2", children: "Error" }), _jsx("div", { className: "text-red-700 font-mono text-sm whitespace-pre-wrap", children: item.error })] }))] }));
|
|
18
|
+
}
|
|
19
|
+
// Compaction
|
|
20
|
+
if (item.type === 'compaction') {
|
|
21
|
+
return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(TypeBadge, { type: item.type }), _jsx("span", { className: "font-medium", children: "Context Compaction" })] }), _jsxs("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-3 text-sm", children: [_jsx(MetricCard, { label: "Agent", children: agentLink(item.agentId, item.agentName) }), item.originalTokens !== undefined && _jsx(MetricCard, { label: "Original Tokens", children: item.originalTokens.toLocaleString() }), item.compactedTokens !== undefined && _jsx(MetricCard, { label: "Compacted Tokens", children: item.compactedTokens.toLocaleString() }), item.messagesRemoved !== undefined && _jsx(MetricCard, { label: "Messages Removed", children: item.messagesRemoved })] }), item.originalTokens !== undefined && item.compactedTokens !== undefined && (_jsxs("div", { className: "bg-amber-50 border border-amber-200 rounded-md p-4", children: [_jsx("h3", { className: "font-medium text-amber-800 mb-3", children: "Compression" }), _jsxs("div", { className: "flex items-center gap-4", children: [_jsxs("div", { className: "text-2xl font-bold text-amber-600", children: [Math.round((1 - item.compactedTokens / item.originalTokens) * 100), "%"] }), _jsxs("div", { className: "text-sm text-amber-700", children: ["reduced (", item.originalTokens.toLocaleString(), " \u2192 ", item.compactedTokens.toLocaleString(), " tokens)"] })] })] })), _jsxs("div", { className: "text-xs text-slate-500", children: ["Compacted at: ", new Date(item.startedAt).toLocaleString()] })] }));
|
|
22
|
+
}
|
|
23
|
+
return _jsx("div", { className: "text-slate-500 text-sm", children: "Unknown item type" });
|
|
24
|
+
}
|
|
25
|
+
function StatusBadge({ status }) {
|
|
26
|
+
if (status === 'error')
|
|
27
|
+
return _jsx("span", { className: "text-xs bg-red-100 text-red-700 px-2 py-0.5 rounded-full font-medium", children: "Error" });
|
|
28
|
+
if (status === 'running')
|
|
29
|
+
return _jsx("span", { className: "text-xs bg-blue-100 text-blue-700 px-2 py-0.5 rounded-full font-medium animate-pulse", children: "Running" });
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
function TypeBadge({ type }) {
|
|
33
|
+
const config = {
|
|
34
|
+
llm: 'bg-violet-100 text-violet-700',
|
|
35
|
+
tool: 'bg-emerald-100 text-emerald-700',
|
|
36
|
+
compaction: 'bg-amber-100 text-amber-700',
|
|
37
|
+
};
|
|
38
|
+
const labels = {
|
|
39
|
+
llm: 'LLM',
|
|
40
|
+
tool: 'Tool',
|
|
41
|
+
compaction: 'Compact',
|
|
42
|
+
};
|
|
43
|
+
return _jsx("span", { className: `text-xs px-1.5 py-0.5 rounded-full font-medium ${config[type]}`, children: labels[type] });
|
|
44
|
+
}
|
|
45
|
+
function MetricCard({ label, children }) {
|
|
46
|
+
return (_jsxs("div", { className: "bg-slate-50 rounded-md p-3", children: [_jsx("div", { className: "text-xs text-slate-500 mb-1", children: label }), _jsx("div", { className: "font-medium text-slate-900", children: children })] }));
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=TimelineDetailInspector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimelineDetailInspector.js","sourceRoot":"","sources":["../../../src/components/debug/TimelineDetailInspector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunicationDiagram.d.ts","sourceRoot":"","sources":["../../../../src/components/debug/communication/CommunicationDiagram.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAgF,MAAM,SAAS,CAAA;AAGxH,UAAU,yBAAyB;IAClC,IAAI,EAAE,WAAW,GAAG;QACnB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;QAC3C,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAA;KAC1C,CAAA;CACD;AAED,wBAAgB,oBAAoB,CAAC,EAAE,IAAI,EAAE,EAAE,yBAAyB,2CAuNvE"}
|