@promptbook/components 0.112.0-50 → 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.
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
15
15
  export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
16
16
  /**
17
17
  * Represents the version string of the Promptbook engine.
18
- * It follows semantic versioning (e.g., `0.112.0-49`).
18
+ * It follows semantic versioning (e.g., `0.112.0-51`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/components",
3
- "version": "0.112.0-50",
3
+ "version": "0.112.0-52",
4
4
  "description": "Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action",
5
5
  "private": false,
6
6
  "sideEffects": false,
package/umd/index.umd.js CHANGED
@@ -30,7 +30,7 @@
30
30
  * @generated
31
31
  * @see https://github.com/webgptorg/promptbook
32
32
  */
33
- const PROMPTBOOK_ENGINE_VERSION = '0.112.0-50';
33
+ const PROMPTBOOK_ENGINE_VERSION = '0.112.0-52';
34
34
  /**
35
35
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
36
36
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -13549,9 +13549,7 @@
13549
13549
  const searchEngine = new SerpSearchEngine();
13550
13550
  const results = await searchEngine.search(query, searchOptions);
13551
13551
  return spacetrim.spaceTrim((block) => `
13552
- ${resultLabel} results for "${query}"${Object.keys(searchOptions).length === 0
13553
- ? ''
13554
- : ` with options ${JSON.stringify(searchOptions)}`}:
13552
+ ${resultLabel} results for "${query}"${Object.keys(searchOptions).length === 0 ? '' : ` with options ${JSON.stringify(searchOptions)}`}:
13555
13553
 
13556
13554
  ${block(results
13557
13555
  .map((result) => spacetrim.spaceTrim(`
@@ -22572,7 +22570,8 @@
22572
22570
  if (currentSnapshot.lastMessageSender === 'USER' || !currentSnapshot.isLastMessageComplete) {
22573
22571
  return;
22574
22572
  }
22575
- const isSameMessageCompletionTransition = previousSnapshot.lastMessageKey === currentSnapshot.lastMessageKey && !previousSnapshot.isLastMessageComplete;
22573
+ const isSameMessageCompletionTransition = previousSnapshot.lastMessageKey === currentSnapshot.lastMessageKey &&
22574
+ !previousSnapshot.isLastMessageComplete;
22576
22575
  const isCompletedReplyAppended = previousSnapshot.lastMessageSender === 'USER' &&
22577
22576
  areMessageKeyListsSequentialPrefix(previousSnapshot.messageKeys, currentSnapshot.messageKeys);
22578
22577
  const isIncompletePlaceholderReplacedByCompletedReply = !previousSnapshot.isLastMessageComplete &&
@@ -26459,8 +26458,7 @@
26459
26458
  const surfaceWave = Math.sin(angle * 3 + shapePhase + timeMs / 1200) * 0.62 +
26460
26459
  Math.sin(angle * 5 - shapePhase * 0.7 - timeMs / 910) * 0.38;
26461
26460
  const breathingWave = Math.sin(timeMs / 960 + shapePhase + angle * 0.45) * wobbleAmplitude;
26462
- const radius = bodyRadius *
26463
- (1 + upperFactor * 0.12 + lowerFactor * 0.08 + surfaceWave * 0.05) +
26461
+ const radius = bodyRadius * (1 + upperFactor * 0.12 + lowerFactor * 0.08 + surfaceWave * 0.05) +
26464
26462
  tentacleWave +
26465
26463
  breathingWave;
26466
26464
  return {
@@ -26515,7 +26513,9 @@
26515
26513
  var _a, _b, _c, _d, _e, _f, _g, _h;
26516
26514
  const { size, centerX, centerY, bodyRadius, horizontalStretch, tentacleCount, shapePhase, createRandom, timeMs, saltPrefix, bodyPoints, variation, } = options;
26517
26515
  const baseY = centerY + bodyRadius * 0.74;
26518
- const lowerBodyAnchorPoints = bodyPoints ? resolveTentacleBodyAnchorPoints(bodyPoints, centerY + bodyRadius * 0.04) : null;
26516
+ const lowerBodyAnchorPoints = bodyPoints
26517
+ ? resolveTentacleBodyAnchorPoints(bodyPoints, centerY + bodyRadius * 0.04)
26518
+ : null;
26519
26519
  const flowLengthScale = (_a = variation === null || variation === void 0 ? void 0 : variation.flowLengthScale) !== null && _a !== void 0 ? _a : 1;
26520
26520
  const lateralReachScale = (_b = variation === null || variation === void 0 ? void 0 : variation.lateralReachScale) !== null && _b !== void 0 ? _b : 1;
26521
26521
  const tipReachScale = (_c = variation === null || variation === void 0 ? void 0 : variation.tipReachScale) !== null && _c !== void 0 ? _c : 1;
@@ -26592,7 +26592,9 @@
26592
26592
  * @private shared geometry helper of `octopus3AvatarVisual`
26593
26593
  */
