feat: add Olivya's 'Place Call' component (#5917)

* Fixing failed unit tests for Olivya's 'Place Call' component

* Revert "Fixing failed unit tests for Olivya's 'Place Call' component"

This reverts commit abc62c9b9d14129d31b2c73ca0c68b2aba9be0a0.

* Fixing failed unit tests for Olivya's 'Place Call' component

* Update src/backend/base/langflow/components/olivya/olivya.py

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>

* Update src/backend/base/langflow/components/olivya/olivya.py

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>

* Remove unused logging import in Olivya component

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
This commit is contained in:
JamalBoustani 2025-02-18 13:45:22 +00:00 committed by GitHub
commit 868cc4df76
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 610 additions and 0 deletions

View file

@ -0,0 +1,3 @@
from .olivya import OlivyaComponent
__all__ = ["OlivyaComponent"]

View file

@ -0,0 +1,116 @@
import json
import httpx
from loguru import logger
from langflow.custom import Component
from langflow.io import MessageTextInput, Output
from langflow.schema import Data
class OlivyaComponent(Component):
display_name = "Place Call"
description = "A component to create an outbound call request from Olivya's platform."
documentation: str = "http://docs.langflow.org/components/olivya"
icon = "Olivya"
name = "OlivyaComponent"
inputs = [
MessageTextInput(
name="api_key",
display_name="API Key",
info="Your API key for authentication",
value="",
required=True,
),
MessageTextInput(
name="from_number",
display_name="From Number",
info="The Agent's phone number",
value="",
required=True,
),
MessageTextInput(
name="to_number",
display_name="To Number",
info="The recipient's phone number",
value="",
required=True,
),
MessageTextInput(
name="first_message",
display_name="First Message",
info="The Agent's introductory message",
value="",
required=False,
tool_mode=True,
),
MessageTextInput(
name="system_prompt",
display_name="System Prompt",
info="The system prompt to guide the interaction",
value="",
required=False,
),
MessageTextInput(
name="conversation_history",
display_name="Conversation History",
info="The summary of the conversation",
value="",
required=False,
tool_mode=True,
),
]
outputs = [
Output(display_name="Output", name="output", method="build_output"),
]
async def build_output(self) -> Data:
try:
payload = {
"variables": {
"first_message": self.first_message.strip() if self.first_message else None,
"system_prompt": self.system_prompt.strip() if self.system_prompt else None,
"conversation_history": self.conversation_history.strip() if self.conversation_history else None,
},
"from_number": self.from_number.strip(),
"to_number": self.to_number.strip(),
}
headers = {
"Authorization": self.api_key.strip(),
"Content-Type": "application/json",
}
logger.info("Sending POST request with payload: %s", payload)
# Send the POST request with a timeout
async with httpx.AsyncClient() as client:
response = await client.post(
"https://phone.olivya.io/create_zap_call",
headers=headers,
json=payload,
timeout=10.0,
)
response.raise_for_status()
# Parse and return the successful response
response_data = response.json()
logger.info("Request successful: %s", response_data)
except httpx.HTTPStatusError as http_err:
logger.exception("HTTP error occurred")
response_data = {"error": f"HTTP error occurred: {http_err}", "response_text": response.text}
except httpx.RequestError as req_err:
logger.exception("Request failed")
response_data = {"error": f"Request failed: {req_err}"}
except json.JSONDecodeError as json_err:
logger.exception("Response parsing failed")
response_data = {"error": f"Response parsing failed: {json_err}", "raw_response": response.text}
except Exception as e: # noqa: BLE001
logger.exception("An unexpected error occurred")
response_data = {"error": f"An unexpected error occurred: {e!s}"}
# Return the response as part of the output
return Data(value=response_data)

View file

@ -0,0 +1,9 @@
import React, { forwardRef } from "react";
import OlivyaSVG from "./olivya";
export const OlivyaIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <OlivyaSVG ref={ref} {...props} />;
});

View file

