Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion packages/engine/src/lib/services/progress.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,15 @@ const fetchWithRetry = fetchRetry(global.fetch)

const BACKUP_INTERVAL_MS = 15000
export let latestUpdateParams: UpdateStepProgressParams | null = null
let backupIntervalId: NodeJS.Timeout | null = null

export const progressService = {
init: (): void => {
setInterval(async () => {
if (backupIntervalId) {
clearInterval(backupIntervalId)
}

backupIntervalId = setInterval(async () => {
if (isNil(latestUpdateParams)) {
return
}
Expand Down Expand Up @@ -131,6 +136,10 @@ export const progressService = {
})
},
shutdown: () => {
if (backupIntervalId) {
clearInterval(backupIntervalId)
backupIntervalId = null
}
latestUpdateParams = null
},
}
Expand Down
170 changes: 170 additions & 0 deletions packages/pieces/community/kapso/src/i18n/translation.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
{
"Send and receive WhatsApp messages, media, templates, and more using the Kapso WhatsApp API.": "Send and receive WhatsApp messages, media, templates, and more using the Kapso WhatsApp API.",
"Your Kapso API key. You can obtain it from your [Kapso dashboard](https://app.kapso.ai).": "Your Kapso API key. You can obtain it from your [Kapso dashboard](https://app.kapso.ai).",
"Send Text Message": "Send Text Message",
"Send Button Message": "Send Button Message",
"Send List Message": "Send List Message",
"Send Image": "Send Image",
"Send Video": "Send Video",
"Send Audio": "Send Audio",
"Send Document": "Send Document",
"Send Sticker": "Send Sticker",
"Send Location": "Send Location",
"Request User Location": "Request User Location",
"Send Contact": "Send Contact",
"Send Reaction": "Send Reaction",
"Mark Message as Read": "Mark Message as Read",
"Send Template Message": "Send Template Message",
"Custom API Call": "Custom API Call",
"Send a text message via WhatsApp.": "Send a text message via WhatsApp.",
"Send an interactive button message via WhatsApp (up to 3 buttons).": "Send an interactive button message via WhatsApp (up to 3 buttons).",
"Send an interactive list message via WhatsApp.": "Send an interactive list message via WhatsApp.",
"Send an image message via WhatsApp.": "Send an image message via WhatsApp.",
"Send a video message via WhatsApp.": "Send a video message via WhatsApp.",
"Send an audio message via WhatsApp.": "Send an audio message via WhatsApp.",
"Send a document message via WhatsApp.": "Send a document message via WhatsApp.",
"Send a sticker message via WhatsApp.": "Send a sticker message via WhatsApp.",
"Send a location message via WhatsApp.": "Send a location message via WhatsApp.",
"Send a location request message to a WhatsApp user.": "Send a location request message to a WhatsApp user.",
"Send a contact card via WhatsApp.": "Send a contact card via WhatsApp.",
"React to a WhatsApp message with an emoji.": "React to a WhatsApp message with an emoji.",
"Mark a WhatsApp message as read.": "Mark a WhatsApp message as read.",
"Send a pre-approved WhatsApp template message.": "Send a pre-approved WhatsApp template message.",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Phone Number": "Phone Number",
"Recipient Phone Number": "Recipient Phone Number",
"Message": "Message",
"Preview URL": "Preview URL",
"Body Text": "Body Text",
"Buttons": "Buttons",
"Footer Text": "Footer Text",
"Button Text": "Button Text",
"Sections": "Sections",
"Header Text": "Header Text",
"Image URL": "Image URL",
"Image Media ID": "Image Media ID",
"Caption": "Caption",
"Video URL": "Video URL",
"Video Media ID": "Video Media ID",
"Audio URL": "Audio URL",
"Audio Media ID": "Audio Media ID",
"Document URL": "Document URL",
"Document Media ID": "Document Media ID",
"Filename": "Filename",
"Sticker URL": "Sticker URL",
"Sticker Media ID": "Sticker Media ID",
"Latitude": "Latitude",
"Longitude": "Longitude",
"Location Name": "Location Name",
"Address": "Address",
"Full Name": "Full Name",
"First Name": "First Name",
"Last Name": "Last Name",
"Email": "Email",
"Company": "Company",
"Message ID": "Message ID",
"Emoji": "Emoji",
"Business Account": "Business Account",
"Template": "Template",
"Header Type": "Header Type",
"Header Text Parameters": "Header Text Parameters",
"Header Media URL": "Header Media URL",
"Header Document Filename": "Header Document Filename",
"Header Location Latitude": "Header Location Latitude",
"Header Location Longitude": "Header Location Longitude",
"Header Location Name": "Header Location Name",
"Header Location Address": "Header Location Address",
"Body Parameters": "Body Parameters",
"Button Parameters": "Button Parameters",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body Type": "Body Type",
"Body": "Body",
"Response is Binary ?": "Response is Binary ?",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"Follow redirects": "Follow redirects",
"Select the WhatsApp phone number to send from.": "Select the WhatsApp phone number to send from.",
"The recipient's phone number in international format (e.g. 15551234567).": "The recipient's phone number in international format (e.g. 15551234567).",
"The text message to send.": "The text message to send.",
"Whether to show a link preview if the message contains a URL.": "Whether to show a link preview if the message contains a URL.",
"The message body displayed above the buttons.": "The message body displayed above the buttons.",
"Up to 3 buttons. Each button needs an ID and a title (max 20 characters).": "Up to 3 buttons. Each button needs an ID and a title (max 20 characters).",
"Optional footer text displayed below the buttons.": "Optional footer text displayed below the buttons.",
"The message body displayed above the list.": "The message body displayed above the list.",
"The text on the button that opens the list (max 20 characters).": "The text on the button that opens the list (max 20 characters).",
"List sections. Each section contains a title and rows.": "List sections. Each section contains a title and rows.",
"Optional header text.": "Optional header text.",
"Optional footer text.": "Optional footer text.",
"Public URL of the image to send.": "Public URL of the image to send.",
"Media ID of a previously uploaded image. Use either URL or Media ID.": "Media ID of a previously uploaded image. Use either URL or Media ID.",
"Optional caption for the image.": "Optional caption for the image.",
"Public URL of the video to send.": "Public URL of the video to send.",
"Media ID of a previously uploaded video. Use either URL or Media ID.": "Media ID of a previously uploaded video. Use either URL or Media ID.",
"Optional caption for the video.": "Optional caption for the video.",
"Public URL of the audio file to send.": "Public URL of the audio file to send.",
"Media ID of a previously uploaded audio. Use either URL or Media ID.": "Media ID of a previously uploaded audio. Use either URL or Media ID.",
"Public URL of the document to send.": "Public URL of the document to send.",
"Media ID of a previously uploaded document. Use either URL or Media ID.": "Media ID of a previously uploaded document. Use either URL or Media ID.",
"The filename to display for the document.": "The filename to display for the document.",
"Optional caption for the document.": "Optional caption for the document.",
"Public URL of the sticker (WebP format).": "Public URL of the sticker (WebP format).",
"Media ID of a previously uploaded sticker. Use either URL or Media ID.": "Media ID of a previously uploaded sticker. Use either URL or Media ID.",
"Latitude of the location.": "Latitude of the location.",
"Longitude of the location.": "Longitude of the location.",
"Name of the location.": "Name of the location.",
"Address of the location.": "Address of the location.",
"The message body displayed with the location request.": "The message body displayed with the location request.",
"The contact's formatted full name.": "The contact's formatted full name.",
"The contact's first name.": "The contact's first name.",
"The contact's last name.": "The contact's last name.",
"The contact's phone number.": "The contact's phone number.",
"The contact's email address.": "The contact's email address.",
"The contact's company name.": "The contact's company name.",
"The ID of the message to react to.": "The ID of the message to react to.",
"The emoji to react with (e.g. 👍). Leave empty to remove a reaction.": "The emoji to react with (e.g. 👍). Leave empty to remove a reaction.",
"The ID of the message to mark as read.": "The ID of the message to mark as read.",
"Select the WhatsApp Business Account.": "Select the WhatsApp Business Account.",
"Select a message template to send.": "Select a message template to send.",
"The type of header your template uses. Leave as None if no header.": "The type of header your template uses. Leave as None if no header.",
"Text header parameters (only if header type is Text).": "Text header parameters (only if header type is Text).",
"Public URL of the media file for image, video, or document headers.": "Public URL of the media file for image, video, or document headers.",
"Filename for document headers (e.g. invoice.pdf).": "Filename for document headers (e.g. invoice.pdf).",
"Latitude for location headers.": "Latitude for location headers.",
"Longitude for location headers.": "Longitude for location headers.",
"Name of the location (e.g. Delivery Location).": "Name of the location (e.g. Delivery Location).",
"Template body parameters. Each entry needs a parameter name and value.": "Template body parameters. Each entry needs a parameter name and value.",
"Template button parameters. Each entry maps to a button by index.": "Template button parameters. Each entry maps to a button by index.",
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
"Enable for files like PDFs, images, etc.": "Enable for files like PDFs, images, etc.",
"None": "None",
"Text": "Text",
"Image": "Image",
"Video": "Video",
"Document": "Document",
"Location": "Location",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD",
"JSON": "JSON",
"Form Data": "Form Data",
"Raw": "Raw",
"New Message Received": "New Message Received",
"Message Status Update": "Message Status Update",
"Triggers when a new WhatsApp message is received.": "Triggers when a new WhatsApp message is received.",
"Triggers when a message status changes (sent, delivered, read).": "Triggers when a message status changes (sent, delivered, read).",
"Markdown": "Markdown",
"Status Filter": "Status Filter",
"**Setup Instructions:**\n\n1. Copy the **Webhook URL** below.\n2. Go to your [Kapso dashboard](https://app.kapso.ai) and open your WhatsApp number settings.\n3. Paste the URL as your **Webhook destination URL**.\n4. Incoming WhatsApp events will now trigger this flow.\n\n**Webhook URL:**\n```text\n{{webhookUrl}}\n```\n": "**Setup Instructions:**\n\n1. Copy the **Webhook URL** below.\n2. Go to your [Kapso dashboard](https://app.kapso.ai) and open your WhatsApp number settings.\n3. Paste the URL as your **Webhook destination URL**.\n4. Incoming WhatsApp events will now trigger this flow.\n\n**Webhook URL:**\n```text\n{{webhookUrl}}\n```\n",
"**Setup Instructions:**\n\n1. Copy the **Webhook URL** below.\n2. Go to your [Kapso dashboard](https://app.kapso.ai) and open your WhatsApp number settings.\n3. Paste the URL as your **Webhook destination URL**.\n4. Message status updates will now trigger this flow.\n\n**Webhook URL:**\n```text\n{{webhookUrl}}\n```\n": "**Setup Instructions:**\n\n1. Copy the **Webhook URL** below.\n2. Go to your [Kapso dashboard](https://app.kapso.ai) and open your WhatsApp number settings.\n3. Paste the URL as your **Webhook destination URL**.\n4. Message status updates will now trigger this flow.\n\n**Webhook URL:**\n```text\n{{webhookUrl}}\n```\n",
"Only trigger for a specific status. Leave as All to trigger for any status change.": "Only trigger for a specific status. Leave as All to trigger for any status change.",
"All": "All",
"Sent": "Sent",
"Delivered": "Delivered",
"Read": "Read",
"Failed": "Failed"
}
3 changes: 3 additions & 0 deletions packages/pieces/community/netsuite/src/i18n/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,19 @@
"Get Vendor": "Get Vendor",
"Get Customer": "Get Customer",
"Run SuiteQL Query": "Run SuiteQL Query",
"Execute Dataset": "Execute Dataset",
"Custom API Call": "Custom API Call",
"Gets vendor details from NetSuite.": "Gets vendor details from NetSuite.",
"Gets customer details from NetSuite.": "Gets customer details from NetSuite.",
"Run SuiteQL Query on NetSuite.": "Run SuiteQL Query on NetSuite.",
"Execute Dataset on NetSuite.": "Execute Dataset on NetSuite.",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Vendor ID": "Vendor ID",
"Customer ID": "Customer ID",
"Markdown": "Markdown",
"Query": "Query",
"Arguments": "Arguments",
"Dataset": "Dataset",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
Expand Down
1 change: 1 addition & 0 deletions packages/pieces/community/slack/src/i18n/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@
"\n\tPlease make sure add the bot to the channel by following these steps:\n\t 1. Type /invite in the channel's chat.\n\t 2. Click on Add apps to this channel.\n\t 3. Search for and add the bot.\n \n**Note**: If you can't find the channel in the dropdown list (which fetches up to 2000 channels), please click on the **(F)** and type the channel ID directly in an array like this: `{`{ ['your_channel_id_1', 'your_channel_id_2', ...] `}`}": "\n\tPlease make sure add the bot to the channel by following these steps:\n\t 1. Type /invite in the channel's chat.\n\t 2. Click on Add apps to this channel.\n\t 3. Search for and add the bot.\n \n**Note**: If you can't find the channel in the dropdown list (which fetches up to 2000 channels), please click on the **(F)** and type the channel ID directly in an array like this: `{`{ ['your_channel_id_1', 'your_channel_id_2', ...] `}`}",
"If no channel is selected, the flow will be triggered for username mentions in all channels": "If no channel is selected, the flow will be triggered for username mentions in all channels",
"Select emojis to trigger on": "Select emojis to trigger on",
"If no channel is selected, the flow will be triggered for reactions in all channels the app has access to": "If no channel is selected, the flow will be triggered for reactions in all channels the app has access to",
"List of valid commands that the bot should respond to (e.g., help, ocr, remind)": "List of valid commands that the bot should respond to (e.g., help, ocr, remind)",
"If no channel is selected, the flow will be triggered for commands in all channels": "If no channel is selected, the flow will be triggered for commands in all channels"
}
8 changes: 8 additions & 0 deletions packages/react-ui/public/locales/de/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -691,6 +691,7 @@
"Model ID": "",
"Model Name": "",
"Model Type": "",
"AI Gateway Token": "",
"Resource Name": "Ressourcenname",
"Account ID": "",
"Gateway ID": "",
Expand Down Expand Up @@ -976,6 +977,13 @@
"Select model": "",
"Search models...": "",
"No model found.": "",
"Follow these instructions to get your OpenAI API Key:\n\n1. Go to https://platform.openai.com/account/api-keys.\n2. Once on the website, locate and click on the option to obtain your OpenAI API Key.\n\nIt is strongly recommended that you add your credit card information to your OpenAI account and upgrade to the paid plan **before** generating the API Key. This will help you prevent 429 errors.\n": "",
"Follow these instructions to get your Claude API Key:\n\n1. Go to https://console.anthropic.com/settings/keys.\n2. Once on the website, locate and click on the option to obtain your Claude API Key.\n": "",
"Follow these instructions to get your Google API Key:\n1. Go to https://console.cloud.google.com/apis/credentials.\n2. Once on the website, locate and click on the option to obtain your Google API Key.\n": "",
"Use the Azure Portal to browse to your OpenAI resource and retrieve an API key and resource name.": "",
"Follow these instructions to get your OpenRouter API Key:\n1. Go to https://openrouter.ai/settings/keys.\n2. Once on the website, locate and click on the option to obtain your OpenRouter API Key.": "",
"Follow these instructions to get your Cloudflare AI Gateway API Key:\n1. Go to https://developers.cloudflare.com/ai-gateway/get-started/ to create your gateway then enter it from the dashboard.\n2. Look in the overview section for this link https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_name}/ to get your account id and gateway id.\n3. Create an AI Gateway Token by checking https://developers.cloudflare.com/ai-gateway/configuration/authentication/#setting-up-authenticated-gateway-using-the-dashboard.\n4. In your gateway dashboard, go to the providers tab and add your API keys for each provider.\n5. After you finish all the previous steps and filled the required inputs, add models but make sure you prefix the model id with the provider name i.e (openai/gpt-4o) or (anthropic/claude-3-5-sonnet), check https://developers.cloudflare.com/ai-gateway/usage/chat-completion/ for more information.": "",
"Follow these instructions to get your OpenAI Compatible API Key:\n1. Set the base url to your proxy url.\n2. In the api key header, set the value of your auth header name.\n3. In the api key, set your auth header value (full value including the Bearer if any).": "",
"Add Field": "",
"Structured Output": "Strukturierte Ausgabe",
"No structured output fields yet.": "",
Expand Down
Loading
Loading