26594
26594
  function resolveTentacleBodyAnchorPoints(bodyPoints, lowerBodyThresholdY) {
26595
- const lowerBodyPoints = bodyPoints.filter((bodyPoint) => bodyPoint.y >= lowerBodyThresholdY).sort((leftPoint, rightPoint) => leftPoint.x - rightPoint.x);
26595
+ const lowerBodyPoints = bodyPoints
26596
+ .filter((bodyPoint) => bodyPoint.y >= lowerBodyThresholdY)
26597
+ .sort((leftPoint, rightPoint) => leftPoint.x - rightPoint.x);
26596
26598
  if (lowerBodyPoints.length >= 2) {
26597
26599
  return lowerBodyPoints;
26598
26600
  }
@@ -26660,8 +26662,7 @@
26660
26662
  const tangentX = nextPoint.x - previousPoint.x;
26661
26663
  const tangentY = nextPoint.y - previousPoint.y;
26662
26664
  const tangentLength = Math.hypot(tangentX, tangentY) || 1;
26663
- const width = tentacleShape.baseWidth +
26664
- (tentacleShape.tipWidth - tentacleShape.baseWidth) * Math.pow(progress, 1.1);
26665
+ const width = tentacleShape.baseWidth + (tentacleShape.tipWidth - tentacleShape.baseWidth) * Math.pow(progress, 1.1);
26665
26666
  return {
26666
26667
  x: point.x,
26667
26668
  y: point.y,
@@ -26686,10 +26687,8 @@
26686
26687
  const autonomousOffsetY = Math.cos(timeMs / 940 + phase) * radiusY * autonomousDriftRatioY;
26687
26688
  const interactionBlend = Math.min(1, interaction.intensity * 0.9);
26688
26689
  return {
26689
- pupilOffsetX: autonomousOffsetX * (1 - interactionBlend) +
26690
- interaction.gazeX * radiusX * (0.18 + interactionBlend * 0.18),
26691
- pupilOffsetY: autonomousOffsetY * (1 - interactionBlend) +
26692
- interaction.gazeY * radiusY * (0.16 + interactionBlend * 0.16),
26690
+ pupilOffsetX: autonomousOffsetX * (1 - interactionBlend) + interaction.gazeX * radiusX * (0.18 + interactionBlend * 0.18),
26691
+ pupilOffsetY: autonomousOffsetY * (1 - interactionBlend) + interaction.gazeY * radiusY * (0.16 + interactionBlend * 0.16),
26693
26692
  };
26694
26693
  }
26695
26694
  /**
@@ -26736,7 +26735,7 @@
26736
26735
  *
26737
26736
  * @private helper of `asciiOctopusAvatarVisual`
26738
26737
  */
26739
- const ATMOSPHERE_GLYPHS = ['.', ':', '\'', '`'];
26738
+ const ATMOSPHERE_GLYPHS = ['.', ':', "'", '`'];
26740
26739
  /**
26741
26740
  * AsciiOctopus avatar visual.
26742
26741
  *
@@ -26843,7 +26842,9 @@
26843
26842
  return resolveAtmosphereGlyph(point, layout, palette, noise, timeMs);
26844
26843
  }
26845
26844
  const isInsideBody = isPointInsidePolygon(point, layout.bodyPoints);
26846
- const bodyEdgeDistance = isInsideBody ? getDistanceToPolyline(point, layout.bodyPoints, true) : Number.POSITIVE_INFINITY;
26845
+ const bodyEdgeDistance = isInsideBody
26846
+ ? getDistanceToPolyline(point, layout.bodyPoints, true)
26847
+ : Number.POSITIVE_INFINITY;
26847
26848
  const tentacleCoverage = measureTentacleCoverage(point, layout.sampledTentacles, cellWidth);
26848
26849
  if (isInsideBody || tentacleCoverage) {
26849
26850
  return resolveOctopusSurfaceGlyph({
@@ -26920,7 +26921,8 @@
26920
26921
  if (mouthDistance > cellHeight * 0.38) {
26921
26922
  return null;
26922
26923
  }
26923
- const horizontalProgress = clamp01((point.x - layout.mouthPoints[0].x) / (layout.mouthPoints[layout.mouthPoints.length - 1].x - layout.mouthPoints[0].x));
26924
+ const horizontalProgress = clamp01((point.x - layout.mouthPoints[0].x) /
26925
+ (layout.mouthPoints[layout.mouthPoints.length - 1].x - layout.mouthPoints[0].x));
26924
26926
  let character = '-';
26925
26927
  if (horizontalProgress < 0.28) {
26926
26928
  character = '\\';
@@ -26945,7 +26947,7 @@
26945
26947
  * @private helper of `asciiOctopusAvatarVisual`
26946
26948
  */
26947
26949
  function resolveOctopusSurfaceGlyph(options) {
26948
- const { point, layout, palette, isInsideBody, bodyEdgeDistance, tentacleCoverage, cellHeight, noise, timeMs, } = options;
26950
+ const { point, layout, palette, isInsideBody, bodyEdgeDistance, tentacleCoverage, cellHeight, noise, timeMs } = options;
26949
26951
  const isTentacleDominant = tentacleCoverage !== null && (!isInsideBody || point.y > layout.centerY + layout.bodyRadius * 0.08);
26950
26952
  if (isTentacleDominant && tentacleCoverage) {
26951
26953
  const isSuckerBand = tentacleCoverage.progress > 0.24 && tentacleCoverage.progress < 0.82 && noise > 0.78;
@@ -27116,7 +27118,9 @@
27116
27118
  };
27117
27119
  const mouthPoints = sampleQuadraticBezierPoints({ x: centerX - size * 0.074, y: centerY + size * 0.092 }, {
27118
27120
  x: centerX,
27119
- y: centerY + size * (0.142 + Math.sin(timeMs / 620 + shapePhase) * 0.016) + interaction.gazeY * size * 0.012,
27121
+ y: centerY +
27122
+ size * (0.142 + Math.sin(timeMs / 620 + shapePhase) * 0.016) +
27123
+ interaction.gazeY * size * 0.012,
27120
27124
  }, { x: centerX + size * 0.074, y: centerY + size * 0.092 }, 12);
27121
27125
  let leftBound = Number.POSITIVE_INFINITY;
27122
27126
  let rightBound = Number.NEGATIVE_INFINITY;
@@ -27378,8 +27382,7 @@
27378
27382
  size,
27379
27383
  centerX: centerX + (layerRandom() - 0.5) * size * 0.08,
27380
27384
  centerY: centerY + (layerRandom() - 0.5) * size * 0.08,
27381
- rotation: layerRandom() * Math.PI * 2 +
27382
- Math.sin(timeMs / (1700 + layerIndex * 280) + layerIndex) * 0.14,
27385
+ rotation: layerRandom() * Math.PI * 2 + Math.sin(timeMs / (1700 + layerIndex * 280) + layerIndex) * 0.14,
27383
27386
  scale: size * (0.19 + layerIndex * 0.055 + layerRandom() * 0.045),
27384
27387
  horizontalStretch: 0.74 + layerRandom() * 0.9,
27385
27388
  verticalStretch: 0.74 + layerRandom() * 0.9,
@@ -27448,7 +27451,14 @@
27448
27451
  function createDragonCurveTurns(order) {
27449
27452
  let turns = [];
27450
27453
  for (let iteration = 0; iteration < order; iteration++) {
27451
- turns = [...turns, 1, ...turns.slice().reverse().map((turn) => (turn === 1 ? -1 : 1))];
27454
+ turns = [
27455
+ ...turns,
27456
+ 1,
27457
+ ...turns
27458
+ .slice()
27459
+ .reverse()
27460
+ .map((turn) => (turn === 1 ? -1 : 1)),
27461
+ ];
27452
27462
  }
27453
27463
  return turns;
27454
27464
  }
@@ -27492,7 +27502,7 @@
27492
27502
  * @private helper of `fractalAvatarVisual`
27493
27503
  */
27494
27504
  function transformDragonCurvePoints(points, options) {
27495
- const { size, centerX, centerY, rotation, scale, horizontalStretch, verticalStretch, warpAmplitude, warpPhase, mirrorX, mirrorY, timeMs } = options;
27505
+ const { size, centerX, centerY, rotation, scale, horizontalStretch, verticalStretch, warpAmplitude, warpPhase, mirrorX, mirrorY, timeMs, } = options;
27496
27506
  const bounds = getPointBounds(points);
27497
27507
  const width = Math.max(1, bounds.maxX - bounds.minX);
27498
27508
  const height = Math.max(1, bounds.maxY - bounds.minY);
@@ -27509,7 +27519,10 @@
27509
27519
  const rotatedY = normalizedX * sine + normalizedY * cosine;
27510
27520
  return {
27511
27521
  x: centerX + rotatedX + Math.sin(progress * Math.PI * 2 + warpPhase) * localWarp,
27512
- y: centerY + rotatedY + Math.cos(progress * Math.PI * 3 + warpPhase * 0.6) * localWarp + (progress - 0.5) * size * 0.02,
27522
+ y: centerY +
27523
+ rotatedY +
27524
+ Math.cos(progress * Math.PI * 3 + warpPhase * 0.6) * localWarp +
27525
+ (progress - 0.5) * size * 0.02,
27513
27526
  };
27514
27527
  });
27515
27528
  }