@ -0,0 +1,478 @@
const OlivyaSVG = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
xmlSpace="preserve"
id="Layer_1"
x="0"
y="0"
version="1.1"
viewBox="0 0 588.1 604.9"
{...props}
>
<linearGradient
id="SVGID_1_"
x1="465.383"
x2="912.298"
y1="2359.246"
y2="2617.273"
gradientTransform="matrix(-.239 .2282 .2631 .0186 -197.96 95.535)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_1_)"
strokeMiterlimit="10"
strokeWidth="10.3319"
d="M202.8 350.2c3.8 3.6 9.7 6 17.1 7.1 16.4 2.4 38.8-2 61.6-8.3 19.4-5.4 41.7-13 60.3-24.9 43.4-27.6 43.6-53.3 25.6-68.2-25.5-21-80.3-10.5-119.9 21.7-26.8 21.8-52.4 47.8-48.7 65.1.4 3 1.9 5.4 4 7.5z"
></path>
<linearGradient
id="SVGID_00000028318286484138508780000010327150227960584361_"
x1="649.932"
x2="1096.701"
y1="2194.804"
y2="2452.747"
gradientTransform="matrix(-.2358 .2682 .3092 -.0232 -221.463 118.996)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000028318286484138508780000010327150227960584361_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M196.8 365.1c5 3.1 12.3 4.5 21.1 4.4 19.5-.2 44.7-8.2 70-18.2 21.6-8.5 46.1-19.8 65.5-34.7 45.4-34.7 40.9-60.7 17.2-72.8-33.5-17.1-95.2 2.2-135.4 41-27.1 26.2-52.1 56.5-44.6 73.4 1.2 2.9 3.3 5.2 6.2 6.9z"
></path>
<linearGradient
id="SVGID_00000132773528077608087620000000941740443662469009_"
x1="780.542"
x2="1227.455"
y1="2011.592"
y2="2269.617"
gradientTransform="matrix(-.2246 .3079 .355 -.0728 -244.354 146.45)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000132773528077608087620000000941740443662469009_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M192.6 381.2c6.4 2.3 15.2 2.6 25.4 1.1 22.6-3.4 50.5-15.4 78-29.5 23.5-12.1 49.9-27.3 69.7-45.4 46.3-42.2 36.4-67.7 6.6-76.1-42.1-11.9-110.3 17.5-149.8 63-26.7 30.7-50.2 65.2-38.3 81.1 1.9 2.5 4.7 4.5 8.4 5.8z"
></path>
<linearGradient
id="SVGID_00000147183726487581896660000016077111679480586641_"
x1="861.41"
x2="1308.205"
y1="1816.571"
y2="2074.529"
gradientTransform="matrix(-.2043 .3462 .3991 -.13 -265.915 177.717)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000147183726487581896660000016077111679480586641_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M190.6 398c7.9 1.3 18.1.2 29.7-3 25.6-7 55.8-23.6 85.2-42.2 25.1-15.9 53-35.5 72.7-56.9 46-50 29.8-74-6.4-77.7-51.1-5.3-124.9 35.2-162.4 87.4-25.3 35.2-46.3 73.8-29.6 87.9 2.7 2.3 6.4 3.7 10.8 4.5z"
></path>
<linearGradient
id="SVGID_00000031911910229338081120000000029962339121350590_"
x1="899.682"
x2="1346.457"
y1="1617.081"
y2="1875.026"
gradientTransform="matrix(-.1737 .3815 .4399 -.1947 -285.295 212.66)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000031911910229338081120000000029962339121350590_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M191.5 415.2c9.4 0 21.1-2.7 33.9-7.7 28.5-11.1 60.5-32.7 91.2-56.1 26.2-20 55-44.2 74-68.9 44.3-57.7 21-79.4-21.7-77.3-60.4 2.9-138.7 55.4-172.7 114-22.9 39.5-40.2 81.7-18.2 93.3q5.4 2.7 13.5 2.7z"
></path>
<linearGradient
id="SVGID_00000013179304289864300650000010789520586139200134_"
x1="901.453"
x2="1348.278"
y1="1419.033"
y2="1677.008"
gradientTransform="matrix(-.1316 .4122 .4753 -.2665 -301.284 251.039)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000013179304289864300650000010789520586139200134_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M195.6 432.5c10.9-1.5 24-6.1 38-13.2 31.1-15.8 64.3-42.6 95.7-71.1 26.8-24.4 55.8-53.4 73.3-81.3 40.8-65.2 9.8-83.3-39.5-74.5-69.6 12.5-150.9 78-179.7 142.4-19.4 43.5-31.7 88.8-4 97 4.5 1.3 10 1.5 16.2.7z"
></path>
<linearGradient
id="SVGID_00000077314713149883013570000008498170906235921843_"
x1="872.247"
x2="1319.061"
y1="1227.275"
y2="1485.243"
gradientTransform="matrix(-.0771 .4365 .5032 -.3444 -312.808 292.205)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000077314713149883013570000008498170906235921843_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M203.6 449.2c12.4-3.2 26.8-10 41.7-19.4 33.2-20.9 66.8-53.2 98.1-87 26.7-28.9 55-62.7 70.2-93.6 35.5-72.3-3.9-85.5-59.6-68.8-78.6 23.7-161 102.7-182.6 172.2-14.5 47-20.4 94.5 13.2 98.4 5.5.7 12 0 19-1.8z"
></path>
<linearGradient
id="SVGID_00000065756110155121615190000003343827430780919682_"
x1="818.489"
x2="1265.246"
y1="1045.168"
y2="1303.103"
gradientTransform="matrix(-.0092 .4522 .5214 -.4275 -318.684 335.613)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000065756110155121615190000003343827430780919682_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M216 464.8c13.8-5.2 29.3-14.3 44.9-26.2 34.7-26.3 67.9-64.2 97.9-103.3 25.7-33.4 52.4-72 64.3-105.5 27.9-78.5-20.3-85.6-81.9-59.8-87 36.5-168.2 129.2-180.4 202.7-8.2 49.6-6.4 98.5 33.4 97 6.6-.2 13.9-1.9 21.8-4.9z"
></path>
<linearGradient
id="SVGID_00000012469361102575799340000003264233064296944020_"
x1="745.461"
x2="1192.29"
y1="876.299"
y2="1134.277"
gradientTransform="matrix(.0725 .4572 .5271 -.514 -317.426 380.176)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000012469361102575799340000003264233064296944020_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M233.2 478.5c15.1-7.5 31.4-19.1 47.4-33.5 35.5-32.1 67.1-75.6 94.8-119.7 23.7-37.7 47.6-80.9 55.3-116.6 18-83.6-39.4-83-106.1-47.2-94.4 50.6-171.7 157.1-172.4 233.1-.4 51.3 10.7 100.3 56.7 92.4 7.5-1.3 15.7-4.2 24.3-8.5z"
></path>
<linearGradient
id="SVGID_00000060019446214792813530000001840114263871061921_"
x1="658.243"
x2="1105.071"
y1="722.469"
y2="980.445"
gradientTransform="matrix(.1684 .4492 .5179 -.6022 -307.826 424.98)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000060019446214792813530000001840114263871061921_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M255.8 489.6c16.2-9.9 32.9-24.3 48.9-41.4 35.4-38 64-86.9 88.1-135.8 20.6-41.8 40.4-89.1 42.8-126.4 5.5-87.1-61-77.4-132-30.6C203.2 221.5 133 341.1 146.2 417.9c8.9 51.8 30.9 99.4 82.9 84.1 8.5-2.5 17.5-6.7 26.7-12.4z"
></path>
<linearGradient
id="SVGID_00000106138383444935956710000011214948857413435783_"
x1="561.238"
x2="1008.009"
y1="585.184"
y2="843.127"
gradientTransform="matrix(.2784 .4259 .491 -.6896 -288.431 468.608)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000106138383444935956710000011214948857413435783_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M284 497.2c17-12.6 33.8-29.7 49.2-49.5 34.1-43.9 58.4-97.8 77.4-150.9 16.2-45.4 30.6-96.3 26.5-134.2-9.6-88.6-85.1-68.2-159-9.8C173.7 235.4 114 367.2 143.5 442.4c19.9 50.8 54.3 95.2 111.8 71.5 9.4-3.8 19.1-9.5 28.7-16.7z"
></path>
<linearGradient
id="SVGID_00000049930197591990372350000017738021054741380767_"
x1="458.886"
x2="905.647"
y1="465.171"
y2="723.109"
gradientTransform="matrix(.4019 .3848 .4436 -.7734 -257.83 509.47)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000049930197591990372350000017738021054741380767_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M318.2 500.4c17.4-15.4 33.8-35.3 48-57.7 31.5-49.7 49.8-107.9 62.1-164.5 10.5-48.4 17.8-101.9 6-139.5-27.4-87.8-111.3-55.2-186.4 15.5-106.2 100-151.2 242.3-103.1 313.4 32.5 48 80.6 87.3 143.1 54.3 10.2-5.5 20.4-12.8 30.3-21.5z"
></path>
<linearGradient
id="SVGID_00000041984961206652126170000010685195358269274023_"
x1="354.636"
x2="801.419"
y1="362.583"
y2="620.533"
gradientTransform="matrix(.5378 .3236 .3731 -.8503 -214.764 545.752)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000041984961206652126170000010685195358269274023_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M358.6 498c17.4-18.3 32.8-41 45.2-65.9 27.5-55.1 38.1-116.7 41.9-175.7 3.3-50.4 2-105.6-18.6-141.5-48.1-84.1-139.7-37.8-214 45.4C108.1 278.1 82 428.7 151 492.7c46.6 43.2 109.7 75.2 176.2 31.8 11-7.1 21.5-16 31.4-26.5z"
></path>
<linearGradient
id="SVGID_00000046333153451202103420000007209590310843223729_"
x1="251.45"
x2="698.253"
y1="277.221"
y2="535.183"
gradientTransform="matrix(.6844 .2403 .2771 -.9165 -158.123 575.43)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000046333153451202103420000007209590310843223729_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M405 489.3c16.8-21.2 30.6-46.6 40.4-73.6 21.8-60 22.8-123.7 16.4-183.8-5.4-51.3-17.2-106.7-47.7-139.7-71.4-77.1-169.3-15.8-240.3 79.9-100.3 135.4-103 291.3-11 344.8 62.1 36.1 141.3 58.2 210.6 4 11.5-8.8 22.1-19.5 31.6-31.6z"
></path>
<linearGradient
id="SVGID_00000085214784022730279250000004563241609719432855_"
x1="151.621"
x2="598.429"
y1="208.348"
y2="466.313"
gradientTransform="matrix(.8395 .133 .1533 -.9679 -86.762 596.322)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000085214784022730279250000004563241609719432855_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M457.4 473c15.6-24.1 27-51.8 33.4-80.6 14.3-63.9 3.7-128.3-14.8-187.8-15.8-50.9-39.6-104.8-81.1-133.1-97.2-66.3-199.7 11-264.5 118.9-91.6 152.4-66 310.1 50.7 349.3 78.8 26.5 174.9 36.1 245.5-29.6 11.6-10.9 21.9-23.4 30.8-37.1z"
></path>
<linearGradient
id="SVGID_00000140707760598298352560000014678655576441594297_"
x1="57.255"
x2="504.045"
y1="154.911"
y2="412.866"
gradientTransform="matrix(1 0 0 -1 0 606)"
gradientUnits="userSpaceOnUse"
>
<stop offset="0" stopColor="#80A29E"></stop>
<stop offset="0.034" stopColor="#759E9A"></stop>
<stop offset="0.094" stopColor="#58948E"></stop>
<stop offset="0.172" stopColor="#29847B"></stop>
<stop offset="0.232" stopColor="#00766A"></stop>
<stop offset="0.36" stopColor="#006A5F"></stop>
<stop offset="0.59" stopColor="#014A43"></stop>
<stop offset="0.645" stopColor="#01413B"></stop>
<stop offset="0.739" stopColor="#015048"></stop>
<stop offset="0.919" stopColor="#007669"></stop>
<stop offset="0.922" stopColor="#00776A"></stop>
<stop offset="1" stopColor="#80A29E"></stop>
</linearGradient>
<path
fill="none"
stroke="url(#SVGID_00000140707760598298352560000014678655576441594297_)"
strokeMiterlimit="10"
strokeWidth="10.332"
d="M515.2 448.3c13.7-26.7 21.8-56.5 24-86.6 4.8-66.7-19.3-129.9-51.7-186.9-27.7-48.8-65.3-99.3-118.8-121.2-125.1-51.3-230 43-285.5 162-78.4 168.3-19.6 323 123.2 343.9 96.4 14.1 209.9 8.5 279.8-69 11.6-12.7 21.2-27 29-42.2z"
></path>
</svg>
);
export default OlivyaSVG;

