agentic-ui-libs 1.2.0-beta.12 → 1.2.0-beta.15

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.
@@ -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,2GAwvBrB,CAAC;AAIH,eAAe,UAAU,CAAC"}
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;AAE5G,qBAAa,WAAW;IACtB;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW;IAoBlF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAc/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAgE3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IA2EvC;;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;IAuB/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,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,WAAW;IAMpH;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CASpG"}
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,GACnB,EAAE,eAAe,2CA6pBjB"}
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,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,oBAAoB,2CAqe7F"}
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,GACvB,EAAE,cAAc,2CAuOhB"}
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;IA2BlC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS;IAqBvD;;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"}
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 metadata (galePiiDisplayUserMessage) when present */
99
+ displayUserMessage?: string;
100
+ /** Parsed from metadata (galePiiDisplayAppResponse) 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 GALE_TRACE_PII_DISPLAY_USER_KEY = "galePiiDisplayUserMessage";
9
+ export declare const GALE_TRACE_PII_DISPLAY_APP_KEY = "galePiiDisplayAppResponse";
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;IAc9C;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM;IAgClD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kCAAkC;IAQjD;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG;QAC/E,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB;IA4BD;;;OAGG;IACH,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,eAAe,EAAE,GAAG;QAC3D,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;QACpC,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB;IAyBD;;;OAGG;IACH,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,eAAe,EAAE,GAAG,eAAe,GAAG,IAAI;IAiBnF;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAgBrE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAQ1D;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAazC;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IA8B9C;;;;OAIG;IACH,MAAM,CAAC,wBAAwB,CAAC,CAAC,SAAS;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,EACjG,IAAI,EAAE,CAAC,GACN,CAAC;CAUL"}
1
+ {"version":3,"file":"TraceTreeService.d.ts","sourceRoot":"","sources":["../../../../src/features/tracing/services/TraceTreeService.ts"],"names":[],"mappings":"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"}
@@ -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;AAK1I,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"}
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';
@@ -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;AAK1I,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"}
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 GALE_TRACE_PII_DISPLAY_USER_KEY = "galePiiDisplayUserMessage";
105481
+ const GALE_TRACE_PII_DISPLAY_APP_KEY = "galePiiDisplayAppResponse";
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[GALE_TRACE_PII_DISPLAY_USER_KEY];
105682
+ const appRaw = obj[GALE_TRACE_PII_DISPLAY_APP_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[GALE_TRACE_PII_DISPLAY_USER_KEY];
105698
+ const appTop = trace[GALE_TRACE_PII_DISPLAY_APP_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 == null ? void 0 : msg.role;
105694
- const content2 = msg == null ? void 0 : msg.content;
105695
- if (role === "user" && content2 != null) return typeof content2 === "string" ? content2 : JSON.stringify(content2);
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 == null ? void 0 : last2.content;
105699
- if (content != null) return typeof content === "string" ? content : JSON.stringify(content);
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 content = (last2 == null ? void 0 : last2.content) ?? (last2 == null ? void 0 : last2.message) ?? (last2 == null ? void 0 : last2.text);
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({ node, nodeType: _nodeType, apiConfig }) {
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 && inputText.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
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: inputText })
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(NodeDetailPanel, { node: selectedNode, nodeType, apiConfig })
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 provider = primaryEvent.data.type === "llm" ? this.extractProvider(primaryEvent.data.name || primaryEvent.data.toolName) : void 0;
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) => {
@@ -105517,6 +105517,8 @@ For more info see: https://www.ag-grid.com/javascript-grid/modules/`;
105517
105517
  ] })
105518
105518
  ] });
105519
105519
  }
105520
+ const GALE_TRACE_PII_DISPLAY_USER_KEY = "galePiiDisplayUserMessage";
105521
+ const GALE_TRACE_PII_DISPLAY_APP_KEY = "galePiiDisplayAppResponse";
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[GALE_TRACE_PII_DISPLAY_USER_KEY];
105722
+ const appRaw = obj[GALE_TRACE_PII_DISPLAY_APP_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[GALE_TRACE_PII_DISPLAY_USER_KEY];
105738
+ const appTop = trace[GALE_TRACE_PII_DISPLAY_APP_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 == null ? void 0 : msg.role;
105734
- const content2 = msg == null ? void 0 : msg.content;
105735
- if (role === "user" && content2 != null) return typeof content2 === "string" ? content2 : JSON.stringify(content2);
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 == null ? void 0 : last2.content;
105739
- if (content != null) return typeof content === "string" ? content : JSON.stringify(content);
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 content = (last2 == null ? void 0 : last2.content) ?? (last2 == null ? void 0 : last2.message) ?? (last2 == null ? void 0 : last2.text);
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({ node, nodeType: _nodeType, apiConfig }) {
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 && inputText.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
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: inputText })
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(NodeDetailPanel, { node: selectedNode, nodeType, apiConfig })
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 provider = primaryEvent.data.type === "llm" ? this.extractProvider(primaryEvent.data.name || primaryEvent.data.toolName) : void 0;
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) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-ui-libs",
3
- "version": "1.2.0-beta.12",
3
+ "version": "1.2.0-beta.15",
4
4
  "type": "module",
5
5
  "description": "A modular, config-driven analytics library for React and Angular applications",
6
6
  "main": "dist/index.js",