@@ -28696,8 +28709,7 @@
28696
28709
  const tangentLength = Math.hypot(tangentX, tangentY) || 1;
28697
28710
  const normalX = (-tangentY / tangentLength) * undersideDirection;
28698
28711
  const normalY = (tangentX / tangentLength) * undersideDirection;
28699
- const width = tentacleShape.baseWidth +
28700
- (tentacleShape.tipWidth - tentacleShape.baseWidth) * Math.pow(progress, 1.1);
28712
+ const width = tentacleShape.baseWidth + (tentacleShape.tipWidth - tentacleShape.baseWidth) * Math.pow(progress, 1.1);
28701
28713
  const suckerX = point.x + normalX * width * 0.52;
28702
28714
  const suckerY = point.y + normalY * width * 0.52;
28703
28715
  const rotation = Math.atan2(normalY, normalX);
@@ -28735,7 +28747,8 @@
28735
28747
  context.moveTo(centerX + horizontalOffset * 0.3, centerY - size * (0.11 + morphologyProfile.body.verticalStretch * 0.02));
28736
28748
  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));
28737
28749
  context.strokeStyle = currentIndex % 2 === 0 ? `${palette.highlight}30` : `${palette.accent}26`;
28738
- context.lineWidth = size * (0.0075 + currentIndex * 0.00065 + morphologyProfile.tentacles.baseWidthScale * 0.0005);
28750
+ context.lineWidth =
28751
+ size * (0.0075 + currentIndex * 0.00065 + morphologyProfile.tentacles.baseWidthScale * 0.0005);
28739
28752
  context.lineCap = 'round';
