@promptbook/components 0.112.0-51 → 0.112.0-52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/esm/index.es.js CHANGED
@@ -40,7 +40,7 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
40
40
  * @generated
41
41
  * @see https://github.com/webgptorg/promptbook
42
42
  */
43
- const PROMPTBOOK_ENGINE_VERSION = '0.112.0-51';
43
+ const PROMPTBOOK_ENGINE_VERSION = '0.112.0-52';
44
44
  /**
45
45
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
46
46
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -13559,9 +13559,7 @@ function createSerpSearchToolFunction(toolName, resultLabel) {
13559
13559
  const searchEngine = new SerpSearchEngine();
13560
13560
  const results = await searchEngine.search(query, searchOptions);
13561
13561
  return spaceTrim$1((block) => `
13562
- ${resultLabel} results for "${query}"${Object.keys(searchOptions).length === 0
13563
- ? ''
13564
- : ` with options ${JSON.stringify(searchOptions)}`}:
13562
+ ${resultLabel} results for "${query}"${Object.keys(searchOptions).length === 0 ? '' : ` with options ${JSON.stringify(searchOptions)}`}:
13565
13563
 
13566
13564
  ${block(results
13567
13565
  .map((result) => spaceTrim$1(`
@@ -22582,7 +22580,8 @@ function useChatCompleteNotification(messages, soundSystem) {
22582
22580
  if (currentSnapshot.lastMessageSender === 'USER' || !currentSnapshot.isLastMessageComplete) {
22583
22581
  return;
22584
22582
  }
22585
- const isSameMessageCompletionTransition = previousSnapshot.lastMessageKey === currentSnapshot.lastMessageKey && !previousSnapshot.isLastMessageComplete;
22583
+ const isSameMessageCompletionTransition = previousSnapshot.lastMessageKey === currentSnapshot.lastMessageKey &&
22584
+ !previousSnapshot.isLastMessageComplete;
22586
22585
  const isCompletedReplyAppended = previousSnapshot.lastMessageSender === 'USER' &&
22587
22586
  areMessageKeyListsSequentialPrefix(previousSnapshot.messageKeys, currentSnapshot.messageKeys);
22588
22587
  const isIncompletePlaceholderReplacedByCompletedReply = !previousSnapshot.isLastMessageComplete &&
@@ -26469,8 +26468,7 @@ function createOrganicOctopusBodyPoints(options) {
26469
26468
  const surfaceWave = Math.sin(angle * 3 + shapePhase + timeMs / 1200) * 0.62 +
26470
26469
  Math.sin(angle * 5 - shapePhase * 0.7 - timeMs / 910) * 0.38;
26471
26470
  const breathingWave = Math.sin(timeMs / 960 + shapePhase + angle * 0.45) * wobbleAmplitude;
26472
- const radius = bodyRadius *
26473
- (1 + upperFactor * 0.12 + lowerFactor * 0.08 + surfaceWave * 0.05) +
26471
+ const radius = bodyRadius * (1 + upperFactor * 0.12 + lowerFactor * 0.08 + surfaceWave * 0.05) +
26474
26472
  tentacleWave +
26475
26473
  breathingWave;
26476
26474
  return {
@@ -26525,7 +26523,9 @@ function createOrganicOctopusTentacleShapes(options) {
26525
26523
  var _a, _b, _c, _d, _e, _f, _g, _h;
26526
26524
  const { size, centerX, centerY, bodyRadius, horizontalStretch, tentacleCount, shapePhase, createRandom, timeMs, saltPrefix, bodyPoints, variation, } = options;
26527
26525
  const baseY = centerY + bodyRadius * 0.74;
26528
- const lowerBodyAnchorPoints = bodyPoints ? resolveTentacleBodyAnchorPoints(bodyPoints, centerY + bodyRadius * 0.04) : null;
26526
+ const lowerBodyAnchorPoints = bodyPoints
26527
+ ? resolveTentacleBodyAnchorPoints(bodyPoints, centerY + bodyRadius * 0.04)
26528
+ : null;
26529
26529
  const flowLengthScale = (_a = variation === null || variation === void 0 ? void 0 : variation.flowLengthScale) !== null && _a !== void 0 ? _a : 1;
26530
26530
  const lateralReachScale = (_b = variation === null || variation === void 0 ? void 0 : variation.lateralReachScale) !== null && _b !== void 0 ? _b : 1;
26531
26531
  const tipReachScale = (_c = variation === null || variation === void 0 ? void 0 : variation.tipReachScale) !== null && _c !== void 0 ? _c : 1;
@@ -26602,7 +26602,9 @@ function createOrganicOctopusTentacleShapes(options) {
26602
26602
  * @private shared geometry helper of `octopus3AvatarVisual`
26603
26603
  */
