@workflow/web-shared 4.1.3 → 4.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/components/error-boundary.js.map +1 -1
  2. package/dist/components/event-list-view.js.map +1 -1
  3. package/dist/components/hook-actions.js.map +1 -1
  4. package/dist/components/index.js.map +1 -1
  5. package/dist/components/run-trace-view.js.map +1 -1
  6. package/dist/components/sidebar/attribute-panel.js.map +1 -1
  7. package/dist/components/sidebar/conversation-view.js.map +1 -1
  8. package/dist/components/sidebar/copyable-data-block.js.map +1 -1
  9. package/dist/components/sidebar/detail-card.js.map +1 -1
  10. package/dist/components/sidebar/entity-detail-panel.js.map +1 -1
  11. package/dist/components/sidebar/events-list.js.map +1 -1
  12. package/dist/components/sidebar/resolve-hook-modal.js.map +1 -1
  13. package/dist/components/stream-viewer.js.map +1 -1
  14. package/dist/components/trace-viewer/components/map.js.map +1 -1
  15. package/dist/components/trace-viewer/components/markers.js.map +1 -1
  16. package/dist/components/trace-viewer/components/node.js.map +1 -1
  17. package/dist/components/trace-viewer/components/search-input.js.map +1 -1
  18. package/dist/components/trace-viewer/components/search.js.map +1 -1
  19. package/dist/components/trace-viewer/components/span-content.js.map +1 -1
  20. package/dist/components/trace-viewer/components/span-detail-panel.js.map +1 -1
  21. package/dist/components/trace-viewer/components/span-segments.js.map +1 -1
  22. package/dist/components/trace-viewer/components/span-strategies.js.map +1 -1
  23. package/dist/components/trace-viewer/components/ui.js.map +1 -1
  24. package/dist/components/trace-viewer/components/zoom-button.js.map +1 -1
  25. package/dist/components/trace-viewer/components/zoom-icons.js.map +1 -1
  26. package/dist/components/trace-viewer/context.js.map +1 -1
  27. package/dist/components/trace-viewer/index.js.map +1 -1
  28. package/dist/components/trace-viewer/trace-viewer.js.map +1 -1
  29. package/dist/components/trace-viewer/types.js.map +1 -1
  30. package/dist/components/trace-viewer/util/constants.js.map +1 -1
  31. package/dist/components/trace-viewer/util/scrollbar-width.js.map +1 -1
  32. package/dist/components/trace-viewer/util/timing.js.map +1 -1
  33. package/dist/components/trace-viewer/util/tree.js.map +1 -1
  34. package/dist/components/trace-viewer/util/use-immediate-style.js.map +1 -1
  35. package/dist/components/trace-viewer/util/use-streaming-spans.js.map +1 -1
  36. package/dist/components/trace-viewer/util/use-trackpad-zoom.js.map +1 -1
  37. package/dist/components/trace-viewer/worker.js.map +1 -1
  38. package/dist/components/ui/alert.js.map +1 -1
  39. package/dist/components/ui/card.js.map +1 -1
  40. package/dist/components/ui/data-inspector.js.map +1 -1
  41. package/dist/components/ui/decrypt-button.js.map +1 -1
  42. package/dist/components/ui/error-card.js.map +1 -1
  43. package/dist/components/ui/error-stack-block.js.map +1 -1
  44. package/dist/components/ui/inspector-theme.js.map +1 -1
  45. package/dist/components/ui/load-more-button.js.map +1 -1
  46. package/dist/components/ui/menu-dropdown.js.map +1 -1
  47. package/dist/components/ui/skeleton.js.map +1 -1
  48. package/dist/components/ui/spinner.js.map +1 -1
  49. package/dist/components/ui/timestamp-tooltip.js.map +1 -1
  50. package/dist/components/workflow-trace-view.js.map +1 -1
  51. package/dist/components/workflow-traces/event-colors.js.map +1 -1
  52. package/dist/components/workflow-traces/trace-colors.js.map +1 -1
  53. package/dist/components/workflow-traces/trace-span-construction.js.map +1 -1
  54. package/dist/components/workflow-traces/trace-time-utils.js.map +1 -1
  55. package/dist/hooks/use-dark-mode.js.map +1 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/lib/event-analysis.js.map +1 -1
  58. package/dist/lib/event-materialization.js.map +1 -1
  59. package/dist/lib/hydration.js.map +1 -1
  60. package/dist/lib/toast.js.map +1 -1
  61. package/dist/lib/trace-builder.js.map +1 -1
  62. package/dist/lib/utils.js.map +1 -1
  63. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"error-boundary.js","sourceRoot":"","sources":["../../src/components/error-boundary.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiB5C,MAAM,OAAO,aAAc,SAAQ,SAGlC;IACC,YAAY,KAAyB;QACnC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAc;QAC5C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,iBAAiB,CAAC,KAAc,EAAE,SAAkB;QAClD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC7B,CAAC;YAED,mBAAmB;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACxE,MAAM,YAAY,GAAG,GAAG,EAAE,KAAK;gBAC7B,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,KAAK,EAAE;gBAClC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;YAEtC,OAAO,CACL,KAAC,SAAS,IACR,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,mBAAmB,EAC9C,OAAO,EAAE,YAAY,GACrB,CACH,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"error-boundary.js","sourceRoot":"","sources":["../../src/components/error-boundary.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiB5C,MAAM,OAAO,aAAc,SAAQ,SAGlC;IACC,YAAY,KAAyB;QACnC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAc;QAC5C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,iBAAiB,CAAC,KAAc,EAAE,SAAkB;QAClD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC7B,CAAC;YAED,mBAAmB;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACxE,MAAM,YAAY,GAAG,GAAG,EAAE,KAAK;gBAC7B,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,KAAK,EAAE;gBAClC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;YAEtC,OAAO,CACL,KAAC,SAAS,IACR,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,mBAAmB,EAC9C,OAAO,EAAE,YAAY,GACrB,CACH,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;CACF","sourcesContent":["'use client';\n\nimport type { ReactNode } from 'react';\nimport { Component } from 'react';\nimport { ErrorCard } from './ui/error-card';\n\nexport interface ErrorBoundaryProps {\n children: ReactNode;\n /** Optional fallback UI to render on error. When omitted, a default ErrorCard is shown. */\n fallback?: ReactNode;\n /** Optional title for the default error card (used when no fallback is provided) */\n title?: string;\n /** Optional callback when an error is caught */\n onCatch?: (error: unknown, retry: () => void) => void;\n}\n\nexport interface ErrorBoundaryState {\n hasError: boolean;\n error: unknown;\n}\n\nexport class ErrorBoundary extends Component<\n ErrorBoundaryProps,\n ErrorBoundaryState\n> {\n constructor(props: ErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false, error: null };\n }\n\n static getDerivedStateFromError(error: unknown): ErrorBoundaryState {\n return { hasError: true, error };\n }\n\n retry(): void {\n this.setState({ hasError: false, error: null });\n }\n\n componentDidCatch(error: unknown, errorInfo: unknown): void {\n if (process.env.NODE_ENV === 'development') {\n console.error(error, errorInfo);\n }\n this.props.onCatch?.(error, () => this.retry());\n }\n\n render(): ReactNode {\n if (this.state.hasError) {\n if (this.props.fallback) {\n return this.props.fallback;\n }\n\n // Default error UI\n const err = this.state.error instanceof Error ? this.state.error : null;\n const errorDetails = err?.stack\n ? `${err.message}\\n\\n${err.stack}`\n : (err?.message ?? 'Unknown error');\n\n return (\n <ErrorCard\n title={this.props.title || 'An error occurred'}\n details={errorDetails}\n />\n );\n }\n\n return this.props.children;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"event-list-view.js","sourceRoot":"","sources":["../../src/components/event-list-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-list-view.js","sourceRoot":"","sources":["../../src/components/event-list-view.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport { parseStepName, parseWorkflowName } from '@workflow/utils/parse-name';\nimport type { Event, WorkflowRun } from '@workflow/world';\nimport { Check, ChevronRight, Copy } from 'lucide-react';\nimport type { MouseEvent as ReactMouseEvent, ReactNode } from 'react';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { Virtuoso, type VirtuosoHandle } from 'react-virtuoso';\nimport { isEncryptedMarker } from '../lib/hydration';\nimport { DecryptButton } from './ui/decrypt-button';\nimport { formatDuration } from '../lib/utils';\nimport { DataInspector, DecryptClickContext } from './ui/data-inspector';\nimport {\n ErrorStackBlock,\n isStructuredErrorWithStack,\n} from './ui/error-stack-block';\nimport { LoadMoreButton } from './ui/load-more-button';\nimport { MenuDropdown } from './ui/menu-dropdown';\nimport { Skeleton } from './ui/skeleton';\nimport { TimestampTooltip } from './ui/timestamp-tooltip';\n\n/**\n * Event types whose eventData contains an error field with a StructuredError.\n */\nconst ERROR_EVENT_TYPES = new Set([\n 'step_failed',\n 'step_retrying',\n 'run_failed',\n 'workflow_failed',\n]);\n\nconst BUTTON_RESET_STYLE: React.CSSProperties = {\n appearance: 'none',\n WebkitAppearance: 'none',\n border: 'none',\n background: 'transparent',\n};\nconst DOT_PULSE_ANIMATION =\n 'workflow-dot-pulse 1.25s cubic-bezier(0, 0, 0.2, 1) infinite';\n\n// ──────────────────────────────────────────────────────────────────────────\n// Helpers\n// ──────────────────────────────────────────────────────────────────────────\n\nfunction formatEventTime(date: Date): string {\n return (\n date.toLocaleTimeString('en-US', {\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: false,\n }) +\n '.' +\n date.getMilliseconds().toString().padStart(3, '0')\n );\n}\n\nfunction formatEventType(eventType: Event['eventType']): string {\n return eventType\n .split('_')\n .map((word: string) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n}\n\n// ──────────────────────────────────────────────────────────────────────────\n// Event type → status color (small dot only)\n// ──────────────────────────────────────────────────────────────────────────\n\n/** Returns a CSS color using Geist design tokens for the status dot. */\nfunction getStatusDotColor(eventType: string): string {\n // Failed → red\n if (\n eventType === 'step_failed' ||\n eventType === 'run_failed' ||\n eventType === 'workflow_failed'\n ) {\n return 'var(--ds-red-700)';\n }\n // Cancelled → amber\n if (eventType === 'run_cancelled') {\n return 'var(--ds-amber-700)';\n }\n // Retrying → amber\n if (eventType === 'step_retrying') {\n return 'var(--ds-amber-700)';\n }\n // Completed/succeeded → green\n if (\n eventType === 'step_completed' ||\n eventType === 'run_completed' ||\n eventType === 'workflow_completed' ||\n eventType === 'hook_disposed' ||\n eventType === 'wait_completed'\n ) {\n return 'var(--ds-green-700)';\n }\n // Started/running → blue\n if (\n eventType === 'step_started' ||\n eventType === 'run_started' ||\n eventType === 'workflow_started' ||\n eventType === 'hook_received'\n ) {\n return 'var(--ds-blue-700)';\n }\n // Created/pending → gray\n return 'var(--ds-gray-600)';\n}\n\n/**\n * Build a map from correlationId (stepId) → display name using step_created\n * events, and parse the workflow name from the run.\n */\nfunction buildNameMaps(\n events: Event[] | null,\n run: WorkflowRun | null\n): {\n correlationNameMap: Map<string, string>;\n workflowName: string | null;\n} {\n const correlationNameMap = new Map<string, string>();\n\n // Map step correlationId (= stepId) → parsed step name from step_created events\n if (events) {\n for (const event of events) {\n if (event.eventType === 'step_created' && event.correlationId) {\n const stepName = event.eventData?.stepName ?? '';\n const parsed = parseStepName(String(stepName));\n correlationNameMap.set(\n event.correlationId,\n parsed?.shortName ?? stepName\n );\n }\n }\n }\n\n // Parse workflow name from run\n const workflowName = run?.workflowName\n ? (parseWorkflowName(run.workflowName)?.shortName ?? run.workflowName)\n : null;\n\n return { correlationNameMap, workflowName };\n}\n\ninterface DurationInfo {\n /** Time from created → started (ms) */\n queued?: number;\n /** Time from started → completed/failed/cancelled (ms) */\n ran?: number;\n}\n\n/**\n * Build a map from correlationId → duration info by diffing\n * created ↔ started (queued) and started ↔ completed/failed/cancelled (ran).\n * Also computes run-level durations under the key '__run__'.\n */\nfunction buildDurationMap(events: Event[]): Map<string, DurationInfo> {\n const createdTimes = new Map<string, number>();\n const startedTimes = new Map<string, number>();\n const durations = new Map<string, DurationInfo>();\n\n for (const event of events) {\n const ts = new Date(event.createdAt).getTime();\n const key = event.correlationId ?? '__run__';\n const type: string = event.eventType;\n\n // Track created times (first event for each correlation)\n if (type === 'step_created' || type === 'run_created') {\n createdTimes.set(key, ts);\n }\n\n // Track started times & compute queued duration\n if (\n type === 'step_started' ||\n type === 'run_started' ||\n type === 'workflow_started'\n ) {\n startedTimes.set(key, ts);\n // If no explicit created event was seen, use the started time as created\n if (!createdTimes.has(key)) {\n createdTimes.set(key, ts);\n }\n const createdAt = createdTimes.get(key);\n const info = durations.get(key) ?? {};\n if (createdAt !== undefined) {\n info.queued = ts - createdAt;\n }\n durations.set(key, info);\n }\n\n // Compute ran duration on terminal events\n if (\n type === 'step_completed' ||\n type === 'step_failed' ||\n type === 'run_completed' ||\n type === 'run_failed' ||\n type === 'run_cancelled' ||\n type === 'workflow_completed' ||\n type === 'workflow_failed' ||\n type === 'wait_completed' ||\n type === 'hook_disposed'\n ) {\n const startedAt = startedTimes.get(key);\n const info = durations.get(key) ?? {};\n if (startedAt !== undefined) {\n info.ran = ts - startedAt;\n }\n durations.set(key, info);\n }\n }\n\n return durations;\n}\n\n/** Check if a loaded eventData object contains any encrypted marker values. */\nfunction hasEncryptedValues(data: unknown): boolean {\n if (!data || typeof data !== 'object') return false;\n for (const val of Object.values(data as Record<string, unknown>)) {\n if (isEncryptedMarker(val)) return true;\n }\n return false;\n}\n\nfunction isRunLevel(eventType: string): boolean {\n return (\n eventType === 'run_created' ||\n eventType === 'run_started' ||\n eventType === 'run_completed' ||\n eventType === 'run_failed' ||\n eventType === 'run_cancelled' ||\n eventType === 'workflow_started' ||\n eventType === 'workflow_completed' ||\n eventType === 'workflow_failed'\n );\n}\n\n// ──────────────────────────────────────────────────────────────────────────\n// Tree gutter — fixed-width, shows branch lines only for the selected group\n// ──────────────────────────────────────────────────────────────────────────\n\n/** Fixed gutter width: 20px root area + 16px for one branch lane */\nconst GUTTER_WIDTH = 36;\n/** X position of the single branch lane line */\nconst LANE_X = 20;\nconst ROOT_LINE_COLOR = 'var(--ds-gray-500)';\n\nfunction TreeGutter({\n isFirst,\n isLast,\n isRunLevel: isRun,\n statusDotColor,\n pulse = false,\n hasSelection,\n showBranch,\n showLaneLine,\n isLaneStart,\n isLaneEnd,\n continuationOnly = false,\n}: {\n isFirst: boolean;\n isLast: boolean;\n isRunLevel: boolean;\n statusDotColor?: string;\n pulse?: boolean;\n /** Whether any group is currently active (selected or hovered) */\n hasSelection: boolean;\n /** Whether to show a horizontal branch line for this row (event belongs to active group) */\n showBranch: boolean;\n /** Whether the vertical lane line passes through this row */\n showLaneLine: boolean;\n /** Whether the vertical lane line starts at this row (top clipped to 50%) */\n isLaneStart: boolean;\n /** Whether the vertical lane line ends at this row (bottom clipped to 50%) */\n isLaneEnd: boolean;\n continuationOnly?: boolean;\n}) {\n const dotSize = isRun ? 8 : 6;\n const dotLeft = isRun ? 5 : 6;\n const dotOpacity = hasSelection && !showBranch && !isRun ? 0.3 : 1;\n\n return (\n <div\n className=\"relative flex-shrink-0 self-stretch\"\n style={{\n width: GUTTER_WIDTH,\n minHeight: continuationOnly ? 0 : undefined,\n }}\n >\n {/* Root vertical line (leftmost, always visible) */}\n <div\n style={{\n position: 'absolute',\n left: 8,\n top: continuationOnly ? 0 : isFirst ? '50%' : 0,\n bottom: continuationOnly ? 0 : isLast ? '50%' : 0,\n width: 2,\n backgroundColor: ROOT_LINE_COLOR,\n zIndex: 0,\n }}\n />\n\n {!continuationOnly && (\n <>\n {/* Status dot on the root line for every event */}\n <div\n style={{\n position: 'absolute',\n left: dotLeft,\n top: '50%',\n transform: 'translateY(-50%)',\n width: dotSize,\n height: dotSize,\n zIndex: 2,\n }}\n >\n {/* Opaque backdrop ensures gutter lines never visually cut through dots */}\n <div\n style={{\n position: 'absolute',\n inset: 0,\n borderRadius: '50%',\n backgroundColor: 'var(--ds-background-100)',\n zIndex: 0,\n }}\n />\n {pulse && (\n <div\n style={{\n position: 'absolute',\n inset: 0,\n borderRadius: '50%',\n backgroundColor: statusDotColor,\n opacity: 0.75 * dotOpacity,\n animation: DOT_PULSE_ANIMATION,\n zIndex: 1,\n }}\n />\n )}\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: '100%',\n borderRadius: '50%',\n backgroundColor: statusDotColor,\n opacity: dotOpacity,\n transition: 'opacity 150ms',\n zIndex: 2,\n }}\n />\n </div>\n\n {/* Horizontal branch from root to gutter edge (selected group events only) */}\n {showBranch && (\n <div\n style={{\n position: 'absolute',\n left: 9,\n top: '50%',\n width: GUTTER_WIDTH - 9,\n height: 2,\n backgroundColor: ROOT_LINE_COLOR,\n zIndex: 0,\n }}\n />\n )}\n </>\n )}\n\n {/* Vertical lane line connecting the selected group's events */}\n {showLaneLine && (\n <div\n style={{\n position: 'absolute',\n left: LANE_X,\n top: continuationOnly ? 0 : isLaneStart ? '50%' : 0,\n bottom: continuationOnly ? 0 : isLaneEnd ? '50%' : 0,\n width: 2,\n backgroundColor: ROOT_LINE_COLOR,\n zIndex: 0,\n }}\n />\n )}\n </div>\n );\n}\n\n// ──────────────────────────────────────────────────────────────────────────\n// Copyable cell — shows a copy button on hover\n// ──────────────────────────────────────────────────────────────────────────\n\nfunction CopyableCell({\n value,\n className,\n style: styleProp,\n}: {\n value: string;\n className?: string;\n style?: React.CSSProperties;\n}): ReactNode {\n const [copied, setCopied] = useState(false);\n const resetCopiedTimeoutRef = useRef<number | null>(null);\n\n useEffect(() => {\n return () => {\n if (resetCopiedTimeoutRef.current !== null) {\n window.clearTimeout(resetCopiedTimeoutRef.current);\n }\n };\n }, []);\n\n const handleCopy = useCallback(\n (e: ReactMouseEvent) => {\n e.stopPropagation();\n navigator.clipboard.writeText(value).then(() => {\n setCopied(true);\n if (resetCopiedTimeoutRef.current !== null) {\n window.clearTimeout(resetCopiedTimeoutRef.current);\n }\n resetCopiedTimeoutRef.current = window.setTimeout(() => {\n setCopied(false);\n resetCopiedTimeoutRef.current = null;\n }, 1500);\n });\n },\n [value]\n );\n\n return (\n <div\n className={`group/copy flex items-center gap-1 min-w-0 px-4 ${className ?? ''}`}\n style={styleProp}\n >\n <span className=\"overflow-hidden text-ellipsis whitespace-nowrap\">\n {value || '-'}\n </span>\n {value ? (\n <button\n type=\"button\"\n onClick={handleCopy}\n className=\"flex-shrink-0 opacity-0 group-hover/copy:opacity-100 transition-opacity p-0.5 rounded hover:bg-[var(--ds-gray-alpha-200)]\"\n style={BUTTON_RESET_STYLE}\n aria-label={`Copy ${value}`}\n >\n {copied ? (\n <Check\n className=\"h-3 w-3\"\n style={{ color: 'var(--ds-green-700)' }}\n />\n ) : (\n <Copy className=\"h-3 w-3\" style={{ color: 'var(--ds-gray-700)' }} />\n )}\n </button>\n ) : null}\n </div>\n );\n}\n\n/** Recursively parse stringified JSON values so escaped slashes / quotes are cleaned up */\nfunction deepParseJson(value: unknown): unknown {\n if (typeof value === 'string') {\n const trimmed = value.trim();\n if (\n (trimmed.startsWith('{') && trimmed.endsWith('}')) ||\n (trimmed.startsWith('[') && trimmed.endsWith(']')) ||\n (trimmed.startsWith('\"') && trimmed.endsWith('\"'))\n ) {\n try {\n return deepParseJson(JSON.parse(trimmed));\n } catch {\n return value;\n }\n }\n return value;\n }\n if (Array.isArray(value)) {\n return value.map(deepParseJson);\n }\n if (value !== null && typeof value === 'object') {\n // Preserve objects with custom constructors (e.g., encrypted markers,\n // class instance refs) — don't destructure them into plain objects\n if (value.constructor !== Object) {\n return value;\n }\n const result: Record<string, unknown> = {};\n for (const [k, v] of Object.entries(value)) {\n result[k] = deepParseJson(v);\n }\n return result;\n }\n return value;\n}\n\n/**\n * Extracts a structured error with a stack trace from event data, if present.\n * Returns the error object to render with ErrorStackBlock, or null if not applicable.\n */\nfunction extractStructuredError(\n data: unknown,\n eventType?: string\n): (Record<string, unknown> & { stack: string }) | null {\n if (!eventType || !ERROR_EVENT_TYPES.has(eventType)) return null;\n if (data == null || typeof data !== 'object') return null;\n const record = data as Record<string, unknown>;\n // Check the nested `error` field first (the StructuredError)\n if (isStructuredErrorWithStack(record.error)) return record.error;\n // Some error formats put the stack at the top level of eventData\n if (isStructuredErrorWithStack(record)) return record;\n return null;\n}\n\nfunction PayloadBlock({\n data,\n eventType,\n}: {\n data: unknown;\n eventType?: string;\n}): ReactNode {\n const structuredError = useMemo(\n () => extractStructuredError(data, eventType),\n [data, eventType]\n );\n\n const [copied, setCopied] = useState(false);\n const resetCopiedTimeoutRef = useRef<number | null>(null);\n const cleaned = useMemo(() => deepParseJson(data), [data]);\n\n useEffect(() => {\n return () => {\n if (resetCopiedTimeoutRef.current !== null) {\n window.clearTimeout(resetCopiedTimeoutRef.current);\n }\n };\n }, []);\n\n const formatted = useMemo(() => {\n try {\n return JSON.stringify(cleaned, null, 2);\n } catch {\n return String(cleaned);\n }\n }, [cleaned]);\n\n const handleCopy = useCallback(\n (e: ReactMouseEvent) => {\n e.stopPropagation();\n navigator.clipboard.writeText(formatted).then(() => {\n setCopied(true);\n if (resetCopiedTimeoutRef.current !== null) {\n window.clearTimeout(resetCopiedTimeoutRef.current);\n }\n resetCopiedTimeoutRef.current = window.setTimeout(() => {\n setCopied(false);\n resetCopiedTimeoutRef.current = null;\n }, 1500);\n });\n },\n [formatted]\n );\n\n if (structuredError) {\n return (\n <div className=\"p-2\">\n <ErrorStackBlock value={structuredError} />\n </div>\n );\n }\n\n return (\n <div className=\"relative group/payload\">\n <div\n className=\"overflow-x-auto p-2 text-[11px]\"\n style={{ color: 'var(--ds-gray-1000)' }}\n >\n <DataInspector data={cleaned} expandLevel={2} />\n </div>\n <button\n type=\"button\"\n onClick={handleCopy}\n className=\"absolute bottom-2 right-2 opacity-0 group-hover/payload:opacity-100 transition-opacity flex items-center gap-1 px-2 py-1 rounded-md text-xs hover:bg-[var(--ds-gray-alpha-200)]\"\n style={{ ...BUTTON_RESET_STYLE, color: 'var(--ds-gray-700)' }}\n aria-label=\"Copy payload\"\n >\n {copied ? (\n <>\n <Check\n className=\"h-3 w-3\"\n style={{ color: 'var(--ds-green-700)' }}\n />\n <span style={{ color: 'var(--ds-green-700)' }}>Copied</span>\n </>\n ) : (\n <>\n <Copy className=\"h-3 w-3\" />\n <span>Copy</span>\n </>\n )}\n </button>\n </div>\n );\n}\n\n// ──────────────────────────────────────────────────────────────────────────\n// Sort options for the events list\n// ──────────────────────────────────────────────────────────────────────────\n\nconst SORT_OPTIONS = [\n { value: 'desc' as const, label: 'Newest' },\n { value: 'asc' as const, label: 'Oldest' },\n];\n\nfunction RowsSkeleton() {\n return (\n <div className=\"flex-1 overflow-hidden\">\n {Array.from({ length: 16 }, (_, i) => (\n <div key={i} className=\"flex items-center gap-0\" style={{ height: 40 }}>\n {/* Gutter area */}\n <div\n className=\"relative flex-shrink-0 self-stretch flex items-center\"\n style={{ width: GUTTER_WIDTH }}\n >\n {/* Vertical line skeleton */}\n <div\n style={{\n position: 'absolute',\n left: 8,\n top: i === 0 ? '50%' : 0,\n bottom: 0,\n width: 2,\n }}\n >\n <Skeleton className=\"w-full h-full\" style={{ borderRadius: 1 }} />\n </div>\n {/* Dot skeleton */}\n <Skeleton\n className=\"flex-shrink-0\"\n style={{\n width: i % 4 === 0 ? 8 : 6,\n height: i % 4 === 0 ? 8 : 6,\n borderRadius: '50%',\n marginLeft: i % 4 === 0 ? 5 : 6,\n }}\n />\n </div>\n {/* Chevron placeholder */}\n <div className=\"w-5 flex-shrink-0 flex items-center justify-center\">\n <Skeleton className=\"w-5 h-5\" style={{ borderRadius: 4 }} />\n </div>\n {/* Time */}\n <div className=\"min-w-0 px-4\" style={{ flex: '2 1 0%' }}>\n <Skeleton className=\"h-3\" style={{ width: '70%' }} />\n </div>\n {/* Event Type */}\n <div\n className=\"min-w-0 px-4 flex items-center gap-1.5\"\n style={{ flex: '2 1 0%' }}\n >\n <Skeleton\n className=\"flex-shrink-0\"\n style={{ width: 6, height: 6, borderRadius: '50%' }}\n />\n <Skeleton className=\"h-3\" style={{ width: '60%' }} />\n </div>\n {/* Name */}\n <div className=\"min-w-0 px-4\" style={{ flex: '2 1 0%' }}>\n <Skeleton className=\"h-3\" style={{ width: '50%' }} />\n </div>\n {/* Correlation ID */}\n <div className=\"min-w-0 px-4\" style={{ flex: '3 1 0%' }}>\n <Skeleton className=\"h-3\" style={{ width: '75%' }} />\n </div>\n {/* Event ID */}\n <div className=\"min-w-0 px-4\" style={{ flex: '3 1 0%' }}>\n <Skeleton className=\"h-3\" style={{ width: '75%' }} />\n </div>\n </div>\n ))}\n </div>\n );\n}\n\n// ──────────────────────────────────────────────────────────────────────────\n// Event row\n// ──────────────────────────────────────────────────────────────────────────\n\ninterface EventsListProps {\n events: Event[] | null;\n run?: WorkflowRun | null;\n onLoadEventData?: (event: Event) => Promise<unknown | null>;\n hasMoreEvents?: boolean;\n isLoadingMoreEvents?: boolean;\n onLoadMoreEvents?: () => Promise<void> | void;\n /** When provided, signals that decryption is active (triggers re-load of expanded events) */\n encryptionKey?: Uint8Array;\n /** When true, shows a loading state instead of \"No events found\" for empty lists */\n isLoading?: boolean;\n /** Sort order for events. Defaults to 'asc'. */\n sortOrder?: 'asc' | 'desc';\n /** Called when the user changes sort order. When provided, the sort dropdown is shown\n * and the parent is expected to refetch from the API with the new order. */\n onSortOrderChange?: (order: 'asc' | 'desc') => void;\n /** Called when the user clicks the Decrypt button. */\n onDecrypt?: () => void;\n /** Whether the encryption key is currently being fetched. */\n isDecrypting?: boolean;\n /** Run-level hint: the run contains encrypted data (from probe). */\n hasEncryptedData?: boolean;\n}\n\nfunction EventRow({\n event,\n index,\n isFirst,\n isLast,\n isExpanded,\n onToggleExpand,\n activeGroupKey,\n selectedGroupKey,\n selectedGroupRange,\n correlationNameMap,\n workflowName,\n durationMap,\n onSelectGroup,\n onHoverGroup,\n onLoadEventData,\n cachedEventData,\n onCacheEventData,\n encryptionKey,\n onEncryptedDataDetected,\n}: {\n event: Event;\n index: number;\n isFirst: boolean;\n isLast: boolean;\n isExpanded: boolean;\n onToggleExpand: (eventId: string) => void;\n activeGroupKey?: string;\n selectedGroupKey?: string;\n selectedGroupRange: { first: number; last: number } | null;\n correlationNameMap: Map<string, string>;\n workflowName: string | null;\n durationMap: Map<string, DurationInfo>;\n onSelectGroup: (groupKey: string | undefined) => void;\n onHoverGroup: (groupKey: string | undefined) => void;\n onLoadEventData?: (event: Event) => Promise<unknown | null>;\n cachedEventData: unknown | null;\n onCacheEventData: (eventId: string, data: unknown) => void;\n encryptionKey?: Uint8Array;\n onEncryptedDataDetected?: () => void;\n}) {\n const [isLoading, setIsLoading] = useState(false);\n const [loadedEventData, setLoadedEventData] = useState<unknown | null>(\n cachedEventData\n );\n const [loadError, setLoadError] = useState<string | null>(null);\n const [hasAttemptedLoad, setHasAttemptedLoad] = useState(\n cachedEventData !== null\n );\n\n // Notify parent if cached data has encrypted markers on mount\n useEffect(() => {\n if (\n cachedEventData !== null &&\n !encryptionKey &&\n hasEncryptedValues(cachedEventData)\n ) {\n onEncryptedDataDetected?.();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const rowGroupKey = isRunLevel(event.eventType)\n ? '__run__'\n : (event.correlationId ?? undefined);\n\n const statusDotColor = getStatusDotColor(event.eventType);\n const createdAt = new Date(event.createdAt);\n const hasExistingEventData = 'eventData' in event && event.eventData != null;\n const isRun = isRunLevel(event.eventType);\n const eventName = isRun\n ? (workflowName ?? '-')\n : event.correlationId\n ? (correlationNameMap.get(event.correlationId) ?? '-')\n : '-';\n\n const durationKey = event.correlationId ?? (isRun ? '__run__' : '');\n const durationInfo = durationKey ? durationMap.get(durationKey) : undefined;\n\n const hasActive = activeGroupKey !== undefined;\n const isRelated = rowGroupKey !== undefined && rowGroupKey === activeGroupKey;\n const isDimmed = hasActive && !isRelated;\n const isPulsing = hasActive && isRelated;\n\n // Gutter state derived from selectedGroupRange\n const showBranch = hasActive && isRelated && !isRun;\n const showLaneLine =\n selectedGroupRange !== null &&\n index >= selectedGroupRange.first &&\n index <= selectedGroupRange.last;\n const isLaneStart =\n selectedGroupRange !== null && index === selectedGroupRange.first;\n const isLaneEnd =\n selectedGroupRange !== null && index === selectedGroupRange.last;\n\n const loadEventDetails = useCallback(async () => {\n if (loadedEventData !== null) {\n return;\n }\n if (cachedEventData !== null) {\n setLoadedEventData(cachedEventData);\n setHasAttemptedLoad(true);\n return;\n }\n if (isLoading) {\n return;\n }\n setIsLoading(true);\n setLoadError(null);\n try {\n if (!onLoadEventData) {\n setLoadError('Event details unavailable');\n return;\n }\n const data = await onLoadEventData(event);\n if (data !== null && data !== undefined) {\n setLoadedEventData(data);\n onCacheEventData(event.eventId, data);\n if (!encryptionKey && hasEncryptedValues(data)) {\n onEncryptedDataDetected?.();\n }\n }\n } catch (err) {\n setLoadError(\n err instanceof Error ? err.message : 'Failed to load event details'\n );\n } finally {\n setIsLoading(false);\n setHasAttemptedLoad(true);\n }\n }, [\n event,\n loadedEventData,\n isLoading,\n onLoadEventData,\n onCacheEventData,\n encryptionKey,\n onEncryptedDataDetected,\n cachedEventData,\n ]);\n\n // Auto-load event data when remounting in expanded state without cached data\n useEffect(() => {\n if (!isExpanded || isLoading) {\n return;\n }\n void loadEventDetails();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // When encryption key changes and this event was previously loaded,\n // re-load to get decrypted data\n useEffect(() => {\n if (encryptionKey && hasAttemptedLoad && onLoadEventData) {\n setLoadedEventData(null);\n setHasAttemptedLoad(false);\n onLoadEventData(event)\n .then((data) => {\n if (data !== null && data !== undefined) {\n setLoadedEventData(data);\n onCacheEventData(event.eventId, data);\n }\n setHasAttemptedLoad(true);\n })\n .catch(() => {\n setHasAttemptedLoad(true);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [encryptionKey]);\n\n const handleRowClick = useCallback(() => {\n onSelectGroup(rowGroupKey === selectedGroupKey ? undefined : rowGroupKey);\n onToggleExpand(event.eventId);\n if (!isExpanded) {\n void loadEventDetails();\n }\n }, [\n selectedGroupKey,\n rowGroupKey,\n onSelectGroup,\n onToggleExpand,\n event.eventId,\n isExpanded,\n loadEventDetails,\n ]);\n\n const mergedEventData =\n loadedEventData ??\n (hasExistingEventData\n ? (event as Event & { eventData: unknown }).eventData\n : null);\n\n const displayPayload = isLoading ? loadedEventData : mergedEventData;\n\n const contentOpacity = isDimmed ? 0.3 : 1;\n\n return (\n <div\n data-event-id={event.eventId}\n onMouseEnter={() => onHoverGroup(rowGroupKey)}\n onMouseLeave={() => onHoverGroup(undefined)}\n >\n {/* Row */}\n <div\n role=\"button\"\n tabIndex={0}\n onClick={handleRowClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') handleRowClick();\n }}\n className=\"w-full text-left flex items-center gap-0 text-[13px] hover:bg-[var(--ds-gray-alpha-100)] transition-colors cursor-pointer\"\n style={{ minHeight: 40 }}\n >\n <TreeGutter\n isFirst={isFirst}\n isLast={isLast && !isExpanded}\n isRunLevel={isRun}\n statusDotColor={statusDotColor}\n pulse={isPulsing}\n hasSelection={hasActive}\n showBranch={showBranch}\n showLaneLine={showLaneLine}\n isLaneStart={isLaneStart}\n isLaneEnd={isLaneEnd}\n />\n\n {/* Content area — dims when unrelated */}\n <div\n className=\"flex items-center flex-1 min-w-0\"\n style={{ opacity: contentOpacity, transition: 'opacity 150ms' }}\n >\n {/* Expand chevron indicator */}\n <div\n className=\"flex items-center justify-center w-5 h-5 flex-shrink-0 rounded\"\n style={{\n border: '1px solid var(--ds-gray-400)',\n }}\n >\n <ChevronRight\n className=\"h-3 w-3 transition-transform\"\n style={{\n color: 'var(--ds-gray-900)',\n transform: isExpanded ? 'rotate(90deg)' : 'rotate(0deg)',\n }}\n />\n </div>\n\n {/* Time */}\n <div\n className=\"tabular-nums min-w-0 px-4\"\n style={{ color: 'var(--ds-gray-900)', flex: '2 1 0%' }}\n >\n <TimestampTooltip date={createdAt}>\n <span>{formatEventTime(createdAt)}</span>\n </TimestampTooltip>\n </div>\n\n {/* Event Type */}\n <div className=\"font-medium min-w-0 px-4\" style={{ flex: '2 1 0%' }}>\n <span\n className=\"inline-flex items-center gap-1.5\"\n style={{ color: 'var(--ds-gray-900)' }}\n >\n <span\n style={{\n position: 'relative',\n display: 'inline-flex',\n width: 6,\n height: 6,\n flexShrink: 0,\n }}\n >\n {isPulsing && (\n <span\n style={{\n position: 'absolute',\n inset: 0,\n borderRadius: '50%',\n backgroundColor: statusDotColor,\n opacity: 0.75,\n animation: DOT_PULSE_ANIMATION,\n }}\n />\n )}\n <span\n style={{\n position: 'relative',\n width: 6,\n height: 6,\n borderRadius: '50%',\n backgroundColor: statusDotColor,\n }}\n />\n </span>\n {formatEventType(event.eventType)}\n </span>\n </div>\n\n {/* Name */}\n <div\n className=\"min-w-0 px-4 overflow-hidden text-ellipsis whitespace-nowrap\"\n style={{ flex: '2 1 0%' }}\n title={eventName !== '-' ? eventName : undefined}\n >\n {eventName}\n </div>\n\n {/* Correlation ID */}\n <CopyableCell\n value={event.correlationId || ''}\n className=\"font-mono\"\n style={{ flex: '3 1 0%' }}\n />\n\n {/* Event ID */}\n <CopyableCell\n value={event.eventId}\n className=\"font-mono\"\n style={{ flex: '3 1 0%' }}\n />\n </div>\n </div>\n\n {/* Expanded details — tree lines continue through this area */}\n {isExpanded && (\n <div className=\"flex\">\n {/* Continuation gutter — lane line continues if not at lane end */}\n <TreeGutter\n isFirst={false}\n isLast={isLast}\n isRunLevel={isRun}\n hasSelection={hasActive}\n showBranch={false}\n showLaneLine={showLaneLine && !isLaneEnd}\n isLaneStart={false}\n isLaneEnd={false}\n continuationOnly\n />\n {/* Spacer for chevron column */}\n <div className=\"w-5 flex-shrink-0\" />\n <div\n className=\"flex-1 my-1.5 mr-3 ml-2 py-2 rounded-md border overflow-hidden\"\n style={{\n borderColor: 'var(--ds-gray-alpha-200)',\n opacity: contentOpacity,\n transition: 'opacity 150ms',\n }}\n >\n {/* Duration info */}\n {(durationInfo?.queued !== undefined ||\n durationInfo?.ran !== undefined) && (\n <div\n className=\"px-2 pb-1.5 text-xs flex gap-3\"\n style={{ color: 'var(--ds-gray-900)' }}\n >\n {durationInfo.queued !== undefined &&\n durationInfo.queued > 0 && (\n <span>\n Queued for{' '}\n <span className=\"font-mono tabular-nums\">\n {formatDuration(durationInfo.queued)}\n </span>\n </span>\n )}\n {durationInfo.ran !== undefined && (\n <span>\n Ran for{' '}\n <span className=\"font-mono tabular-nums\">\n {formatDuration(durationInfo.ran)}\n </span>\n </span>\n )}\n </div>\n )}\n\n {/* Payload */}\n {displayPayload != null ? (\n <PayloadBlock data={displayPayload} eventType={event.eventType} />\n ) : loadError ? (\n <div\n className=\"rounded-md border p-3 text-xs\"\n style={{\n borderColor: 'var(--ds-red-400)',\n backgroundColor: 'var(--ds-red-100)',\n color: 'var(--ds-red-900)',\n }}\n >\n {loadError}\n </div>\n ) : isLoading ||\n (loadedEventData === null &&\n !hasAttemptedLoad &&\n event.correlationId) ? (\n <div className=\"flex flex-col gap-2 p-3\">\n <Skeleton className=\"h-3\" style={{ width: '75%' }} />\n <Skeleton className=\"h-3\" style={{ width: '50%' }} />\n <Skeleton className=\"h-3\" style={{ width: '60%' }} />\n </div>\n ) : (\n <div\n className=\"p-2 text-xs\"\n style={{ color: 'var(--ds-gray-900)' }}\n >\n No data\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n );\n}\n\n// ──────────────────────────────────────────────────────────────────────────\n// Main component\n// ──────────────────────────────────────────────────────────────────────────\n\nexport function EventListView({\n events,\n run,\n onLoadEventData,\n hasMoreEvents = false,\n isLoadingMoreEvents = false,\n onLoadMoreEvents,\n encryptionKey,\n isLoading = false,\n sortOrder: sortOrderProp,\n onSortOrderChange,\n onDecrypt,\n isDecrypting = false,\n hasEncryptedData: hasEncryptedDataProp = false,\n}: EventsListProps) {\n const [internalSortOrder, setInternalSortOrder] = useState<'asc' | 'desc'>(\n 'asc'\n );\n const effectiveSortOrder = sortOrderProp ?? internalSortOrder;\n const handleSortOrderChange = useCallback(\n (order: 'asc' | 'desc') => {\n if (onSortOrderChange) {\n onSortOrderChange(order);\n } else {\n setInternalSortOrder(order);\n }\n },\n [onSortOrderChange]\n );\n\n const sortedEvents = useMemo(() => {\n if (!events || events.length === 0) return [];\n const dir = effectiveSortOrder === 'desc' ? -1 : 1;\n return [...events].sort(\n (a, b) =>\n dir *\n (new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime())\n );\n }, [events, effectiveSortOrder]);\n\n // Detect encrypted fields across all loaded events (inline eventData).\n const hasEncryptedInlineData = useMemo(() => {\n if (!events) return false;\n for (const event of events) {\n const ed = (event as Record<string, unknown>).eventData;\n if (hasEncryptedValues(ed)) return true;\n }\n return false;\n }, [events]);\n\n // Tracks whether any expanded row's lazy-loaded data contained encrypted markers.\n // Set to true by EventRow via onEncryptedDataDetected; never reset (sticky).\n const [foundEncryptedInLazyData, setFoundEncryptedInLazyData] =\n useState(false);\n const handleEncryptedDataDetected = useCallback(() => {\n setFoundEncryptedInLazyData(true);\n }, []);\n\n const hasEncryptedData =\n hasEncryptedDataProp || hasEncryptedInlineData || foundEncryptedInLazyData;\n\n const { correlationNameMap, workflowName } = useMemo(\n () => buildNameMaps(events ?? null, run ?? null),\n [events, run]\n );\n\n const durationMap = useMemo(\n () => buildDurationMap(sortedEvents),\n [sortedEvents]\n );\n\n const [selectedGroupKey, setSelectedGroupKey] = useState<string | undefined>(\n undefined\n );\n const [hoveredGroupKey, setHoveredGroupKey] = useState<string | undefined>(\n undefined\n );\n const onSelectGroup = useCallback((groupKey: string | undefined) => {\n setSelectedGroupKey(groupKey);\n }, []);\n const onHoverGroup = useCallback((groupKey: string | undefined) => {\n setHoveredGroupKey(groupKey);\n }, []);\n\n const activeGroupKey = selectedGroupKey ?? hoveredGroupKey;\n\n // Expanded state lifted out of EventRow so it survives virtualization\n const [expandedEventIds, setExpandedEventIds] = useState<Set<string>>(\n () => new Set()\n );\n const toggleEventExpanded = useCallback((eventId: string) => {\n setExpandedEventIds((prev) => {\n const next = new Set(prev);\n if (next.has(eventId)) {\n next.delete(eventId);\n } else {\n next.add(eventId);\n }\n return next;\n });\n }, []);\n\n // Event data cache — ref avoids re-renders when cache updates\n const eventDataCacheRef = useRef<Map<string, unknown>>(new Map());\n const cacheEventData = useCallback((eventId: string, data: unknown) => {\n eventDataCacheRef.current.set(eventId, data);\n }, []);\n\n // Lookup from eventId → groupKey for efficient collapse filtering\n const eventGroupKeyMap = useMemo(() => {\n const map = new Map<string, string>();\n for (const ev of sortedEvents) {\n const gk = isRunLevel(ev.eventType)\n ? '__run__'\n : (ev.correlationId ?? '');\n if (gk) map.set(ev.eventId, gk);\n }\n return map;\n }, [sortedEvents]);\n\n // Collapse expanded events that don't belong to the newly selected group\n useEffect(() => {\n if (selectedGroupKey === undefined) return;\n setExpandedEventIds((prev) => {\n if (prev.size === 0) return prev;\n let changed = false;\n const next = new Set<string>();\n for (const eventId of prev) {\n if (eventGroupKeyMap.get(eventId) === selectedGroupKey) {\n next.add(eventId);\n } else {\n changed = true;\n }\n }\n return changed ? next : prev;\n });\n }, [selectedGroupKey, eventGroupKeyMap]);\n\n // Compute the row-index range for the active group's connecting lane line.\n // Only applies to non-run groups (step/hook/wait correlations).\n const selectedGroupRange = useMemo(() => {\n if (!activeGroupKey || activeGroupKey === '__run__') return null;\n let first = -1;\n let last = -1;\n for (let i = 0; i < sortedEvents.length; i++) {\n if (sortedEvents[i].correlationId === activeGroupKey) {\n if (first === -1) first = i;\n last = i;\n }\n }\n return first >= 0 ? { first, last } : null;\n }, [activeGroupKey, sortedEvents]);\n\n const [searchQuery, setSearchQuery] = useState('');\n const virtuosoRef = useRef<VirtuosoHandle>(null);\n\n const searchIndex = useMemo(() => {\n const entries: {\n fields: string[];\n groupKey?: string;\n eventId: string;\n index: number;\n }[] = [];\n for (let i = 0; i < sortedEvents.length; i++) {\n const ev = sortedEvents[i];\n const isRun = isRunLevel(ev.eventType);\n const name = isRun\n ? (workflowName ?? '')\n : ev.correlationId\n ? (correlationNameMap.get(ev.correlationId) ?? '')\n : '';\n entries.push({\n fields: [\n ev.eventId,\n ev.correlationId ?? '',\n ev.eventType,\n formatEventType(ev.eventType),\n name,\n ].map((f) => f.toLowerCase()),\n groupKey: ev.correlationId ?? (isRun ? '__run__' : undefined),\n eventId: ev.eventId,\n index: i,\n });\n }\n return entries;\n }, [sortedEvents, correlationNameMap, workflowName]);\n\n useEffect(() => {\n const q = searchQuery.trim().toLowerCase();\n if (!q) {\n setSelectedGroupKey(undefined);\n return;\n }\n let bestMatch: (typeof searchIndex)[number] | null = null;\n let bestScore = 0;\n for (const entry of searchIndex) {\n for (const field of entry.fields) {\n if (field && field.includes(q)) {\n const score = q.length / field.length;\n if (score > bestScore) {\n bestScore = score;\n bestMatch = entry;\n }\n }\n }\n }\n if (bestMatch) {\n setSelectedGroupKey(bestMatch.groupKey);\n virtuosoRef.current?.scrollToIndex({\n index: bestMatch.index,\n align: 'center',\n behavior: 'smooth',\n });\n }\n }, [searchQuery, searchIndex]);\n\n // Track whether we've ever had events to distinguish initial load from refetch\n const hasHadEventsRef = useRef(false);\n if (sortedEvents.length > 0) {\n hasHadEventsRef.current = true;\n }\n const isInitialLoad = isLoading && !hasHadEventsRef.current;\n const isRefetching =\n isLoading && hasHadEventsRef.current && sortedEvents.length === 0;\n\n if (isInitialLoad) {\n return (\n <div className=\"h-full flex flex-col overflow-hidden\">\n {/* Skeleton search bar */}\n <div style={{ padding: 6 }}>\n <Skeleton style={{ height: 40, borderRadius: 6 }} />\n </div>\n {/* Skeleton header */}\n <div\n className=\"flex items-center gap-0 h-10 border-b flex-shrink-0\"\n style={{ borderColor: 'var(--ds-gray-alpha-200)' }}\n >\n <div className=\"flex-shrink-0\" style={{ width: GUTTER_WIDTH }} />\n <div className=\"w-5 flex-shrink-0\" />\n <div className=\"min-w-0 px-4\" style={{ flex: '2 1 0%' }}>\n <Skeleton className=\"h-3\" style={{ width: 40 }} />\n </div>\n <div className=\"min-w-0 px-4\" style={{ flex: '2 1 0%' }}>\n <Skeleton className=\"h-3\" style={{ width: 72 }} />\n </div>\n <div className=\"min-w-0 px-4\" style={{ flex: '2 1 0%' }}>\n <Skeleton className=\"h-3\" style={{ width: 44 }} />\n </div>\n <div className=\"min-w-0 px-4\" style={{ flex: '3 1 0%' }}>\n <Skeleton className=\"h-3\" style={{ width: 92 }} />\n </div>\n <div className=\"min-w-0 px-4\" style={{ flex: '3 1 0%' }}>\n <Skeleton className=\"h-3\" style={{ width: 60 }} />\n </div>\n </div>\n <RowsSkeleton />\n </div>\n );\n }\n\n if (!isLoading && (!events || events.length === 0)) {\n return (\n <div\n className=\"flex items-center justify-center h-full text-sm\"\n style={{ color: 'var(--ds-gray-700)' }}\n >\n No events found\n </div>\n );\n }\n\n return (\n <DecryptClickContext.Provider\n value={onDecrypt ? { onDecrypt, isDecrypting } : undefined}\n >\n <div className=\"h-full flex flex-col overflow-hidden\">\n <style>{`@keyframes workflow-dot-pulse{0%{transform:scale(1);opacity:.7}70%,100%{transform:scale(2.2);opacity:0}}`}</style>\n {/* Search bar + sort */}\n <div\n style={{\n padding: 6,\n backgroundColor: 'var(--ds-background-100)',\n display: 'flex',\n gap: 6,\n }}\n >\n <label\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 6,\n boxShadow: '0 0 0 1px var(--ds-gray-alpha-400)',\n background: 'var(--ds-background-100)',\n height: 40,\n flex: 1,\n minWidth: 0,\n }}\n >\n <div\n style={{\n width: 40,\n height: 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: 'var(--ds-gray-800)',\n flexShrink: 0,\n }}\n >\n <svg\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <circle\n cx=\"7\"\n cy=\"7\"\n r=\"4.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M11.5 11.5L14 14\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n </div>\n <input\n type=\"search\"\n placeholder=\"Search by name, event type, or ID…\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n style={{\n marginLeft: -16,\n paddingInline: 12,\n fontFamily: 'inherit',\n fontSize: 14,\n background: 'transparent',\n border: 'none',\n outline: 'none',\n height: 40,\n width: '100%',\n }}\n />\n </label>\n <MenuDropdown\n options={SORT_OPTIONS}\n value={effectiveSortOrder}\n onChange={handleSortOrderChange}\n />\n {(hasEncryptedData || encryptionKey) && onDecrypt && (\n <DecryptButton\n decrypted={!!encryptionKey}\n loading={isDecrypting}\n onClick={onDecrypt}\n />\n )}\n </div>\n\n {/* Header */}\n <div\n className=\"flex items-center gap-0 text-[13px] font-medium h-10 border-b flex-shrink-0\"\n style={{\n borderColor: 'var(--ds-gray-alpha-200)',\n color: 'var(--ds-gray-900)',\n backgroundColor: 'var(--ds-background-100)',\n }}\n >\n <div className=\"flex-shrink-0\" style={{ width: GUTTER_WIDTH }} />\n <div className=\"w-5 flex-shrink-0\" />\n <div className=\"min-w-0 px-4\" style={{ flex: '2 1 0%' }}>\n Time\n </div>\n <div className=\"min-w-0 px-4\" style={{ flex: '2 1 0%' }}>\n Event Type\n </div>\n <div className=\"min-w-0 px-4\" style={{ flex: '2 1 0%' }}>\n Name\n </div>\n <div className=\"min-w-0 px-4\" style={{ flex: '3 1 0%' }}>\n Correlation ID\n </div>\n <div className=\"min-w-0 px-4\" style={{ flex: '3 1 0%' }}>\n Event ID\n </div>\n </div>\n\n {/* Virtualized event rows or refetching skeleton */}\n {isRefetching ? (\n <RowsSkeleton />\n ) : (\n <Virtuoso\n ref={virtuosoRef}\n totalCount={sortedEvents.length}\n overscan={20}\n defaultItemHeight={40}\n endReached={() => {\n if (!hasMoreEvents || isLoadingMoreEvents) {\n return;\n }\n void onLoadMoreEvents?.();\n }}\n itemContent={(index: number) => {\n const ev = sortedEvents[index];\n return (\n <EventRow\n event={ev}\n index={index}\n isFirst={index === 0}\n isLast={index === sortedEvents.length - 1}\n isExpanded={expandedEventIds.has(ev.eventId)}\n onToggleExpand={toggleEventExpanded}\n activeGroupKey={activeGroupKey}\n selectedGroupKey={selectedGroupKey}\n selectedGroupRange={selectedGroupRange}\n correlationNameMap={correlationNameMap}\n workflowName={workflowName}\n durationMap={durationMap}\n onSelectGroup={onSelectGroup}\n onHoverGroup={onHoverGroup}\n onLoadEventData={onLoadEventData}\n cachedEventData={\n eventDataCacheRef.current.get(ev.eventId) ?? null\n }\n onCacheEventData={cacheEventData}\n encryptionKey={encryptionKey}\n onEncryptedDataDetected={handleEncryptedDataDetected}\n />\n );\n }}\n style={{ flex: 1, minHeight: 0 }}\n />\n )}\n\n {/* Fixed footer — count + load more */}\n <div\n className=\"relative flex-shrink-0 flex items-center h-10 border-t px-4 text-xs\"\n style={{\n borderColor: 'var(--ds-gray-alpha-200)',\n color: 'var(--ds-gray-900)',\n backgroundColor: 'var(--ds-background-100)',\n }}\n >\n <span>\n {sortedEvents.length} event\n {sortedEvents.length !== 1 ? 's' : ''} loaded\n </span>\n {hasMoreEvents && (\n <div className=\"absolute inset-0 flex items-center justify-center pointer-events-none\">\n <div className=\"pointer-events-auto\">\n <LoadMoreButton\n loading={isLoadingMoreEvents}\n onClick={() => void onLoadMoreEvents?.()}\n />\n </div>\n </div>\n )}\n </div>\n </div>\n </DecryptClickContext.Provider>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"hook-actions.js","sourceRoot":"","sources":["../../src/components/hook-actions.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-actions.js","sourceRoot":"","sources":["../../src/components/hook-actions.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport type { Hook, WorkflowRunStatus } from '@workflow/world';\nimport { Send } from 'lucide-react';\nimport { useCallback, useState } from 'react';\nimport { useToast } from '../lib/toast';\nimport { ResolveHookModal } from './sidebar/resolve-hook-modal';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface HookActionCallbacks {\n /** Called after a successful action */\n onSuccess?: () => void;\n}\n\nexport interface UseHookActionsOptions {\n onResolve: (hook: Hook, payload: unknown) => Promise<void>;\n callbacks?: HookActionCallbacks;\n}\n\nexport interface UseHookActionsReturn {\n /** Whether the hook is currently being resolved */\n isResolving: boolean;\n /** The hook currently selected for resolution (null if none) */\n selectedHook: Hook | null;\n /** Open the resolve modal for a specific hook */\n openResolveModal: (hook: Hook) => void;\n /** Close the resolve modal */\n closeResolveModal: () => void;\n /** Handle submitting the resolve payload */\n handleResolve: (payload: unknown) => Promise<void>;\n}\n\n// ============================================================================\n// Hook for managing hook actions state\n// ============================================================================\n\n/**\n * React hook for managing hook action state.\n * Use this to coordinate the resolve modal across components.\n */\nexport function useHookActions({\n onResolve,\n callbacks,\n}: UseHookActionsOptions): UseHookActionsReturn {\n const toast = useToast();\n const [isResolving, setIsResolving] = useState(false);\n const [selectedHook, setSelectedHook] = useState<Hook | null>(null);\n\n const openResolveModal = useCallback((hook: Hook) => {\n setSelectedHook(hook);\n }, []);\n\n const closeResolveModal = useCallback(() => {\n setSelectedHook(null);\n }, []);\n\n const handleResolve = useCallback(\n async (payload: unknown) => {\n if (isResolving || !selectedHook) return;\n\n try {\n setIsResolving(true);\n await onResolve(selectedHook, payload);\n toast.success('Hook resolved', {\n description: 'The payload has been sent and the hook resolved.',\n });\n setSelectedHook(null);\n callbacks?.onSuccess?.();\n } catch (err) {\n console.error('Failed to resolve hook:', err);\n toast.error('Failed to resolve hook', {\n description:\n err instanceof Error ? err.message : 'An unknown error occurred',\n });\n } finally {\n setIsResolving(false);\n }\n },\n [onResolve, selectedHook, isResolving, callbacks]\n );\n\n return {\n isResolving,\n selectedHook,\n openResolveModal,\n closeResolveModal,\n handleResolve,\n };\n}\n\n// ============================================================================\n// Dropdown Menu Item Component\n// ============================================================================\n\nexport interface HookActionsDropdownItemProps {\n /** The hook to act on */\n hook: Hook;\n /** The current run status (used to determine if actions are available) */\n runStatus?: WorkflowRunStatus;\n /** Stop click event propagation (useful in table rows) */\n stopPropagation?: boolean;\n /** Called when the resolve action is triggered */\n onResolveClick: (hook: Hook) => void;\n /** Custom DropdownMenuItem component (allows using the consumer's UI library) */\n DropdownMenuItem: React.ComponentType<{\n onClick?: (e: React.MouseEvent) => void;\n disabled?: boolean;\n children: React.ReactNode;\n }>;\n}\n\n/**\n * Dropdown menu item for resolving a hook.\n * This is a single menu item component that can be composed into dropdown menus.\n */\nexport function ResolveHookDropdownItem({\n hook,\n stopPropagation = false,\n onResolveClick,\n DropdownMenuItem,\n}: HookActionsDropdownItemProps): React.JSX.Element {\n const handleClick = (e: React.MouseEvent) => {\n if (stopPropagation) e.stopPropagation();\n onResolveClick(hook);\n };\n\n return (\n <DropdownMenuItem onClick={handleClick}>\n <Send className=\"h-4 w-4 mr-2\" />\n Resolve Hook\n </DropdownMenuItem>\n );\n}\n\n// ============================================================================\n// Modal wrapper for convenience\n// ============================================================================\n\nexport interface HookResolveModalProps {\n /** The hook actions state from useHookActions */\n hookActions: UseHookActionsReturn;\n}\n\n/**\n * Convenience wrapper that renders the ResolveHookModal using useHookActions state.\n * Place this at the top level of your component (outside any iteration).\n */\nexport function HookResolveModalWrapper({\n hookActions,\n}: HookResolveModalProps): React.JSX.Element | null {\n const { selectedHook, closeResolveModal, handleResolve, isResolving } =\n hookActions;\n\n return (\n <ResolveHookModal\n isOpen={selectedHook !== null}\n onClose={closeResolveModal}\n onSubmit={handleResolve}\n isSubmitting={isResolving}\n />\n );\n}\n\n// Re-export the modal for direct use\nexport { ResolveHookModal } from './sidebar/resolve-hook-modal';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAQlD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAK/D,OAAO,EAAoB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EACL,aAAa,EAEb,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAA2B,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAQlD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAK/D,OAAO,EAAoB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EACL,aAAa,EAEb,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAA2B,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC","sourcesContent":["export { ErrorBoundary } from './error-boundary';\nexport { EventListView } from './event-list-view';\nexport type {\n HookActionCallbacks,\n HookActionsDropdownItemProps,\n HookResolveModalProps,\n UseHookActionsOptions,\n UseHookActionsReturn,\n} from './hook-actions';\nexport {\n HookResolveModalWrapper,\n ResolveHookDropdownItem,\n ResolveHookModal,\n useHookActions,\n} from './hook-actions';\nexport { RunTraceView } from './run-trace-view';\nexport { ConversationView } from './sidebar/conversation-view';\nexport type {\n SelectedSpanInfo,\n SpanSelectionInfo,\n} from './sidebar/entity-detail-panel';\nexport { type StreamChunk, StreamViewer } from './stream-viewer';\nexport type { Span, SpanEvent } from './trace-viewer/types';\nexport {\n DataInspector,\n type DataInspectorProps,\n DecryptClickContext,\n type DecryptClickContextValue,\n} from './ui/data-inspector';\nexport { DecryptButton } from './ui/decrypt-button';\nexport { LoadMoreButton } from './ui/load-more-button';\nexport { MenuDropdown, type MenuDropdownOption } from './ui/menu-dropdown';\nexport { Spinner } from './ui/spinner';\nexport { WorkflowTraceViewer } from './workflow-trace-view';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"run-trace-view.js","sourceRoot":"","sources":["../../src/components/run-trace-view.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA2B5D,MAAM,UAAU,YAAY,CAAC,EAC3B,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,kBAAkB,GACA;IAClB,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,OAAO,CACL,eAAK,SAAS,EAAC,KAAK,aAClB,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,GAAG,EACnC,qDAAiC,EACjC,sBAAI,KAAK,CAAC,OAAO,GAAK,IAClB,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,wBAAwB,YACrC,KAAC,mBAAmB,IAClB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,GACtC,GACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"run-trace-view.js","sourceRoot":"","sources":["../../src/components/run-trace-view.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA2B5D,MAAM,UAAU,YAAY,CAAC,EAC3B,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,kBAAkB,GACA;IAClB,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,OAAO,CACL,eAAK,SAAS,EAAC,KAAK,aAClB,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,GAAG,EACnC,qDAAiC,EACjC,sBAAI,KAAK,CAAC,OAAO,GAAK,IAClB,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,wBAAwB,YACrC,KAAC,mBAAmB,IAClB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,GACtC,GACE,CACP,CAAC;AACJ,CAAC","sourcesContent":["'use client';\n\nimport type { Event, Hook, Step, WorkflowRun } from '@workflow/world';\nimport { AlertCircle } from 'lucide-react';\nimport type { SpanSelectionInfo } from './sidebar/entity-detail-panel';\nimport { WorkflowTraceViewer } from './workflow-trace-view';\n\ninterface RunTraceViewProps {\n run: WorkflowRun;\n events: Event[];\n isLoading?: boolean;\n error?: Error | null;\n spanDetailData?: WorkflowRun | Step | Hook | Event | null;\n spanDetailLoading?: boolean;\n spanDetailError?: Error | null;\n onWakeUpSleep?: (\n runId: string,\n correlationId: string\n ) => Promise<{ stoppedCount: number }>;\n onResolveHook?: (\n hookToken: string,\n payload: unknown,\n hook?: Hook\n ) => Promise<void>;\n onCancelRun?: (runId: string) => Promise<void>;\n onStreamClick?: (streamId: string) => void;\n onSpanSelect?: (info: SpanSelectionInfo) => void;\n onLoadMoreSpans?: () => void | Promise<void>;\n hasMoreSpans?: boolean;\n isLoadingMoreSpans?: boolean;\n}\n\nexport function RunTraceView({\n run,\n events,\n isLoading,\n error,\n spanDetailData,\n spanDetailLoading,\n spanDetailError,\n onWakeUpSleep,\n onResolveHook,\n onCancelRun,\n onStreamClick,\n onSpanSelect,\n onLoadMoreSpans,\n hasMoreSpans,\n isLoadingMoreSpans,\n}: RunTraceViewProps) {\n if (error && !run) {\n return (\n <div className=\"m-4\">\n <AlertCircle className=\"h-4 w-4\" />\n <p>Error loading workflow run</p>\n <p>{error.message}</p>\n </div>\n );\n }\n\n return (\n <div className=\"w-full h-full relative\">\n <WorkflowTraceViewer\n error={error}\n events={events}\n run={run}\n isLoading={isLoading}\n spanDetailData={spanDetailData}\n spanDetailLoading={spanDetailLoading}\n spanDetailError={spanDetailError}\n onWakeUpSleep={onWakeUpSleep}\n onResolveHook={onResolveHook}\n onCancelRun={onCancelRun}\n onStreamClick={onStreamClick}\n onSpanSelect={onSpanSelect}\n onLoadMoreSpans={onLoadMoreSpans}\n hasMoreSpans={hasMoreSpans}\n isLoadingMoreSpans={isLoadingMoreSpans}\n />\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"attribute-panel.js","sourceRoot":"","sources":["../../../src/components/sidebar/attribute-panel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attribute-panel.js","sourceRoot":"","sources":["../../../src/components/sidebar/attribute-panel.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport { parseStepName, parseWorkflowName } from '@workflow/utils/parse-name';\nimport type { Event, Hook, Step, WorkflowRun } from '@workflow/world';\nimport type { ModelMessage } from 'ai';\nimport { Lock } from 'lucide-react';\nimport { Spinner } from '../ui/spinner';\nimport type { KeyboardEvent, ReactNode } from 'react';\nimport { useCallback, useContext, useMemo, useState } from 'react';\nimport { isEncryptedMarker, isExpiredMarker } from '../../lib/hydration';\nimport { useToast } from '../../lib/toast';\nimport { extractConversation, isDoStreamStep } from '../../lib/utils';\nimport { DecryptClickContext, StreamClickContext } from '../ui/data-inspector';\nimport { ErrorCard } from '../ui/error-card';\nimport {\n ErrorStackBlock,\n isStructuredErrorWithStack,\n} from '../ui/error-stack-block';\nimport { Skeleton } from '../ui/skeleton';\nimport { TimestampTooltip } from '../ui/timestamp-tooltip';\nimport { ConversationView } from './conversation-view';\nimport { CopyableDataBlock } from './copyable-data-block';\nimport { DetailCard } from './detail-card';\n\n/**\n * Tab button for conversation/JSON toggle\n */\nfunction TabButton({\n active,\n onClick,\n children,\n}: {\n active: boolean;\n onClick: () => void;\n children: ReactNode;\n}) {\n return (\n <button\n type=\"button\"\n role=\"tab\"\n aria-selected={active}\n tabIndex={active ? 0 : -1}\n onClick={onClick}\n className=\"px-3 py-1.5 text-[11px] font-medium transition-colors -mb-px\"\n style={{\n // Explicit styles to prevent app-level button overrides when web-shared\n // is embedded in a self-hosted app.\n backgroundColor: 'transparent',\n borderTop: 'none',\n borderLeft: 'none',\n borderRight: 'none',\n borderBottom: `2px solid ${active ? 'var(--ds-blue-600)' : 'transparent'}`,\n borderRadius: 0,\n outline: 'none',\n boxShadow: 'none',\n cursor: 'pointer',\n color: active ? 'var(--ds-gray-1000)' : 'var(--ds-gray-600)',\n }}\n >\n {children}\n </button>\n );\n}\n\n/**\n * Shared tabbed container with accessible ARIA roles and keyboard navigation.\n * Used by ConversationWithTabs for the conversation/JSON toggle.\n */\nfunction TabbedContainer<T extends string>({\n tabs,\n activeTab,\n onTabChange,\n ariaLabel,\n children,\n}: {\n tabs: { id: T; label: string }[];\n activeTab: T;\n onTabChange: (tab: T) => void;\n ariaLabel: string;\n children: ReactNode;\n}) {\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key !== 'ArrowRight' && event.key !== 'ArrowLeft') return;\n event.preventDefault();\n const currentIndex = tabs.findIndex((t) => t.id === activeTab);\n const nextIndex =\n event.key === 'ArrowRight'\n ? (currentIndex + 1) % tabs.length\n : (currentIndex - 1 + tabs.length) % tabs.length;\n onTabChange(tabs[nextIndex].id);\n },\n [tabs, activeTab, onTabChange]\n );\n\n return (\n <div\n className=\"rounded-md border\"\n style={{\n borderColor: 'var(--ds-gray-300)',\n backgroundColor: 'transparent',\n }}\n >\n <div\n className=\"flex gap-1 border-b\"\n role=\"tablist\"\n aria-label={ariaLabel}\n onKeyDown={handleKeyDown}\n style={{\n borderColor: 'var(--ds-gray-300)',\n backgroundColor: 'transparent',\n }}\n >\n {tabs.map((tab) => (\n <TabButton\n key={tab.id}\n active={activeTab === tab.id}\n onClick={() => onTabChange(tab.id)}\n >\n {tab.label}\n </TabButton>\n ))}\n </div>\n\n <div role=\"tabpanel\">{children}</div>\n </div>\n );\n}\n\nconst conversationTabs = [\n { id: 'conversation' as const, label: 'Conversation' },\n { id: 'json' as const, label: 'Raw JSON' },\n];\n\n/**\n * Tabbed view for conversation and raw JSON\n */\nfunction ConversationWithTabs({\n conversation,\n args,\n}: {\n conversation: ModelMessage[];\n args: unknown[];\n}) {\n const [activeTab, setActiveTab] = useState<'conversation' | 'json'>(\n 'conversation'\n );\n\n return (\n <DetailCard summary={`Input (${conversation.length} messages)`}>\n <TabbedContainer\n tabs={conversationTabs}\n activeTab={activeTab}\n onTabChange={setActiveTab}\n ariaLabel=\"Conversation view\"\n >\n {activeTab === 'conversation' ? (\n <ConversationView messages={conversation} />\n ) : (\n <div className=\"p-3\">\n {Array.isArray(args)\n ? args.map((v, i) => (\n <div className=\"mt-2 first:mt-0\" key={i}>\n {JsonBlock(v)}\n </div>\n ))\n : JsonBlock(args)}\n </div>\n )}\n </TabbedContainer>\n </DetailCard>\n );\n}\n\n/**\n * Render a value with the shared DataInspector (ObjectInspector with\n * custom theming, nodeRenderer for StreamRef/ClassInstanceRef, etc.)\n */\n/**\n * Inline display for an encrypted field — no expand, just a flat label\n * with the lucide Lock icon matching the title bar Decrypt button.\n */\nfunction EncryptedFieldBlock() {\n const ctx = useContext(DecryptClickContext);\n if (ctx) {\n return (\n <button\n type=\"button\"\n onClick={ctx.onDecrypt}\n disabled={ctx.isDecrypting}\n className=\"flex w-full items-center justify-center gap-1.5 rounded-md border px-3 py-2 text-xs cursor-pointer transition-colors\"\n style={{\n borderColor: 'var(--ds-gray-400)',\n backgroundColor: 'var(--ds-gray-100)',\n color: 'var(--ds-gray-700)',\n opacity: ctx.isDecrypting ? 0.6 : 1,\n }}\n title=\"Click to decrypt\"\n >\n {ctx.isDecrypting ? (\n <Spinner size={12} />\n ) : (\n <Lock className=\"h-3 w-3\" />\n )}\n <span className=\"font-medium\">\n {ctx.isDecrypting ? 'Decrypting…' : 'Decrypt'}\n </span>\n </button>\n );\n }\n return (\n <div\n className=\"flex w-full items-center justify-center gap-1.5 rounded-md border px-3 py-2 text-xs\"\n style={{\n borderColor: 'var(--ds-gray-300)',\n backgroundColor: 'var(--ds-gray-100)',\n color: 'var(--ds-gray-700)',\n }}\n >\n <Lock className=\"h-3 w-3\" />\n <span className=\"font-medium\">Encrypted</span>\n </div>\n );\n}\n\n/**\n * Inline display for an expired field — flat label indicating data is no longer available.\n */\nfunction ExpiredFieldBlock() {\n return (\n <div\n className=\"flex items-center gap-1.5 rounded-md border px-3 py-2 text-xs\"\n style={{\n borderColor: 'var(--ds-gray-300)',\n backgroundColor: 'var(--ds-gray-100)',\n color: 'var(--ds-gray-700)',\n }}\n >\n <span className=\"font-medium\">Data expired</span>\n </div>\n );\n}\n\nfunction JsonBlock(value: unknown) {\n return <CopyableDataBlock data={value} />;\n}\n\nconst hasDisplayContent = (value: unknown): boolean => {\n if (value == null) return false;\n if (typeof value === 'string') return value.trim().length > 0;\n if (Array.isArray(value)) return value.length > 0;\n if (typeof value === 'object') return Object.keys(value).length > 0;\n return true;\n};\n\ntype AttributeKey =\n | keyof Step\n | keyof WorkflowRun\n | keyof Hook\n | keyof Event\n | 'moduleSpecifier'\n | 'eventData'\n | 'resumeAt'\n | 'expiredAt'\n | 'workflowCoreVersion'\n | 'receivedCount'\n | 'lastReceivedAt'\n | 'disposedAt';\n\nconst attributeOrder: AttributeKey[] = [\n 'workflowName',\n 'moduleSpecifier',\n 'stepName',\n 'status',\n 'stepId',\n 'hookId',\n 'eventId',\n 'runId',\n 'attempt',\n 'token',\n 'receivedCount',\n 'lastReceivedAt',\n 'disposedAt',\n 'correlationId',\n 'eventType',\n 'deploymentId',\n 'specVersion',\n 'workflowCoreVersion',\n 'ownerId',\n 'projectId',\n 'environment',\n 'executionContext',\n 'createdAt',\n 'startedAt',\n 'updatedAt',\n 'completedAt',\n 'expiredAt',\n 'retryAfter',\n 'error',\n 'metadata',\n 'eventData',\n 'input',\n 'output',\n 'resumeAt',\n];\n\nconst sortByAttributeOrder = (a: string, b: string): number => {\n const aIndex = attributeOrder.indexOf(a as AttributeKey) || 0;\n const bIndex = attributeOrder.indexOf(b as AttributeKey) || 0;\n return aIndex - bIndex;\n};\n\n/**\n * Display names for attributes that should render differently from their key.\n */\nconst attributeDisplayNames: Partial<Record<AttributeKey, string>> = {\n workflowCoreVersion: '@workflow/core version',\n receivedCount: 'times resolved',\n};\n\n/**\n * Get the display name for an attribute key.\n */\nconst getAttributeDisplayName = (attribute: string): string => {\n return attributeDisplayNames[attribute as AttributeKey] ?? attribute;\n};\n\nconst getModuleSpecifierFromName = (value: unknown): string => {\n const raw = String(value);\n const parsedStep = parseStepName(raw);\n if (parsedStep) {\n return parsedStep.moduleSpecifier;\n }\n const parsedWorkflow = parseWorkflowName(raw);\n if (parsedWorkflow) {\n return parsedWorkflow.moduleSpecifier;\n }\n return raw;\n};\n\nconst parseDateValue = (value: unknown): Date | null => {\n if (value == null) {\n return null;\n }\n if (value instanceof Date) {\n return Number.isNaN(value.getTime()) ? null : value;\n }\n if (typeof value === 'string' && value.trim().length === 0) {\n return null;\n }\n\n const date =\n typeof value === 'number' ? new Date(value) : new Date(String(value));\n return Number.isNaN(date.getTime()) ? null : date;\n};\n\nconst formatLocalMillisecondTime = (date: Date): string =>\n date.toLocaleString(undefined, {\n year: 'numeric',\n month: 'numeric',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n fractionalSecondDigits: 3,\n });\n\nexport const localMillisecondTime = (value: unknown): string => {\n const date = parseDateValue(value);\n if (!date) {\n return '-';\n }\n\n // e.g. 12/17/2025, 9:08:55.182 AM\n return formatLocalMillisecondTime(date);\n};\n\nconst localMillisecondTimeOrNull = (value: unknown): string | null => {\n const date = parseDateValue(value);\n if (!date) {\n return null;\n }\n return formatLocalMillisecondTime(date);\n};\n\nconst timestampWithTooltipOrNull = (value: unknown): ReactNode | null => {\n const date = parseDateValue(value);\n if (!date) return null;\n return (\n <TimestampTooltip date={date}>\n <span>{formatLocalMillisecondTime(date)}</span>\n </TimestampTooltip>\n );\n};\n\ninterface DisplayContext {\n stepName?: string;\n}\n\nconst attributeToDisplayFn: Record<\n AttributeKey,\n (value: unknown, context?: DisplayContext) => null | string | ReactNode\n> = {\n // Names that need pretty-printing\n workflowName: (value: unknown) =>\n parseWorkflowName(String(value))?.shortName ?? '?',\n moduleSpecifier: (value: unknown) => getModuleSpecifierFromName(value),\n stepName: (value: unknown) => parseStepName(String(value))?.shortName ?? '?',\n // IDs\n runId: (value: unknown) => String(value),\n stepId: (value: unknown) => String(value),\n hookId: (value: unknown) => String(value),\n eventId: (value: unknown) => String(value),\n // Run/step details\n status: (value: unknown) => String(value),\n attempt: (value: unknown) => String(value),\n // Hook details\n token: (value: unknown) => String(value),\n isWebhook: (value: unknown) => String(value),\n receivedCount: (value: unknown) => String(value),\n lastReceivedAt: localMillisecondTimeOrNull,\n disposedAt: localMillisecondTimeOrNull,\n // Event details\n eventType: (value: unknown) => String(value),\n correlationId: (value: unknown) => String(value),\n // Project details\n deploymentId: (value: unknown) => String(value),\n specVersion: (value: unknown) => String(value),\n workflowCoreVersion: (value: unknown) => String(value),\n // Tenancy (we don't show these)\n ownerId: (_value: unknown) => null,\n projectId: (_value: unknown) => null,\n environment: (_value: unknown) => null,\n executionContext: (_value: unknown) => null,\n // Dates — wrapped with TimestampTooltip showing UTC/local + relative time\n createdAt: timestampWithTooltipOrNull,\n startedAt: timestampWithTooltipOrNull,\n updatedAt: timestampWithTooltipOrNull,\n completedAt: timestampWithTooltipOrNull,\n expiredAt: timestampWithTooltipOrNull,\n retryAfter: timestampWithTooltipOrNull,\n resumeAt: timestampWithTooltipOrNull,\n // Resolved attributes, won't actually use this function\n metadata: (value: unknown) => {\n if (!hasDisplayContent(value)) return null;\n if (isEncryptedMarker(value)) return <EncryptedFieldBlock />;\n if (isExpiredMarker(value)) return <ExpiredFieldBlock />;\n return JsonBlock(value);\n },\n input: (value: unknown, context?: DisplayContext) => {\n if (isEncryptedMarker(value)) return <EncryptedFieldBlock />;\n if (isExpiredMarker(value)) return <ExpiredFieldBlock />;\n // Check if input has args + closure vars structure\n if (value && typeof value === 'object' && 'args' in value) {\n const { args, closureVars, thisVal } = value as {\n args: unknown[];\n closureVars?: Record<string, unknown>;\n thisVal?: unknown;\n };\n const argCount = Array.isArray(args) ? args.length : 0;\n const argLabel = argCount === 1 ? 'argument' : 'arguments';\n const hasClosureVars = hasDisplayContent(closureVars);\n const hasThisVal = hasDisplayContent(thisVal);\n const hasArgs = hasDisplayContent(args);\n\n // Check if this is a doStreamStep - show conversation view with tabs\n if (context?.stepName && isDoStreamStep(context.stepName)) {\n const conversation = extractConversation(args);\n if (conversation && conversation.length > 0) {\n return (\n <>\n <ConversationWithTabs conversation={conversation} args={args} />\n {hasClosureVars && (\n <DetailCard summary=\"Closure Variables\">\n {JsonBlock(closureVars)}\n </DetailCard>\n )}\n {hasThisVal && (\n <DetailCard summary=\"This Value\">\n {JsonBlock(thisVal)}\n </DetailCard>\n )}\n </>\n );\n }\n }\n\n // Don't render an empty \"Input (0 arguments)\" card when no input exists.\n if (!hasArgs && !hasClosureVars && !hasThisVal) {\n return (\n <DetailCard\n summary=\"Input (no data)\"\n disabled\n summaryClassName=\"text-base py-2\"\n />\n );\n }\n\n return (\n <>\n <DetailCard\n summary={`Input (${argCount} ${argLabel})`}\n summaryClassName=\"text-base py-2\"\n contentClassName=\"mt-0\"\n >\n {Array.isArray(args)\n ? args.map((v, i) => (\n <div className=\"mt-2 first:mt-0\" key={i}>\n {JsonBlock(v)}\n </div>\n ))\n : JsonBlock(args)}\n </DetailCard>\n {hasClosureVars && (\n <DetailCard summary=\"Closure Variables\">\n {JsonBlock(closureVars)}\n </DetailCard>\n )}\n {hasThisVal && (\n <DetailCard summary=\"this\">{JsonBlock(thisVal)}</DetailCard>\n )}\n </>\n );\n }\n\n // Fallback: treat as plain array or object\n const argCount = Array.isArray(value) ? value.length : 0;\n const argLabel = argCount === 1 ? 'argument' : 'arguments';\n if (!hasDisplayContent(value)) {\n return (\n <DetailCard\n summary=\"Input (no data)\"\n disabled\n summaryClassName=\"text-base py-2\"\n />\n );\n }\n return (\n <DetailCard\n summary={`Input (${argCount} ${argLabel})`}\n summaryClassName=\"text-base py-2\"\n contentClassName=\"mt-0\"\n >\n {Array.isArray(value)\n ? value.map((v, i) => (\n <div className=\"mt-2 first:mt-0\" key={i}>\n {JsonBlock(v)}\n </div>\n ))\n : JsonBlock(value)}\n </DetailCard>\n );\n },\n output: (value: unknown) => {\n if (!hasDisplayContent(value)) return null;\n if (isEncryptedMarker(value)) return <EncryptedFieldBlock />;\n if (isExpiredMarker(value)) return <ExpiredFieldBlock />;\n return (\n <DetailCard\n summary=\"Output\"\n summaryClassName=\"text-base py-2\"\n contentClassName=\"mt-0\"\n >\n {JsonBlock(value)}\n </DetailCard>\n );\n },\n error: (value: unknown) => {\n if (isEncryptedMarker(value)) return <EncryptedFieldBlock />;\n if (isExpiredMarker(value)) return <ExpiredFieldBlock />;\n if (!hasDisplayContent(value)) return null;\n\n // If the error object has a `stack` field, render it as readable\n // pre-formatted text. Otherwise fall back to the raw JSON viewer.\n if (isStructuredErrorWithStack(value)) {\n return (\n <DetailCard\n summary=\"Error\"\n summaryClassName=\"text-base py-2\"\n contentClassName=\"mt-0\"\n >\n <ErrorStackBlock value={value} />\n </DetailCard>\n );\n }\n\n return (\n <DetailCard\n summary=\"Error\"\n summaryClassName=\"text-base py-2\"\n contentClassName=\"mt-0\"\n >\n {JsonBlock(value)}\n </DetailCard>\n );\n },\n eventData: (value: unknown) => {\n if (isEncryptedMarker(value)) return <EncryptedFieldBlock />;\n if (isExpiredMarker(value)) return <ExpiredFieldBlock />;\n if (!hasDisplayContent(value)) return null;\n return <DetailCard summary=\"Event Data\">{JsonBlock(value)}</DetailCard>;\n },\n};\n\nconst resolvableAttributes = [\n 'input',\n 'output',\n 'error',\n 'metadata',\n 'eventData',\n];\n\nconst ExpiredDataMessage = () => (\n <div\n className=\"text-copy-12 rounded-md border p-4 my-2\"\n style={{\n borderColor: 'var(--ds-gray-300)',\n backgroundColor: 'var(--ds-gray-100)',\n color: 'var(--ds-gray-700)',\n }}\n >\n <span>The data for this run has expired and is no longer available.</span>\n </div>\n);\n\nexport const AttributeBlock = ({\n attribute,\n value,\n isLoading,\n inline = false,\n context,\n}: {\n attribute: string;\n value: unknown;\n isLoading?: boolean;\n inline?: boolean;\n context?: DisplayContext;\n}) => {\n const isExpandableLoadingTarget =\n attribute === 'input' ||\n attribute === 'output' ||\n attribute === 'eventData';\n if (isLoading && isExpandableLoadingTarget && !hasDisplayContent(value)) {\n return (\n <div\n className={`my-2 flex flex-col ${attribute === 'input' || attribute === 'output' ? 'gap-2 my-3.5' : 'gap-0'}`}\n >\n <span\n className={`${attribute === 'input' || attribute === 'output' ? 'text-base' : 'text-xs'} font-medium first-letter:uppercase`}\n style={{ color: 'var(--ds-gray-700)' }}\n >\n {attribute}\n </span>\n <Skeleton className=\"h-9 w-full rounded-md\" />\n </div>\n );\n }\n\n const displayFn =\n attributeToDisplayFn[attribute as keyof typeof attributeToDisplayFn];\n if (!displayFn) {\n return null;\n }\n const displayValue = displayFn(value, context);\n if (!displayValue) {\n return null;\n }\n\n if (inline) {\n return (\n <div className=\"flex items-center gap-1.5\">\n <span\n className=\"text-[11px] font-medium\"\n style={{ color: 'var(--ds-gray-700)' }}\n >\n {attribute}\n </span>\n <span className=\"text-[11px]\" style={{ color: 'var(--ds-gray-1000)' }}>\n {displayValue}\n </span>\n </div>\n );\n }\n\n return (\n <div className=\"relative\">\n {typeof isLoading === 'boolean' && isLoading && (\n <div className=\"absolute top-9 right-4\">\n <div\n className=\"animate-spin rounded-full h-4 w-4 border-b-2\"\n style={{ borderColor: 'var(--ds-gray-900)' }}\n />\n </div>\n )}\n <div\n key={attribute}\n className={`my-2 flex flex-col ${attribute === 'input' || attribute === 'output' || attribute === 'error' ? 'gap-2 my-3.5' : 'gap-0'}`}\n >\n <span\n className={`${attribute === 'input' || attribute === 'output' || attribute === 'error' ? 'text-base' : 'text-xs'} font-medium first-letter:uppercase`}\n style={{ color: 'var(--ds-gray-700)' }}\n >\n {attribute}\n </span>\n <span className=\"text-xs\" style={{ color: 'var(--ds-gray-1000)' }}>\n {displayValue}\n </span>\n </div>\n </div>\n );\n};\n\nexport const AttributePanel = ({\n data,\n moduleSpecifier,\n isLoading,\n error,\n expiredAt,\n onStreamClick,\n onDecrypt,\n isDecrypting = false,\n resource,\n}: {\n data: Record<string, unknown>;\n moduleSpecifier?: string;\n isLoading?: boolean;\n error?: Error;\n expiredAt?: string | Date;\n /** Callback when a stream reference is clicked */\n onStreamClick?: (streamId: string) => void;\n /** Callback when an encrypted marker is clicked (triggers decryption) */\n onDecrypt?: () => void;\n /** Whether decryption is currently in progress */\n isDecrypting?: boolean;\n /** Resource type of the selected span — used to show targeted loading skeletons. */\n resource?: string;\n}) => {\n const toast = useToast();\n // Extract workflowCoreVersion from executionContext for display\n const displayData = useMemo(() => {\n const result = { ...data };\n const execCtx = data.executionContext as\n | Record<string, unknown>\n | undefined;\n if (execCtx?.workflowCoreVersion) {\n result.workflowCoreVersion = execCtx.workflowCoreVersion;\n }\n if (moduleSpecifier) {\n result.moduleSpecifier = moduleSpecifier;\n } else if (typeof data.stepName === 'string') {\n result.moduleSpecifier = data.stepName;\n } else if (typeof data.workflowName === 'string') {\n result.moduleSpecifier = data.workflowName;\n }\n return result;\n }, [data, moduleSpecifier]);\n const hasExpired = expiredAt != null && new Date(expiredAt) < new Date();\n const basicAttributes = Object.keys(displayData)\n .filter((key) => !resolvableAttributes.includes(key))\n .sort(sortByAttributeOrder);\n const resolvedAttributes = useMemo(() => {\n const present = Object.keys(displayData)\n .filter((key) => resolvableAttributes.includes(key))\n .sort(sortByAttributeOrder);\n\n if (!isLoading) return present;\n\n // During loading, ensure input/output appear so their skeletons render\n // in the correct position (above the events section).\n const loadingDefaults = ['input', 'output'];\n for (const key of loadingDefaults) {\n if (!present.includes(key)) {\n present.push(key);\n }\n }\n return present.sort(sortByAttributeOrder);\n }, [displayData, isLoading]);\n\n // Filter out attributes that return null\n const visibleBasicAttributes = basicAttributes.filter((attribute) => {\n const displayFn =\n attributeToDisplayFn[attribute as keyof typeof attributeToDisplayFn];\n if (!displayFn) return false;\n const displayValue = displayFn(\n displayData[attribute as keyof typeof displayData]\n );\n return displayValue !== null;\n });\n\n // Keep `moduleSpecifier` immediately after `workflowName` or `stepName`.\n const orderedBasicAttributes = useMemo(() => {\n const attributes = [...visibleBasicAttributes];\n const moduleSpecifierIndex = attributes.indexOf('moduleSpecifier');\n if (moduleSpecifierIndex === -1) {\n return attributes;\n }\n\n attributes.splice(moduleSpecifierIndex, 1);\n const workflowNameIndex = attributes.indexOf('workflowName');\n if (workflowNameIndex !== -1) {\n attributes.splice(workflowNameIndex + 1, 0, 'moduleSpecifier');\n return attributes;\n }\n\n const stepNameIndex = attributes.indexOf('stepName');\n if (stepNameIndex !== -1) {\n attributes.splice(stepNameIndex + 1, 0, 'moduleSpecifier');\n return attributes;\n }\n\n attributes.unshift('moduleSpecifier');\n return attributes;\n }, [visibleBasicAttributes]);\n\n // Memoize context object to avoid object reconstruction on render\n const displayContext = useMemo(\n () => ({\n stepName: displayData.stepName as string | undefined,\n }),\n [displayData.stepName]\n );\n const handleCopyModuleSpecifier = useCallback((value: string) => {\n navigator.clipboard\n .writeText(value)\n .then(() => {\n toast.success('moduleSpecifier copied');\n })\n .catch(() => {\n toast.error('Failed to copy moduleSpecifier');\n });\n }, []);\n\n return (\n <StreamClickContext.Provider value={onStreamClick}>\n <DecryptClickContext.Provider\n value={onDecrypt ? { onDecrypt, isDecrypting } : undefined}\n >\n <div>\n {/* Basic attributes in a vertical layout with border */}\n {visibleBasicAttributes.length > 0 && (\n <div\n className=\"mb-3 flex flex-col overflow-hidden rounded-lg border\"\n style={{\n borderColor: 'var(--ds-gray-300)',\n }}\n >\n {orderedBasicAttributes.map((attribute, index) => {\n const displayValue = attributeToDisplayFn[\n attribute as keyof typeof attributeToDisplayFn\n ]?.(displayData[attribute as keyof typeof displayData]);\n const isModuleSpecifier = attribute === 'moduleSpecifier';\n const moduleSpecifierValue =\n typeof displayValue === 'string'\n ? displayValue\n : String(displayValue ?? displayData.moduleSpecifier ?? '');\n const shouldCapitalizeLabel =\n attribute !== 'workflowCoreVersion';\n const showResumeAtSkeleton =\n isLoading && resource === 'sleep' && !displayData.resumeAt;\n const showDivider =\n index < orderedBasicAttributes.length - 1 ||\n showResumeAtSkeleton;\n\n return (\n <div key={attribute} className=\"py-1\">\n <div className=\"flex min-h-[32px] items-center justify-between gap-4 rounded-sm px-2.5 py-1\">\n <span\n className={\n shouldCapitalizeLabel\n ? 'text-[14px] first-letter:uppercase'\n : 'text-[14px]'\n }\n style={{ color: 'var(--ds-gray-700)' }}\n >\n {getAttributeDisplayName(attribute)}\n </span>\n {isModuleSpecifier ? (\n <button\n type=\"button\"\n className=\"min-w-0 max-w-[70%] truncate text-right text-[13px] font-mono\"\n style={{\n color: 'var(--ds-gray-1000)',\n background: 'transparent',\n border: 'none',\n padding: 0,\n }}\n title={moduleSpecifierValue}\n onClick={() =>\n handleCopyModuleSpecifier(moduleSpecifierValue)\n }\n >\n {moduleSpecifierValue}\n </button>\n ) : (\n <span\n className=\"min-w-0 max-w-[70%] truncate text-right text-[13px] font-mono\"\n style={{ color: 'var(--ds-gray-1000)' }}\n >\n {displayValue}\n </span>\n )}\n </div>\n {showDivider ? (\n <div\n className=\"mx-2.5 border-b\"\n style={{ borderColor: 'var(--ds-gray-300)' }}\n />\n ) : null}\n </div>\n );\n })}\n {isLoading && resource === 'sleep' && !displayData.resumeAt && (\n <div className=\"py-1\">\n <div className=\"flex min-h-[32px] items-center justify-between gap-4 rounded-sm px-2.5 py-1\">\n <span\n className=\"text-[14px] first-letter:uppercase\"\n style={{ color: 'var(--ds-gray-700)' }}\n >\n resumeAt\n </span>\n <Skeleton className=\"h-4 w-[55%]\" />\n </div>\n </div>\n )}\n </div>\n )}\n {error ? (\n <ErrorCard\n title=\"Failed to load resource details\"\n details={error.message}\n className=\"my-4\"\n />\n ) : hasExpired ? (\n <ExpiredDataMessage />\n ) : (\n <>\n {resolvedAttributes.map((attribute) => (\n <AttributeBlock\n isLoading={isLoading}\n key={attribute}\n attribute={attribute}\n value={displayData[attribute as keyof typeof displayData]}\n context={displayContext}\n />\n ))}\n </>\n )}\n </div>\n </DecryptClickContext.Provider>\n </StreamClickContext.Provider>\n );\n};\n"]}