@pabloquijano-gep/langfuse-trace-dialog 1.0.1

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 (71) hide show
  1. package/dist/components/BreakdownTooltip.d.ts +13 -0
  2. package/dist/components/BreakdownTooltip.d.ts.map +1 -0
  3. package/dist/components/FilterDropdown.d.ts +17 -0
  4. package/dist/components/FilterDropdown.d.ts.map +1 -0
  5. package/dist/components/GraphView/TraceGraphCanvas.d.ts +14 -0
  6. package/dist/components/GraphView/TraceGraphCanvas.d.ts.map +1 -0
  7. package/dist/components/GraphView/buildGraphData.d.ts +14 -0
  8. package/dist/components/GraphView/buildGraphData.d.ts.map +1 -0
  9. package/dist/components/GraphView/index.d.ts +13 -0
  10. package/dist/components/GraphView/index.d.ts.map +1 -0
  11. package/dist/components/GraphView/types.d.ts +18 -0
  12. package/dist/components/GraphView/types.d.ts.map +1 -0
  13. package/dist/components/JsonViewer.d.ts +15 -0
  14. package/dist/components/JsonViewer.d.ts.map +1 -0
  15. package/dist/components/LogViewTab.d.ts +14 -0
  16. package/dist/components/LogViewTab.d.ts.map +1 -0
  17. package/dist/components/PreviewTab.d.ts +22 -0
  18. package/dist/components/PreviewTab.d.ts.map +1 -0
  19. package/dist/components/SpanDetail.d.ts +8 -0
  20. package/dist/components/SpanDetail.d.ts.map +1 -0
  21. package/dist/components/SpanDetailHeader.d.ts +11 -0
  22. package/dist/components/SpanDetailHeader.d.ts.map +1 -0
  23. package/dist/components/SpanTree.d.ts +9 -0
  24. package/dist/components/SpanTree.d.ts.map +1 -0
  25. package/dist/components/SpanTreeItem.d.ts +16 -0
  26. package/dist/components/SpanTreeItem.d.ts.map +1 -0
  27. package/dist/components/TabButton.d.ts +15 -0
  28. package/dist/components/TabButton.d.ts.map +1 -0
  29. package/dist/components/Timeline/TimelineBar.d.ts +8 -0
  30. package/dist/components/Timeline/TimelineBar.d.ts.map +1 -0
  31. package/dist/components/Timeline/TimelineRow.d.ts +8 -0
  32. package/dist/components/Timeline/TimelineRow.d.ts.map +1 -0
  33. package/dist/components/Timeline/TimelineScale.d.ts +8 -0
  34. package/dist/components/Timeline/TimelineScale.d.ts.map +1 -0
  35. package/dist/components/Timeline/index.d.ts +8 -0
  36. package/dist/components/Timeline/index.d.ts.map +1 -0
  37. package/dist/components/Timeline/timeline-calculations.d.ts +39 -0
  38. package/dist/components/Timeline/timeline-calculations.d.ts.map +1 -0
  39. package/dist/components/Timeline/timeline-flattening.d.ts +21 -0
  40. package/dist/components/Timeline/timeline-flattening.d.ts.map +1 -0
  41. package/dist/components/Timeline/types.d.ts +72 -0
  42. package/dist/components/Timeline/types.d.ts.map +1 -0
  43. package/dist/components/TraceDialog.d.ts +8 -0
  44. package/dist/components/TraceDialog.d.ts.map +1 -0
  45. package/dist/components/ui/accordion.d.ts +8 -0
  46. package/dist/components/ui/accordion.d.ts.map +1 -0
  47. package/dist/components/ui/tabs.d.ts +8 -0
  48. package/dist/components/ui/tabs.d.ts.map +1 -0
  49. package/dist/contexts/ViewPreferencesContext.d.ts +35 -0
  50. package/dist/contexts/ViewPreferencesContext.d.ts.map +1 -0
  51. package/dist/hooks/useLocalStorage.d.ts +6 -0
  52. package/dist/hooks/useLocalStorage.d.ts.map +1 -0
  53. package/dist/index.d.ts +16 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.esm.js +47934 -0
  56. package/dist/index.esm.js.map +1 -0
  57. package/dist/index.js +47981 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/mocks/mockData.d.ts +8 -0
  60. package/dist/mocks/mockData.d.ts.map +1 -0
  61. package/dist/types/index.d.ts +166 -0
  62. package/dist/types/index.d.ts.map +1 -0
  63. package/dist/utils/format.d.ts +41 -0
  64. package/dist/utils/format.d.ts.map +1 -0
  65. package/dist/utils/hierarchy.d.ts +21 -0
  66. package/dist/utils/hierarchy.d.ts.map +1 -0
  67. package/dist/utils/langfuseAdapter.d.ts +7 -0
  68. package/dist/utils/langfuseAdapter.d.ts.map +1 -0
  69. package/dist/utils/traceDataAdapter.d.ts +14 -0
  70. package/dist/utils/traceDataAdapter.d.ts.map +1 -0
  71. package/package.json +52 -0
