@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 +56 -45
- package/esm/index.es.js.map +1 -1
- package/esm/src/version.d.ts +1 -1
- package/package.json +1 -1
- package/umd/index.umd.js +56 -45
- package/umd/index.umd.js.map +1 -1
- package/umd/src/version.d.ts +1 -1
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-
|
|
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 &&
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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) /
|
|
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
|
|
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 +
|
|
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 = [
|
|
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 +
|
|
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 =
|
|
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 &&
|
|
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'
|
|
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' ||
|
|
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.
|