28740
28753
  context.stroke();
28741
28754
  }
@@ -28895,7 +28908,10 @@
28895
28908
  : rowIndex > pixelGridSize - emblemHeight - 1
28896
28909
  ? colorStops.length
28897
28910
  : 3)))];
28898
- if (columnIndex === 0 && rowIndex >= cheekInset && rowIndex <= pixelGridSize - cheekInset - 1 && random() < 0.4) {
28911
+ if (columnIndex === 0 &&
28912
+ rowIndex >= cheekInset &&
28913
+ rowIndex <= pixelGridSize - cheekInset - 1 &&
28914
+ random() < 0.4) {
28899
28915
  continue;
28900
28916
  }
28901
28917
  drawPixel(context, panelX + columnIndex * pixelSize, panelY + rowIndex * pixelSize, pixelSize, color);
@@ -29047,7 +29063,7 @@
29047
29063
  * @private shared component for in-repository avatar previews
29048
29064
  */
29049
29065
  function Avatar(props) {
29050
- const { avatarDefinition, visualId, surface = 'framed', size = DEFAULT_AVATAR_SIZE, title, className, style } = props;
29066
+ const { avatarDefinition, visualId, surface = 'framed', size = DEFAULT_AVATAR_SIZE, title, className, style, } = props;
29051
29067
  const canvasRef = react.useRef(null);
29052
29068
  const animationStartRef = react.useRef(null);
29053
29069
  const interactionRuntimeStateRef = react.useRef(createAvatarInteractionRuntimeState());
@@ -29150,14 +29166,7 @@
29150
29166
  releaseAnimationListener();
29151
29167
  releasePointerTracking === null || releasePointerTracking === void 0 ? void 0 : releasePointerTracking();
29152
29168
  };
29153
- }, [
29154
- avatarDefinitionKey,
29155
- isVisible,
29156
- resolvedAvatarRenderDefinition,
29157
- size,
29158
- surface,
29159
- visualId,
29160
- ]);
29169
+ }, [avatarDefinitionKey, isVisible, resolvedAvatarRenderDefinition, size, surface, visualId]);
29161
29170
  return (jsxRuntime.jsx("canvas", { ref: canvasRef, title: title || `${resolvedAvatarRenderDefinition.avatarDefinition.agentName} avatar`, className: className, style: {
29162
29171
  width: size,
29163
29172
  height: size,
@@ -39891,7 +39900,9 @@
39891
39900
  * @private helper of `OpenAiAgentKitExecutionTools`
39892
39901
  */
39893
39902
  function buildDeepSearchToolInput(rawInput) {
39894
- const input = rawInput && typeof rawInput === 'object' ? rawInput : {};
39903
+ const input = rawInput && typeof rawInput === 'object'
39904
+ ? rawInput
39905
+ : {};
39895
39906
  const query = typeof input.query === 'string' ? input.query.trim() : '';
39896
39907
  const additionalHints = Object.entries(input)
39897
39908
  .filter(([key, value]) => key !== 'query' && value !== undefined && value !== null && String(value).trim() !== '')
@@ -42332,8 +42343,7 @@
42332
42343
  console.info('[🤰]', 'Prepared OpenAI Assistant prompt', {
42333
42344
  agent: this.title,
42334
42345
  toolNames: (_b = (_a = promptWithAgentModelRequirementsForOpenAiAssistantExecutionTools.modelRequirements.tools) === null || _a === void 0 ? void 0 : _a.map((tool) => tool.name)) !== null && _b !== void 0 ? _b : [],
42335
- knowledgeSourcesCount: (_d = (_c = promptWithAgentModelRequirementsForOpenAiAssistantExecutionTools.modelRequirements
42336
- .knowledgeSources) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0,
42346
+ knowledgeSourcesCount: (_d = (_c = promptWithAgentModelRequirementsForOpenAiAssistantExecutionTools.modelRequirements.knowledgeSources) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0,
42337
42347
  });
42338
42348
  }
42339
42349
  return assistant.callChatModelStream(promptWithAgentModelRequirementsForOpenAiAssistantExecutionTools, options.onProgress, options.streamOptions);
@@ -47613,9 +47623,7 @@
47613
47623
  borderRadius: '50%',
47614
47624
  } })), isAvatarTooltipVisible && (participant === null || participant === void 0 ? void 0 : participant.agentSource) && avatarTooltipPosition && (jsxRuntime.jsx(AvatarProfileTooltip, { ref: tooltipRef, agentSource: participant.agentSource, position: avatarTooltipPosition }))] })), jsxRuntime.jsxs("div", { className: classNames(styles$5.messageStack, chatCssClassNames.messageStack), children: [shouldShowParticipantLabel && participantLabel && (jsxRuntime.jsx("div", { className: styles$5.participantLabel, children: participantLabel })), jsxRuntime.jsxs("div", { className: classNames(styles$5.messageText, isReplyActionEnabled && styles$5.replyEnabledMessageText, isReplySwipeArmed && styles$5.replySwipeActive, isAgentArticleMode && styles$5.articleModeAgentMessageText, chatCssClassNames.messageContent), style: {
47615
47625
  '--message-bg-color': isAgentArticleMode ? articleModeBackgroundColor : color.toHex(),
47616
- '--message-text-color': isAgentArticleMode
47617
- ? articleModeTextColor
47618
- : colorOfText.toHex(),
47626
+ '--message-text-color': isAgentArticleMode ? articleModeTextColor : colorOfText.toHex(),
47619
47627
  '--chat-message-swipe-offset': swipeTranslation,
47620
47628
  }, onPointerDown: handleReplyPointerDown, onPointerMove: handleReplyPointerMove, onPointerUp: handleReplyPointerEnd, onPointerCancel: resetReplySwipe, children: [isReplyActionEnabled && (jsxRuntime.jsx("div", { className: classNames(styles$5.replySwipeIndicator, isMe && styles$5.replySwipeIndicatorRight, isReplySwipeArmed && styles$5.replySwipeIndicatorActive), "aria-hidden": "true", children: jsxRuntime.jsx(lucideReact.Reply, { className: styles$5.replySwipeIndicatorIcon }) })), !shouldRenderArticleActionsBar && renderMessageReadAndCopyControls(), message.isVoiceCall && (jsxRuntime.jsx("div", { className: styles$5.voiceCallIndicator, children: jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsxRuntime.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 && (jsxRuntime.jsx(ChatReplyPreview, { label: replyPreviewLabel, senderLabel: replySenderLabel, previewText: replyPreviewText, className: styles$5.replyBubblePreview })), jsxRuntime.jsx("div", { ref: contentWithoutButtonsRef, children: jsxRuntime.jsx(ChatMessageRichContent, { content: message.content, contentSegments: contentSegments, streamingFeaturePlaceholderKind: streamingFeaturePlaceholderKind, onCreateAgent: onCreateAgent, mode: mode }) }), message.attachments && message.attachments.length > 0 && (jsxRuntime.jsx("div", { className: styles$5.attachments, children: message.attachments.map((attachment, index) => (jsxRuntime.jsxs("a", { href: attachment.url, target: "_blank", rel: "noopener noreferrer", className: styles$5.attachment, title: attachment.name, children: [jsxRuntime.jsx("span", { className: styles$5.attachmentIcon, children: "\uD83D\uDCCE" }), jsxRuntime.jsx("span", { className: styles$5.attachmentName, children: attachment.name })] }, index))) })), jsxRuntime.jsx(ChatMessageToolCallChips, { chips: toolCallChips, onToolCallClick: onToolCallClick }), citationFootnoteRenderModel.footnotes.length > 0 && (jsxRuntime.jsx("div", { className: styles$5.citationFootnotes, children: citationFootnoteRenderModel.footnotes.map((footnote) => (jsxRuntime.jsxs("div", { className: styles$5.citationFootnoteItem, children: [jsxRuntime.jsx("span", { className: styles$5.citationFootnoteNumber, children: footnote.number }), jsxRuntime.jsx(SourceChip, { citation: footnote.citation, onClick: onCitationClick, isCitationIdVisible: false })] }, `citation-footnote-${footnote.number}-${footnote.citation.source}`))) })), transitiveCitations.length > 0 && (jsxRuntime.jsx("div", { className: styles$5.sourceCitations, children: transitiveCitations.map((citation, index) => (jsxRuntime.jsx(SourceChip, { citation: citation, suffix: `by ${citation.origin.label}`, onClick: onCitationClick }, `team-source-${citation.source}-${index}`))) })), shouldShowButtons && (jsxRuntime.jsx("div", { className: styles$5.messageButtons, children: renderableButtons.map(({ button, buttonIndex }) => (jsxRuntime.jsx("button", { type: "button", className: classNames(styles$5.messageButton, button.type === 'action' && styles$5.actionMessageButton), onClick: (event) => {
47621
47629
  event.stopPropagation();
@@ -49436,7 +49444,10 @@
49436
49444
  * @private function of ChatToolCallModal
49437
49445
  */
49438
49446
  function isSearchToolCallName(toolName) {
49439
- return toolName === 'web_search' || toolName === 'deep_search' || toolName === 'useSearchEngine' || toolName === 'search';
49447
+ return (toolName === 'web_search' ||
49448
+ toolName === 'deep_search' ||
49449
+ toolName === 'useSearchEngine' ||
49450
+ toolName === 'search');
49440
49451
  }
49441
49452
  /**
49442
49453
  * Checks whether a tool name should use the time renderer.