@@ -0,0 +1,13 @@
1
+ /**
2
+ * BreakdownTooltip - Shows detailed cost or usage breakdown on hover
3
+ * Simple CSS-based tooltip without external dependencies
4
+ */
5
+ import React from 'react';
6
+ interface BreakdownTooltipProps {
7
+ details: Record<string, number>;
8
+ children: React.ReactNode;
9
+ isCost?: boolean;
10
+ }
11
+ export declare const BreakdownTooltip: React.FC<BreakdownTooltipProps>;
12
+ export {};
13
+ //# sourceMappingURL=BreakdownTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BreakdownTooltip.d.ts","sourceRoot":"","sources":["../../src/components/BreakdownTooltip.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA4C5D,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * FilterDropdown - View preferences dropdown component
3
+ *
4
+ * Provides toggles for:
5
+ * - Show Graph
6
+ * - Show Comments
7
+ * - Show Scores
8
+ * - Show Duration
9
+ * - Show Cost/Tokens
10
+ * - Show Color Code Metrics (dependent on duration or cost being enabled)
11
+ * - Minimum Observation Level filter
12
+ *
13
+ * All preferences are managed via ViewPreferencesContext and persisted to localStorage.
14
+ */
15
+ import React from 'react';
16
+ export declare const FilterDropdown: React.FC;
17
+ //# sourceMappingURL=FilterDropdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterDropdown.d.ts","sourceRoot":"","sources":["../../src/components/FilterDropdown.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAwCxC,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAoIlC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * TraceGraphCanvas - Vis-network graph visualization
3
+ */
4
+ import React from 'react';
5
+ import type { GraphCanvasData } from './types';
6
+ interface TraceGraphCanvasProps {
7
+ graph: GraphCanvasData;
8
+ selectedNodeName: string | null;
9
+ onNodeSelect: (nodeName: string | null) => void;
10
+ disablePhysics?: boolean;
11
+ }
12
+ export declare const TraceGraphCanvas: React.FC<TraceGraphCanvasProps>;
13
+ export {};
14
+ //# sourceMappingURL=TraceGraphCanvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TraceGraphCanvas.d.ts","sourceRoot":"","sources":["../../../src/components/GraphView/TraceGraphCanvas.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAM/C,UAAU,qBAAqB;IAC7B,KAAK,EAAE,eAAe,CAAC;IACvB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAqR5D,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Build graph data from spans for visualization
3
+ */
4
+ import { Span } from '../../types';
5
+ import { GraphCanvasData } from './types';
6
+ export interface GraphParseResult {
7
+ graph: GraphCanvasData;
8
+ nodeToObservationsMap: Record<string, string[]>;
9
+ }
10
+ /**
11
+ * Build graph structure from spans with node/step data
12
+ */
13
+ export declare function buildGraphFromSpans(spans: Span[]): GraphParseResult;
14
+ //# sourceMappingURL=buildGraphData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildGraphData.d.ts","sourceRoot":"","sources":["../../../src/components/GraphView/buildGraphData.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EACL,eAAe,EAIhB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACjD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,gBAAgB,CA4FnE"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * TraceGraphView - Main graph view component
3
+ */
4
+ import React from 'react';
5
+ import { Span } from '../../types';
6
+ interface TraceGraphViewProps {
7
+ spans: Span[];
8
+ selectedSpanId: string | null;
9
+ onSpanSelect: (spanId: string) => void;
10
+ }
11
+ export declare const TraceGraphView: React.FC<TraceGraphViewProps>;
12
+ export {};
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/GraphView/index.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAInC,UAAU,mBAAmB;IAC3B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAID,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA+ExD,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Types for Graph View functionality
3
+ */
4
+ export interface GraphNodeData {
5
+ id: string;
6
+ label: string;
7
+ type: string;
8
+ }
9
+ export interface GraphCanvasData {
10
+ nodes: GraphNodeData[];
11
+ edges: {
12
+ from: string;
13
+ to: string;
14
+ }[];
15
+ }
16
+ export declare const LANGFUSE_START_NODE_NAME = "__start__";
17
+ export declare const LANGFUSE_END_NODE_NAME = "__end__";
18
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/GraphView/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvC;AAED,eAAO,MAAM,wBAAwB,cAAc,CAAC;AACpD,eAAO,MAAM,sBAAsB,YAAY,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * JsonViewer Component
3
+ * Renders JSON data with expand/collapse functionality
4
+ * Mimics Langfuse's JSON viewer
5
+ */
6
+ import React from 'react';
7
+ export interface JsonViewerProps {
8
+ data: any;
9
+ name?: string;
10
+ collapsed?: boolean;
11
+ level?: number;
12
+ className?: string;
13
+ }
14
+ export declare const JsonViewer: React.FC<JsonViewerProps>;
15
+ //# sourceMappingURL=JsonViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonViewer.d.ts","sourceRoot":"","sources":["../../src/components/JsonViewer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4HhD,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * LogViewTab Component
3
+ * Log View tab content for SpanDetail showing hierarchical list of observations
4
+ */
5
+ import React from 'react';
6
+ import { Span } from '../types';
7
+ interface LogViewTabProps {
8
+ span: Span;
9
+ logSearchQuery: string;
10
+ setLogSearchQuery: (query: string) => void;
11
+ }
12
+ export declare const LogViewTab: React.FC<LogViewTabProps>;
13
+ export {};
14
+ //# sourceMappingURL=LogViewTab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogViewTab.d.ts","sourceRoot":"","sources":["../../src/components/LogViewTab.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhC,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgLhD,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * PreviewTab Component
3
+ * Preview tab content for SpanDetail showing accordion sections
4
+ */
5
+ import React from 'react';
6
+ import { Span } from '../types';
7
+ interface PreviewTabProps {
8
+ span: Span;
9
+ searchQuery: string;
10
+ setSearchQuery: (query: string) => void;
11
+ copied: string | null;
12
+ handleCopy: (text: string, key: string) => void;
13
+ expandedSections: string[];
14
+ setExpandedSections: (sections: string[]) => void;
15
+ inputItemCount: number;
16
+ outputItemCount: number;
17
+ metadataItemCount: number;
18
+ viewMode: 'formatted' | 'json';
19
+ }
20
+ export declare const PreviewTab: React.FC<PreviewTabProps>;
21
+ export {};
22
+ //# sourceMappingURL=PreviewTab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreviewTab.d.ts","sourceRoot":"","sources":["../../src/components/PreviewTab.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAKhC,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,WAAW,GAAG,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgPhD,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * SpanDetail Component
3
+ * Right panel showing detailed information about selected span
4
+ */
5
+ import React from 'react';
6
+ import { SpanDetailProps } from '../types';
7
+ export declare const SpanDetail: React.FC<SpanDetailProps>;
8
+ //# sourceMappingURL=SpanDetail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpanDetail.d.ts","sourceRoot":"","sources":["../../src/components/SpanDetail.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,eAAe,EAAY,MAAM,UAAU,CAAC;AAQrD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8FhD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { Span, Trace } from '../types';
3
+ interface SpanDetailHeaderProps {
4
+ span: Span;
5
+ trace?: Trace | null;
6
+ onSessionClick?: (sessionId: string) => void;
7
+ onUserIdClick?: (userId: string) => void;
8
+ }
9
+ export declare const SpanDetailHeader: React.FC<SpanDetailHeaderProps>;
10
+ export {};
11
+ //# sourceMappingURL=SpanDetailHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpanDetailHeader.d.ts","sourceRoot":"","sources":["../../src/components/SpanDetailHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAKvC,UAAU,qBAAqB;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAErB,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA4G5D,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * SpanTree Component
3
+ * Left panel showing hierarchical span timeline
4
+ * Replicates Langfuse's span tree visualization
5
+ */
6
+ import React from 'react';
7
+ import { SpanTreeProps } from '../types';
8
+ export declare const SpanTree: React.FC<SpanTreeProps>;
9
+ //# sourceMappingURL=SpanTree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpanTree.d.ts","sourceRoot":"","sources":["../../src/components/SpanTree.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQzC,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA8L5C,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * SpanTreeItem Component
3
+ * Individual span row in the tree hierarchy
4
+ */
5
+ import React from 'react';
6
+ import { Span } from '../types';
7
+ interface SpanTreeItemProps {
8
+ span: Span;
9
+ selectedSpanId: string | null;
10
+ expandedSpans: Set<string>;
11
+ onSpanSelect: (spanId: string) => void;
12
+ onToggleExpand: (spanId: string, e: React.MouseEvent) => void;
13
+ }
14
+ export declare const SpanTreeItem: React.FC<SpanTreeItemProps>;
15
+ export {};
16
+ //# sourceMappingURL=SpanTreeItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpanTreeItem.d.ts","sourceRoot":"","sources":["../../src/components/SpanTreeItem.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAIhC,UAAU,iBAAiB;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CAC/D;AAoBD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA6HpD,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * TabButton Component
3
+ * Reusable tab button for Radix UI Tabs
4
+ */
5
+ import React from 'react';
6
+ interface TabButtonProps {
7
+ value: string;
8
+ icon?: React.ReactNode;
9
+ children: React.ReactNode;
10
+ count?: number;
11
+ badge?: string;
12
+ }
13
+ export declare const TabButton: React.FC<TabButtonProps>;
14
+ export {};
15
+ //# sourceMappingURL=TabButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabButton.d.ts","sourceRoot":"","sources":["../../src/components/TabButton.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmB9C,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * TimelineBar - Renders individual Gantt bar for a span
3
+ * Shows duration visually with colored box, displays name and metrics
4
+ */
5
+ import React from 'react';
6
+ import { type TimelineBarProps } from './types';
7
+ export declare const TimelineBar: React.FC<TimelineBarProps>;
8
+ //# sourceMappingURL=TimelineBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimelineBar.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/TimelineBar.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAoFlD,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * TimelineRow - Combines tree structure with timeline bar
3
+ * Renders tree lines, expand button, and timeline bar positioned horizontally by time
4
+ */
5
+ import React from 'react';
6
+ import { type TimelineRowProps } from './types';
7
+ export declare const TimelineRow: React.FC<TimelineRowProps>;
8
+ //# sourceMappingURL=TimelineRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimelineRow.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/TimelineRow.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAKhD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAoFlD,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * TimelineScale - Renders the time axis at the top of the timeline
3
+ * Shows time markers with step intervals based on trace duration
4
+ */
5
+ import React from 'react';
6
+ import { type TimelineScaleProps } from './types';
7
+ export declare const TimelineScale: React.FC<TimelineScaleProps>;
8
+ //# sourceMappingURL=TimelineScale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimelineScale.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/TimelineScale.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqCtD,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * TraceTimeline - Main timeline view component
3
+ * Renders Gantt chart visualization with virtualized rows
4
+ */
5
+ import React from 'react';
6
+ import { type TraceTimelineProps } from './types';
7
+ export declare const TraceTimeline: React.FC<TraceTimelineProps>;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAEhE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAOlD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0LtD,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Pure functions for timeline calculations
3
+ * These functions handle all timeline positioning and sizing logic
4
+ */
5
+ export declare const SCALE_WIDTH = 900;
6
+ export declare const STEP_SIZE = 100;
7
+ export declare const PREDEFINED_STEP_SIZES: number[];
8
+ /**
9
+ * Calculate the horizontal offset from the trace start time
10
+ * @param spanStartTime - When the span started
11
+ * @param traceStartTime - When the trace started
12
+ * @param totalScaleSpan - Total duration of the trace in seconds
13
+ * @param scaleWidth - Width of the timeline scale in pixels
14
+ * @returns Horizontal offset in pixels
15
+ */
16
+ export declare function calculateTimelineOffset(spanStartTime: Date, traceStartTime: Date, totalScaleSpan: number, scaleWidth?: number): number;
17
+ /**
18
+ * Calculate the width of a timeline bar from duration
19
+ * @param duration - Duration in seconds
20
+ * @param totalScaleSpan - Total duration of the trace in seconds
21
+ * @param scaleWidth - Width of the timeline scale in pixels
22
+ * @returns Width of the bar in pixels
23
+ */
24
+ export declare function calculateTimelineWidth(duration: number, totalScaleSpan: number, scaleWidth?: number): number;
25
+ /**
26
+ * Calculate appropriate step size for the time axis
27
+ * Selects from predefined step sizes to ensure readable time markers
28
+ * @param traceDuration - Total trace duration in seconds
29
+ * @param scaleWidth - Width of the timeline scale in pixels
30
+ * @returns Step size in seconds
31
+ */
32
+ export declare function calculateStepSize(traceDuration: number, scaleWidth?: number): number;
33
+ /**
34
+ * Get all predefined step sizes
35
+ * Useful for testing and validation
36
+ * @returns Array of predefined step sizes in seconds
37
+ */
38
+ export declare function getPredefinedStepSizes(): number[];
39
+ //# sourceMappingURL=timeline-calculations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-calculations.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/timeline-calculations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,SAAS,MAAM,CAAC;AAG7B,eAAO,MAAM,qBAAqB,UAGjC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,IAAI,EACnB,cAAc,EAAE,IAAI,EACpB,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE,MAAoB,GAC/B,MAAM,CAIR;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE,MAAoB,GAC/B,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EACrB,UAAU,GAAE,MAAoB,GAC/B,MAAM,CAOR;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Timeline-specific tree flattening with pre-computed metrics.
3
+ * Extends base tree flattening to include timeline positioning calculations.
4
+ */
5
+ import { type Span } from '../../types';
6
+ import { type FlatTimelineItem } from './types';
7
+ /**
8
+ * Flattens tree into list for timeline virtualized rendering.
9
+ * Pre-computes timeline metrics (offset, width) during flattening for performance.
10
+ *
11
+ * Uses iterative approach to avoid stack overflow with deep trees.
12
+ *
13
+ * @param roots - Root spans to flatten (supports multiple roots)
14
+ * @param collapsedNodes - Set of span IDs that are collapsed
15
+ * @param traceStartTime - When the trace started (for offset calculation)
16
+ * @param totalScaleSpan - Total duration of the trace in seconds
17
+ * @param scaleWidth - Width of the timeline scale in pixels (default: SCALE_WIDTH)
18
+ * @returns Flat list of spans with timeline metrics
19
+ */
20
+ export declare function flattenTreeWithTimelineMetrics(roots: Span[], collapsedNodes: Set<string>, traceStartTime: Date, totalScaleSpan: number, scaleWidth?: number): FlatTimelineItem[];
21
+ //# sourceMappingURL=timeline-flattening.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-flattening.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/timeline-flattening.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,gBAAgB,EAAwB,MAAM,SAAS,CAAC;AAOtE;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,IAAI,EAAE,EACb,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,EAC3B,cAAc,EAAE,IAAI,EACpB,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE,MAAoB,GAC/B,gBAAgB,EAAE,CAkEpB"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Timeline-specific types for trace visualization
3
+ */
4
+ import type { Span } from '../../types';
5
+ /**
6
+ * Pre-computed timeline metrics for efficient rendering
7
+ * Calculated once during tree flattening to avoid per-frame calculations
8
+ */
9
+ export interface TimelineMetrics {
10
+ /** Horizontal offset from trace start (in pixels) */
11
+ startOffset: number;
12
+ /** Width of the timeline bar (in pixels) */
13
+ itemWidth: number;
14
+ /** Duration in seconds */
15
+ latency?: number;
16
+ }
17
+ /**
18
+ * Props for TimelineBar component
19
+ * Renders individual Gantt bar with metrics and badges
20
+ */
21
+ export interface TimelineBarProps {
22
+ span: Span;
23
+ metrics: TimelineMetrics;
24
+ isSelected: boolean;
25
+ onSelect: () => void;
26
+ onHover?: () => void;
27
+ }
28
+ /**
29
+ * Flattened timeline item for virtualized rendering
30
+ * Extends Span with timeline positioning data and tree structure metadata
31
+ */
32
+ export interface FlatTimelineItem {
33
+ span: Span;
34
+ depth: number;
35
+ treeLines: boolean[];
36
+ isLastSibling: boolean;
37
+ metrics: TimelineMetrics;
38
+ }
39
+ /**
40
+ * Props for TimelineRow component
41
+ * Renders tree structure + timeline bar
42
+ */
43
+ export interface TimelineRowProps {
44
+ item: FlatTimelineItem;
45
+ isSelected: boolean;
46
+ onSelect: () => void;
47
+ onHover?: () => void;
48
+ onToggleCollapse: () => void;
49
+ hasChildren: boolean;
50
+ isCollapsed: boolean;
51
+ }
52
+ /**
53
+ * Props for TimelineScale component
54
+ * Renders time axis with markers
55
+ */
56
+ export interface TimelineScaleProps {
57
+ /** Total trace duration in seconds */
58
+ traceDuration: number;
59
+ /** Width of the timeline scale in pixels */
60
+ scaleWidth: number;
61
+ /** Step size between time markers in seconds */
62
+ stepSize: number;
63
+ }
64
+ /**
65
+ * Props for main TraceTimeline component
66
+ */
67
+ export interface TraceTimelineProps {
68
+ spans: Span[];
69
+ selectedSpanId?: string;
70
+ onSpanSelect: (spanId: string) => void;
71
+ }
72
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IAEvB,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * TraceDialog Component
3
+ * Main component - Side panel dialog for displaying trace details
4
+ */
5
+ import React from 'react';
6
+ import { TraceDialogProps } from '../types';
7
+ export declare const TraceDialog: React.FC<TraceDialogProps>;
8
+ //# sourceMappingURL=TraceDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TraceDialog.d.ts","sourceRoot":"","sources":["../../src/components/TraceDialog.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAuC,MAAM,OAAO,CAAC;AAI5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAS5C,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2OlD,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
3
+ declare const Accordion: React.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
4
+ declare const AccordionItem: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
+ declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const AccordionContent: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
8
+ //# sourceMappingURL=accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/components/ui/accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAOhE,QAAA,MAAM,SAAS,8JAA0B,CAAC;AAE1C,QAAA,MAAM,aAAa,iKASjB,CAAC;AAGH,QAAA,MAAM,gBAAgB,0KAiBpB,CAAC;AAGH,QAAA,MAAM,gBAAgB,oKAWpB,CAAC;AAIH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import * as TabsPrimitive from "@radix-ui/react-tabs";
3
+ declare const Tabs: React.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>>;
4
+ declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
+ declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+ export { Tabs, TabsList, TabsTrigger, TabsContent };
8
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/components/ui/tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AAGtD,QAAA,MAAM,IAAI,gGAAqB,CAAC;AAEhC,QAAA,MAAM,QAAQ,uJAYZ,CAAC;AAGH,QAAA,MAAM,WAAW,gKAYf,CAAC;AAGH,QAAA,MAAM,WAAW,0JAYf,CAAC;AAGH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * ViewPreferencesContext - Manages user display preferences persisted to localStorage.
3
+ *
4
+ * Purpose:
5
+ * - Stores toggle states for tree item display (duration, cost, scores, comments)
6
+ * - Manages minimum observation level filter
7
+ * - Persists preferences across sessions via localStorage
8
+ *
9
+ */
10
+ import { type ReactNode } from 'react';
11
+ export type ObservationLevelType = 'DEFAULT' | 'DEBUG' | 'WARNING' | 'ERROR';
12
+ export declare const ObservationLevel: Record<ObservationLevelType, ObservationLevelType>;
13
+ interface ViewPreferencesContextValue {
14
+ showDuration: boolean;
15
+ setShowDuration: (value: boolean) => void;
16
+ showCostTokens: boolean;
17
+ setShowCostTokens: (value: boolean) => void;
18
+ showScores: boolean;
19
+ setShowScores: (value: boolean) => void;
20
+ colorCodeMetrics: boolean;
21
+ setColorCodeMetrics: (value: boolean) => void;
22
+ showComments: boolean;
23
+ setShowComments: (value: boolean) => void;
24
+ showGraph: boolean;
25
+ setShowGraph: (value: boolean) => void;
26
+ minObservationLevel: ObservationLevelType;
27
+ setMinObservationLevel: (value: ObservationLevelType) => void;
28
+ }
29
+ export declare function useViewPreferences(): ViewPreferencesContextValue;
30
+ interface ViewPreferencesProviderProps {
31
+ children: ReactNode;
32
+ }
33
+ export declare function ViewPreferencesProvider({ children }: ViewPreferencesProviderProps): import("react/jsx-runtime").JSX.Element;
34
+ export {};
35
+ //# sourceMappingURL=ViewPreferencesContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewPreferencesContext.d.ts","sourceRoot":"","sources":["../../src/contexts/ViewPreferencesContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG3E,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAE7E,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,oBAAoB,EAAE,oBAAoB,CAK/E,CAAC;AAEF,UAAU,2BAA2B;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,mBAAmB,EAAE,oBAAoB,CAAC;IAC1C,sBAAsB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC/D;AAID,wBAAgB,kBAAkB,IAAI,2BAA2B,CAQhE;AAED,UAAU,4BAA4B;IACpC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,EAAE,4BAA4B,2CAoDjF"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * useLocalStorage hook
3
+ * Persists state to localStorage with type safety
4
+ */
5
+ export declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T | ((val: T) => T)) => void];
6
+ //# sourceMappingURL=useLocalStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocalStorage.d.ts","sourceRoot":"","sources":["../../src/hooks/useLocalStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,GACd,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAoC3C"}
@@ -0,0 +1,16 @@
1
+ export { TraceDialog } from './components/TraceDialog';
2
+ export { SpanTree } from './components/SpanTree';
3
+ export { SpanTreeItem } from './components/SpanTreeItem';
4
+ export { SpanDetail } from './components/SpanDetail';
5
+ export { JsonViewer } from './components/JsonViewer';
6
+ export { TraceGraphView } from './components/GraphView';
7
+ export { FilterDropdown } from './components/FilterDropdown';
8
+ export { ViewPreferencesProvider, useViewPreferences, ObservationLevel } from './contexts/ViewPreferencesContext';
9
+ export type { ObservationLevelType } from './contexts/ViewPreferencesContext';
10
+ export { useLocalStorage } from './hooks/useLocalStorage';
11
+ export type { Trace, Span, SpanStatus, SpanKind, TraceMetadata, SpanInput, SpanOutput, TraceDialogProps, SpanTreeProps, SpanDetailProps, JsonViewerProps, TabValue, LangfuseObservation, ObservationType, } from './types';
12
+ export { mockTrace, mockTraceWithError } from './mocks/mockData';
13
+ export { formatDuration, formatTimestamp, truncateId, copyToClipboard, countItems, prettyJSON, formatTokenCountsCompact, } from './utils/format';
14
+ export { buildSpanTree, flattenSpanTree, getAllSpanIds, findSpanById, } from './utils/hierarchy';
15
+ export { adaptLangfuseTrace, convertObservationToSpan, } from './utils/traceDataAdapter';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAClH,YAAY,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,YAAY,EACV,KAAK,EACL,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EACL,cAAc,EACd,eAAe,EACf,UAAU,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC"}