Add Activepieces integration for workflow automation

- Add Activepieces fork with SmoothSchedule custom piece
- Create integrations app with Activepieces service layer
- Add embed token endpoint for iframe integration
- Create Automations page with embedded workflow builder
- Add sidebar visibility fix for embed mode
- Add list inactive customers endpoint to Public API
- Include SmoothSchedule triggers: event created/updated/cancelled
- Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
poduck
2025-12-18 22:59:37 -05:00
parent 9848268d34
commit 3aa7199503
16292 changed files with 1284892 additions and 4708 deletions

View File

@@ -0,0 +1,37 @@
{
"extends": [
"../../../../.eslintrc.json"
],
"ignorePatterns": [
"!**/*"
],
"overrides": [
{
"files": [
"*.ts",
"*.tsx",
"*.js",
"*.jsx"
],
"rules": {},
"extends": [
"plugin:prettier/recommended"
],
"plugins": ["prettier"]
},
{
"files": [
"*.ts",
"*.tsx"
],
"rules": {}
},
{
"files": [
"*.js",
"*.jsx"
],
"rules": {}
}
]
}

View File

@@ -0,0 +1,7 @@
# pieces-text-helper
This library was generated with [Nx](https://nx.dev).
## Building
Run `nx build pieces-text-helper` to build the library.

View File

@@ -0,0 +1,10 @@
{
"name": "@activepieces/piece-text-helper",
"version": "0.4.9",
"dependencies": {
"showdown": "2.1.0",
"slugify": "1.6.6",
"string-strip-html": "8.5.0",
"turndown": "7.2.0"
}
}

View File

@@ -0,0 +1,56 @@
{
"name": "pieces-text-helper",
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "packages/pieces/community/text-helper/src",
"projectType": "library",
"targets": {
"build": {
"executor": "@nx/js:tsc",
"outputs": [
"{options.outputPath}"
],
"options": {
"outputPath": "dist/packages/pieces/community/text-helper",
"tsConfig": "packages/pieces/community/text-helper/tsconfig.lib.json",
"packageJson": "packages/pieces/community/text-helper/package.json",
"main": "packages/pieces/community/text-helper/src/index.ts",
"assets": [
"packages/pieces/community/text-helper/*.md",
{
"input": "packages/pieces/community/text-helper/src/i18n",
"output": "./src/i18n",
"glob": "**/!(i18n.json)"
}
],
"updateBuildableProjectDepsInPackageJson": true
},
"dependsOn": [
"^build",
"prebuild"
]
},
"publish": {
"command": "node tools/scripts/publish.mjs pieces-string-utils {args.ver} {args.tag}",
"dependsOn": [
"build"
]
},
"lint": {
"executor": "@nx/eslint:lint",
"outputs": [
"{options.outputFile}"
]
},
"prebuild": {
"executor": "nx:run-commands",
"options": {
"cwd": "packages/pieces/community/text-helper",
"command": "bun install --no-save --silent"
},
"dependsOn": [
"^build"
]
}
},
"tags": []
}

View File

@@ -0,0 +1,57 @@
{
"Text Helper": "Text Helper",
"Tools for text processing": "Tools for text processing",
"Concatenate": "Concatenate",
"Replace": "Replace",
"Split": "Split",
"Find": "Find",
"Markdown to HTML": "Markdown to HTML",
"HTML to Markdown": "HTML to Markdown",
"Remove HTML Tags": "Remove HTML Tags",
"Slugify": "Slugify",
"Use Default Value if Input is Empty": "Use Default Value if Input is Empty",
"Concatenate two or more texts": "Concatenate two or more texts",
"Replaces all instances of any word, character or phrase in text, with another.": "Replaces all instances of any word, character or phrase in text, with another.",
"Split a text by a delimiter": "Split a text by a delimiter",
"Find substring (Regex or Text).": "Find substring (Regex or Text).",
"Convert markdown to HTML": "Convert markdown to HTML",
"Convert HTML to Markdown": "Convert HTML to Markdown",
"Removes every HTML tag and returns plain text": "Removes every HTML tag and returns plain text",
"Slugifies strings.": "Slugifies strings.",
"Checks your input and returns the default value, if the input is an empty text or list": "Checks your input and returns the default value, if the input is an empty text or list",
"Texts": "Texts",
"Separator": "Separator",
"Text": "Text",
"Search Value": "Search Value",
"Replace Value": "Replace Value",
"Replace Only First Match": "Replace Only First Match",
"Delimiter": "Delimiter",
"text": "text",
"Expression": "Expression",
"Markdown Content": "Markdown Content",
"Flavor of Markdown": "Flavor of Markdown",
"Minimum Header Level": "Minimum Header Level",
"Support Tables": "Support Tables",
"No Header ID": "No Header ID",
"Simple Line Breaks": "Simple Line Breaks",
"Open Links in New Window": "Open Links in New Window",
"HTML Content": "HTML Content",
"HTML content": "HTML content",
"Enter value": "Enter value",
"Default Value": "Default Value",
"The text that separates the texts you want to concatenate": "The text that separates the texts you want to concatenate",
"Can be plain text or a regex expression.": "Can be plain text or a regex expression.",
"Leave empty to delete found results.": "Leave empty to delete found results.",
"Only replaces the first instance of the search value.": "Only replaces the first instance of the search value.",
"Regex or text to search for.": "Regex or text to search for.",
"The markdown to convert to HTML": "The markdown to convert to HTML",
"The flavor of markdown use during conversion": "The flavor of markdown use during conversion",
"The minimum header level to use during conversion": "The minimum header level to use during conversion",
"Whether to support tables during conversion": "Whether to support tables during conversion",
"Whether to add an ID to headers during conversion": "Whether to add an ID to headers during conversion",
"Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line": "Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line",
"The HTML to convert to markdown": "The HTML to convert to markdown",
"Default": "Default",
"Original": "Original",
"GitHub": "GitHub"
}

View File

@@ -0,0 +1,60 @@
{
"Tools for text processing": "Werkzeuge für Textverarbeitung",
"Concatenate": "Zusammenführen",
"Replace": "Ersetzen",
"Split": "Aufteilen",
"Find": "Suchen",
"Markdown to HTML": "Markdown zu HTML",
"HTML to Markdown": "HTML zu Markdown",
"Remove HTML Tags": "HTML-Tags entfernen",
"Slugify": "Slugify",
"Use Default Value if Input is Empty": "Standardwert verwenden, wenn Eingabe leer ist",
"List to Text Table": "Liste zur Texttabelle",
"Concatenate two or more texts": "Zwei oder mehr Texte zusammenfassen",
"Replaces all instances of any word, character or phrase in text, with another.": "Ersetzt alle Instanzen eines Wortes, eines Zeichens oder einer Phrase im Text durch ein anderes.",
"Split a text by a delimiter": "Text durch Trennzeichen teilen",
"Find substring (Regex or Text).": "Substring finden (Regex oder Text).",
"Convert markdown to HTML": "Markdown in HTML konvertieren",
"Convert HTML to Markdown": "HTML in Markdown konvertieren",
"Removes every HTML tag and returns plain text": "Entfernt jeden HTML-Tag und gibt Klartext zurück",
"Slugifies strings.": "Verwässert Zeichenketten.",
"Checks your input and returns the default value, if the input is an empty text or list": "Prüft Ihre Eingabe und gibt den Standardwert zurück, wenn die Eingabe ein leerer Text oder eine Liste ist",
"Convert a list of items to a text table": "Eine Liste von Elementen in eine Texttabelle konvertieren",
"Texts": "Texte",
"Separator": "Trennzeichen",
"Text": "Text",
"Search Value": "Suchwert",
"Replace Value": "Wert ersetzen",
"Replace Only First Match": "Nur erstes Match ersetzen",
"Delimiter": "Trennzeichen",
"text": "text",
"Expression": "Ausdruck",
"Markdown Content": "Markdown Content",
"Flavor of Markdown": "Sorte Markdown",
"Minimum Header Level": "Minimale Kopfzeilenstufe",
"Support Tables": "Unterstützungstabellen",
"No Header ID": "Keine Header-ID",
"Simple Line Breaks": "Einfache Zeilenumbrüche",
"Open Links in New Window": "Links in neuem Fenster öffnen",
"HTML Content": "HTML-Inhalt",
"HTML content": "HTML-Inhalt",
"Enter value": "Wert eingeben",
"Default Value": "Standardwert",
"List": "Liste",
"The text that separates the texts you want to concatenate": "Der Text, der die Texte trennt, die Sie zusammenfassen möchten",
"Can be plain text or a regex expression.": "Kann einfacher Text oder ein regex-Ausdruck sein.",
"Leave empty to delete found results.": "Leer lassen, um gefundene Ergebnisse zu löschen.",
"Only replaces the first instance of the search value.": "Ersetzt nur die erste Instanz des Suchwertes.",
"Regex or text to search for.": "Regex oder Text zum Suchen.",
"The markdown to convert to HTML": "Das Markdown zum Konvertieren in HTML",
"The flavor of markdown use during conversion": "Der Geschmack der Markdown Verwendung während der Konvertierung",
"The minimum header level to use during conversion": "Die minimale Kopfzeilen-Ebene, die bei der Konvertierung verwendet wird",
"Whether to support tables during conversion": "Gibt an, ob Tabellen während der Konvertierung unterstützt werden sollen",
"Whether to add an ID to headers during conversion": "Gibt an, ob während der Konvertierung eine ID zu Kopfzeilen hinzugefügt werden soll",
"Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line": "Parse Linie pausiert als &lt;br&gt;, ohne 2 Leerzeichen am Ende der Zeile zu benötigen",
"The HTML to convert to markdown": "HTML zum Konvertieren in Markdown",
"List of items to convert to a text table": "Liste der Elemente, die in eine Texttabelle konvertiert werden sollen",
"Default": "Standard",
"Original": "Original",
"GitHub": "GitHub"
}

View File

@@ -0,0 +1,60 @@
{
"Tools for text processing": "Herramientas para procesamiento de texto",
"Concatenate": "Concatenar",
"Replace": "Reemplazar",
"Split": "Dividir",
"Find": "Buscar",
"Markdown to HTML": "Markdown a HTML",
"HTML to Markdown": "HTML a Markdown",
"Remove HTML Tags": "Eliminar etiquetas HTML",
"Slugify": "Slugify",
"Use Default Value if Input is Empty": "Usar valor predeterminado si la entrada está vacía",
"List to Text Table": "Lista a Tabla de Texto",
"Concatenate two or more texts": "Concatenar dos o más textos",
"Replaces all instances of any word, character or phrase in text, with another.": "Reemplaza todas las instancias de cualquier palabra, carácter o frase en texto, con otra.",
"Split a text by a delimiter": "Dividir un texto por un delimitador",
"Find substring (Regex or Text).": "Buscar subcadena (Regex o Texto).",
"Convert markdown to HTML": "Convertir markdown a HTML",
"Convert HTML to Markdown": "Convertir HTML a Markdown",
"Removes every HTML tag and returns plain text": "Elimina cada etiqueta HTML y devuelve texto plano",
"Slugifies strings.": "Slugifica las cadenas.",
"Checks your input and returns the default value, if the input is an empty text or list": "Comprueba tu entrada y devuelve el valor predeterminado, si la entrada está vacía de texto o lista",
"Convert a list of items to a text table": "Convierte una lista de elementos a una tabla de texto",
"Texts": "Textos",
"Separator": "Separador",
"Text": "Texto",
"Search Value": "Valor de búsqueda",
"Replace Value": "Reemplazar valor",
"Replace Only First Match": "Reemplazar solo la primera partida",
"Delimiter": "Delimitador",
"text": "texto",
"Expression": "Expresión",
"Markdown Content": "Markdown Content",
"Flavor of Markdown": "Sabor de Markdown",
"Minimum Header Level": "Nivel mínimo de cabecera",
"Support Tables": "Tablas de soporte",
"No Header ID": "Sin ID de cabecera",
"Simple Line Breaks": "Saltos de línea simples",
"Open Links in New Window": "Abrir enlaces en nueva ventana",
"HTML Content": "Contenido HTML",
"HTML content": "Contenido HTML",
"Enter value": "Introducir valor",
"Default Value": "Valor por defecto",
"List": "Lista",
"The text that separates the texts you want to concatenate": "El texto que separa los textos que desea concatenar",
"Can be plain text or a regex expression.": "Puede ser texto plano o expresión regex.",
"Leave empty to delete found results.": "Dejar en blanco para eliminar los resultados encontrados.",
"Only replaces the first instance of the search value.": "Sólo reemplaza la primera instancia del valor de búsqueda.",
"Regex or text to search for.": "Regex o texto a buscar.",
"The markdown to convert to HTML": "El markdown para convertir a HTML",
"The flavor of markdown use during conversion": "El sabor del uso de markdown durante la conversión",
"The minimum header level to use during conversion": "El nivel mínimo de cabecera a usar durante la conversión",
"Whether to support tables during conversion": "Si soporta tablas durante la conversión",
"Whether to add an ID to headers during conversion": "Si agregar un ID a las cabeceras durante la conversión",
"Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line": "Analiza los saltos de línea como &lt;br&gt;, sin necesidad de 2 espacios al final de la línea",
"The HTML to convert to markdown": "El HTML para convertir a markdown",
"List of items to convert to a text table": "Lista de elementos a convertir a una tabla de texto",
"Default": "Por defecto",
"Original": "Original",
"GitHub": "GitHub"
}

View File

@@ -0,0 +1,60 @@
{
"Tools for text processing": "Outils pour le traitement du texte",
"Concatenate": "Concaténer",
"Replace": "Remplacer",
"Split": "Diviser",
"Find": "Chercher",
"Markdown to HTML": "Markdown vers HTML",
"HTML to Markdown": "HTML vers Markdown",
"Remove HTML Tags": "Supprimer les balises HTML",
"Slugify": "Slugify",
"Use Default Value if Input is Empty": "Utiliser la valeur par défaut si l'entrée est vide",
"List to Text Table": "Table de texte de la liste",
"Concatenate two or more texts": "Concaténer deux ou plusieurs textes",
"Replaces all instances of any word, character or phrase in text, with another.": "Remplace toutes les instances de n'importe quel mot, caractère ou expression dans le texte, par un autre.",
"Split a text by a delimiter": "Diviser un texte par un délimiteur",
"Find substring (Regex or Text).": "Rechercher une sous-chaîne (Regex ou Texte).",
"Convert markdown to HTML": "Convertir markdown en HTML",
"Convert HTML to Markdown": "Convertir le HTML en Markdown",
"Removes every HTML tag and returns plain text": "Supprime chaque balise HTML et retourne du texte brut",
"Slugifies strings.": "Slugifie les chaînes.",
"Checks your input and returns the default value, if the input is an empty text or list": "Vérifie votre entrée et renvoie la valeur par défaut, si l'entrée est un texte vide ou une liste",
"Convert a list of items to a text table": "Convertir une liste d'éléments en un tableau de texte",
"Texts": "Textes",
"Separator": "Séparateur",
"Text": "Texte du texte",
"Search Value": "Valeur de la recherche",
"Replace Value": "Remplacer la valeur",
"Replace Only First Match": "Remplacer seulement le premier match",
"Delimiter": "Délimiteur",
"text": "texte du texte",
"Expression": "Expression",
"Markdown Content": "Markdown Content",
"Flavor of Markdown": "Saveur de Markdown",
"Minimum Header Level": "Niveau minimum d'en-tête",
"Support Tables": "Tables de support",
"No Header ID": "Aucun ID d'en-tête",
"Simple Line Breaks": "Coupes de ligne simples",
"Open Links in New Window": "Ouvrir les liens dans une nouvelle fenêtre",
"HTML Content": "Contenu HTML",
"HTML content": "Contenu HTML",
"Enter value": "Entrez une valeur",
"Default Value": "Valeur par défaut",
"List": "Liste",
"The text that separates the texts you want to concatenate": "Le texte qui sépare les textes que vous voulez concaténer",
"Can be plain text or a regex expression.": "Peut être du texte brut ou une expression régulière.",
"Leave empty to delete found results.": "Laisser vide pour supprimer les résultats trouvés.",
"Only replaces the first instance of the search value.": "Remplace seulement la première instance de la valeur de la recherche.",
"Regex or text to search for.": "Regex ou texte à rechercher.",
"The markdown to convert to HTML": "Le markdown à convertir en HTML",
"The flavor of markdown use during conversion": "La saveur de l'utilisation du markdown lors de la conversion",
"The minimum header level to use during conversion": "Le niveau d'en-tête minimum à utiliser lors de la conversion",
"Whether to support tables during conversion": "Prise en charge des tables lors de la conversion",
"Whether to add an ID to headers during conversion": "S'il faut ajouter un ID aux en-têtes lors de la conversion",
"Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line": "Analyse les sauts de ligne en &lt;br&gt;, sans avoir besoin de 2 espaces à la fin de la ligne",
"The HTML to convert to markdown": "Le HTML à convertir en markdown",
"List of items to convert to a text table": "Liste des éléments à convertir en table de texte",
"Default": "Par défaut",
"Original": "Originale",
"GitHub": "GitHub"
}

View File

@@ -0,0 +1,57 @@
{
"Text Helper": "Text Helper",
"Tools for text processing": "Tools for text processing",
"Concatenate": "Concatenate",
"Replace": "Replace",
"Split": "Split",
"Find": "Find",
"Markdown to HTML": "Markdown to HTML",
"HTML to Markdown": "HTML to Markdown",
"Remove HTML Tags": "Remove HTML Tags",
"Slugify": "Slugify",
"Use Default Value if Input is Empty": "Use Default Value if Input is Empty",
"Concatenate two or more texts": "Concatenate two or more texts",
"Replaces all instances of any word, character or phrase in text, with another.": "Replaces all instances of any word, character or phrase in text, with another.",
"Split a text by a delimiter": "Split a text by a delimiter",
"Find substring (Regex or Text).": "Find substring (Regex or Text).",
"Convert markdown to HTML": "Convert markdown to HTML",
"Convert HTML to Markdown": "Convert HTML to Markdown",
"Removes every HTML tag and returns plain text": "Removes every HTML tag and returns plain text",
"Slugifies strings.": "Slugifies strings.",
"Checks your input and returns the default value, if the input is an empty text or list": "Checks your input and returns the default value, if the input is an empty text or list",
"Texts": "Texts",
"Separator": "Separator",
"Text": "Text",
"Search Value": "Search Value",
"Replace Value": "Replace Value",
"Replace Only First Match": "Replace Only First Match",
"Delimiter": "Delimiter",
"text": "text",
"Expression": "Expression",
"Markdown Content": "Markdown Content",
"Flavor of Markdown": "Flavor of Markdown",
"Minimum Header Level": "Minimum Header Level",
"Support Tables": "Support Tables",
"No Header ID": "No Header ID",
"Simple Line Breaks": "Simple Line Breaks",
"Open Links in New Window": "Open Links in New Window",
"HTML Content": "HTML Content",
"HTML content": "HTML content",
"Enter value": "Enter value",
"Default Value": "Default Value",
"The text that separates the texts you want to concatenate": "The text that separates the texts you want to concatenate",
"Can be plain text or a regex expression.": "Can be plain text or a regex expression.",
"Leave empty to delete found results.": "Leave empty to delete found results.",
"Only replaces the first instance of the search value.": "Only replaces the first instance of the search value.",
"Regex or text to search for.": "Regex or text to search for.",
"The markdown to convert to HTML": "The markdown to convert to HTML",
"The flavor of markdown use during conversion": "The flavor of markdown use during conversion",
"The minimum header level to use during conversion": "The minimum header level to use during conversion",
"Whether to support tables during conversion": "Whether to support tables during conversion",
"Whether to add an ID to headers during conversion": "Whether to add an ID to headers during conversion",
"Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line": "Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line",
"The HTML to convert to markdown": "The HTML to convert to markdown",
"Default": "Default",
"Original": "Original",
"GitHub": "GitHub"
}

View File

@@ -0,0 +1,57 @@
{
"Text Helper": "Text Helper",
"Tools for text processing": "Tools for text processing",
"Concatenate": "Concatenate",
"Replace": "Replace",
"Split": "Split",
"Find": "Find",
"Markdown to HTML": "Markdown to HTML",
"HTML to Markdown": "HTML to Markdown",
"Remove HTML Tags": "Remove HTML Tags",
"Slugify": "Slugify",
"Use Default Value if Input is Empty": "Use Default Value if Input is Empty",
"Concatenate two or more texts": "Concatenate two or more texts",
"Replaces all instances of any word, character or phrase in text, with another.": "Replaces all instances of any word, character or phrase in text, with another.",
"Split a text by a delimiter": "Split a text by a delimiter",
"Find substring (Regex or Text).": "Find substring (Regex or Text).",
"Convert markdown to HTML": "Convert markdown to HTML",
"Convert HTML to Markdown": "Convert HTML to Markdown",
"Removes every HTML tag and returns plain text": "Removes every HTML tag and returns plain text",
"Slugifies strings.": "Slugifies strings.",
"Checks your input and returns the default value, if the input is an empty text or list": "Checks your input and returns the default value, if the input is an empty text or list",
"Texts": "Texts",
"Separator": "Separator",
"Text": "Text",
"Search Value": "Search Value",
"Replace Value": "Replace Value",
"Replace Only First Match": "Replace Only First Match",
"Delimiter": "Delimiter",
"text": "text",
"Expression": "Expression",
"Markdown Content": "Markdown Content",
"Flavor of Markdown": "Flavor of Markdown",
"Minimum Header Level": "Minimum Header Level",
"Support Tables": "Support Tables",
"No Header ID": "No Header ID",
"Simple Line Breaks": "Simple Line Breaks",
"Open Links in New Window": "Open Links in New Window",
"HTML Content": "HTML Content",
"HTML content": "HTML content",
"Enter value": "Enter value",
"Default Value": "Default Value",
"The text that separates the texts you want to concatenate": "The text that separates the texts you want to concatenate",
"Can be plain text or a regex expression.": "Can be plain text or a regex expression.",
"Leave empty to delete found results.": "Leave empty to delete found results.",
"Only replaces the first instance of the search value.": "Only replaces the first instance of the search value.",
"Regex or text to search for.": "Regex or text to search for.",
"The markdown to convert to HTML": "The markdown to convert to HTML",
"The flavor of markdown use during conversion": "The flavor of markdown use during conversion",
"The minimum header level to use during conversion": "The minimum header level to use during conversion",
"Whether to support tables during conversion": "Whether to support tables during conversion",
"Whether to add an ID to headers during conversion": "Whether to add an ID to headers during conversion",
"Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line": "Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line",
"The HTML to convert to markdown": "The HTML to convert to markdown",
"Default": "Default",
"Original": "Original",
"GitHub": "GitHub"
}

View File

@@ -0,0 +1,60 @@
{
"Tools for text processing": "テキスト処理のためのツール",
"Concatenate": "結合",
"Replace": "置換",
"Split": "分割",
"Find": "検索",
"Markdown to HTML": "Markdown から HTML へ",
"HTML to Markdown": "HTMLからMarkdown へ",
"Remove HTML Tags": "HTMLタグを削除",
"Slugify": "Slugify",
"Use Default Value if Input is Empty": "入力が空の場合はデフォルト値を使用",
"List to Text Table": "テキストテーブルへのリスト",
"Concatenate two or more texts": "複数のテキストを連結する",
"Replaces all instances of any word, character or phrase in text, with another.": "テキスト内の任意の単語、文字またはフレーズのすべてのインスタンスを別の単語に置き換えます。",
"Split a text by a delimiter": "テキストを区切り文字で分割",
"Find substring (Regex or Text).": "部分文字列(正規表現またはテキスト)を検索します。",
"Convert markdown to HTML": "マークダウンをHTMLに変換",
"Convert HTML to Markdown": "HTMLをMarkdownに変換",
"Removes every HTML tag and returns plain text": "すべての HTML タグを削除し、プレーンテキストを返します",
"Slugifies strings.": "文字列を削除します。",
"Checks your input and returns the default value, if the input is an empty text or list": "入力が空のテキストまたはリストの場合、入力を確認し、デフォルト値を返します。",
"Convert a list of items to a text table": "リストの項目をテキストテーブルに変換する",
"Texts": "テキスト",
"Separator": "区切り記号",
"Text": "テキスト",
"Search Value": "検索値",
"Replace Value": "置換値",
"Replace Only First Match": "最初の一致のみ置換",
"Delimiter": "区切り文字",
"text": "テキスト",
"Expression": "式",
"Markdown Content": "Markdown Content",
"Flavor of Markdown": "Markdown の味",
"Minimum Header Level": "最低ヘッダーレベル",
"Support Tables": "サポートテーブル",
"No Header ID": "ヘッダーIDなし",
"Simple Line Breaks": "シンプルな改行コード",
"Open Links in New Window": "新しいウィンドウでリンクを開く",
"HTML Content": "HTML コンテンツ",
"HTML content": "HTML コンテンツ",
"Enter value": "値を入力",
"Default Value": "デフォルト値",
"List": "リスト",
"The text that separates the texts you want to concatenate": "連結したいテキストを区切るテキスト",
"Can be plain text or a regex expression.": "プレーンテキストまたは正規表現を使用できます。",
"Leave empty to delete found results.": "見つかった結果を削除するには空白のままにしてください。",
"Only replaces the first instance of the search value.": "検索値の最初のインスタンスのみを置き換えます。",
"Regex or text to search for.": "検索する正規表現またはテキスト。",
"The markdown to convert to HTML": "HTMLに変換するマークダウン",
"The flavor of markdown use during conversion": "変換中のマークダウン使用の味",
"The minimum header level to use during conversion": "変換時に使用する最低ヘッダーレベル",
"Whether to support tables during conversion": "変換中にテーブルをサポートするかどうか",
"Whether to add an ID to headers during conversion": "変換中にヘッダに ID を追加するかどうか",
"Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line": "行末に 2 つのスペースを必要とせずに、改行を &lt;br&gt;として解析します。",
"The HTML to convert to markdown": "マークダウンに変換する HTML",
"List of items to convert to a text table": "テキストテーブルに変換するアイテムのリスト",
"Default": "デフォルト",
"Original": "オリジナル",
"GitHub": "GitHub"
}

View File

@@ -0,0 +1,60 @@
{
"Tools for text processing": "Gereedschappen voor tekstverwerking",
"Concatenate": "Samenvoegen",
"Replace": "Vervangen",
"Split": "Opsplitsen",
"Find": "Zoeken",
"Markdown to HTML": "Markdown naar HTML",
"HTML to Markdown": "HTML naar Markdown",
"Remove HTML Tags": "Verwijder HTML-tags",
"Slugify": "Slugify",
"Use Default Value if Input is Empty": "Gebruik standaard waarde als de invoer leeg is",
"List to Text Table": "Lijst naar teksttabel",
"Concatenate two or more texts": "Samenvoegen van twee of meer teksten",
"Replaces all instances of any word, character or phrase in text, with another.": "Vervangt alle voorbeelden van een woord, teken of zin in tekst, met een ander woord.",
"Split a text by a delimiter": "Splits tekst door een scheidingsteken",
"Find substring (Regex or Text).": "Zoek substring (Regex of tekst).",
"Convert markdown to HTML": "Converteer markdown naar HTML",
"Convert HTML to Markdown": "Converteer HTML naar Markdown",
"Removes every HTML tag and returns plain text": "Verwijdert elke HTML-tag en geeft platte tekst terug",
"Slugifies strings.": "Slugificeert strings.",
"Checks your input and returns the default value, if the input is an empty text or list": "Controleert uw invoer en geeft de standaardwaarde terug als de invoer een lege tekst of lijst is",
"Convert a list of items to a text table": "Een lijst met items omzetten naar een teksttabel",
"Texts": "Teksten",
"Separator": "Scheidingsteken",
"Text": "Tekstveld",
"Search Value": "Waarde zoeken",
"Replace Value": "Vervang waarde",
"Replace Only First Match": "Vervang alleen eerste overeenkomst",
"Delimiter": "Scheidingsteken",
"text": "tekstveld",
"Expression": "Expressie",
"Markdown Content": "Markdown Content",
"Flavor of Markdown": "Flavor van Markdown",
"Minimum Header Level": "Minimaal kopniveau",
"Support Tables": "Steun tabellen",
"No Header ID": "Geen header ID",
"Simple Line Breaks": "Eenvoudige lijnbreuken",
"Open Links in New Window": "Links openen in nieuw venster",
"HTML Content": "HTML inhoud",
"HTML content": "HTML inhoud",
"Enter value": "Voer waarde in",
"Default Value": "Standaard waarde",
"List": "Klantenlijst",
"The text that separates the texts you want to concatenate": "De tekst die de teksten scheidt die u wilt samenvoegen",
"Can be plain text or a regex expression.": "Kan platte tekst of een regex expressie zijn.",
"Leave empty to delete found results.": "Laat leeg om gevonden resultaten te verwijderen.",
"Only replaces the first instance of the search value.": "vervangt alleen de eerste instantie van de waarde van de zoekopdracht.",
"Regex or text to search for.": "Regex of tekst om naar te zoeken",
"The markdown to convert to HTML": "De markdown om te converteren naar HTML",
"The flavor of markdown use during conversion": "De smaak van markdown gebruik tijdens conversie",
"The minimum header level to use during conversion": "Minimale te gebruiken koptekstniveau tijdens de conversie",
"Whether to support tables during conversion": "Ondersteun tabellen tijdens conversie",
"Whether to add an ID to headers during conversion": "Of een ID aan headers toe te voegen tijdens de conversie",
"Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line": "Parsen regeleinden als &lt;br&gt;, zonder 2 spaties nodig aan het einde van de regel",
"The HTML to convert to markdown": "De HTML om te converteren naar markdown",
"List of items to convert to a text table": "Lijst van items om te zetten naar een teksttabel",
"Default": "Standaard",
"Original": "Origineel",
"GitHub": "GitHub"
}

View File

@@ -0,0 +1,60 @@
{
"Tools for text processing": "Ferramentas para processamento de texto",
"Concatenate": "Concatenar",
"Replace": "Substituir",
"Split": "Divisão",
"Find": "Localizar",
"Markdown to HTML": "Markdown para HTML",
"HTML to Markdown": "HTML para Markdown",
"Remove HTML Tags": "Remover Tags HTML",
"Slugify": "Slugify",
"Use Default Value if Input is Empty": "Use o valor padrão se a entrada estiver vazia",
"List to Text Table": "Listar para Tabela de Texto",
"Concatenate two or more texts": "Concatenar dois ou mais textos",
"Replaces all instances of any word, character or phrase in text, with another.": "Substitui todas as instâncias de qualquer palavra, caractere ou frase no texto, por outra.",
"Split a text by a delimiter": "Dividir um texto por um delimitador",
"Find substring (Regex or Text).": "Encontre substring (Regex ou Texto).",
"Convert markdown to HTML": "Converter markdown para HTML",
"Convert HTML to Markdown": "Converter HTML para Markdown",
"Removes every HTML tag and returns plain text": "Remove todas as tags HTML e retorna texto puro",
"Slugifies strings.": "Elugifica strings.",
"Checks your input and returns the default value, if the input is an empty text or list": "Verifica sua entrada e retorna o valor padrão, se a entrada estiver vazia ou em branco",
"Convert a list of items to a text table": "Converter uma lista de itens em uma tabela de texto",
"Texts": "Textos",
"Separator": "Separador",
"Text": "texto",
"Search Value": "Pesquisar Valor",
"Replace Value": "Substituir Valor",
"Replace Only First Match": "Substituir Apenas Primeira Correspondência",
"Delimiter": "Delimitador",
"text": "texto",
"Expression": "Expressão",
"Markdown Content": "Markdown Content",
"Flavor of Markdown": "Sabor do Markdown",
"Minimum Header Level": "Nível mínimo do cabeçalho",
"Support Tables": "Tabelas de suporte",
"No Header ID": "Sem ID do Cabeçalho",
"Simple Line Breaks": "Quebra de linha simples",
"Open Links in New Window": "Abrir Links em Nova Janela",
"HTML Content": "Conteúdo HTML",
"HTML content": "Conteúdo HTML",
"Enter value": "Digite o valor",
"Default Value": "Valor Padrão",
"List": "Lista",
"The text that separates the texts you want to concatenate": "O texto que separa os textos que você quer concatenar",
"Can be plain text or a regex expression.": "Pode ser texto simples ou uma expressão regex .",
"Leave empty to delete found results.": "Deixe em branco para excluir os resultados encontrados.",
"Only replaces the first instance of the search value.": "Só substitui a primeira instância do valor de pesquisa.",
"Regex or text to search for.": "Regex ou texto para procurar.",
"The markdown to convert to HTML": "O markdown para converter em HTML",
"The flavor of markdown use during conversion": "O sabor do uso em markdown durante a conversão",
"The minimum header level to use during conversion": "O nível mínimo de cabeçalho a ser usado durante a conversão",
"Whether to support tables during conversion": "Se deseja suportar tabelas durante a conversão",
"Whether to add an ID to headers during conversion": "Adicionar um ID para cabeçalhos durante a conversão",
"Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line": "Analisa quebra de linha como &lt;br&gt;, sem precisar de 2 espaços no final da linha",
"The HTML to convert to markdown": "O HTML para converter para markdown",
"List of items to convert to a text table": "Lista de itens para converter em uma tabela de texto",
"Default": "Padrão",
"Original": "Original",
"GitHub": "GitHub"
}

View File

@@ -0,0 +1,57 @@
{
"Text Helper": "Помощник",
"Tools for text processing": "Инструменты для обработки текста",
"Concatenate": "Контрагент",
"Replace": "Заменить",
"Split": "Разделить",
"Find": "Найти",
"Markdown to HTML": "Markdown в HTML",
"HTML to Markdown": "HTML в Markdown",
"Remove HTML Tags": "Удалить HTML теги",
"Slugify": "Slugify",
"Use Default Value if Input is Empty": "Использовать значение по умолчанию, если Ввод пуст",
"Concatenate two or more texts": "Соединить два или более текстов",
"Replaces all instances of any word, character or phrase in text, with another.": "Заменяет все экземпляры любого слова, символов или фразы в тексте на другое.",
"Split a text by a delimiter": "Разделить текст на разделитель",
"Find substring (Regex or Text).": "Найти подстроку (Regex или текст).",
"Convert markdown to HTML": "Конвертировать markdown в HTML",
"Convert HTML to Markdown": "Преобразовать HTML в Markdown",
"Removes every HTML tag and returns plain text": "Удаляет каждый HTML-тег и возвращает простой текст",
"Slugifies strings.": "Замалчивает строки.",
"Checks your input and returns the default value, if the input is an empty text or list": "Проверяет ваш ввод и возвращает значение по умолчанию, если ввод пустой текст или список",
"Texts": "Тексты",
"Separator": "Разделитель",
"Text": "Текст",
"Search Value": "Поисковое значение",
"Replace Value": "Заменить значение",
"Replace Only First Match": "Заменить только первый матч",
"Delimiter": "Разделитель",
"text": "текст",
"Expression": "Выражение",
"Markdown Content": "Markdown Content",
"Flavor of Markdown": "Вкус Markdown",
"Minimum Header Level": "Минимальный уровень заголовка",
"Support Tables": "Таблицы поддержки",
"No Header ID": "Нет заголовка ID",
"Simple Line Breaks": "Простые разрывы строк",
"Open Links in New Window": "Открыть ссылки в новом окне",
"HTML Content": "Содержимое HTML",
"HTML content": "Содержимое HTML",
"Enter value": "Введите значение",
"Default Value": "Значение по умолчанию",
"The text that separates the texts you want to concatenate": "Текст, разделяющий тексты, которые вы хотите совмещать",
"Can be plain text or a regex expression.": "Может быть простым текстом или регулярным выражением.",
"Leave empty to delete found results.": "Оставьте пустым для удаления найденных результатов.",
"Only replaces the first instance of the search value.": "Заменяет только первый экземпляр значения поиска.",
"Regex or text to search for.": "Выражайте или выделите текст для поиска.",
"The markdown to convert to HTML": "Маркет для преобразования в HTML",
"The flavor of markdown use during conversion": "Использован вкус маркировки при преобразовании",
"The minimum header level to use during conversion": "Минимальный уровень заголовка для конвертации",
"Whether to support tables during conversion": "Поддерживать ли таблицы во время конвертации",
"Whether to add an ID to headers during conversion": "Добавлять ли ID в заголовки во время преобразования",
"Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line": "Парсирует строку как &lt;br&gt;, без двух пробелов в конце строки",
"The HTML to convert to markdown": "HTML для преобразования markdown",
"Default": "По умолчанию",
"Original": "Оригинал",
"GitHub": "GitHub"
}

View File

@@ -0,0 +1,60 @@
{
"Tools for text processing": "Tools for text processing",
"Concatenate": "Concatenate",
"Replace": "Replace",
"Split": "Split",
"Find": "Find",
"Markdown to HTML": "Markdown to HTML",
"HTML to Markdown": "HTML to Markdown",
"Remove HTML Tags": "Remove HTML Tags",
"Slugify": "Slugify",
"Use Default Value if Input is Empty": "Use Default Value if Input is Empty",
"List to Text Table": "List to Text Table",
"Concatenate two or more texts": "Concatenate two or more texts",
"Replaces all instances of any word, character or phrase in text, with another.": "Replaces all instances of any word, character or phrase in text, with another.",
"Split a text by a delimiter": "Split a text by a delimiter",
"Find substring (Regex or Text).": "Find substring (Regex or Text).",
"Convert markdown to HTML": "Convert markdown to HTML",
"Convert HTML to Markdown": "Convert HTML to Markdown",
"Removes every HTML tag and returns plain text": "Removes every HTML tag and returns plain text",
"Slugifies strings.": "Slugifies strings.",
"Checks your input and returns the default value, if the input is an empty text or list": "Checks your input and returns the default value, if the input is an empty text or list",
"Convert a list of items to a text table": "Convert a list of items to a text table",
"Texts": "Texts",
"Separator": "Separator",
"Text": "Text",
"Search Value": "Search Value",
"Replace Value": "Replace Value",
"Replace Only First Match": "Replace Only First Match",
"Delimiter": "Delimiter",
"text": "text",
"Expression": "Expression",
"Markdown Content": "Markdown Content",
"Flavor of Markdown": "Flavor of Markdown",
"Minimum Header Level": "Minimum Header Level",
"Support Tables": "Support Tables",
"No Header ID": "No Header ID",
"Simple Line Breaks": "Simple Line Breaks",
"Open Links in New Window": "Open Links in New Window",
"HTML Content": "HTML Content",
"HTML content": "HTML content",
"Enter value": "Enter value",
"Default Value": "Default Value",
"List": "List",
"The text that separates the texts you want to concatenate": "The text that separates the texts you want to concatenate",
"Can be plain text or a regex expression.": "Can be plain text or a regex expression.",
"Leave empty to delete found results.": "Leave empty to delete found results.",
"Only replaces the first instance of the search value.": "Only replaces the first instance of the search value.",
"Regex or text to search for.": "Regex or text to search for.",
"The markdown to convert to HTML": "The markdown to convert to HTML",
"The flavor of markdown use during conversion": "The flavor of markdown use during conversion",
"The minimum header level to use during conversion": "The minimum header level to use during conversion",
"Whether to support tables during conversion": "Whether to support tables during conversion",
"Whether to add an ID to headers during conversion": "Whether to add an ID to headers during conversion",
"Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line": "Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line",
"The HTML to convert to markdown": "The HTML to convert to markdown",
"List of items to convert to a text table": "List of items to convert to a text table",
"Default": "Default",
"Original": "Original",
"GitHub": "GitHub"
}

View File

@@ -0,0 +1,57 @@
{
"Text Helper": "Text Helper",
"Tools for text processing": "Tools for text processing",
"Concatenate": "Concatenate",
"Replace": "Replace",
"Split": "Split",
"Find": "Find",
"Markdown to HTML": "Markdown to HTML",
"HTML to Markdown": "HTML to Markdown",
"Remove HTML Tags": "Remove HTML Tags",
"Slugify": "Slugify",
"Use Default Value if Input is Empty": "Use Default Value if Input is Empty",
"Concatenate two or more texts": "Concatenate two or more texts",
"Replaces all instances of any word, character or phrase in text, with another.": "Replaces all instances of any word, character or phrase in text, with another.",
"Split a text by a delimiter": "Split a text by a delimiter",
"Find substring (Regex or Text).": "Find substring (Regex or Text).",
"Convert markdown to HTML": "Convert markdown to HTML",
"Convert HTML to Markdown": "Convert HTML to Markdown",
"Removes every HTML tag and returns plain text": "Removes every HTML tag and returns plain text",
"Slugifies strings.": "Slugifies strings.",
"Checks your input and returns the default value, if the input is an empty text or list": "Checks your input and returns the default value, if the input is an empty text or list",
"Texts": "Texts",
"Separator": "Separator",
"Text": "Text",
"Search Value": "Search Value",
"Replace Value": "Replace Value",
"Replace Only First Match": "Replace Only First Match",
"Delimiter": "Delimiter",
"text": "text",
"Expression": "Expression",
"Markdown Content": "Markdown Content",
"Flavor of Markdown": "Flavor of Markdown",
"Minimum Header Level": "Minimum Header Level",
"Support Tables": "Support Tables",
"No Header ID": "No Header ID",
"Simple Line Breaks": "Simple Line Breaks",
"Open Links in New Window": "Open Links in New Window",
"HTML Content": "HTML Content",
"HTML content": "HTML content",
"Enter value": "Enter value",
"Default Value": "Default Value",
"The text that separates the texts you want to concatenate": "The text that separates the texts you want to concatenate",
"Can be plain text or a regex expression.": "Can be plain text or a regex expression.",
"Leave empty to delete found results.": "Leave empty to delete found results.",
"Only replaces the first instance of the search value.": "Only replaces the first instance of the search value.",
"Regex or text to search for.": "Regex or text to search for.",
"The markdown to convert to HTML": "The markdown to convert to HTML",
"The flavor of markdown use during conversion": "The flavor of markdown use during conversion",
"The minimum header level to use during conversion": "The minimum header level to use during conversion",
"Whether to support tables during conversion": "Whether to support tables during conversion",
"Whether to add an ID to headers during conversion": "Whether to add an ID to headers during conversion",
"Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line": "Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line",
"The HTML to convert to markdown": "The HTML to convert to markdown",
"Default": "Default",
"Original": "Original",
"GitHub": "GitHub"
}

View File

@@ -0,0 +1,60 @@
{
"Tools for text processing": "Tools for text processing",
"Concatenate": "Concatenate",
"Replace": "替换",
"Split": "Split",
"Find": "Find",
"Markdown to HTML": "Markdown to HTML",
"HTML to Markdown": "HTML to Markdown",
"Remove HTML Tags": "Remove HTML Tags",
"Slugify": "Slugify",
"Use Default Value if Input is Empty": "Use Default Value if Input is Empty",
"List to Text Table": "List to Text Table",
"Concatenate two or more texts": "Concatenate two or more texts",
"Replaces all instances of any word, character or phrase in text, with another.": "Replaces all instances of any word, character or phrase in text, with another.",
"Split a text by a delimiter": "Split a text by a delimiter",
"Find substring (Regex or Text).": "Find substring (Regex or Text).",
"Convert markdown to HTML": "Convert markdown to HTML",
"Convert HTML to Markdown": "Convert HTML to Markdown",
"Removes every HTML tag and returns plain text": "Removes every HTML tag and returns plain text",
"Slugifies strings.": "Slugifies strings.",
"Checks your input and returns the default value, if the input is an empty text or list": "Checks your input and returns the default value, if the input is an empty text or list",
"Convert a list of items to a text table": "Convert a list of items to a text table",
"Texts": "Texts",
"Separator": "分隔符",
"Text": "文本",
"Search Value": "搜索值",
"Replace Value": "Replace Value",
"Replace Only First Match": "Replace Only First Match",
"Delimiter": "Delimiter",
"text": "文本",
"Expression": "Expression",
"Markdown Content": "Markdown Content",
"Flavor of Markdown": "Flavor of Markdown",
"Minimum Header Level": "Minimum Header Level",
"Support Tables": "Support Tables",
"No Header ID": "No Header ID",
"Simple Line Breaks": "Simple Line Breaks",
"Open Links in New Window": "Open Links in New Window",
"HTML Content": "HTML Content",
"HTML content": "HTML content",
"Enter value": "Enter value",
"Default Value": "默认值",
"List": "List",
"The text that separates the texts you want to concatenate": "The text that separates the texts you want to concatenate",
"Can be plain text or a regex expression.": "Can be plain text or a regex expression.",
"Leave empty to delete found results.": "Leave empty to delete found results.",
"Only replaces the first instance of the search value.": "Only replaces the first instance of the search value.",
"Regex or text to search for.": "Regex or text to search for.",
"The markdown to convert to HTML": "The markdown to convert to HTML",
"The flavor of markdown use during conversion": "The flavor of markdown use during conversion",
"The minimum header level to use during conversion": "The minimum header level to use during conversion",
"Whether to support tables during conversion": "Whether to support tables during conversion",
"Whether to add an ID to headers during conversion": "Whether to add an ID to headers during conversion",
"Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line": "Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line",
"The HTML to convert to markdown": "The HTML to convert to markdown",
"List of items to convert to a text table": "List of items to convert to a text table",
"Default": "Default",
"Original": "Original",
"GitHub": "GitHub"
}

View File

@@ -0,0 +1,44 @@
import { PieceAuth, createPiece } from '@activepieces/pieces-framework';
import { PieceCategory } from '@activepieces/shared';
import { concat } from './lib/actions/concat';
import { find } from './lib/actions/find';
import { htmlToMarkdown } from './lib/actions/html-to-markdown';
import { markdownToHTML } from './lib/actions/markdown-to-html';
import { replace } from './lib/actions/replace';
import { split } from './lib/actions/split';
import { stripHtmlContent } from './lib/actions/strip-html';
import { slugifyAction } from './lib/actions/slugify';
import { defaultValue } from './lib/actions/default-value';
import { jsonToAsciiTable } from './lib/actions/json-to-ascii-table';
export const textHelper = createPiece({
displayName: 'Text Helper',
description: 'Tools for text processing',
auth: PieceAuth.None(),
minimumSupportedRelease: '0.36.1',
logoUrl: 'https://cdn.activepieces.com/pieces/text-helper.svg',
authors: [
'joeworkman',
'kishanprmr',
'MoShizzle',
'AbdulTheActivePiecer',
'abuaboud',
'AdamSelene',
'Anmol-Gup',
'geekyme',
],
categories: [PieceCategory.CORE],
actions: [
concat,
replace,
split,
find,
markdownToHTML,
htmlToMarkdown,
stripHtmlContent,
slugifyAction,
defaultValue,
jsonToAsciiTable,
],
triggers: [],
});

View File

@@ -0,0 +1,29 @@
import { Property, createAction } from '@activepieces/pieces-framework';
export const concat = createAction({
description: 'Concatenate two or more texts',
displayName: 'Concatenate',
name: 'concat',
errorHandlingOptions: {
continueOnFailure: {
hide: true,
},
retryOnFailure: {
hide: true,
},
},
props: {
texts: Property.Array({
displayName: 'Texts',
required: true,
}),
separator: Property.ShortText({
displayName: 'Separator',
description: 'The text that separates the texts you want to concatenate',
required: false,
}),
},
run: async (ctx) => {
return (ctx.propsValue.texts ?? []).join(ctx.propsValue.separator ?? '');
},
});

View File

@@ -0,0 +1,37 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { isEmpty } from '@activepieces/shared';
export const defaultValue = createAction({
// auth: check https://www.activepieces.com/docs/developers/piece-reference/authentication,
name: 'defaultValue',
errorHandlingOptions: {
continueOnFailure: {
hide: true,
},
retryOnFailure: {
hide: true,
},
},
displayName: 'Use Default Value if Input is Empty',
description:
'Checks your input and returns the default value, if the input is an empty text or list',
props: {
value: Property.ShortText({
displayName: 'Enter value',
description: 'Enter value',
required: false,
}),
defaultString: Property.ShortText({
displayName: 'Default Value',
required: true,
}),
},
async run(context) {
// Action logic here
const { value, defaultString } = context.propsValue;
if (isEmpty(value)) {
return defaultString;
}
return value;
},
});

View File

@@ -0,0 +1,30 @@
import { Property, createAction } from '@activepieces/pieces-framework';
export const find = createAction({
description: 'Find substring (Regex or Text).',
displayName: 'Find',
name: 'find',
errorHandlingOptions: {
continueOnFailure: {
hide: true,
},
retryOnFailure: {
hide: true,
},
},
props: {
text: Property.ShortText({
displayName: 'text',
required: true,
}),
expression: Property.ShortText({
displayName: 'Expression',
description: 'Regex or text to search for.',
required: true,
}),
},
run: async (ctx): Promise<RegExpMatchArray | null> => {
const expression = RegExp(ctx.propsValue.expression);
return ctx.propsValue.text.match(expression);
},
});

View File

@@ -0,0 +1,29 @@
import { Property, createAction } from '@activepieces/pieces-framework';
import TurndownService from 'turndown';
export const htmlToMarkdown = createAction({
name: 'html_to_markdown',
displayName: 'HTML to Markdown',
description: 'Convert HTML to Markdown',
errorHandlingOptions: {
continueOnFailure: {
hide: true,
},
retryOnFailure: {
hide: true,
},
},
props: {
html: Property.LongText({
displayName: 'HTML Content',
description: 'The HTML to convert to markdown',
required: true,
}),
},
run: async (context) => {
const html = context.propsValue.html;
const service = new TurndownService();
service.remove('script');
return service.turndown(html);
},
});

View File

@@ -0,0 +1,72 @@
import { Property, createAction } from '@activepieces/pieces-framework';
export const jsonToAsciiTable = createAction({
description: 'Convert a list of items to a text table',
displayName: 'List to Text Table',
name: 'json_to_ascii_table',
errorHandlingOptions: {
continueOnFailure: {
hide: true,
},
retryOnFailure: {
hide: true,
},
},
props: {
data: Property.Json({
displayName: 'List',
description: 'List of items to convert to a text table',
required: true,
}),
},
run: async (ctx) => {
const data = ctx.propsValue.data;
// Validate input is an array
if (!Array.isArray(data)) {
throw new Error('Input must be an array of objects');
}
if (data.length === 0) {
return '';
}
// Get all unique keys from all objects
const keys = Array.from(new Set(data.flatMap((obj) => Object.keys(obj))));
// Calculate column widths
const columnWidths = keys.map((key) => {
const maxDataWidth = Math.max(
...data.map((row) => String(row[key] ?? '').length)
);
return Math.max(key.length, maxDataWidth);
});
// Create separator line
const separator =
'+' + columnWidths.map((width) => '-'.repeat(width + 2)).join('+') + '+';
// Create header row
const header =
'|' +
keys.map((key, i) => ' ' + key.padEnd(columnWidths[i]) + ' ').join('|') +
'|';
// Create data rows
const rows = data.map((row) => {
return (
'|' +
keys
.map((key, i) => {
const value = String(row[key] ?? '');
return ' ' + value.padEnd(columnWidths[i]) + ' ';
})
.join('|') +
'|'
);
});
// Combine all parts
return [separator, header, separator, ...rows, separator].join('\n');
},
});

View File

@@ -0,0 +1,86 @@
import { Property, createAction } from '@activepieces/pieces-framework';
import { Converter, Flavor } from 'showdown';
import { propsValidation } from '@activepieces/pieces-common';
import { z, type ZodTypeAny } from 'zod';
export const markdownToHTML = createAction({
name: 'markdown_to_html',
displayName: 'Markdown to HTML',
description: 'Convert markdown to HTML',
errorHandlingOptions: {
continueOnFailure: {
hide: true,
},
retryOnFailure: {
hide: true,
},
},
props: {
markdown: Property.LongText({
displayName: 'Markdown Content',
description: 'The markdown to convert to HTML',
required: true,
}),
flavor: Property.StaticDropdown({
displayName: 'Flavor of Markdown',
description: 'The flavor of markdown use during conversion',
required: true,
defaultValue: 'github',
options: {
options: [
{ label: 'Default', value: 'vanilla' },
{ label: 'Original', value: 'original' },
{ label: 'GitHub', value: 'github' },
],
},
}),
headerLevelStart: Property.Number({
displayName: 'Minimum Header Level',
description: 'The minimum header level to use during conversion',
required: true,
defaultValue: 1,
}),
tables: Property.Checkbox({
displayName: 'Support Tables',
description: 'Whether to support tables during conversion',
required: true,
defaultValue: true,
}),
noHeaderId: Property.Checkbox({
displayName: 'No Header ID',
description: 'Whether to add an ID to headers during conversion',
required: true,
defaultValue: false,
}),
simpleLineBreaks: Property.Checkbox({
displayName: 'Simple Line Breaks',
description:
'Parses line breaks as &lt;br&gt;, without needing 2 spaces at the end of the line',
required: true,
defaultValue: false,
}),
openLinksInNewWindow: Property.Checkbox({
displayName: 'Open Links in New Window',
required: true,
defaultValue: false,
}),
},
run: async (context) => {
const validationSchema: Record<string, ZodTypeAny> = {
headerLevelStart: z.number().min(1).max(6),
};
await propsValidation.validateZod(context.propsValue, validationSchema);
const converter = new Converter({
headerLevelStart: context.propsValue.headerLevelStart,
omitExtraWLInCodeBlocks: true,
noHeaderId: context.propsValue.noHeaderId,
tables: context.propsValue.tables,
simpleLineBreaks: context.propsValue.simpleLineBreaks,
openLinksInNewWindow: context.propsValue.openLinksInNewWindow,
});
console.log('noHeaderId', context.propsValue.noHeaderId);
converter.setFlavor(context.propsValue.flavor as Flavor);
return converter.makeHtml(context.propsValue.markdown);
},
});

View File

@@ -0,0 +1,51 @@
import { Property, createAction } from '@activepieces/pieces-framework';
export const replace = createAction({
description:
'Replaces all instances of any word, character or phrase in text, with another.',
displayName: 'Replace',
name: 'replace',
errorHandlingOptions: {
continueOnFailure: {
hide: true,
},
retryOnFailure: {
hide: true,
},
},
props: {
text: Property.ShortText({
displayName: 'Text',
required: true,
}),
searchValue: Property.ShortText({
displayName: 'Search Value',
description: 'Can be plain text or a regex expression.',
required: true,
}),
replaceValue: Property.ShortText({
displayName: 'Replace Value',
required: false,
description: 'Leave empty to delete found results.',
}),
replaceOnlyFirst: Property.Checkbox({
displayName: 'Replace Only First Match',
required: false,
description: 'Only replaces the first instance of the search value.',
}),
},
run: async (ctx) => {
if (ctx.propsValue.replaceOnlyFirst) {
const expression = RegExp(ctx.propsValue.searchValue);
return ctx.propsValue.text.replace(
expression,
ctx.propsValue.replaceValue || ''
);
}
const expression = RegExp(ctx.propsValue.searchValue, 'g');
return ctx.propsValue.text.replaceAll(
expression,
ctx.propsValue.replaceValue || ''
);
},
});

View File

@@ -0,0 +1,17 @@
import slugify from 'slugify';
import { Property, createAction } from '@activepieces/pieces-framework';
export const slugifyAction = createAction({
description: 'Slugifies strings.',
displayName: 'Slugify',
name: 'slugify',
props: {
text: Property.ShortText({
displayName: 'Text',
required: true,
}),
},
run: async ({ propsValue }) => {
return slugify(propsValue.text);
},
});

View File

@@ -0,0 +1,28 @@
import { Property, createAction } from '@activepieces/pieces-framework';
export const split = createAction({
description: 'Split a text by a delimiter',
displayName: 'Split',
name: 'split',
errorHandlingOptions: {
continueOnFailure: {
hide: true,
},
retryOnFailure: {
hide: true,
},
},
props: {
text: Property.ShortText({
displayName: 'Text',
required: true,
}),
delimiter: Property.ShortText({
displayName: 'Delimiter',
required: true,
}),
},
run: async (ctx) => {
return ctx.propsValue.text.split(ctx.propsValue.delimiter);
},
});

View File

@@ -0,0 +1,17 @@
import { stripHtml } from 'string-strip-html';
import { createAction, Property } from '@activepieces/pieces-framework';
export const stripHtmlContent = createAction({
name: 'stripHtml',
displayName: 'Remove HTML Tags',
description: 'Removes every HTML tag and returns plain text',
props: {
html: Property.LongText({
displayName: 'HTML content',
required: true,
}),
},
async run({ propsValue }) {
return stripHtml(propsValue.html).result;
},
});

View File

@@ -0,0 +1,19 @@
{
"extends": "../../../../tsconfig.base.json",
"compilerOptions": {
"module": "commonjs",
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitOverride": true,
"noPropertyAccessFromIndexSignature": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
},
"files": [],
"include": [],
"references": [
{
"path": "./tsconfig.lib.json"
}
]
}

View File

@@ -0,0 +1,11 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"module": "commonjs",
"outDir": "../../../../dist/out-tsc",
"declaration": true,
"types": ["node"]
},
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"],
"include": ["src/**/*.ts"]
}