special-result-panel.tsx 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import { RetryResultPanel } from './retry-log'
  2. import { IterationResultPanel } from './iteration-log'
  3. import { LoopResultPanel } from './loop-log'
  4. import { AgentResultPanel } from './agent-log'
  5. import type {
  6. AgentLogItemWithChildren,
  7. IterationDurationMap,
  8. LoopDurationMap,
  9. NodeTracing,
  10. } from '@/types/workflow'
  11. export type SpecialResultPanelProps = {
  12. showRetryDetail?: boolean
  13. setShowRetryDetailFalse?: () => void
  14. retryResultList?: NodeTracing[]
  15. showIteratingDetail?: boolean
  16. setShowIteratingDetailFalse?: () => void
  17. iterationResultList?: NodeTracing[][]
  18. iterationResultDurationMap?: IterationDurationMap
  19. showLoopingDetail?: boolean
  20. setShowLoopingDetailFalse?: () => void
  21. loopResultList?: NodeTracing[][]
  22. loopResultDurationMap?: LoopDurationMap
  23. agentOrToolLogItemStack?: AgentLogItemWithChildren[]
  24. agentOrToolLogListMap?: Record<string, AgentLogItemWithChildren[]>
  25. handleShowAgentOrToolLog?: (detail?: AgentLogItemWithChildren) => void
  26. }
  27. const SpecialResultPanel = ({
  28. showRetryDetail,
  29. setShowRetryDetailFalse,
  30. retryResultList,
  31. showIteratingDetail,
  32. setShowIteratingDetailFalse,
  33. iterationResultList,
  34. iterationResultDurationMap,
  35. showLoopingDetail,
  36. setShowLoopingDetailFalse,
  37. loopResultList,
  38. loopResultDurationMap,
  39. agentOrToolLogItemStack,
  40. agentOrToolLogListMap,
  41. handleShowAgentOrToolLog,
  42. }: SpecialResultPanelProps) => {
  43. return (
  44. <div onClick={(e) => {
  45. e.stopPropagation()
  46. e.nativeEvent.stopImmediatePropagation()
  47. }}>
  48. {
  49. !!showRetryDetail && !!retryResultList?.length && setShowRetryDetailFalse && (
  50. <RetryResultPanel
  51. list={retryResultList}
  52. onBack={setShowRetryDetailFalse}
  53. />
  54. )
  55. }
  56. {
  57. showIteratingDetail && !!iterationResultList?.length && setShowIteratingDetailFalse && (
  58. <IterationResultPanel
  59. list={iterationResultList}
  60. onBack={setShowIteratingDetailFalse}
  61. iterDurationMap={iterationResultDurationMap}
  62. />
  63. )
  64. }
  65. {
  66. showLoopingDetail && !!loopResultList?.length && setShowLoopingDetailFalse && (
  67. <LoopResultPanel
  68. list={loopResultList}
  69. onBack={setShowLoopingDetailFalse}
  70. loopDurationMap={loopResultDurationMap}
  71. />
  72. )
  73. }
  74. {
  75. !!agentOrToolLogItemStack?.length && agentOrToolLogListMap && handleShowAgentOrToolLog && (
  76. <AgentResultPanel
  77. agentOrToolLogItemStack={agentOrToolLogItemStack}
  78. agentOrToolLogListMap={agentOrToolLogListMap}
  79. onShowAgentOrToolLog={handleShowAgentOrToolLog}
  80. />
  81. )
  82. }
  83. </div>
  84. )
  85. }
  86. export default SpecialResultPanel