View file

@ -287,6 +287,7 @@ import { NotDiamondIcon } from "../icons/NotDiamond";
import { NotionIcon } from "../icons/Notion";
import { NovitaIcon } from "../icons/Novita";
import { NvidiaIcon } from "../icons/Nvidia";
import { OlivyaIcon } from "../icons/Olivya";
import { OllamaIcon } from "../icons/Ollama";
import { OpenAiIcon } from "../icons/OpenAi";
import { OpenRouterIcon } from "../icons/OpenRouter";
@ -399,6 +400,7 @@ export const nodeColors: { [char: string]: string } = {
chains: "#FE7500",
list: "#9AAE42",
agents: "#903BBE",
Olivya: "#00413B",
tools: "#00fbfc",
memories: "#F5B85A",
saved_components: "#a5B85A",
@ -525,6 +527,7 @@ export const SIDEBAR_BUNDLES = [
name: "astra_assistants",
icon: "AstraDB",
},
{ display_name: "Olivya", name: "olivya", icon: "Olivya" },
{ display_name: "LangWatch", name: "langwatch", icon: "Langwatch" },
{ display_name: "Notion", name: "Notion", icon: "Notion" },
{ display_name: "Needle", name: "needle", icon: "Needle" },
@ -639,6 +642,7 @@ export const nodeIconsLucide: iconsType = {
AstraDB: AstraDBIcon,
BingSearchAPIWrapper: BingIcon,
BingSearchRun: BingIcon,
Olivya: OlivyaIcon,
Bing: BingIcon,
Cohere: CohereIcon,
ChevronsUpDownIcon,