26604
26604
  function resolveTentacleBodyAnchorPoints(bodyPoints, lowerBodyThresholdY) {
26605
- const lowerBodyPoints = bodyPoints.filter((bodyPoint) => bodyPoint.y >= lowerBodyThresholdY).sort((leftPoint, rightPoint) => leftPoint.x - rightPoint.x);
26605
+ const lowerBodyPoints = bodyPoints
26606
+ .filter((bodyPoint) => bodyPoint.y >= lowerBodyThresholdY)
26607
+ .sort((leftPoint, rightPoint) => leftPoint.x - rightPoint.x);
26606
26608
  if (lowerBodyPoints.length >= 2) {
26607
26609
  return lowerBodyPoints;
26608
26610
  }
@@ -26670,8 +26672,7 @@ function sampleOrganicTentacleRibbonPoints(tentacleShape) {
26670
26672
  const tangentX = nextPoint.x - previousPoint.x;
26671
26673
  const tangentY = nextPoint.y - previousPoint.y;
26672
26674
  const tangentLength = Math.hypot(tangentX, tangentY) || 1;
26673
- const width = tentacleShape.baseWidth +
26674
- (tentacleShape.tipWidth - tentacleShape.baseWidth) * Math.pow(progress, 1.1);
26675
+ const width = tentacleShape.baseWidth + (tentacleShape.tipWidth - tentacleShape.baseWidth) * Math.pow(progress, 1.1);
26675
26676
  return {
26676
26677
  x: point.x,
26677
26678
  y: point.y,
@@ -26696,10 +26697,8 @@ function resolveOrganicEyeMotion(options) {
26696
26697
  const autonomousOffsetY = Math.cos(timeMs / 940 + phase) * radiusY * autonomousDriftRatioY;
26697
26698
  const interactionBlend = Math.min(1, interaction.intensity * 0.9);
26698
26699
  return {
26699
- pupilOffsetX: autonomousOffsetX * (1 - interactionBlend) +
26700
- interaction.gazeX * radiusX * (0.18 + interactionBlend * 0.18),
26701
- pupilOffsetY: autonomousOffsetY * (1 - interactionBlend) +
26702
- interaction.gazeY * radiusY * (0.16 + interactionBlend * 0.16),
26700
+ pupilOffsetX: autonomousOffsetX * (1 - interactionBlend) + interaction.gazeX * radiusX * (0.18 + interactionBlend * 0.18),
26701
+ pupilOffsetY: autonomousOffsetY * (1 - interactionBlend) + interaction.gazeY * radiusY * (0.16 + interactionBlend * 0.16),
26703
26702
  };
26704
26703
  }
26705
26704
  /**
@@ -26746,7 +26745,7 @@ const OUTLINE_GLYPHS = ['#', '%', '@'];
26746
26745
  *
26747
26746
  * @private helper of `asciiOctopusAvatarVisual`
26748
26747
  */
26749
- const ATMOSPHERE_GLYPHS = ['.', ':', '\'', '`'];
26748
+ const ATMOSPHERE_GLYPHS = ['.', ':', "'", '`'];
26750
26749
  /**
26751
26750
  * AsciiOctopus avatar visual.
26752
26751
  *
@@ -26853,7 +26852,9 @@ function resolveAsciiGlyph(options) {
26853
26852
  return resolveAtmosphereGlyph(point, layout, palette, noise, timeMs);
26854
26853
  }
26855
26854
  const isInsideBody = isPointInsidePolygon(point, layout.bodyPoints);
26856
- const bodyEdgeDistance = isInsideBody ? getDistanceToPolyline(point, layout.bodyPoints, true) : Number.POSITIVE_INFINITY;
26855
+ const bodyEdgeDistance = isInsideBody
26856
+ ? getDistanceToPolyline(point, layout.bodyPoints, true)
26857
+ : Number.POSITIVE_INFINITY;
26857
26858
  const tentacleCoverage = measureTentacleCoverage(point, layout.sampledTentacles, cellWidth);
26858
26859
  if (isInsideBody || tentacleCoverage) {
26859
26860
  return resolveOctopusSurfaceGlyph({
@@ -26930,7 +26931,8 @@ function resolveMouthGlyph(point, layout, palette, cellHeight) {
26930
26931
  if (mouthDistance > cellHeight * 0.38) {
26931
26932
  return null;
26932
26933
  }
26933
- const horizontalProgress = clamp01((point.x - layout.mouthPoints[0].x) / (layout.mouthPoints[layout.mouthPoints.length - 1].x - layout.mouthPoints[0].x));
26934
+ const horizontalProgress = clamp01((point.x - layout.mouthPoints[0].x) /
26935
+ (layout.mouthPoints[layout.mouthPoints.length - 1].x - layout.mouthPoints[0].x));
26934
26936
  let character = '-';
26935
26937
  if (horizontalProgress < 0.28) {
26936
26938
  character = '\\';
@@ -26955,7 +26957,7 @@ function resolveMouthGlyph(point, layout, palette, cellHeight) {
26955
26957
  * @private helper of `asciiOctopusAvatarVisual`
26956
26958
  */
26957
26959
  function resolveOctopusSurfaceGlyph(options) {
26958
- const { point, layout, palette, isInsideBody, bodyEdgeDistance, tentacleCoverage, cellHeight, noise, timeMs, } = options;
26960
+ const { point, layout, palette, isInsideBody, bodyEdgeDistance, tentacleCoverage, cellHeight, noise, timeMs } = options;
26959
26961
  const isTentacleDominant = tentacleCoverage !== null && (!isInsideBody || point.y > layout.centerY + layout.bodyRadius * 0.08);
26960
26962
  if (isTentacleDominant && tentacleCoverage) {
26961
26963
  const isSuckerBand = tentacleCoverage.progress > 0.24 && tentacleCoverage.progress < 0.82 && noise > 0.78;
@@ -27126,7 +27128,9 @@ function createAsciiOctopusLayout(size, timeMs, createRandom, staticRandom, inte
27126
27128
  };
27127
27129
  const mouthPoints = sampleQuadraticBezierPoints({ x: centerX - size * 0.074, y: centerY + size * 0.092 }, {
27128
27130
  x: centerX,
27129
- y: centerY + size * (0.142 + Math.sin(timeMs / 620 + shapePhase) * 0.016) + interaction.gazeY * size * 0.012,
27131
+ y: centerY +
27132
+ size * (0.142 + Math.sin(timeMs / 620 + shapePhase) * 0.016) +
27133
+ interaction.gazeY * size * 0.012,
27130
27134
  }, { x: centerX + size * 0.074, y: centerY + size * 0.092 }, 12);
27131
27135
  let leftBound = Number.POSITIVE_INFINITY;
27132
27136
  let rightBound = Number.NEGATIVE_INFINITY;
@@ -27388,8 +27392,7 @@ const fractalAvatarVisual = {
27388
27392
  size,
27389
27393
  centerX: centerX + (layerRandom() - 0.5) * size * 0.08,
27390
27394
  centerY: centerY + (layerRandom() - 0.5) * size * 0.08,
27391
- rotation: layerRandom() * Math.PI * 2 +
27392
- Math.sin(timeMs / (1700 + layerIndex * 280) + layerIndex) * 0.14,
27395
+ rotation: layerRandom() * Math.PI * 2 + Math.sin(timeMs / (1700 + layerIndex * 280) + layerIndex) * 0.14,
27393
27396
  scale: size * (0.19 + layerIndex * 0.055 + layerRandom() * 0.045),
27394
27397
  horizontalStretch: 0.74 + layerRandom() * 0.9,
27395
27398
  verticalStretch: 0.74 + layerRandom() * 0.9,
@@ -27458,7 +27461,14 @@ function drawFractalBackground(context, size, palette, timeMs, haloRotation) {
27458
27461
  function createDragonCurveTurns(order) {
27459
27462
  let turns = [];
27460
27463
  for (let iteration = 0; iteration < order; iteration++) {
27461
- turns = [...turns, 1, ...turns.slice().reverse().map((turn) => (turn === 1 ? -1 : 1))];
27464
+ turns = [
27465
+ ...turns,
27466
+ 1,
27467
+ ...turns
27468
+ .slice()
27469
+ .reverse()
27470
+ .map((turn) => (turn === 1 ? -1 : 1)),
27471
+ ];
27462
27472
  }
27463
27473
  return turns;
27464
27474
  }
@@ -27502,7 +27512,7 @@ function createDragonCurvePoints(turnSequence) {
27502
27512
  * @private helper of `fractalAvatarVisual`
27503
27513
  */
27504
27514
  function transformDragonCurvePoints(points, options) {
27505
- const { size, centerX, centerY, rotation, scale, horizontalStretch, verticalStretch, warpAmplitude, warpPhase, mirrorX, mirrorY, timeMs } = options;
27515
+ const { size, centerX, centerY, rotation, scale, horizontalStretch, verticalStretch, warpAmplitude, warpPhase, mirrorX, mirrorY, timeMs, } = options;
27506
27516
  const bounds = getPointBounds(points);
27507
27517
  const width = Math.max(1, bounds.maxX - bounds.minX);
27508
27518
  const height = Math.max(1, bounds.maxY - bounds.minY);
@@ -27519,7 +27529,10 @@ function transformDragonCurvePoints(points, options) {
27519
27529
  const rotatedY = normalizedX * sine + normalizedY * cosine;
27520
27530
  return {
27521
27531
  x: centerX + rotatedX + Math.sin(progress * Math.PI * 2 + warpPhase) * localWarp,
27522
- y: centerY + rotatedY + Math.cos(progress * Math.PI * 3 + warpPhase * 0.6) * localWarp + (progress - 0.5) * size * 0.02,
27532
+ y: centerY +
27533
+ rotatedY +
27534
+ Math.cos(progress * Math.PI * 3 + warpPhase * 0.6) * localWarp +
27535
+ (progress - 0.5) * size * 0.02,
27523
27536
  };
27524
27537
  });
27525
27538
  }
@@ -28706,8 +28719,7 @@ function drawTentacleSuckers(context, tentacleShape, palette) {
28706
28719
  const tangentLength = Math.hypot(tangentX, tangentY) || 1;
28707
28720
  const normalX = (-tangentY / tangentLength) * undersideDirection;
28708
28721
  const normalY = (tangentX / tangentLength) * undersideDirection;
28709
- const width = tentacleShape.baseWidth +
28710
- (tentacleShape.tipWidth - tentacleShape.baseWidth) * Math.pow(progress, 1.1);
28722
+ const width = tentacleShape.baseWidth + (tentacleShape.tipWidth - tentacleShape.baseWidth) * Math.pow(progress, 1.1);
28711
28723
  const suckerX = point.x + normalX * width * 0.52;
28712
28724
  const suckerY = point.y + normalY * width * 0.52;
28713
28725
  const rotation = Math.atan2(normalY, normalX);
@@ -28745,7 +28757,8 @@ function drawMantleCurrents(context, centerX, centerY, size, palette, timeMs, sh
28745
28757
  context.moveTo(centerX + horizontalOffset * 0.3, centerY - size * (0.11 + morphologyProfile.body.verticalStretch * 0.02));
28746
28758
  context.bezierCurveTo(centerX + horizontalOffset - sway * 0.25, centerY - size * 0.04, centerX + horizontalOffset + sway, centerY + size * 0.06, centerX + horizontalOffset * 0.7 + sway * 0.46, centerY + size * (0.16 + morphologyProfile.body.verticalStretch * 0.035));
28747
28759
  context.strokeStyle = currentIndex % 2 === 0 ? `${palette.highlight}30` : `${palette.accent}26`;
28748
- context.lineWidth = size * (0.0075 + currentIndex * 0.00065 + morphologyProfile.tentacles.baseWidthScale * 0.0005);
28760
+ context.lineWidth =
28761
+ size * (0.0075 + currentIndex * 0.00065 + morphologyProfile.tentacles.baseWidthScale * 0.0005);
28749
28762
  context.lineCap = 'round';
28750
28763
  context.stroke();
28751
28764
  }
@@ -28905,7 +28918,10 @@ const pixelArtAvatarVisual = {
28905
28918
  : rowIndex > pixelGridSize - emblemHeight - 1
28906
28919
  ? colorStops.length
28907
28920
  : 3)))];
28908
- if (columnIndex === 0 && rowIndex >= cheekInset && rowIndex <= pixelGridSize - cheekInset - 1 && random() < 0.4) {
28921
+ if (columnIndex === 0 &&
28922
+ rowIndex >= cheekInset &&
28923
+ rowIndex <= pixelGridSize - cheekInset - 1 &&
28924
+ random() < 0.4) {
28909
28925
  continue;
28910
28926
  }
28911
28927
  drawPixel(context, panelX + columnIndex * pixelSize, panelY + rowIndex * pixelSize, pixelSize, color);
@@ -29057,7 +29073,7 @@ const ACTIVE_POINTER_BOUNDS_REFRESH_MS = 120;
29057
29073
  * @private shared component for in-repository avatar previews
29058
29074
  */
29059
29075
  function Avatar(props) {
29060
- const { avatarDefinition, visualId, surface = 'framed', size = DEFAULT_AVATAR_SIZE, title, className, style } = props;
29076
+ const { avatarDefinition, visualId, surface = 'framed', size = DEFAULT_AVATAR_SIZE, title, className, style, } = props;
29061
29077
  const canvasRef = useRef(null);
29062
29078
  const animationStartRef = useRef(null);
29063
29079
  const interactionRuntimeStateRef = useRef(createAvatarInteractionRuntimeState());
@@ -29160,14 +29176,7 @@ function Avatar(props) {
29160
29176
  releaseAnimationListener();
29161
29177
  releasePointerTracking === null || releasePointerTracking === void 0 ? void 0 : releasePointerTracking();
29162
29178
  };
29163
- }, [
29164
- avatarDefinitionKey,
29165
- isVisible,
29166
- resolvedAvatarRenderDefinition,
29167
- size,
29168
- surface,
29169
- visualId,
29170
- ]);
29179
+ }, [avatarDefinitionKey, isVisible, resolvedAvatarRenderDefinition, size, surface, visualId]);
29171
29180
  return (jsx("canvas", { ref: canvasRef, title: title || `${resolvedAvatarRenderDefinition.avatarDefinition.agentName} avatar`, className: className, style: {
29172
29181
  width: size,
29173
29182
  height: size,
@@ -39901,7 +39910,9 @@ function createDeepSearchAgentInstructions(toolDescription) {
39901
39910
  * @private helper of `OpenAiAgentKitExecutionTools`
39902
39911
  */
39903
39912
  function buildDeepSearchToolInput(rawInput) {
39904
- const input = rawInput && typeof rawInput === 'object' ? rawInput : {};
39913
+ const input = rawInput && typeof rawInput === 'object'
39914
+ ? rawInput
39915
+ : {};
39905
39916
  const query = typeof input.query === 'string' ? input.query.trim() : '';
39906
39917
  const additionalHints = Object.entries(input)
39907
39918
  .filter(([key, value]) => key !== 'query' && value !== undefined && value !== null && String(value).trim() !== '')
@@ -42342,8 +42353,7 @@ class AgentLlmExecutionTools {
42342
42353
  console.info('[🤰]', 'Prepared OpenAI Assistant prompt', {
42343
42354
  agent: this.title,
42344
42355
  toolNames: (_b = (_a = promptWithAgentModelRequirementsForOpenAiAssistantExecutionTools.modelRequirements.tools) === null || _a === void 0 ? void 0 : _a.map((tool) => tool.name)) !== null && _b !== void 0 ? _b : [],
42345
- knowledgeSourcesCount: (_d = (_c = promptWithAgentModelRequirementsForOpenAiAssistantExecutionTools.modelRequirements
42346
- .knowledgeSources) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0,
42356
+ knowledgeSourcesCount: (_d = (_c = promptWithAgentModelRequirementsForOpenAiAssistantExecutionTools.modelRequirements.knowledgeSources) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0,
42347
42357
  });
42348
42358
  }
42349
42359
  return assistant.callChatModelStream(promptWithAgentModelRequirementsForOpenAiAssistantExecutionTools, options.onProgress, options.streamOptions);
@@ -47623,9 +47633,7 @@ const ChatMessageItem = memo(
47623
47633
  borderRadius: '50%',
47624
47634
  } })), isAvatarTooltipVisible && (participant === null || participant === void 0 ? void 0 : participant.agentSource) && avatarTooltipPosition && (jsx(AvatarProfileTooltip, { ref: tooltipRef, agentSource: participant.agentSource, position: avatarTooltipPosition }))] })), jsxs("div", { className: classNames(styles$5.messageStack, chatCssClassNames.messageStack), children: [shouldShowParticipantLabel && participantLabel && (jsx("div", { className: styles$5.participantLabel, children: participantLabel })), jsxs("div", { className: classNames(styles$5.messageText, isReplyActionEnabled && styles$5.replyEnabledMessageText, isReplySwipeArmed && styles$5.replySwipeActive, isAgentArticleMode && styles$5.articleModeAgentMessageText, chatCssClassNames.messageContent), style: {
47625
47635
  '--message-bg-color': isAgentArticleMode ? articleModeBackgroundColor : color.toHex(),
47626
- '--message-text-color': isAgentArticleMode
47627
- ? articleModeTextColor
47628
- : colorOfText.toHex(),
47636
+ '--message-text-color': isAgentArticleMode ? articleModeTextColor : colorOfText.toHex(),
47629
47637
  '--chat-message-swipe-offset': swipeTranslation,
47630
47638
  }, onPointerDown: handleReplyPointerDown, onPointerMove: handleReplyPointerMove, onPointerUp: handleReplyPointerEnd, onPointerCancel: resetReplySwipe, children: [isReplyActionEnabled && (jsx("div", { className: classNames(styles$5.replySwipeIndicator, isMe && styles$5.replySwipeIndicatorRight, isReplySwipeArmed && styles$5.replySwipeIndicatorActive), "aria-hidden": "true", children: jsx(Reply, { className: styles$5.replySwipeIndicatorIcon }) })), !shouldRenderArticleActionsBar && renderMessageReadAndCopyControls(), message.isVoiceCall && (jsx("div", { className: styles$5.voiceCallIndicator, children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z" }) }) })), replyingToMessage && replyPreviewText && replySenderLabel && (jsx(ChatReplyPreview, { label: replyPreviewLabel, senderLabel: replySenderLabel, previewText: replyPreviewText, className: styles$5.replyBubblePreview })), jsx("div", { ref: contentWithoutButtonsRef, children: jsx(ChatMessageRichContent, { content: message.content, contentSegments: contentSegments, streamingFeaturePlaceholderKind: streamingFeaturePlaceholderKind, onCreateAgent: onCreateAgent, mode: mode }) }), message.attachments && message.attachments.length > 0 && (jsx("div", { className: styles$5.attachments, children: message.attachments.map((attachment, index) => (jsxs("a", { href: attachment.url, target: "_blank", rel: "noopener noreferrer", className: styles$5.attachment, title: attachment.name, children: [jsx("span", { className: styles$5.attachmentIcon, children: "\uD83D\uDCCE" }), jsx("span", { className: styles$5.attachmentName, children: attachment.name })] }, index))) })), jsx(ChatMessageToolCallChips, { chips: toolCallChips, onToolCallClick: onToolCallClick }), citationFootnoteRenderModel.footnotes.length > 0 && (jsx("div", { className: styles$5.citationFootnotes, children: citationFootnoteRenderModel.footnotes.map((footnote) => (jsxs("div", { className: styles$5.citationFootnoteItem, children: [jsx("span", { className: styles$5.citationFootnoteNumber, children: footnote.number }), jsx(SourceChip, { citation: footnote.citation, onClick: onCitationClick, isCitationIdVisible: false })] }, `citation-footnote-${footnote.number}-${footnote.citation.source}`))) })), transitiveCitations.length > 0 && (jsx("div", { className: styles$5.sourceCitations, children: transitiveCitations.map((citation, index) => (jsx(SourceChip, { citation: citation, suffix: `by ${citation.origin.label}`, onClick: onCitationClick }, `team-source-${citation.source}-${index}`))) })), shouldShowButtons && (jsx("div", { className: styles$5.messageButtons, children: renderableButtons.map(({ button, buttonIndex }) => (jsx("button", { type: "button", className: classNames(styles$5.messageButton, button.type === 'action' && styles$5.actionMessageButton), onClick: (event) => {
47631
47639
  event.stopPropagation();
@@ -49446,7 +49454,10 @@ function renderGenericToolCallDetails(options) {
49446
49454
  * @private function of ChatToolCallModal
49447
49455
  */
49448
49456
  function isSearchToolCallName(toolName) {
49449
- return toolName === 'web_search' || toolName === 'deep_search' || toolName === 'useSearchEngine' || toolName === 'search';
49457
+ return (toolName === 'web_search' ||
49458
+ toolName === 'deep_search' ||
49459
+ toolName === 'useSearchEngine' ||
49460
+ toolName === 'search');
49450
49461
  }
49451
49462
  /**
49452
49463
  * Checks whether a tool name should use the time renderer.