agentic-ui-libs 1.2.0-beta.12 → 1.2.0-beta.16
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/features/debug-logs/DebugPanel.d.ts.map +1 -1
- package/dist/features/debug-logs/index.d.ts +1 -1
- package/dist/features/debug-logs/index.d.ts.map +1 -1
- package/dist/features/debug-logs/services/TreeBuilder.d.ts +3 -3
- package/dist/features/debug-logs/services/TreeBuilder.d.ts.map +1 -1
- package/dist/features/debug-logs/types.d.ts +11 -0
- package/dist/features/debug-logs/types.d.ts.map +1 -1
- package/dist/features/tracing/components/detail/DetailPage.d.ts +1 -1
- package/dist/features/tracing/components/detail/DetailPage.d.ts.map +1 -1
- package/dist/features/tracing/components/detail/NodeDetailPanel.d.ts +1 -1
- package/dist/features/tracing/components/detail/NodeDetailPanel.d.ts.map +1 -1
- package/dist/features/tracing/components/detail/TraceTree.d.ts +1 -1
- package/dist/features/tracing/components/detail/TraceTree.d.ts.map +1 -1
- package/dist/features/tracing/components/detail/services/DetailPageService.d.ts.map +1 -1
- package/dist/features/tracing/components/detail/types.d.ts +20 -0
- package/dist/features/tracing/components/detail/types.d.ts.map +1 -1
- package/dist/features/tracing/services/TraceTreeService.d.ts +27 -0
- package/dist/features/tracing/services/TraceTreeService.d.ts.map +1 -1
- package/dist/index.angular.d.ts +1 -1
- package/dist/index.angular.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +209 -25
- package/dist/ui-libs.umd.js +209 -25
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugPanel.d.ts","sourceRoot":"","sources":["../../../src/features/debug-logs/DebugPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAA4B,MAAM,SAAS,CAAC;AAMnF,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"DebugPanel.d.ts","sourceRoot":"","sources":["../../../src/features/debug-logs/DebugPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAA4B,MAAM,SAAS,CAAC;AAMnF,eAAO,MAAM,UAAU,2GA2vBrB,CAAC;AAIH,eAAe,UAAU,CAAC"}
|
|
@@ -3,5 +3,5 @@ export { TreeBuilder } from './services/TreeBuilder';
|
|
|
3
3
|
export { DataViewer } from '../../shared/ui/DataViewer';
|
|
4
4
|
export type { DataViewerProps, ViewMode } from '../../shared/ui/DataViewer';
|
|
5
5
|
export { ApiService } from './services/ApiService';
|
|
6
|
-
export type { ExecutionEvent, TreeNode, DebugPanelProps, DebugPanelRef, DebugPanelConfig, ApiConfig, ObservationByIdParams, ObservationData, TraceByIdParams, TraceObservation } from './types';
|
|
6
|
+
export type { ExecutionEvent, TreeNode, DebugPanelProps, DebugPanelRef, DebugPanelConfig, RunHeaderInputMode, SessionTreeBuildOptions, ApiConfig, ObservationByIdParams, ObservationData, TraceByIdParams, TraceObservation } from './types';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/debug-logs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EACV,cAAc,EACd,QAAQ,EACR,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/debug-logs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EACV,cAAc,EACd,QAAQ,EACR,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,SAAS,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ExecutionEvent, SessionTree } from '../types';
|
|
1
|
+
import { ExecutionEvent, SessionTree, SessionTreeBuildOptions } from '../types';
|
|
2
2
|
export declare class TreeBuilder {
|
|
3
3
|
/**
|
|
4
4
|
* Process execution events and build a hierarchical tree structure
|
|
5
5
|
* Session > Run > Node Tree
|
|
6
6
|
*/
|
|
7
|
-
static buildSessionTree(events: ExecutionEvent[], sessionId?: string): SessionTree;
|
|
7
|
+
static buildSessionTree(events: ExecutionEvent[], sessionId?: string, options?: SessionTreeBuildOptions): SessionTree;
|
|
8
8
|
/**
|
|
9
9
|
* Group events by runId
|
|
10
10
|
*/
|
|
@@ -68,7 +68,7 @@ export declare class TreeBuilder {
|
|
|
68
68
|
/**
|
|
69
69
|
* Update tree with new events (optimized for real-time updates)
|
|
70
70
|
*/
|
|
71
|
-
static updateTree(existingTree: SessionTree, _newEvents: ExecutionEvent[], allEvents: ExecutionEvent[]): SessionTree;
|
|
71
|
+
static updateTree(existingTree: SessionTree, _newEvents: ExecutionEvent[], allEvents: ExecutionEvent[], options?: SessionTreeBuildOptions): SessionTree;
|
|
72
72
|
/**
|
|
73
73
|
* Merge new events into existing events efficiently
|
|
74
74
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeBuilder.d.ts","sourceRoot":"","sources":["../../../../src/features/debug-logs/services/TreeBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,WAAW,EAAoC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"TreeBuilder.d.ts","sourceRoot":"","sources":["../../../../src/features/debug-logs/services/TreeBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,WAAW,EAAoC,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAErI,qBAAa,WAAW;IACtB;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CACrB,MAAM,EAAE,cAAc,EAAE,EACxB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,uBAAuB,GAChC,WAAW;IAoBd;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAc/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAoE3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IA6EvC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA8BjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAmC9B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAsDrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IA0B9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAU3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IASjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAoC/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAgBtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;IA4C1C;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA6KjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAajC;;OAEG;IACH,MAAM,CAAC,UAAU,CACf,YAAY,EAAE,WAAW,EACzB,UAAU,EAAE,cAAc,EAAE,EAC5B,SAAS,EAAE,cAAc,EAAE,EAC3B,OAAO,CAAC,EAAE,uBAAuB,GAChC,WAAW;IAMd;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CASpG"}
|
|
@@ -27,6 +27,10 @@ export interface ToolInvocation {
|
|
|
27
27
|
llmUsageMetadata?: LLMUsageMetadata;
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
+
export type RunHeaderInputMode = 'display' | 'tokenized';
|
|
31
|
+
export interface SessionTreeBuildOptions {
|
|
32
|
+
readonly runHeaderInputMode?: RunHeaderInputMode;
|
|
33
|
+
}
|
|
30
34
|
export interface ExecutionEvent {
|
|
31
35
|
type: 'node_started' | 'node_completed';
|
|
32
36
|
data: {
|
|
@@ -40,6 +44,8 @@ export interface ExecutionEvent {
|
|
|
40
44
|
status: 'running' | 'completed' | 'failed' | 'errored';
|
|
41
45
|
icon?: Icon;
|
|
42
46
|
input?: any;
|
|
47
|
+
/** PII display values per app config (masked / random / predefined); for run header when present. */
|
|
48
|
+
displayInput?: unknown;
|
|
43
49
|
output?: any;
|
|
44
50
|
error?: string | any;
|
|
45
51
|
metadata?: {
|
|
@@ -148,6 +154,11 @@ export interface ObservationData {
|
|
|
148
154
|
[key: string]: any;
|
|
149
155
|
}
|
|
150
156
|
export interface DebugPanelConfig {
|
|
157
|
+
/**
|
|
158
|
+
* Run header text: `display` uses engine `displayInput` (PII-aware): partial mask, random, etc.
|
|
159
|
+
* `tokenized` uses raw traced `input` (e.g. [ACCOUNTNUMBER_1] placeholders).
|
|
160
|
+
*/
|
|
161
|
+
runHeaderInputMode?: RunHeaderInputMode;
|
|
151
162
|
expansionMode?: 'none' | 'last' | 'all';
|
|
152
163
|
showExpansionControls?: boolean;
|
|
153
164
|
defaultDetailView?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/debug-logs/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/debug-logs/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,5 +11,5 @@
|
|
|
11
11
|
* - For session mode with many traces, API calls are batched to avoid overwhelming server
|
|
12
12
|
*/
|
|
13
13
|
import { DetailPageProps } from './types';
|
|
14
|
-
export declare function DetailPage({ mode: initialMode, sessionId: initialSessionId, traceId: initialTraceId, timestamp, apiConfig, onClose, className, selectedObservationId, batchSize, initialTraceCount, initialSessionData, }: DetailPageProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function DetailPage({ mode: initialMode, sessionId: initialSessionId, traceId: initialTraceId, timestamp, apiConfig, onClose, className, selectedObservationId, batchSize, initialTraceCount, initialSessionData, runHeaderInputMode, }: DetailPageProps): import("react/jsx-runtime").JSX.Element;
|
|
15
15
|
//# sourceMappingURL=DetailPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailPage.d.ts","sourceRoot":"","sources":["../../../../../src/features/tracing/components/detail/DetailPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EACL,eAAe,EAMhB,MAAM,SAAS,CAAC;AA+BjB,wBAAgB,UAAU,CAAC,EACzB,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,cAAc,EACvB,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAc,EACd,qBAAqB,EACrB,SAA8B,EAC9B,iBAAiB,EACjB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"DetailPage.d.ts","sourceRoot":"","sources":["../../../../../src/features/tracing/components/detail/DetailPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EACL,eAAe,EAMhB,MAAM,SAAS,CAAC;AA+BjB,wBAAgB,UAAU,CAAC,EACzB,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,cAAc,EACvB,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAc,EACd,qBAAqB,EACrB,SAA8B,EAC9B,iBAAiB,EACjB,kBAAkB,EAClB,kBAA8B,GAC/B,EAAE,eAAe,2CA+sBjB"}
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
* (usageDetails, latency, etc.) while showing parent data immediately
|
|
10
10
|
*/
|
|
11
11
|
import { NodeDetailPanelProps } from './types';
|
|
12
|
-
export declare function NodeDetailPanel({ node, nodeType: _nodeType, apiConfig }: NodeDetailPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare function NodeDetailPanel({ node, nodeType: _nodeType, apiConfig, generationSummaryInputOverride, }: NodeDetailPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
//# sourceMappingURL=NodeDetailPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeDetailPanel.d.ts","sourceRoot":"","sources":["../../../../../src/features/tracing/components/detail/NodeDetailPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,oBAAoB,EAA8B,MAAM,SAAS,CAAC;AAkZ3E,wBAAgB,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"NodeDetailPanel.d.ts","sourceRoot":"","sources":["../../../../../src/features/tracing/components/detail/NodeDetailPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,oBAAoB,EAA8B,MAAM,SAAS,CAAC;AAkZ3E,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,QAAQ,EAAE,SAAS,EACnB,SAAS,EACT,8BAAqC,GACtC,EAAE,oBAAoB,2CA0etB"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* Styled to match Figma design
|
|
6
6
|
*/
|
|
7
7
|
import { TraceTreeProps } from './types';
|
|
8
|
-
export declare function TraceTree({ trace, observations, isExpanded: defaultExpanded, selectedNodeId, onNodeSelect, onExpandToggle, showTraceId, isLoading, defaultExpandedNodeIds, }: TraceTreeProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function TraceTree({ trace, observations, isExpanded: defaultExpanded, selectedNodeId, onNodeSelect, onExpandToggle, showTraceId, isLoading, defaultExpandedNodeIds, runHeaderInputMode, }: TraceTreeProps): import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
//# sourceMappingURL=TraceTree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TraceTree.d.ts","sourceRoot":"","sources":["../../../../../src/features/tracing/components/detail/TraceTree.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAmB,MAAM,SAAS,CAAC;AAoC1D,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,YAAY,EACZ,UAAU,EAAE,eAAe,EAC3B,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAkB,EAClB,SAAiB,EACjB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"TraceTree.d.ts","sourceRoot":"","sources":["../../../../../src/features/tracing/components/detail/TraceTree.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAmB,MAAM,SAAS,CAAC;AAoC1D,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,YAAY,EACZ,UAAU,EAAE,eAAe,EAC3B,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAkB,EAClB,SAAiB,EACjB,sBAAsB,EACtB,kBAA8B,GAC/B,EAAE,cAAc,2CAqPhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailPageService.d.ts","sourceRoot":"","sources":["../../../../../../src/features/tracing/components/detail/services/DetailPageService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,mCAAmC,CAAC;AAE3C,mDAAmD;AACnD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,EAAE,gBAAgB,EAAE,SAAS,GAAE,MAA2B;IAU/E;;;;OAIG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgCvE;;;;OAIG;IACG,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAU1F;;;;OAIG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAUrF;;;OAGG;IACG,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAU7F;;;;OAIG;IACG,oBAAoB,CACxB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAmBlC;;OAEG;IACH,gBAAuB,mBAAmB,mBAAmB;IAE7D;;;;;;;;;;;;OAYG;IACG,6BAA6B,CACjC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,EACrF,YAAY,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,IAAI,EAC/E,gBAAgB,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAChE,OAAO,CAAC,iBAAiB,CAAC;IAwG7B;;;;;;;OAOG;IACH,kBAAkB,CAChB,YAAY,EAAE,eAAe,EAAE,EAC/B,QAAQ,GAAE,oBAAgC,GACzC,eAAe,EAAE;IAwFpB;;OAEG;IACH,OAAO,CAAC,0BAA0B;
|
|
1
|
+
{"version":3,"file":"DetailPageService.d.ts","sourceRoot":"","sources":["../../../../../../src/features/tracing/components/detail/services/DetailPageService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,mCAAmC,CAAC;AAE3C,mDAAmD;AACnD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,EAAE,gBAAgB,EAAE,SAAS,GAAE,MAA2B;IAU/E;;;;OAIG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgCvE;;;;OAIG;IACG,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAU1F;;;;OAIG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAUrF;;;OAGG;IACG,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAU7F;;;;OAIG;IACG,oBAAoB,CACxB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAmBlC;;OAEG;IACH,gBAAuB,mBAAmB,mBAAmB;IAE7D;;;;;;;;;;;;OAYG;IACG,6BAA6B,CACjC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,EACrF,YAAY,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,IAAI,EAC/E,gBAAgB,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAChE,OAAO,CAAC,iBAAiB,CAAC;IAwG7B;;;;;;;OAOG;IACH,kBAAkB,CAChB,YAAY,EAAE,eAAe,EAAE,EAC/B,QAAQ,GAAE,oBAAgC,GACzC,eAAe,EAAE;IAwFpB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS;IAuBvD;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAK/C;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAGjC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,GAAG,iBAAiB,CAEtF"}
|
|
@@ -44,6 +44,10 @@ export interface TraceData {
|
|
|
44
44
|
timestamp: string;
|
|
45
45
|
input?: unknown;
|
|
46
46
|
output?: unknown;
|
|
47
|
+
/** PII-aware user message from trace metadata when engine provides it */
|
|
48
|
+
displayUserMessage?: string;
|
|
49
|
+
/** PII-aware app response from trace metadata when engine provides it */
|
|
50
|
+
displayAppResponse?: string;
|
|
47
51
|
latency?: number;
|
|
48
52
|
totalTokens?: number;
|
|
49
53
|
totalCost?: string;
|
|
@@ -91,6 +95,10 @@ export interface TraceDetailData {
|
|
|
91
95
|
input?: string | null;
|
|
92
96
|
output?: string | null;
|
|
93
97
|
metadata?: string | null;
|
|
98
|
+
/** Parsed from trace metadata (`piiDisplayUserMessage`) when present */
|
|
99
|
+
displayUserMessage?: string;
|
|
100
|
+
/** Parsed from trace metadata (`piiDisplayAppResponse`) when present */
|
|
101
|
+
displayAppResponse?: string;
|
|
94
102
|
tags?: string[];
|
|
95
103
|
bookmarked?: boolean;
|
|
96
104
|
public?: boolean;
|
|
@@ -148,6 +156,12 @@ export interface DetailPageProps {
|
|
|
148
156
|
* Contains: id, countTraces, totalCost, totalTokens, sessionDuration
|
|
149
157
|
*/
|
|
150
158
|
initialSessionData?: InitialSessionData;
|
|
159
|
+
/**
|
|
160
|
+
* When `display` (default), USER MESSAGE / APP RESPONSE and first-generation Summary Input
|
|
161
|
+
* prefer PII display strings from trace metadata when the engine provides them.
|
|
162
|
+
* Use `tokenized` to always show raw trace input/output (placeholders).
|
|
163
|
+
*/
|
|
164
|
+
runHeaderInputMode?: 'display' | 'tokenized';
|
|
151
165
|
}
|
|
152
166
|
export interface DetailHeaderProps {
|
|
153
167
|
mode: DetailPageMode;
|
|
@@ -173,6 +187,8 @@ export interface TraceTreeProps {
|
|
|
173
187
|
isLoading?: boolean;
|
|
174
188
|
/** Set of observation IDs to auto-expand on initial render */
|
|
175
189
|
defaultExpandedNodeIds?: Set<string>;
|
|
190
|
+
/** @default 'display' — see DetailPageProps.runHeaderInputMode */
|
|
191
|
+
runHeaderInputMode?: 'display' | 'tokenized';
|
|
176
192
|
}
|
|
177
193
|
export interface ObservationNodeProps {
|
|
178
194
|
node: ObservationTreeNode;
|
|
@@ -200,6 +216,10 @@ export interface NodeDetailPanelProps {
|
|
|
200
216
|
nodeType: NodeType | null;
|
|
201
217
|
/** Optional: API config for fetching full observation details */
|
|
202
218
|
apiConfig?: TracingApiConfig;
|
|
219
|
+
/**
|
|
220
|
+
* When set, replaces the Summary "Input" line for the selected GENERATION (e.g. PII display text).
|
|
221
|
+
*/
|
|
222
|
+
generationSummaryInputOverride?: string | null;
|
|
203
223
|
}
|
|
204
224
|
export interface SummaryMetrics {
|
|
205
225
|
totalCost: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/tracing/components/detail/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/tracing/components/detail/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,13 @@
|
|
|
4
4
|
* Handles tree construction, node lookup, and metrics calculation
|
|
5
5
|
*/
|
|
6
6
|
import { ObservationData, ObservationTreeNode, TraceData } from '../components/detail/types';
|
|
7
|
+
/** Langfuse trace metadata keys set by the engine when PII display strings are available */
|
|
8
|
+
export declare const TRACE_PII_DISPLAY_USER_MESSAGE_KEY = "piiDisplayUserMessage";
|
|
9
|
+
export declare const TRACE_PII_DISPLAY_APP_RESPONSE_KEY = "piiDisplayAppResponse";
|
|
10
|
+
export interface TracePiiDisplayFields {
|
|
11
|
+
displayUserMessage?: string;
|
|
12
|
+
displayAppResponse?: string;
|
|
13
|
+
}
|
|
7
14
|
export declare class TraceTreeService {
|
|
8
15
|
/**
|
|
9
16
|
* Build a hierarchical tree from a flat list of observations
|
|
@@ -49,7 +56,27 @@ export declare class TraceTreeService {
|
|
|
49
56
|
* Extract user message from trace input for display.
|
|
50
57
|
* Handles string, object with message/content/text/query, and messages array (e.g. voice/chat).
|
|
51
58
|
*/
|
|
59
|
+
/**
|
|
60
|
+
* Parse trace metadata from API (string or object) into a plain object.
|
|
61
|
+
*/
|
|
62
|
+
static parseTraceMetadata(metadata: unknown): Record<string, unknown>;
|
|
63
|
+
/**
|
|
64
|
+
* Read PII display strings from Langfuse/Kore trace metadata (if present).
|
|
65
|
+
*/
|
|
66
|
+
static extractPiiDisplayFromTraceMetadata(metadata: unknown): TracePiiDisplayFields;
|
|
67
|
+
/**
|
|
68
|
+
* Some tracing APIs expose custom PII display keys on trace root as well as under metadata.
|
|
69
|
+
*/
|
|
70
|
+
static extractPiiDisplayFromApiTrace(trace: {
|
|
71
|
+
metadata?: unknown;
|
|
72
|
+
[key: string]: unknown;
|
|
73
|
+
}): TracePiiDisplayFields;
|
|
52
74
|
static extractUserMessage(input: unknown): string;
|
|
75
|
+
/**
|
|
76
|
+
* LangChain-serialized messages store role/content under `kwargs` and type in `id`.
|
|
77
|
+
*/
|
|
78
|
+
private static getLangchainMessageContent;
|
|
79
|
+
private static inferLangchainMessageRole;
|
|
53
80
|
/**
|
|
54
81
|
* Get last user message content from a messages array (chat/voice format).
|
|
55
82
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TraceTreeService.d.ts","sourceRoot":"","sources":["../../../../src/features/tracing/services/TraceTreeService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE7F,qBAAa,gBAAgB;IAC3B;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,YAAY,EAAE,eAAe,EAAE,GAAG,mBAAmB,EAAE;IAoFnF;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,eAAe,EAAE;IAclE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAaxF;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAiBhF;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAKrE;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAoBzC;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;IAQvD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM;IAU5D;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAY9C;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAgCjD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;
|
|
1
|
+
{"version":3,"file":"TraceTreeService.d.ts","sourceRoot":"","sources":["../../../../src/features/tracing/services/TraceTreeService.ts"],"names":[],"mappings":"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"}
|
package/dist/index.angular.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export { RunsSlider } from './features/dashboard/RunsSlider';
|
|
|
14
14
|
export { DashboardSection } from './features/dashboard/DashboardSection';
|
|
15
15
|
export { ViewRenderer } from './features/dashboard/ViewRenderer';
|
|
16
16
|
export { DebugPanel } from './features/debug-logs/DebugPanel';
|
|
17
|
-
export type { DebugPanelProps, DebugPanelRef, DebugPanelConfig, ExecutionEvent, TreeNode, Attachment } from './features/debug-logs/types';
|
|
17
|
+
export type { DebugPanelProps, DebugPanelRef, DebugPanelConfig, ExecutionEvent, TreeNode, Attachment, RunHeaderInputMode, SessionTreeBuildOptions } from './features/debug-logs/types';
|
|
18
18
|
export * from './shared/ui';
|
|
19
19
|
export { SectionControls } from './features/dashboard/SectionControls';
|
|
20
20
|
export { EndpointsConfigService } from './lib/endpoints.config';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.angular.d.ts","sourceRoot":"","sources":["../src/index.angular.ts"],"names":[],"mappings":"AAaA,cAAc,sBAAsB,CAAC;AAGrC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,uBAAuB,CAAC;AAItC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,aAAa,CAAC;AAU5B,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAKjE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.angular.d.ts","sourceRoot":"","sources":["../src/index.angular.ts"],"names":[],"mappings":"AAaA,cAAc,sBAAsB,CAAC;AAGrC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,uBAAuB,CAAC;AAItC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,aAAa,CAAC;AAU5B,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAKjE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAKvL,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAGvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,YAAY,EAEV,SAAS,EACT,UAAU,EACV,SAAS,EAGT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EAGb,WAAW,EACX,iBAAiB,EAGjB,UAAU,EACV,QAAQ,EAGR,cAAc,EACd,cAAc,EAGd,gBAAgB,IAAI,oBAAoB,EAGxC,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EAGtB,cAAc,EACd,aAAa,EACb,gBAAgB,EAGhB,YAAY,EACZ,eAAe,EAGf,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,cAAc,EACd,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,cAAc,EACd,WAAW,EACX,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export { RunsSlider } from './features/dashboard/RunsSlider';
|
|
|
15
15
|
export { DashboardSection } from './features/dashboard/DashboardSection';
|
|
16
16
|
export { ViewRenderer } from './features/dashboard/ViewRenderer';
|
|
17
17
|
export { DebugPanel } from './features/debug-logs/DebugPanel';
|
|
18
|
-
export type { DebugPanelProps, DebugPanelRef, DebugPanelConfig, ExecutionEvent, TreeNode, Attachment } from './features/debug-logs/types';
|
|
18
|
+
export type { DebugPanelProps, DebugPanelRef, DebugPanelConfig, ExecutionEvent, TreeNode, Attachment, RunHeaderInputMode, SessionTreeBuildOptions } from './features/debug-logs/types';
|
|
19
19
|
export * from './shared/ui';
|
|
20
20
|
export { SectionControls } from './features/dashboard/SectionControls';
|
|
21
21
|
export { EndpointsConfigService } from './lib/endpoints.config';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,CAAC;AAW9B,cAAc,sBAAsB,CAAC;AAGrC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,uBAAuB,CAAC;AAItC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,aAAa,CAAC;AAU5B,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAKjE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,CAAC;AAW9B,cAAc,sBAAsB,CAAC;AAGrC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,uBAAuB,CAAC;AAItC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,aAAa,CAAC;AAU5B,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAKjE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAKvL,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAGvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,YAAY,EAEV,SAAS,EACT,UAAU,EACV,SAAS,EAGT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EAGb,WAAW,EACX,iBAAiB,EAGjB,UAAU,EACV,QAAQ,EAGR,cAAc,EACd,cAAc,EAGd,gBAAgB,IAAI,oBAAoB,EAGxC,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EAGtB,cAAc,EACd,aAAa,EACb,gBAAgB,EAGhB,YAAY,EACZ,eAAe,EAGf,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,cAAc,EACd,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,cAAc,EACd,WAAW,EACX,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -105477,6 +105477,8 @@ function FilterPanel(props) {
|
|
|
105477
105477
|
] })
|
|
105478
105478
|
] });
|
|
105479
105479
|
}
|
|
105480
|
+
const TRACE_PII_DISPLAY_USER_MESSAGE_KEY = "piiDisplayUserMessage";
|
|
105481
|
+
const TRACE_PII_DISPLAY_APP_RESPONSE_KEY = "piiDisplayAppResponse";
|
|
105480
105482
|
class TraceTreeService {
|
|
105481
105483
|
/**
|
|
105482
105484
|
* Build a hierarchical tree from a flat list of observations
|
|
@@ -105652,6 +105654,60 @@ class TraceTreeService {
|
|
|
105652
105654
|
* Extract user message from trace input for display.
|
|
105653
105655
|
* Handles string, object with message/content/text/query, and messages array (e.g. voice/chat).
|
|
105654
105656
|
*/
|
|
105657
|
+
/**
|
|
105658
|
+
* Parse trace metadata from API (string or object) into a plain object.
|
|
105659
|
+
*/
|
|
105660
|
+
static parseTraceMetadata(metadata) {
|
|
105661
|
+
if (metadata === null || metadata === void 0) {
|
|
105662
|
+
return {};
|
|
105663
|
+
}
|
|
105664
|
+
if (typeof metadata === "string") {
|
|
105665
|
+
try {
|
|
105666
|
+
return JSON.parse(metadata);
|
|
105667
|
+
} catch {
|
|
105668
|
+
return {};
|
|
105669
|
+
}
|
|
105670
|
+
}
|
|
105671
|
+
if (typeof metadata === "object" && !Array.isArray(metadata)) {
|
|
105672
|
+
return metadata;
|
|
105673
|
+
}
|
|
105674
|
+
return {};
|
|
105675
|
+
}
|
|
105676
|
+
/**
|
|
105677
|
+
* Read PII display strings from Langfuse/Kore trace metadata (if present).
|
|
105678
|
+
*/
|
|
105679
|
+
static extractPiiDisplayFromTraceMetadata(metadata) {
|
|
105680
|
+
const obj = this.parseTraceMetadata(metadata);
|
|
105681
|
+
const userRaw = obj[TRACE_PII_DISPLAY_USER_MESSAGE_KEY];
|
|
105682
|
+
const appRaw = obj[TRACE_PII_DISPLAY_APP_RESPONSE_KEY];
|
|
105683
|
+
const result = {};
|
|
105684
|
+
if (typeof userRaw === "string" && userRaw.length > 0) {
|
|
105685
|
+
result.displayUserMessage = userRaw;
|
|
105686
|
+
}
|
|
105687
|
+
if (typeof appRaw === "string" && appRaw.length > 0) {
|
|
105688
|
+
result.displayAppResponse = appRaw;
|
|
105689
|
+
}
|
|
105690
|
+
return result;
|
|
105691
|
+
}
|
|
105692
|
+
/**
|
|
105693
|
+
* Some tracing APIs expose custom PII display keys on trace root as well as under metadata.
|
|
105694
|
+
*/
|
|
105695
|
+
static extractPiiDisplayFromApiTrace(trace) {
|
|
105696
|
+
const fromMeta = this.extractPiiDisplayFromTraceMetadata(trace.metadata);
|
|
105697
|
+
const userTop = trace[TRACE_PII_DISPLAY_USER_MESSAGE_KEY];
|
|
105698
|
+
const appTop = trace[TRACE_PII_DISPLAY_APP_RESPONSE_KEY];
|
|
105699
|
+
const fromTop = {};
|
|
105700
|
+
if (typeof userTop === "string" && userTop.length > 0) {
|
|
105701
|
+
fromTop.displayUserMessage = userTop;
|
|
105702
|
+
}
|
|
105703
|
+
if (typeof appTop === "string" && appTop.length > 0) {
|
|
105704
|
+
fromTop.displayAppResponse = appTop;
|
|
105705
|
+
}
|
|
105706
|
+
return {
|
|
105707
|
+
displayUserMessage: fromTop.displayUserMessage ?? fromMeta.displayUserMessage,
|
|
105708
|
+
displayAppResponse: fromTop.displayAppResponse ?? fromMeta.displayAppResponse
|
|
105709
|
+
};
|
|
105710
|
+
}
|
|
105655
105711
|
static extractUserMessage(input) {
|
|
105656
105712
|
if (!input) return "";
|
|
105657
105713
|
if (typeof input === "string") {
|
|
@@ -105683,6 +105739,51 @@ class TraceTreeService {
|
|
|
105683
105739
|
}
|
|
105684
105740
|
return String(input);
|
|
105685
105741
|
}
|
|
105742
|
+
/**
|
|
105743
|
+
* LangChain-serialized messages store role/content under `kwargs` and type in `id`.
|
|
105744
|
+
*/
|
|
105745
|
+
static getLangchainMessageContent(msg) {
|
|
105746
|
+
if (msg["content"] !== void 0 && msg["content"] !== null) {
|
|
105747
|
+
return msg["content"];
|
|
105748
|
+
}
|
|
105749
|
+
const kwargs = msg["kwargs"];
|
|
105750
|
+
if (kwargs && typeof kwargs === "object" && !Array.isArray(kwargs)) {
|
|
105751
|
+
const c3 = kwargs["content"];
|
|
105752
|
+
if (c3 !== void 0 && c3 !== null) {
|
|
105753
|
+
return c3;
|
|
105754
|
+
}
|
|
105755
|
+
}
|
|
105756
|
+
return void 0;
|
|
105757
|
+
}
|
|
105758
|
+
static inferLangchainMessageRole(msg) {
|
|
105759
|
+
if (typeof msg["role"] === "string") {
|
|
105760
|
+
return msg["role"];
|
|
105761
|
+
}
|
|
105762
|
+
const kwargs = msg["kwargs"];
|
|
105763
|
+
if (kwargs && typeof kwargs === "object" && !Array.isArray(kwargs)) {
|
|
105764
|
+
const r2 = kwargs["role"];
|
|
105765
|
+
if (typeof r2 === "string") {
|
|
105766
|
+
return r2;
|
|
105767
|
+
}
|
|
105768
|
+
}
|
|
105769
|
+
const id = msg["id"];
|
|
105770
|
+
if (Array.isArray(id)) {
|
|
105771
|
+
const tail = id[id.length - 1];
|
|
105772
|
+
if (tail === "HumanMessage") {
|
|
105773
|
+
return "user";
|
|
105774
|
+
}
|
|
105775
|
+
if (tail === "AIMessage" || tail === "AIMessageChunk") {
|
|
105776
|
+
return "assistant";
|
|
105777
|
+
}
|
|
105778
|
+
if (tail === "SystemMessage") {
|
|
105779
|
+
return "system";
|
|
105780
|
+
}
|
|
105781
|
+
if (tail === "ToolMessage") {
|
|
105782
|
+
return "tool";
|
|
105783
|
+
}
|
|
105784
|
+
}
|
|
105785
|
+
return void 0;
|
|
105786
|
+
}
|
|
105686
105787
|
/**
|
|
105687
105788
|
* Get last user message content from a messages array (chat/voice format).
|
|
105688
105789
|
*/
|
|
@@ -105690,13 +105791,17 @@ class TraceTreeService {
|
|
|
105690
105791
|
if (!messages.length) return "";
|
|
105691
105792
|
for (let i2 = messages.length - 1; i2 >= 0; i2--) {
|
|
105692
105793
|
const msg = messages[i2];
|
|
105693
|
-
const role = msg
|
|
105694
|
-
const content2 = msg
|
|
105695
|
-
if (role === "user" && content2 != null)
|
|
105794
|
+
const role = this.inferLangchainMessageRole(msg);
|
|
105795
|
+
const content2 = this.getLangchainMessageContent(msg);
|
|
105796
|
+
if (role === "user" && content2 != null) {
|
|
105797
|
+
return typeof content2 === "string" ? content2 : JSON.stringify(content2);
|
|
105798
|
+
}
|
|
105696
105799
|
}
|
|
105697
105800
|
const last2 = messages[messages.length - 1];
|
|
105698
|
-
const content = last2
|
|
105699
|
-
if (content != null)
|
|
105801
|
+
const content = this.getLangchainMessageContent(last2);
|
|
105802
|
+
if (content != null) {
|
|
105803
|
+
return typeof content === "string" ? content : JSON.stringify(content);
|
|
105804
|
+
}
|
|
105700
105805
|
return JSON.stringify(messages[messages.length - 1]);
|
|
105701
105806
|
}
|
|
105702
105807
|
/**
|
|
@@ -105740,7 +105845,8 @@ class TraceTreeService {
|
|
|
105740
105845
|
static extractLastMessageContentFromArray(messages) {
|
|
105741
105846
|
if (!messages.length) return "";
|
|
105742
105847
|
const last2 = messages[messages.length - 1];
|
|
105743
|
-
const
|
|
105848
|
+
const fromKwargs = this.getLangchainMessageContent(last2);
|
|
105849
|
+
const content = fromKwargs ?? (last2 == null ? void 0 : last2.message) ?? (last2 == null ? void 0 : last2.text);
|
|
105744
105850
|
if (content != null) return typeof content === "string" ? content : JSON.stringify(content);
|
|
105745
105851
|
return JSON.stringify(last2);
|
|
105746
105852
|
}
|
|
@@ -106193,6 +106299,7 @@ class DetailPageService {
|
|
|
106193
106299
|
* Transform API trace response to TraceDetailData
|
|
106194
106300
|
*/
|
|
106195
106301
|
transformToTraceDetailData(trace) {
|
|
106302
|
+
const piiDisplay = TraceTreeService.extractPiiDisplayFromApiTrace(trace);
|
|
106196
106303
|
return {
|
|
106197
106304
|
id: trace.id,
|
|
106198
106305
|
name: trace.name || "",
|
|
@@ -106205,6 +106312,8 @@ class DetailPageService {
|
|
|
106205
106312
|
input: trace.input,
|
|
106206
106313
|
output: trace.output,
|
|
106207
106314
|
metadata: trace.metadata,
|
|
106315
|
+
displayUserMessage: piiDisplay.displayUserMessage,
|
|
106316
|
+
displayAppResponse: piiDisplay.displayAppResponse,
|
|
106208
106317
|
tags: trace.tags || [],
|
|
106209
106318
|
bookmarked: trace.bookmarked || false,
|
|
106210
106319
|
public: trace.public || false,
|
|
@@ -106266,6 +106375,8 @@ class DetailPageService {
|
|
|
106266
106375
|
timestamp: trace.timestamp,
|
|
106267
106376
|
input: trace.input,
|
|
106268
106377
|
output: trace.output,
|
|
106378
|
+
displayUserMessage: trace.displayUserMessage,
|
|
106379
|
+
displayAppResponse: trace.displayAppResponse,
|
|
106269
106380
|
latency: trace.latency,
|
|
106270
106381
|
totalTokens: trace.totalTokens,
|
|
106271
106382
|
totalCost: typeof trace.totalCost === "number" ? String(trace.totalCost) : trace.totalCost,
|
|
@@ -106619,7 +106730,8 @@ function TraceTree({
|
|
|
106619
106730
|
onExpandToggle,
|
|
106620
106731
|
showTraceId = true,
|
|
106621
106732
|
isLoading = false,
|
|
106622
|
-
defaultExpandedNodeIds
|
|
106733
|
+
defaultExpandedNodeIds,
|
|
106734
|
+
runHeaderInputMode = "display"
|
|
106623
106735
|
}) {
|
|
106624
106736
|
const [isExpanded, setIsExpanded] = useState(defaultExpanded);
|
|
106625
106737
|
const [expandedNodeIds, setExpandedNodeIds] = useState(
|
|
@@ -106637,11 +106749,17 @@ function TraceTree({
|
|
|
106637
106749
|
return TraceTreeService.buildObservationTree(observations);
|
|
106638
106750
|
}, [observations]);
|
|
106639
106751
|
const userMessage = useMemo(() => {
|
|
106752
|
+
if (runHeaderInputMode !== "tokenized" && trace.displayUserMessage !== void 0 && trace.displayUserMessage.length > 0) {
|
|
106753
|
+
return trace.displayUserMessage;
|
|
106754
|
+
}
|
|
106640
106755
|
return TraceTreeService.extractUserMessage(trace.input);
|
|
106641
|
-
}, [trace.input]);
|
|
106756
|
+
}, [trace.input, trace.displayUserMessage, runHeaderInputMode]);
|
|
106642
106757
|
const appResponse = useMemo(() => {
|
|
106758
|
+
if (runHeaderInputMode !== "tokenized" && trace.displayAppResponse !== void 0 && trace.displayAppResponse.length > 0) {
|
|
106759
|
+
return trace.displayAppResponse;
|
|
106760
|
+
}
|
|
106643
106761
|
return TraceTreeService.extractAppResponse(trace.output);
|
|
106644
|
-
}, [trace.output]);
|
|
106762
|
+
}, [trace.output, trace.displayAppResponse, runHeaderInputMode]);
|
|
106645
106763
|
const traceMetrics = useMemo(() => {
|
|
106646
106764
|
return TraceTreeService.calculateTraceMetrics(trace, observations);
|
|
106647
106765
|
}, [trace, observations]);
|
|
@@ -108661,7 +108779,12 @@ function CodeEditorSection({
|
|
|
108661
108779
|
) })
|
|
108662
108780
|
] });
|
|
108663
108781
|
}
|
|
108664
|
-
function NodeDetailPanel({
|
|
108782
|
+
function NodeDetailPanel({
|
|
108783
|
+
node,
|
|
108784
|
+
nodeType: _nodeType,
|
|
108785
|
+
apiConfig,
|
|
108786
|
+
generationSummaryInputOverride = null
|
|
108787
|
+
}) {
|
|
108665
108788
|
const [selectedTab, setSelectedTab] = useState("preview");
|
|
108666
108789
|
const [showTokenTooltip, setShowTokenTooltip] = useState(false);
|
|
108667
108790
|
const tooltipTimeoutRef = useRef(null);
|
|
@@ -108748,6 +108871,7 @@ function NodeDetailPanel({ node, nodeType: _nodeType, apiConfig }) {
|
|
|
108748
108871
|
}
|
|
108749
108872
|
return TraceTreeService.extractUserMessage(displayNode.input);
|
|
108750
108873
|
}, [displayNode]);
|
|
108874
|
+
const summaryInputLine = generationSummaryInputOverride !== null && generationSummaryInputOverride.length > 0 ? generationSummaryInputOverride : inputText;
|
|
108751
108875
|
const isGeneration = useMemo(() => {
|
|
108752
108876
|
return node !== null && isObservation(node) && node.type === "GENERATION";
|
|
108753
108877
|
}, [node]);
|
|
@@ -108954,10 +109078,10 @@ function NodeDetailPanel({ node, nodeType: _nodeType, apiConfig }) {
|
|
|
108954
109078
|
] })
|
|
108955
109079
|
),
|
|
108956
109080
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ContentDivider, {}),
|
|
108957
|
-
isGeneration &&
|
|
109081
|
+
isGeneration && summaryInputLine.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
108958
109082
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-[8px]", children: [
|
|
108959
109083
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[12px] font-medium leading-[16px] text-[#98A2B3]", children: "Input" }),
|
|
108960
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[12px] font-medium leading-[16px] text-[#101828] truncate", children:
|
|
109084
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[12px] font-medium leading-[16px] text-[#101828] truncate", children: summaryInputLine })
|
|
108961
109085
|
] }),
|
|
108962
109086
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ContentDivider, {})
|
|
108963
109087
|
] }),
|
|
@@ -109031,7 +109155,8 @@ function DetailPage({
|
|
|
109031
109155
|
selectedObservationId,
|
|
109032
109156
|
batchSize = DEFAULT_BATCH_SIZE,
|
|
109033
109157
|
initialTraceCount,
|
|
109034
|
-
initialSessionData
|
|
109158
|
+
initialSessionData,
|
|
109159
|
+
runHeaderInputMode = "display"
|
|
109035
109160
|
}) {
|
|
109036
109161
|
const [currentMode, setCurrentMode] = useState(initialMode);
|
|
109037
109162
|
const [currentSessionId, setCurrentSessionId] = useState(initialSessionId);
|
|
@@ -109283,6 +109408,41 @@ function DetailPage({
|
|
|
109283
109408
|
}
|
|
109284
109409
|
return [];
|
|
109285
109410
|
}, [mode, sessionData, traceData, service]);
|
|
109411
|
+
const generationSummaryInputOverride = useMemo(() => {
|
|
109412
|
+
var _a;
|
|
109413
|
+
if (runHeaderInputMode === "tokenized") {
|
|
109414
|
+
return null;
|
|
109415
|
+
}
|
|
109416
|
+
if (!selectedNode || !("traceId" in selectedNode) || !("type" in selectedNode)) {
|
|
109417
|
+
return null;
|
|
109418
|
+
}
|
|
109419
|
+
const obs = selectedNode;
|
|
109420
|
+
if (obs.type !== "GENERATION") {
|
|
109421
|
+
return null;
|
|
109422
|
+
}
|
|
109423
|
+
const traceRow = traces.find((t2) => t2.id === obs.traceId);
|
|
109424
|
+
if (!traceRow) {
|
|
109425
|
+
return null;
|
|
109426
|
+
}
|
|
109427
|
+
const displayUser = traceRow.displayUserMessage && traceRow.displayUserMessage.length > 0 ? traceRow.displayUserMessage : TraceTreeService.extractUserMessage(traceRow.input);
|
|
109428
|
+
if (!displayUser || displayUser.length === 0) {
|
|
109429
|
+
return null;
|
|
109430
|
+
}
|
|
109431
|
+
const fromState = (_a = traceObservations[obs.traceId]) == null ? void 0 : _a.observations;
|
|
109432
|
+
const observations = fromState && fromState.length > 0 ? fromState : mode === "trace" && (traceData == null ? void 0 : traceData.id) === obs.traceId && traceData.observations.length > 0 ? traceData.observations : [];
|
|
109433
|
+
const { observation: firstGen } = TraceTreeService.findFirstGeneration(observations);
|
|
109434
|
+
if (!firstGen || firstGen.id !== obs.id) {
|
|
109435
|
+
return null;
|
|
109436
|
+
}
|
|
109437
|
+
return displayUser;
|
|
109438
|
+
}, [
|
|
109439
|
+
runHeaderInputMode,
|
|
109440
|
+
selectedNode,
|
|
109441
|
+
traces,
|
|
109442
|
+
traceObservations,
|
|
109443
|
+
mode,
|
|
109444
|
+
traceData
|
|
109445
|
+
]);
|
|
109286
109446
|
const handleNodeSelect = useCallback((node) => {
|
|
109287
109447
|
setSelectedNode(node);
|
|
109288
109448
|
}, []);
|
|
@@ -109500,7 +109660,8 @@ function DetailPage({
|
|
|
109500
109660
|
onExpandToggle: () => handleTraceExpand(trace.id, trace.timestamp),
|
|
109501
109661
|
showTraceId: mode === "session",
|
|
109502
109662
|
isLoading: isLoadingObservations,
|
|
109503
|
-
defaultExpandedNodeIds: autoExpandIds
|
|
109663
|
+
defaultExpandedNodeIds: autoExpandIds,
|
|
109664
|
+
runHeaderInputMode
|
|
109504
109665
|
},
|
|
109505
109666
|
trace.id
|
|
109506
109667
|
);
|
|
@@ -109520,7 +109681,15 @@ function DetailPage({
|
|
|
109520
109681
|
);
|
|
109521
109682
|
}) })
|
|
109522
109683
|
] }) }),
|
|
109523
|
-
!selectedNode && !hasAutoSelected ? /* @__PURE__ */ jsxRuntimeExports.jsx(NodeDetailSkeleton, { showFullSummary: true }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
109684
|
+
!selectedNode && !hasAutoSelected ? /* @__PURE__ */ jsxRuntimeExports.jsx(NodeDetailSkeleton, { showFullSummary: true }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
109685
|
+
NodeDetailPanel,
|
|
109686
|
+
{
|
|
109687
|
+
node: selectedNode,
|
|
109688
|
+
nodeType,
|
|
109689
|
+
apiConfig,
|
|
109690
|
+
generationSummaryInputOverride
|
|
109691
|
+
}
|
|
109692
|
+
)
|
|
109524
109693
|
] })
|
|
109525
109694
|
] });
|
|
109526
109695
|
}
|
|
@@ -112375,12 +112544,12 @@ class TreeBuilder {
|
|
|
112375
112544
|
* Process execution events and build a hierarchical tree structure
|
|
112376
112545
|
* Session > Run > Node Tree
|
|
112377
112546
|
*/
|
|
112378
|
-
static buildSessionTree(events, sessionId) {
|
|
112547
|
+
static buildSessionTree(events, sessionId, options) {
|
|
112379
112548
|
var _a;
|
|
112380
112549
|
const runGroups = this.groupEventsByRun(events);
|
|
112381
112550
|
const runs = [];
|
|
112382
112551
|
for (const [runId, runEvents] of runGroups.entries()) {
|
|
112383
|
-
const runTree = this.buildRunTree(runId, runEvents);
|
|
112552
|
+
const runTree = this.buildRunTree(runId, runEvents, options);
|
|
112384
112553
|
runs.push(runTree);
|
|
112385
112554
|
}
|
|
112386
112555
|
runs.sort((a4, b2) => new Date(a4.startTime).getTime() - new Date(b2.startTime).getTime());
|
|
@@ -112406,7 +112575,7 @@ class TreeBuilder {
|
|
|
112406
112575
|
/**
|
|
112407
112576
|
* Build tree for a single run
|
|
112408
112577
|
*/
|
|
112409
|
-
static buildRunTree(runId, events) {
|
|
112578
|
+
static buildRunTree(runId, events, options) {
|
|
112410
112579
|
var _a;
|
|
112411
112580
|
const nodeEventMap = /* @__PURE__ */ new Map();
|
|
112412
112581
|
events.forEach((event) => {
|
|
@@ -112437,7 +112606,7 @@ class TreeBuilder {
|
|
|
112437
112606
|
const status = this.calculateRunStatus(runEvents);
|
|
112438
112607
|
const duration = endTime && startTime ? endTime - startTime : void 0;
|
|
112439
112608
|
const totalTokens = this.calculateRunTokens(runEvents);
|
|
112440
|
-
const userInput = this.extractUserInput(runEvents);
|
|
112609
|
+
const userInput = this.extractUserInput(runEvents, options);
|
|
112441
112610
|
const finalOutput = this.extractFinalOutput(runEvents);
|
|
112442
112611
|
return {
|
|
112443
112612
|
runId,
|
|
@@ -112456,6 +112625,7 @@ class TreeBuilder {
|
|
|
112456
112625
|
* Create TreeNode from paired started/completed events
|
|
112457
112626
|
*/
|
|
112458
112627
|
static createTreeNodeFromEvents(startedEvent, completedEvent, runId) {
|
|
112628
|
+
var _a;
|
|
112459
112629
|
const startTime = startedEvent.data.timestamp;
|
|
112460
112630
|
const endTime = completedEvent == null ? void 0 : completedEvent.data.timestamp;
|
|
112461
112631
|
const duration = endTime && startTime ? new Date(endTime).getTime() - new Date(startTime).getTime() : void 0;
|
|
@@ -112474,7 +112644,8 @@ class TreeBuilder {
|
|
|
112474
112644
|
const { toolInvocations, isResponse } = this.extractToolInvocations(output);
|
|
112475
112645
|
console.log("toolInvocations", toolInvocations);
|
|
112476
112646
|
console.log("isResponse", isResponse);
|
|
112477
|
-
const
|
|
112647
|
+
const extractedProvider = primaryEvent.data.type === "llm" ? this.extractProvider(primaryEvent.data.name || primaryEvent.data.toolName) : void 0;
|
|
112648
|
+
const provider = ((_a = primaryEvent.data.metadata) == null ? void 0 : _a.provider) || extractedProvider;
|
|
112478
112649
|
return {
|
|
112479
112650
|
id: primaryEvent.data.id,
|
|
112480
112651
|
parentId: primaryEvent.data.parentId,
|
|
@@ -112633,12 +112804,22 @@ class TreeBuilder {
|
|
|
112633
112804
|
/**
|
|
112634
112805
|
* Extract initial user input from the first LLM node's input
|
|
112635
112806
|
*/
|
|
112636
|
-
static extractUserInput(events) {
|
|
112807
|
+
static extractUserInput(events, options) {
|
|
112808
|
+
const preferDisplay = ((options == null ? void 0 : options.runHeaderInputMode) ?? "display") === "display";
|
|
112637
112809
|
const llmEvents = events.filter(
|
|
112638
112810
|
(e3) => e3.type === "node_started" && e3.data.type === "llm"
|
|
112639
112811
|
).sort((a4, b2) => new Date(a4.data.timestamp).getTime() - new Date(b2.data.timestamp).getTime());
|
|
112640
112812
|
if (llmEvents.length > 0) {
|
|
112641
112813
|
const firstLlmEvent = llmEvents[0];
|
|
112814
|
+
if (preferDisplay && firstLlmEvent.data.displayInput !== void 0 && firstLlmEvent.data.displayInput !== null) {
|
|
112815
|
+
const d3 = firstLlmEvent.data.displayInput;
|
|
112816
|
+
if (typeof d3 === "string") {
|
|
112817
|
+
return d3;
|
|
112818
|
+
}
|
|
112819
|
+
if (typeof d3 === "object") {
|
|
112820
|
+
return JSON.stringify(d3);
|
|
112821
|
+
}
|
|
112822
|
+
}
|
|
112642
112823
|
if (firstLlmEvent.data.input) {
|
|
112643
112824
|
if (typeof firstLlmEvent.data.input === "string") {
|
|
112644
112825
|
return firstLlmEvent.data.input;
|
|
@@ -112848,8 +113029,8 @@ class TreeBuilder {
|
|
|
112848
113029
|
/**
|
|
112849
113030
|
* Update tree with new events (optimized for real-time updates)
|
|
112850
113031
|
*/
|
|
112851
|
-
static updateTree(existingTree, _newEvents, allEvents) {
|
|
112852
|
-
return this.buildSessionTree(allEvents, existingTree.sessionId);
|
|
113032
|
+
static updateTree(existingTree, _newEvents, allEvents, options) {
|
|
113033
|
+
return this.buildSessionTree(allEvents, existingTree.sessionId, options);
|
|
112853
113034
|
}
|
|
112854
113035
|
/**
|
|
112855
113036
|
* Merge new events into existing events efficiently
|
|
@@ -114161,6 +114342,7 @@ const DebugPanel = forwardRef(({
|
|
|
114161
114342
|
expansionMode = "none",
|
|
114162
114343
|
showExpansionControls = false,
|
|
114163
114344
|
defaultDetailView = true,
|
|
114345
|
+
runHeaderInputMode = "display",
|
|
114164
114346
|
apiConfig
|
|
114165
114347
|
} = config2;
|
|
114166
114348
|
console.log("🔧 DebugPanel - Config received:", {
|
|
@@ -114221,10 +114403,12 @@ const DebugPanel = forwardRef(({
|
|
|
114221
114403
|
}
|
|
114222
114404
|
}), []);
|
|
114223
114405
|
const sessionTree = useMemo(() => {
|
|
114224
|
-
const tree = TreeBuilder.buildSessionTree(executionEvents, sessionId
|
|
114406
|
+
const tree = TreeBuilder.buildSessionTree(executionEvents, sessionId, {
|
|
114407
|
+
runHeaderInputMode
|
|
114408
|
+
});
|
|
114225
114409
|
prevSessionTreeRef.current = tree;
|
|
114226
114410
|
return tree;
|
|
114227
|
-
}, [executionEvents, sessionId]);
|
|
114411
|
+
}, [executionEvents, sessionId, runHeaderInputMode]);
|
|
114228
114412
|
const getAllNodeIds = (tree) => {
|
|
114229
114413
|
const nodeIds = [];
|
|
114230
114414
|
const collectIds = (node) => {
|
package/dist/ui-libs.umd.js
CHANGED
|
@@ -105517,6 +105517,8 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
105517
105517
|
] })
|
|
105518
105518
|
] });
|
|
105519
105519
|
}
|
|
105520
|
+
const TRACE_PII_DISPLAY_USER_MESSAGE_KEY = "piiDisplayUserMessage";
|
|
105521
|
+
const TRACE_PII_DISPLAY_APP_RESPONSE_KEY = "piiDisplayAppResponse";
|
|
105520
105522
|
class TraceTreeService {
|
|
105521
105523
|
/**
|
|
105522
105524
|
* Build a hierarchical tree from a flat list of observations
|
|
@@ -105692,6 +105694,60 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
105692
105694
|
* Extract user message from trace input for display.
|
|
105693
105695
|
* Handles string, object with message/content/text/query, and messages array (e.g. voice/chat).
|
|
105694
105696
|
*/
|
|
105697
|
+
/**
|
|
105698
|
+
* Parse trace metadata from API (string or object) into a plain object.
|
|
105699
|
+
*/
|
|
105700
|
+
static parseTraceMetadata(metadata) {
|
|
105701
|
+
if (metadata === null || metadata === void 0) {
|
|
105702
|
+
return {};
|
|
105703
|
+
}
|
|
105704
|
+
if (typeof metadata === "string") {
|
|
105705
|
+
try {
|
|
105706
|
+
return JSON.parse(metadata);
|
|
105707
|
+
} catch {
|
|
105708
|
+
return {};
|
|
105709
|
+
}
|
|
105710
|
+
}
|
|
105711
|
+
if (typeof metadata === "object" && !Array.isArray(metadata)) {
|
|
105712
|
+
return metadata;
|
|
105713
|
+
}
|
|
105714
|
+
return {};
|
|
105715
|
+
}
|
|
105716
|
+
/**
|
|
105717
|
+
* Read PII display strings from Langfuse/Kore trace metadata (if present).
|
|
105718
|
+
*/
|
|
105719
|
+
static extractPiiDisplayFromTraceMetadata(metadata) {
|
|
105720
|
+
const obj = this.parseTraceMetadata(metadata);
|
|
105721
|
+
const userRaw = obj[TRACE_PII_DISPLAY_USER_MESSAGE_KEY];
|
|
105722
|
+
const appRaw = obj[TRACE_PII_DISPLAY_APP_RESPONSE_KEY];
|
|
105723
|
+
const result = {};
|
|
105724
|
+
if (typeof userRaw === "string" && userRaw.length > 0) {
|
|
105725
|
+
result.displayUserMessage = userRaw;
|
|
105726
|
+
}
|
|
105727
|
+
if (typeof appRaw === "string" && appRaw.length > 0) {
|
|
105728
|
+
result.displayAppResponse = appRaw;
|
|
105729
|
+
}
|
|
105730
|
+
return result;
|
|
105731
|
+
}
|
|
105732
|
+
/**
|
|
105733
|
+
* Some tracing APIs expose custom PII display keys on trace root as well as under metadata.
|
|
105734
|
+
*/
|
|
105735
|
+
static extractPiiDisplayFromApiTrace(trace) {
|
|
105736
|
+
const fromMeta = this.extractPiiDisplayFromTraceMetadata(trace.metadata);
|
|
105737
|
+
const userTop = trace[TRACE_PII_DISPLAY_USER_MESSAGE_KEY];
|
|
105738
|
+
const appTop = trace[TRACE_PII_DISPLAY_APP_RESPONSE_KEY];
|
|
105739
|
+
const fromTop = {};
|
|
105740
|
+
if (typeof userTop === "string" && userTop.length > 0) {
|
|
105741
|
+
fromTop.displayUserMessage = userTop;
|
|
105742
|
+
}
|
|
105743
|
+
if (typeof appTop === "string" && appTop.length > 0) {
|
|
105744
|
+
fromTop.displayAppResponse = appTop;
|
|
105745
|
+
}
|
|
105746
|
+
return {
|
|
105747
|
+
displayUserMessage: fromTop.displayUserMessage ?? fromMeta.displayUserMessage,
|
|
105748
|
+
displayAppResponse: fromTop.displayAppResponse ?? fromMeta.displayAppResponse
|
|
105749
|
+
};
|
|
105750
|
+
}
|
|
105695
105751
|
static extractUserMessage(input) {
|
|
105696
105752
|
if (!input) return "";
|
|
105697
105753
|
if (typeof input === "string") {
|
|
@@ -105723,6 +105779,51 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
105723
105779
|
}
|
|
105724
105780
|
return String(input);
|
|
105725
105781
|
}
|
|
105782
|
+
/**
|
|
105783
|
+
* LangChain-serialized messages store role/content under `kwargs` and type in `id`.
|
|
105784
|
+
*/
|
|
105785
|
+
static getLangchainMessageContent(msg) {
|
|
105786
|
+
if (msg["content"] !== void 0 && msg["content"] !== null) {
|
|
105787
|
+
return msg["content"];
|
|
105788
|
+
}
|
|
105789
|
+
const kwargs = msg["kwargs"];
|
|
105790
|
+
if (kwargs && typeof kwargs === "object" && !Array.isArray(kwargs)) {
|
|
105791
|
+
const c2 = kwargs["content"];
|
|
105792
|
+
if (c2 !== void 0 && c2 !== null) {
|
|
105793
|
+
return c2;
|
|
105794
|
+
}
|
|
105795
|
+
}
|
|
105796
|
+
return void 0;
|
|
105797
|
+
}
|
|
105798
|
+
static inferLangchainMessageRole(msg) {
|
|
105799
|
+
if (typeof msg["role"] === "string") {
|
|
105800
|
+
return msg["role"];
|
|
105801
|
+
}
|
|
105802
|
+
const kwargs = msg["kwargs"];
|
|
105803
|
+
if (kwargs && typeof kwargs === "object" && !Array.isArray(kwargs)) {
|
|
105804
|
+
const r2 = kwargs["role"];
|
|
105805
|
+
if (typeof r2 === "string") {
|
|
105806
|
+
return r2;
|
|
105807
|
+
}
|
|
105808
|
+
}
|
|
105809
|
+
const id = msg["id"];
|
|
105810
|
+
if (Array.isArray(id)) {
|
|
105811
|
+
const tail = id[id.length - 1];
|
|
105812
|
+
if (tail === "HumanMessage") {
|
|
105813
|
+
return "user";
|
|
105814
|
+
}
|
|
105815
|
+
if (tail === "AIMessage" || tail === "AIMessageChunk") {
|
|
105816
|
+
return "assistant";
|
|
105817
|
+
}
|
|
105818
|
+
if (tail === "SystemMessage") {
|
|
105819
|
+
return "system";
|
|
105820
|
+
}
|
|
105821
|
+
if (tail === "ToolMessage") {
|
|
105822
|
+
return "tool";
|
|
105823
|
+
}
|
|
105824
|
+
}
|
|
105825
|
+
return void 0;
|
|
105826
|
+
}
|
|
105726
105827
|
/**
|
|
105727
105828
|
* Get last user message content from a messages array (chat/voice format).
|
|
105728
105829
|
*/
|
|
@@ -105730,13 +105831,17 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
105730
105831
|
if (!messages.length) return "";
|
|
105731
105832
|
for (let i2 = messages.length - 1; i2 >= 0; i2--) {
|
|
105732
105833
|
const msg = messages[i2];
|
|
105733
|
-
const role = msg
|
|
105734
|
-
const content2 = msg
|
|
105735
|
-
if (role === "user" && content2 != null)
|
|
105834
|
+
const role = this.inferLangchainMessageRole(msg);
|
|
105835
|
+
const content2 = this.getLangchainMessageContent(msg);
|
|
105836
|
+
if (role === "user" && content2 != null) {
|
|
105837
|
+
return typeof content2 === "string" ? content2 : JSON.stringify(content2);
|
|
105838
|
+
}
|
|
105736
105839
|
}
|
|
105737
105840
|
const last2 = messages[messages.length - 1];
|
|
105738
|
-
const content = last2
|
|
105739
|
-
if (content != null)
|
|
105841
|
+
const content = this.getLangchainMessageContent(last2);
|
|
105842
|
+
if (content != null) {
|
|
105843
|
+
return typeof content === "string" ? content : JSON.stringify(content);
|
|
105844
|
+
}
|
|
105740
105845
|
return JSON.stringify(messages[messages.length - 1]);
|
|
105741
105846
|
}
|
|
105742
105847
|
/**
|
|
@@ -105780,7 +105885,8 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
105780
105885
|
static extractLastMessageContentFromArray(messages) {
|
|
105781
105886
|
if (!messages.length) return "";
|
|
105782
105887
|
const last2 = messages[messages.length - 1];
|
|
105783
|
-
const
|
|
105888
|
+
const fromKwargs = this.getLangchainMessageContent(last2);
|
|
105889
|
+
const content = fromKwargs ?? (last2 == null ? void 0 : last2.message) ?? (last2 == null ? void 0 : last2.text);
|
|
105784
105890
|
if (content != null) return typeof content === "string" ? content : JSON.stringify(content);
|
|
105785
105891
|
return JSON.stringify(last2);
|
|
105786
105892
|
}
|
|
@@ -106233,6 +106339,7 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
106233
106339
|
* Transform API trace response to TraceDetailData
|
|
106234
106340
|
*/
|
|
106235
106341
|
transformToTraceDetailData(trace) {
|
|
106342
|
+
const piiDisplay = TraceTreeService.extractPiiDisplayFromApiTrace(trace);
|
|
106236
106343
|
return {
|
|
106237
106344
|
id: trace.id,
|
|
106238
106345
|
name: trace.name || "",
|
|
@@ -106245,6 +106352,8 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
106245
106352
|
input: trace.input,
|
|
106246
106353
|
output: trace.output,
|
|
106247
106354
|
metadata: trace.metadata,
|
|
106355
|
+
displayUserMessage: piiDisplay.displayUserMessage,
|
|
106356
|
+
displayAppResponse: piiDisplay.displayAppResponse,
|
|
106248
106357
|
tags: trace.tags || [],
|
|
106249
106358
|
bookmarked: trace.bookmarked || false,
|
|
106250
106359
|
public: trace.public || false,
|
|
@@ -106306,6 +106415,8 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
106306
106415
|
timestamp: trace.timestamp,
|
|
106307
106416
|
input: trace.input,
|
|
106308
106417
|
output: trace.output,
|
|
106418
|
+
displayUserMessage: trace.displayUserMessage,
|
|
106419
|
+
displayAppResponse: trace.displayAppResponse,
|
|
106309
106420
|
latency: trace.latency,
|
|
106310
106421
|
totalTokens: trace.totalTokens,
|
|
106311
106422
|
totalCost: typeof trace.totalCost === "number" ? String(trace.totalCost) : trace.totalCost,
|
|
@@ -106659,7 +106770,8 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
106659
106770
|
onExpandToggle,
|
|
106660
106771
|
showTraceId = true,
|
|
106661
106772
|
isLoading = false,
|
|
106662
|
-
defaultExpandedNodeIds
|
|
106773
|
+
defaultExpandedNodeIds,
|
|
106774
|
+
runHeaderInputMode = "display"
|
|
106663
106775
|
}) {
|
|
106664
106776
|
const [isExpanded, setIsExpanded] = React.useState(defaultExpanded);
|
|
106665
106777
|
const [expandedNodeIds, setExpandedNodeIds] = React.useState(
|
|
@@ -106677,11 +106789,17 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
106677
106789
|
return TraceTreeService.buildObservationTree(observations);
|
|
106678
106790
|
}, [observations]);
|
|
106679
106791
|
const userMessage = React.useMemo(() => {
|
|
106792
|
+
if (runHeaderInputMode !== "tokenized" && trace.displayUserMessage !== void 0 && trace.displayUserMessage.length > 0) {
|
|
106793
|
+
return trace.displayUserMessage;
|
|
106794
|
+
}
|
|
106680
106795
|
return TraceTreeService.extractUserMessage(trace.input);
|
|
106681
|
-
}, [trace.input]);
|
|
106796
|
+
}, [trace.input, trace.displayUserMessage, runHeaderInputMode]);
|
|
106682
106797
|
const appResponse = React.useMemo(() => {
|
|
106798
|
+
if (runHeaderInputMode !== "tokenized" && trace.displayAppResponse !== void 0 && trace.displayAppResponse.length > 0) {
|
|
106799
|
+
return trace.displayAppResponse;
|
|
106800
|
+
}
|
|
106683
106801
|
return TraceTreeService.extractAppResponse(trace.output);
|
|
106684
|
-
}, [trace.output]);
|
|
106802
|
+
}, [trace.output, trace.displayAppResponse, runHeaderInputMode]);
|
|
106685
106803
|
const traceMetrics = React.useMemo(() => {
|
|
106686
106804
|
return TraceTreeService.calculateTraceMetrics(trace, observations);
|
|
106687
106805
|
}, [trace, observations]);
|
|
@@ -108701,7 +108819,12 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
108701
108819
|
) })
|
|
108702
108820
|
] });
|
|
108703
108821
|
}
|
|
108704
|
-
function NodeDetailPanel({
|
|
108822
|
+
function NodeDetailPanel({
|
|
108823
|
+
node,
|
|
108824
|
+
nodeType: _nodeType,
|
|
108825
|
+
apiConfig,
|
|
108826
|
+
generationSummaryInputOverride = null
|
|
108827
|
+
}) {
|
|
108705
108828
|
const [selectedTab, setSelectedTab] = React.useState("preview");
|
|
108706
108829
|
const [showTokenTooltip, setShowTokenTooltip] = React.useState(false);
|
|
108707
108830
|
const tooltipTimeoutRef = React.useRef(null);
|
|
@@ -108788,6 +108911,7 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
108788
108911
|
}
|
|
108789
108912
|
return TraceTreeService.extractUserMessage(displayNode.input);
|
|
108790
108913
|
}, [displayNode]);
|
|
108914
|
+
const summaryInputLine = generationSummaryInputOverride !== null && generationSummaryInputOverride.length > 0 ? generationSummaryInputOverride : inputText;
|
|
108791
108915
|
const isGeneration = React.useMemo(() => {
|
|
108792
108916
|
return node !== null && isObservation(node) && node.type === "GENERATION";
|
|
108793
108917
|
}, [node]);
|
|
@@ -108994,10 +109118,10 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
108994
109118
|
] })
|
|
108995
109119
|
),
|
|
108996
109120
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ContentDivider, {}),
|
|
108997
|
-
isGeneration &&
|
|
109121
|
+
isGeneration && summaryInputLine.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
108998
109122
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-[8px]", children: [
|
|
108999
109123
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[12px] font-medium leading-[16px] text-[#98A2B3]", children: "Input" }),
|
|
109000
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[12px] font-medium leading-[16px] text-[#101828] truncate", children:
|
|
109124
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[12px] font-medium leading-[16px] text-[#101828] truncate", children: summaryInputLine })
|
|
109001
109125
|
] }),
|
|
109002
109126
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ContentDivider, {})
|
|
109003
109127
|
] }),
|
|
@@ -109071,7 +109195,8 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
109071
109195
|
selectedObservationId,
|
|
109072
109196
|
batchSize = DEFAULT_BATCH_SIZE,
|
|
109073
109197
|
initialTraceCount,
|
|
109074
|
-
initialSessionData
|
|
109198
|
+
initialSessionData,
|
|
109199
|
+
runHeaderInputMode = "display"
|
|
109075
109200
|
}) {
|
|
109076
109201
|
const [currentMode, setCurrentMode] = React.useState(initialMode);
|
|
109077
109202
|
const [currentSessionId, setCurrentSessionId] = React.useState(initialSessionId);
|
|
@@ -109323,6 +109448,41 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
109323
109448
|
}
|
|
109324
109449
|
return [];
|
|
109325
109450
|
}, [mode, sessionData, traceData, service]);
|
|
109451
|
+
const generationSummaryInputOverride = React.useMemo(() => {
|
|
109452
|
+
var _a;
|
|
109453
|
+
if (runHeaderInputMode === "tokenized") {
|
|
109454
|
+
return null;
|
|
109455
|
+
}
|
|
109456
|
+
if (!selectedNode || !("traceId" in selectedNode) || !("type" in selectedNode)) {
|
|
109457
|
+
return null;
|
|
109458
|
+
}
|
|
109459
|
+
const obs = selectedNode;
|
|
109460
|
+
if (obs.type !== "GENERATION") {
|
|
109461
|
+
return null;
|
|
109462
|
+
}
|
|
109463
|
+
const traceRow = traces.find((t) => t.id === obs.traceId);
|
|
109464
|
+
if (!traceRow) {
|
|
109465
|
+
return null;
|
|
109466
|
+
}
|
|
109467
|
+
const displayUser = traceRow.displayUserMessage && traceRow.displayUserMessage.length > 0 ? traceRow.displayUserMessage : TraceTreeService.extractUserMessage(traceRow.input);
|
|
109468
|
+
if (!displayUser || displayUser.length === 0) {
|
|
109469
|
+
return null;
|
|
109470
|
+
}
|
|
109471
|
+
const fromState = (_a = traceObservations[obs.traceId]) == null ? void 0 : _a.observations;
|
|
109472
|
+
const observations = fromState && fromState.length > 0 ? fromState : mode === "trace" && (traceData == null ? void 0 : traceData.id) === obs.traceId && traceData.observations.length > 0 ? traceData.observations : [];
|
|
109473
|
+
const { observation: firstGen } = TraceTreeService.findFirstGeneration(observations);
|
|
109474
|
+
if (!firstGen || firstGen.id !== obs.id) {
|
|
109475
|
+
return null;
|
|
109476
|
+
}
|
|
109477
|
+
return displayUser;
|
|
109478
|
+
}, [
|
|
109479
|
+
runHeaderInputMode,
|
|
109480
|
+
selectedNode,
|
|
109481
|
+
traces,
|
|
109482
|
+
traceObservations,
|
|
109483
|
+
mode,
|
|
109484
|
+
traceData
|
|
109485
|
+
]);
|
|
109326
109486
|
const handleNodeSelect = React.useCallback((node) => {
|
|
109327
109487
|
setSelectedNode(node);
|
|
109328
109488
|
}, []);
|
|
@@ -109540,7 +109700,8 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
109540
109700
|
onExpandToggle: () => handleTraceExpand(trace.id, trace.timestamp),
|
|
109541
109701
|
showTraceId: mode === "session",
|
|
109542
109702
|
isLoading: isLoadingObservations,
|
|
109543
|
-
defaultExpandedNodeIds: autoExpandIds
|
|
109703
|
+
defaultExpandedNodeIds: autoExpandIds,
|
|
109704
|
+
runHeaderInputMode
|
|
109544
109705
|
},
|
|
109545
109706
|
trace.id
|
|
109546
109707
|
);
|
|
@@ -109560,7 +109721,15 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
109560
109721
|
);
|
|
109561
109722
|
}) })
|
|
109562
109723
|
] }) }),
|
|
109563
|
-
!selectedNode && !hasAutoSelected ? /* @__PURE__ */ jsxRuntimeExports.jsx(NodeDetailSkeleton, { showFullSummary: true }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
109724
|
+
!selectedNode && !hasAutoSelected ? /* @__PURE__ */ jsxRuntimeExports.jsx(NodeDetailSkeleton, { showFullSummary: true }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
109725
|
+
NodeDetailPanel,
|
|
109726
|
+
{
|
|
109727
|
+
node: selectedNode,
|
|
109728
|
+
nodeType,
|
|
109729
|
+
apiConfig,
|
|
109730
|
+
generationSummaryInputOverride
|
|
109731
|
+
}
|
|
109732
|
+
)
|
|
109564
109733
|
] })
|
|
109565
109734
|
] });
|
|
109566
109735
|
}
|
|
@@ -112415,12 +112584,12 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
112415
112584
|
* Process execution events and build a hierarchical tree structure
|
|
112416
112585
|
* Session > Run > Node Tree
|
|
112417
112586
|
*/
|
|
112418
|
-
static buildSessionTree(events, sessionId) {
|
|
112587
|
+
static buildSessionTree(events, sessionId, options) {
|
|
112419
112588
|
var _a;
|
|
112420
112589
|
const runGroups = this.groupEventsByRun(events);
|
|
112421
112590
|
const runs = [];
|
|
112422
112591
|
for (const [runId, runEvents] of runGroups.entries()) {
|
|
112423
|
-
const runTree = this.buildRunTree(runId, runEvents);
|
|
112592
|
+
const runTree = this.buildRunTree(runId, runEvents, options);
|
|
112424
112593
|
runs.push(runTree);
|
|
112425
112594
|
}
|
|
112426
112595
|
runs.sort((a2, b) => new Date(a2.startTime).getTime() - new Date(b.startTime).getTime());
|
|
@@ -112446,7 +112615,7 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
112446
112615
|
/**
|
|
112447
112616
|
* Build tree for a single run
|
|
112448
112617
|
*/
|
|
112449
|
-
static buildRunTree(runId, events) {
|
|
112618
|
+
static buildRunTree(runId, events, options) {
|
|
112450
112619
|
var _a;
|
|
112451
112620
|
const nodeEventMap = /* @__PURE__ */ new Map();
|
|
112452
112621
|
events.forEach((event) => {
|
|
@@ -112477,7 +112646,7 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
112477
112646
|
const status = this.calculateRunStatus(runEvents);
|
|
112478
112647
|
const duration = endTime && startTime ? endTime - startTime : void 0;
|
|
112479
112648
|
const totalTokens = this.calculateRunTokens(runEvents);
|
|
112480
|
-
const userInput = this.extractUserInput(runEvents);
|
|
112649
|
+
const userInput = this.extractUserInput(runEvents, options);
|
|
112481
112650
|
const finalOutput = this.extractFinalOutput(runEvents);
|
|
112482
112651
|
return {
|
|
112483
112652
|
runId,
|
|
@@ -112496,6 +112665,7 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
112496
112665
|
* Create TreeNode from paired started/completed events
|
|
112497
112666
|
*/
|
|
112498
112667
|
static createTreeNodeFromEvents(startedEvent, completedEvent, runId) {
|
|
112668
|
+
var _a;
|
|
112499
112669
|
const startTime = startedEvent.data.timestamp;
|
|
112500
112670
|
const endTime = completedEvent == null ? void 0 : completedEvent.data.timestamp;
|
|
112501
112671
|
const duration = endTime && startTime ? new Date(endTime).getTime() - new Date(startTime).getTime() : void 0;
|
|
@@ -112514,7 +112684,8 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
112514
112684
|
const { toolInvocations, isResponse } = this.extractToolInvocations(output);
|
|
112515
112685
|
console.log("toolInvocations", toolInvocations);
|
|
112516
112686
|
console.log("isResponse", isResponse);
|
|
112517
|
-
const
|
|
112687
|
+
const extractedProvider = primaryEvent.data.type === "llm" ? this.extractProvider(primaryEvent.data.name || primaryEvent.data.toolName) : void 0;
|
|
112688
|
+
const provider = ((_a = primaryEvent.data.metadata) == null ? void 0 : _a.provider) || extractedProvider;
|
|
112518
112689
|
return {
|
|
112519
112690
|
id: primaryEvent.data.id,
|
|
112520
112691
|
parentId: primaryEvent.data.parentId,
|
|
@@ -112673,12 +112844,22 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
112673
112844
|
/**
|
|
112674
112845
|
* Extract initial user input from the first LLM node's input
|
|
112675
112846
|
*/
|
|
112676
|
-
static extractUserInput(events) {
|
|
112847
|
+
static extractUserInput(events, options) {
|
|
112848
|
+
const preferDisplay = ((options == null ? void 0 : options.runHeaderInputMode) ?? "display") === "display";
|
|
112677
112849
|
const llmEvents = events.filter(
|
|
112678
112850
|
(e) => e.type === "node_started" && e.data.type === "llm"
|
|
112679
112851
|
).sort((a2, b) => new Date(a2.data.timestamp).getTime() - new Date(b.data.timestamp).getTime());
|
|
112680
112852
|
if (llmEvents.length > 0) {
|
|
112681
112853
|
const firstLlmEvent = llmEvents[0];
|
|
112854
|
+
if (preferDisplay && firstLlmEvent.data.displayInput !== void 0 && firstLlmEvent.data.displayInput !== null) {
|
|
112855
|
+
const d = firstLlmEvent.data.displayInput;
|
|
112856
|
+
if (typeof d === "string") {
|
|
112857
|
+
return d;
|
|
112858
|
+
}
|
|
112859
|
+
if (typeof d === "object") {
|
|
112860
|
+
return JSON.stringify(d);
|
|
112861
|
+
}
|
|
112862
|
+
}
|
|
112682
112863
|
if (firstLlmEvent.data.input) {
|
|
112683
112864
|
if (typeof firstLlmEvent.data.input === "string") {
|
|
112684
112865
|
return firstLlmEvent.data.input;
|
|
@@ -112888,8 +113069,8 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
|
|
|
112888
113069
|
/**
|
|
112889
113070
|
* Update tree with new events (optimized for real-time updates)
|
|
112890
113071
|
*/
|
|
112891
|
-
static updateTree(existingTree, _newEvents, allEvents) {
|
|
112892
|
-
return this.buildSessionTree(allEvents, existingTree.sessionId);
|
|
113072
|
+
static updateTree(existingTree, _newEvents, allEvents, options) {
|
|
113073
|
+
return this.buildSessionTree(allEvents, existingTree.sessionId, options);
|
|
112893
113074
|
}
|
|
112894
113075
|
/**
|
|
112895
113076
|
* Merge new events into existing events efficiently
|
|
@@ -114201,6 +114382,7 @@ Total: ${((_c = llmUsage.total_tokens) == null ? void 0 : _c.toLocaleString()) |
|
|
|
114201
114382
|
expansionMode = "none",
|
|
114202
114383
|
showExpansionControls = false,
|
|
114203
114384
|
defaultDetailView = true,
|
|
114385
|
+
runHeaderInputMode = "display",
|
|
114204
114386
|
apiConfig
|
|
114205
114387
|
} = config2;
|
|
114206
114388
|
console.log("🔧 DebugPanel - Config received:", {
|
|
@@ -114261,10 +114443,12 @@ Total: ${((_c = llmUsage.total_tokens) == null ? void 0 : _c.toLocaleString()) |
|
|
|
114261
114443
|
}
|
|
114262
114444
|
}), []);
|
|
114263
114445
|
const sessionTree = React.useMemo(() => {
|
|
114264
|
-
const tree = TreeBuilder.buildSessionTree(executionEvents, sessionId
|
|
114446
|
+
const tree = TreeBuilder.buildSessionTree(executionEvents, sessionId, {
|
|
114447
|
+
runHeaderInputMode
|
|
114448
|
+
});
|
|
114265
114449
|
prevSessionTreeRef.current = tree;
|
|
114266
114450
|
return tree;
|
|
114267
|
-
}, [executionEvents, sessionId]);
|
|
114451
|
+
}, [executionEvents, sessionId, runHeaderInputMode]);
|
|
114268
114452
|
const getAllNodeIds = (tree) => {
|
|
114269
114453
|
const nodeIds = [];
|
|
114270
114454
|
const collectIds = (node) => {
|