| 490 | } |
| 491 | |
| 492 | function createTimelineEvent( |
| 493 | eventType: string, |
| 494 | event: RuntimeScopedHookEvent, |
| 495 | ): TimelineEvent { |
| 496 | return { |
| 497 | id: event.eventId ?? `${eventType}:${event.timestamp}:${Math.random()}`, |
| 498 | eventType, |
| 499 | timestamp: event.timestamp, |
| 500 | ...(event.source ? { source: event.source } : {}), |
| 501 | ...(event.visibility ? { visibility: event.visibility } : {}), |
| 502 | ...(event.runtimeId ? { runtimeId: event.runtimeId } : {}), |
| 503 | ...(event.hookId ? { hookId: event.hookId } : {}), |
| 504 | ...(event.threadId ? { threadId: event.threadId } : {}), |
| 505 | ...(event.runId ? { runId: event.runId } : {}), |
| 506 | ...(event.messageId ? { messageId: event.messageId } : {}), |
| 507 | ...(event.toolCallId ? { toolCallId: event.toolCallId } : {}), |
| 508 | payload: event, |
| 509 | } |
| 510 | } |
| 511 | |
| 512 | function isForeignClientRuntimeEvent(event: RuntimeScopedHookEvent): boolean { |
| 513 | return ( |