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:
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"extends": [
|
||||
"../../../../.eslintrc.base.json"
|
||||
],
|
||||
"ignorePatterns": [
|
||||
"!**/*"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
"*.ts",
|
||||
"*.tsx",
|
||||
"*.js",
|
||||
"*.jsx"
|
||||
],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.ts",
|
||||
"*.tsx"
|
||||
],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.js",
|
||||
"*.jsx"
|
||||
],
|
||||
"rules": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
# pieces-gamma
|
||||
|
||||
This library was generated with [Nx](https://nx.dev).
|
||||
|
||||
## Building
|
||||
|
||||
Run `nx build pieces-gamma` to build the library.
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "@activepieces/piece-gamma",
|
||||
"version": "0.0.2",
|
||||
"type": "commonjs",
|
||||
"main": "./src/index.js",
|
||||
"types": "./src/index.d.ts",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"name": "pieces-gamma",
|
||||
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
|
||||
"sourceRoot": "packages/pieces/community/gamma/src",
|
||||
"projectType": "library",
|
||||
"release": {
|
||||
"version": {
|
||||
"manifestRootsToUpdate": [
|
||||
"dist/{projectRoot}"
|
||||
],
|
||||
"currentVersionResolver": "git-tag",
|
||||
"fallbackCurrentVersionResolver": "disk"
|
||||
}
|
||||
},
|
||||
"tags": [],
|
||||
"targets": {
|
||||
"build": {
|
||||
"executor": "@nx/js:tsc",
|
||||
"outputs": [
|
||||
"{options.outputPath}"
|
||||
],
|
||||
"options": {
|
||||
"outputPath": "dist/packages/pieces/community/gamma",
|
||||
"tsConfig": "packages/pieces/community/gamma/tsconfig.lib.json",
|
||||
"packageJson": "packages/pieces/community/gamma/package.json",
|
||||
"main": "packages/pieces/community/gamma/src/index.ts",
|
||||
"assets": [
|
||||
"packages/pieces/community/gamma/*.md",
|
||||
{
|
||||
"input": "packages/pieces/community/gamma/src/i18n",
|
||||
"output": "./src/i18n",
|
||||
"glob": "**/!(i18n.json)"
|
||||
}
|
||||
],
|
||||
"buildableProjectDepsInPackageJsonType": "dependencies",
|
||||
"updateBuildableProjectDepsInPackageJson": true
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build",
|
||||
"prebuild"
|
||||
]
|
||||
},
|
||||
"nx-release-publish": {
|
||||
"options": {
|
||||
"packageRoot": "dist/{projectRoot}"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"executor": "@nx/eslint:lint",
|
||||
"outputs": [
|
||||
"{options.outputFile}"
|
||||
]
|
||||
},
|
||||
"prebuild": {
|
||||
"executor": "nx:run-commands",
|
||||
"options": {
|
||||
"cwd": "packages/pieces/community/gamma",
|
||||
"command": "bun install --no-save --silent"
|
||||
},
|
||||
"dependsOn": [
|
||||
"^build"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"An AI-powered design partner that helps users generate presentations, documents, social media posts, cards, etc., via natural language.": "Ein AI-basierter Design-Partner, der Benutzern dabei hilft, Präsentationen, Dokumente, Social Media Posts, Karten, etc. in natürlicher Sprache zu generieren.",
|
||||
"API Key": "API-Schlüssel",
|
||||
"Paste your API key here.": "Fügen Sie Ihren API-Schlüssel hier ein.",
|
||||
"\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n": "\nFolge diesen Schritten, um deinen Gamma-API-Schlüssel zu erhalten:\n\n1. Melden Sie sich bei Ihrem Gamma-Konto an. Sie müssen einen **Pro oder Ultra Plan** haben, um auf die API zuzugreifen.\n2. Navigieren Sie zu **Einstellungen & Mitglieder** (klicken Sie auf Ihren Arbeitsbereichsnamen oben links).\n3. Gehen Sie zum **API-Schlüssel** Tab.\n4. Klicken Sie auf **Erstelle API-Schlüssel** und geben Sie ihm einen Namen (z.B. \"Activepieces\").\n5. Kopieren Sie den Schlüssel (er beginnt mit `sk-gamma-`) und fügen Sie ihn unten ein.\n\n**Direkter Link zu API-Einstellungen:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n",
|
||||
"Generate Gamma": "Gamma generieren",
|
||||
"Get Generation": "Generierung erhalten",
|
||||
"Create a new Gamma generation job.": "Erstelle einen neuen Job zur Gamma-Generation.",
|
||||
"Given a Generation ID, fetch the status, outputs, metadata, etc.": "Geben Sie eine Generation-ID ein, holen Sie den Status, die Ausgabe, die Metadaten usw.",
|
||||
"Input Text": "Input Text",
|
||||
"Text Mode": "Textmodus",
|
||||
"Format": "Format",
|
||||
"Theme Name": "Theme-Name",
|
||||
"Number of Cards": "Anzahl der Karten",
|
||||
"Card Split": "Karte aufgeteilt",
|
||||
"Additional Instructions": "Zusätzliche Anweisungen",
|
||||
"Export As": "Exportieren als",
|
||||
"Text Options": "Textoptionen",
|
||||
"Image Options": "Bildoptionen",
|
||||
"Card Options": "Kartenoptionen",
|
||||
"Sharing Options": "Freigabeoptionen",
|
||||
"Generation ID": "Generierungs-ID",
|
||||
"Text used to generate your gamma (1-750,000 characters).": "Text zum Generieren Ihres Gammas (1-750.000 Zeichen).",
|
||||
"How you want your inputText to be modified.": "Wie Sie Ihren InputText ändern wollen.",
|
||||
"The type of artifact you want to create.": "Die Art des Artefakts, das du erstellen möchtest.",
|
||||
"The theme from Gamma to be used. Defaults to workspace default.": "Das Theme von Gamma, das verwendet werden soll. Standardmäßig ist der Arbeitsbereich.",
|
||||
"How many cards to create (default 10). Pro: 1-50, Ultra: 1-75.": "Wie viele Karten erstellt werden sollen (Standard 10). Pro: 1-50, Ultra: 1-75.",
|
||||
"How your content will be divided into cards. Use '---' in text for breaks.": "Wie Ihr Inhalt in Karten aufgeteilt wird. Benutzen Sie '--' im Text für Pausen.",
|
||||
"Extra specifications about the desired content and layouts (1-500 characters).": "Zusätzliche Spezifikationen zu den gewünschten Inhalten und Layouts (1-500 Zeichen).",
|
||||
"Additional file types for saving your gamma.": "Zusätzliche Dateitypen zum Speichern Ihres Gammas.",
|
||||
"JSON object for text attributes (e.g., amount, tone, audience, language).": "JSON-Objekt für Texteigenschaften (z.B. Betrag, Ton, Publikum, Sprache).",
|
||||
"JSON object for image attributes (e.g., source, model, style).": "JSON-Objekt für Bildattribute (z.B. Quelle, Modell, Stil).",
|
||||
"JSON object for card attributes (e.g., dimensions).": "JSON-Objekt für Kartenattribute (z.B. Dimensionen).",
|
||||
"JSON object for sharing attributes (e.g., workspaceAccess, externalAccess).": "JSON-Objekt zum Teilen von Attributen (z.B. WorkspaceAccess, externalAccess).",
|
||||
"The ID of the generation job (from the \"Generate Gamma\" action).": "Die ID des Generation-Jobs (aus der Aktion \"Generate Gamma\").",
|
||||
"Generate": "Generieren",
|
||||
"Condense": "Kondense",
|
||||
"Preserve": "Bewahren",
|
||||
"Presentation": "Präsentation",
|
||||
"Document": "Dokument",
|
||||
"Social": "Soziale",
|
||||
"Auto": "Auto",
|
||||
"Input Text Breaks": "Eingabetext-Pausen",
|
||||
"PDF": "PDF",
|
||||
"PowerPoint (PPTX)": "PowerPoint (PPTX)"
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"An AI-powered design partner that helps users generate presentations, documents, social media posts, cards, etc., via natural language.": "Un socio de diseño impulsado por la AIE que ayuda a los usuarios a generar presentaciones, documentos, publicaciones en los medios de comunicación social, tarjetas, etc., a través del lenguaje natural.",
|
||||
"API Key": "Clave API",
|
||||
"Paste your API key here.": "Pegue su clave API aquí.",
|
||||
"\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n": "\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n",
|
||||
"Generate Gamma": "Generar Gamma",
|
||||
"Get Generation": "Generar",
|
||||
"Create a new Gamma generation job.": "Crear un nuevo empleo de generación de Gamma.",
|
||||
"Given a Generation ID, fetch the status, outputs, metadata, etc.": "Dado un ID de Generación, obtener el estado, las salidas, los metadatos, etc.",
|
||||
"Input Text": "Input Text",
|
||||
"Text Mode": "Modo texto",
|
||||
"Format": "Formatear",
|
||||
"Theme Name": "Nombre del tema",
|
||||
"Number of Cards": "Número de tarjetas",
|
||||
"Card Split": "Dividir tarjeta",
|
||||
"Additional Instructions": "Instrucciones adicionales",
|
||||
"Export As": "Exportar como",
|
||||
"Text Options": "Opciones de texto",
|
||||
"Image Options": "Opciones de imagen",
|
||||
"Card Options": "Opciones de tarjeta",
|
||||
"Sharing Options": "Opciones de compartir",
|
||||
"Generation ID": "ID de generación",
|
||||
"Text used to generate your gamma (1-750,000 characters).": "Texto usado para generar tu gamma (1-750.000 caracteres).",
|
||||
"How you want your inputText to be modified.": "Cómo quieres que tu inputText sea modificado.",
|
||||
"The type of artifact you want to create.": "El tipo de artefacto que quieres crear.",
|
||||
"The theme from Gamma to be used. Defaults to workspace default.": "El tema de Gamma a ser utilizado. Por defecto es el predeterminado.",
|
||||
"How many cards to create (default 10). Pro: 1-50, Ultra: 1-75.": "Cuántas tarjetas crear (por defecto 10). Pro: 1-50, Ultra: 1-75.",
|
||||
"How your content will be divided into cards. Use '---' in text for breaks.": "Cómo se dividirá tu contenido en tarjetas. Usa '---' en texto para los descansos.",
|
||||
"Extra specifications about the desired content and layouts (1-500 characters).": "Especificaciones adicionales sobre el contenido y los diseños deseados (1-500 caracteres).",
|
||||
"Additional file types for saving your gamma.": "Tipos de archivo adicionales para guardar su gamma.",
|
||||
"JSON object for text attributes (e.g., amount, tone, audience, language).": "Objeto JSON para atributos de texto (por ejemplo, cantidad, tono, audiencia, idioma).",
|
||||
"JSON object for image attributes (e.g., source, model, style).": "Objeto JSON para atributos de imagen (por ejemplo, fuente, modelo, estilo).",
|
||||
"JSON object for card attributes (e.g., dimensions).": "Objeto JSON para atributos de tarjeta (por ejemplo, dimensiones).",
|
||||
"JSON object for sharing attributes (e.g., workspaceAccess, externalAccess).": "Objeto JSON para compartir atributos (por ejemplo, espacio de trabajoAccess, externalAccess).",
|
||||
"The ID of the generation job (from the \"Generate Gamma\" action).": "El ID del trabajo de generación (de la acción \"Generar Gamma\").",
|
||||
"Generate": "Generar",
|
||||
"Condense": "Condenado",
|
||||
"Preserve": "Conservar",
|
||||
"Presentation": "Presentación",
|
||||
"Document": "Documento",
|
||||
"Social": "Social",
|
||||
"Auto": "Auto",
|
||||
"Input Text Breaks": "Saltos de texto de entrada",
|
||||
"PDF": "DF",
|
||||
"PowerPoint (PPTX)": "PowerPoint (PPTX)"
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"An AI-powered design partner that helps users generate presentations, documents, social media posts, cards, etc., via natural language.": "Un partenaire de conception propulsé par l'IA qui aide les utilisateurs à générer des présentations, des documents, des publications sur les médias sociaux, des cartes, etc., via le langage naturel.",
|
||||
"API Key": "Clé API",
|
||||
"Paste your API key here.": "Collez votre clé API ici.",
|
||||
"\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n": "\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n",
|
||||
"Generate Gamma": "Générer un Gamma",
|
||||
"Get Generation": "Obtenir la génération",
|
||||
"Create a new Gamma generation job.": "Créer un nouveau job de génération Gamma.",
|
||||
"Given a Generation ID, fetch the status, outputs, metadata, etc.": "Donne un ID de génération, récupère le statut, les sorties, les métadonnées, etc.",
|
||||
"Input Text": "Input Text",
|
||||
"Text Mode": "Mode texte",
|
||||
"Format": "Formater",
|
||||
"Theme Name": "Nom du thème",
|
||||
"Number of Cards": "Nombre de cartes",
|
||||
"Card Split": "Diviser la carte",
|
||||
"Additional Instructions": "Instructions supplémentaires",
|
||||
"Export As": "Exporter en tant que",
|
||||
"Text Options": "Options de texte",
|
||||
"Image Options": "Options de l'image",
|
||||
"Card Options": "Options de la carte",
|
||||
"Sharing Options": "Options de partage",
|
||||
"Generation ID": "ID de génération",
|
||||
"Text used to generate your gamma (1-750,000 characters).": "Texte utilisé pour générer votre gamma (1-750 000 caractères).",
|
||||
"How you want your inputText to be modified.": "Comment vous voulez que votre inputText soit modifié.",
|
||||
"The type of artifact you want to create.": "Le type d'artefact que vous voulez créer.",
|
||||
"The theme from Gamma to be used. Defaults to workspace default.": "Le thème de Gamma à utiliser. Par défaut, l'espace de travail est par défaut.",
|
||||
"How many cards to create (default 10). Pro: 1-50, Ultra: 1-75.": "Combien de cartes créer (par défaut 10). Pro: 1-50, Ultra: 1-75.",
|
||||
"How your content will be divided into cards. Use '---' in text for breaks.": "Comment votre contenu sera divisé en cartes. Utilisez '---' en texte pour les pauses.",
|
||||
"Extra specifications about the desired content and layouts (1-500 characters).": "Spécifications supplémentaires sur le contenu et les mises en page souhaitées (1-500 caractères).",
|
||||
"Additional file types for saving your gamma.": "Types de fichiers supplémentaires pour enregistrer votre gamma.",
|
||||
"JSON object for text attributes (e.g., amount, tone, audience, language).": "Objet JSON pour les attributs de texte (par exemple, quantité, tonalité, audience, langue).",
|
||||
"JSON object for image attributes (e.g., source, model, style).": "Objet JSON pour les attributs d'image (par exemple, source, modèle, style).",
|
||||
"JSON object for card attributes (e.g., dimensions).": "Objet JSON pour les attributs de la carte (par exemple, dimensions).",
|
||||
"JSON object for sharing attributes (e.g., workspaceAccess, externalAccess).": "Objet JSON pour le partage d'attributs (par exemple, workspaceAccess, externalAccess).",
|
||||
"The ID of the generation job (from the \"Generate Gamma\" action).": "L'ID de la tâche de génération (à partir de l'action \"Générer le Gamma\").",
|
||||
"Generate": "Générer",
|
||||
"Condense": "Condensé",
|
||||
"Preserve": "Conserver",
|
||||
"Presentation": "Présentation",
|
||||
"Document": "Document",
|
||||
"Social": "Réseaux sociaux",
|
||||
"Auto": "Automatique",
|
||||
"Input Text Breaks": "Interruptions de texte",
|
||||
"PDF": "PDF",
|
||||
"PowerPoint (PPTX)": "PowerPoint (PPTX)"
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"An AI-powered design partner that helps users generate presentations, documents, social media posts, cards, etc., via natural language.": "AIを活用したデザインパートナーで、ユーザーは自然言語を介してプレゼンテーション、文書、ソーシャルメディアの投稿、カードなどを生成することができます。",
|
||||
"API Key": "API キー",
|
||||
"Paste your API key here.": "APIキーをここに貼り付けてください。",
|
||||
"\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n": "\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n",
|
||||
"Generate Gamma": "ガンマを生成",
|
||||
"Get Generation": "生成を取得",
|
||||
"Create a new Gamma generation job.": "新しいガンマ生成ジョブを作成します。",
|
||||
"Given a Generation ID, fetch the status, outputs, metadata, etc.": "ジェネレーションIDが与えられ、ステータス、出力、メタデータなどを取得します。",
|
||||
"Input Text": "Input Text",
|
||||
"Text Mode": "テキストモード",
|
||||
"Format": "書式",
|
||||
"Theme Name": "テーマ名",
|
||||
"Number of Cards": "カードの数",
|
||||
"Card Split": "カード分割",
|
||||
"Additional Instructions": "追加の説明",
|
||||
"Export As": "別名でエクスポート",
|
||||
"Text Options": "テキストオプション",
|
||||
"Image Options": "画像オプション",
|
||||
"Card Options": "カードオプション",
|
||||
"Sharing Options": "共有オプション",
|
||||
"Generation ID": "生成ID",
|
||||
"Text used to generate your gamma (1-750,000 characters).": "ガンマを生成するために使用されるテキスト (1-750,000 文字)。",
|
||||
"How you want your inputText to be modified.": "入力テキストを変更する方法。",
|
||||
"The type of artifact you want to create.": "作成するアーティファクトの種類。",
|
||||
"The theme from Gamma to be used. Defaults to workspace default.": "ガンマのテーマを使用します。デフォルトはワークスペースのデフォルトです。",
|
||||
"How many cards to create (default 10). Pro: 1-50, Ultra: 1-75.": "作成するカードの枚数(デフォルト10枚)。 Pro: 1-50, Ultra: 1-75.",
|
||||
"How your content will be divided into cards. Use '---' in text for breaks.": "コンテンツをカードに分割する方法。テキストで「---」を使用してください。",
|
||||
"Extra specifications about the desired content and layouts (1-500 characters).": "目的のコンテンツとレイアウト(1〜500文字)に関する追加仕様。",
|
||||
"Additional file types for saving your gamma.": "ガンマを保存するための追加のファイルタイプ。",
|
||||
"JSON object for text attributes (e.g., amount, tone, audience, language).": "テキスト属性のJSONオブジェクト (金額、トーン、オーディエンス、言語など)",
|
||||
"JSON object for image attributes (e.g., source, model, style).": "画像属性のための JSON オブジェクト (例: ソース、モデル、スタイル)。",
|
||||
"JSON object for card attributes (e.g., dimensions).": "カード属性のJSONオブジェクト (例: ディメンション)。",
|
||||
"JSON object for sharing attributes (e.g., workspaceAccess, externalAccess).": "属性を共有するためのJSONオブジェクト (たとえば、workspaceAccess、externalAccess)。",
|
||||
"The ID of the generation job (from the \"Generate Gamma\" action).": "生成ジョブの ID (「ガンマの生成」アクションから)。",
|
||||
"Generate": "生成",
|
||||
"Condense": "Condense",
|
||||
"Preserve": "保全する",
|
||||
"Presentation": "プレゼンテーション",
|
||||
"Document": "ドキュメント",
|
||||
"Social": "ソーシャル",
|
||||
"Auto": "自動",
|
||||
"Input Text Breaks": "テキストの区切りを入力",
|
||||
"PDF": "PDF",
|
||||
"PowerPoint (PPTX)": "PowerPoint (PPTX)"
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"An AI-powered design partner that helps users generate presentations, documents, social media posts, cards, etc., via natural language.": "Een AI-aangedreven ontwerppartner die gebruikers helpt presentaties, documenten, social media-berichten, kaarten, enz. te maken via de natuurlijke taal.",
|
||||
"API Key": "API Sleutel",
|
||||
"Paste your API key here.": "Plak uw API-sleutel hier.",
|
||||
"\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n": "\nVolg deze stappen om je Gamma API Key te verkrijgen:\n\n1. Log in op je Gamma account. Je moet een **Pro of Ultra abonnement** hebben om toegang te krijgen tot de API.\n2. Navigeer naar **Instellingen & leden** (klik op je workspace naam linksboven).\n3. Ga naar het tabblad **API Key**.\n4. Klik op **API-sleutel maken** en geef het een naam (bijvoorbeeld \"Activepieces\").\n5. Kopieer de sleutel (het begint met `sk-gamma-`) en plak deze hieronder.\n\n**Directe Link naar API-instellingen:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n",
|
||||
"Generate Gamma": "Gamma genereren",
|
||||
"Get Generation": "Ophalen Generatie",
|
||||
"Create a new Gamma generation job.": "Maak een nieuwe taak voor de Gamma generatie.",
|
||||
"Given a Generation ID, fetch the status, outputs, metadata, etc.": "Gegeven een generatie-ID, haal de status, outputs, metadata, etc. op.",
|
||||
"Input Text": "Input Text",
|
||||
"Text Mode": "Tekst modus",
|
||||
"Format": "Formatteren",
|
||||
"Theme Name": "Thema naam",
|
||||
"Number of Cards": "Aantal kaarten",
|
||||
"Card Split": "Kaart splitsen",
|
||||
"Additional Instructions": "Aanvullende instructies",
|
||||
"Export As": "Exporteren als",
|
||||
"Text Options": "Tekst opties",
|
||||
"Image Options": "Afbeelding opties",
|
||||
"Card Options": "Kaart opties",
|
||||
"Sharing Options": "Opties voor delen",
|
||||
"Generation ID": "Genereer ID",
|
||||
"Text used to generate your gamma (1-750,000 characters).": "Tekst gebruikt om uw gamma te genereren (1-750.000 tekens).",
|
||||
"How you want your inputText to be modified.": "Hoe wilt u dat uw inputtekst wordt gewijzigd.",
|
||||
"The type of artifact you want to create.": "Het type artefact dat je wilt maken.",
|
||||
"The theme from Gamma to be used. Defaults to workspace default.": "Het thema van Gamma om te gebruiken. Standaard naar de standaard werkruimte.",
|
||||
"How many cards to create (default 10). Pro: 1-50, Ultra: 1-75.": "Hoeveel kaarten je wilt maken (standaard 10). Pro: 1-50, Ultra: 1-75.",
|
||||
"How your content will be divided into cards. Use '---' in text for breaks.": "Hoe je inhoud in kaarten wordt verdeeld. Gebruik '---' in tekst voor breuken.",
|
||||
"Extra specifications about the desired content and layouts (1-500 characters).": "Extra specificaties over de gewenste inhoud en lay-outs (1-500 tekens).",
|
||||
"Additional file types for saving your gamma.": "Extra bestandstypen om je game op te slaan.",
|
||||
"JSON object for text attributes (e.g., amount, tone, audience, language).": "JSON object voor tekst attributen (bijv. aantal, toon, publiek, taal).",
|
||||
"JSON object for image attributes (e.g., source, model, style).": "JSON object voor afbeeldingsattributen (bijv. bron, model, stijl).",
|
||||
"JSON object for card attributes (e.g., dimensions).": "JSON object voor kaart attributen (bijv. dimensies).",
|
||||
"JSON object for sharing attributes (e.g., workspaceAccess, externalAccess).": "JSON object voor het delen van attributen (bijv. workspaceAccess, externalAccess).",
|
||||
"The ID of the generation job (from the \"Generate Gamma\" action).": "De ID van de taak die wordt gegenereerd (van de actie \"Generate Gamma\".",
|
||||
"Generate": "Genereren",
|
||||
"Condense": "Samenvatting",
|
||||
"Preserve": "Behoud",
|
||||
"Presentation": "Presentatie",
|
||||
"Document": "Document",
|
||||
"Social": "Sociaal",
|
||||
"Auto": "Automatisch",
|
||||
"Input Text Breaks": "Tekst breuken invoeren",
|
||||
"PDF": "PDF-bestand",
|
||||
"PowerPoint (PPTX)": "PowerPoint (PPTX)"
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"An AI-powered design partner that helps users generate presentations, documents, social media posts, cards, etc., via natural language.": "Um parceiro de design com tecnologia IA que ajude os usuários a gerar apresentações, documentos, postagens, cartões nas mídias sociais, etc., através de linguagem natural.",
|
||||
"API Key": "Chave de API",
|
||||
"Paste your API key here.": "Cole sua chave de API aqui.",
|
||||
"\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n": "\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n",
|
||||
"Generate Gamma": "Gerar Gama",
|
||||
"Get Generation": "Obter geração",
|
||||
"Create a new Gamma generation job.": "Crie um novo trabalho de geração Gmá.",
|
||||
"Given a Generation ID, fetch the status, outputs, metadata, etc.": "Dado um ID de Geração, buscar o status, saídas, metadados, etc.",
|
||||
"Input Text": "Input Text",
|
||||
"Text Mode": "Modo de Texto",
|
||||
"Format": "Formato",
|
||||
"Theme Name": "Nome do Tema",
|
||||
"Number of Cards": "Número de Cartões",
|
||||
"Card Split": "Divisão de Cartões",
|
||||
"Additional Instructions": "Instruções adicionais",
|
||||
"Export As": "Exportar como",
|
||||
"Text Options": "Opções de Texto",
|
||||
"Image Options": "Opções de Imagem",
|
||||
"Card Options": "Opções de Cartão",
|
||||
"Sharing Options": "Opções de Compartilhamento",
|
||||
"Generation ID": "ID de geração",
|
||||
"Text used to generate your gamma (1-750,000 characters).": "Texto usado para gerar sua gama (1-750.000 caracteres).",
|
||||
"How you want your inputText to be modified.": "Como você deseja que seu texto de entrada seja modificado.",
|
||||
"The type of artifact you want to create.": "O tipo de artefato que você quer criar.",
|
||||
"The theme from Gamma to be used. Defaults to workspace default.": "O tema Gama a ser usado. O padrão é área de trabalho padrão.",
|
||||
"How many cards to create (default 10). Pro: 1-50, Ultra: 1-75.": "Quantos cartões para criar (padrão 10). Pro: 1-50, Ultra: 1-75.",
|
||||
"How your content will be divided into cards. Use '---' in text for breaks.": "Como seu conteúdo será dividido em cartões. Use '---' no texto para quebras.",
|
||||
"Extra specifications about the desired content and layouts (1-500 characters).": "Especificações extras sobre o conteúdo e os layouts desejados (1-500 caracteres).",
|
||||
"Additional file types for saving your gamma.": "Tipos de arquivos adicionais para salvar seu gamma.",
|
||||
"JSON object for text attributes (e.g., amount, tone, audience, language).": "Objeto JSON para atributos de texto (ex.: quantia, tom, audiência, linguagem).",
|
||||
"JSON object for image attributes (e.g., source, model, style).": "Objeto JSON para atributos de imagem (por exemplo, fonte, modelo, estilo).",
|
||||
"JSON object for card attributes (e.g., dimensions).": "Objeto JSON para atributos do cartão (por exemplo, dimensões).",
|
||||
"JSON object for sharing attributes (e.g., workspaceAccess, externalAccess).": "Objeto JSON para compartilhar atributos (ex.: acessos de espaço de trabalho, acessório externo).",
|
||||
"The ID of the generation job (from the \"Generate Gamma\" action).": "A ID da tarefa de geração (a partir da ação \"Gerar Gama\").",
|
||||
"Generate": "Gerar",
|
||||
"Condense": "Condensar",
|
||||
"Preserve": "Preservar",
|
||||
"Presentation": "Apresentação",
|
||||
"Document": "Documento",
|
||||
"Social": "Sócio",
|
||||
"Auto": "Automático",
|
||||
"Input Text Breaks": "Inserir Quebra de Texto",
|
||||
"PDF": "Pdf",
|
||||
"PowerPoint (PPTX)": "PowerPoint (PPTX)"
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"An AI-powered design partner that helps users generate presentations, documents, social media posts, cards, etc., via natural language.": "An AI-powered design partner that helps users generate presentations, documents, social media posts, cards, etc., via natural language.",
|
||||
"API Key": "API Key",
|
||||
"Paste your API key here.": "Paste your API key here.",
|
||||
"\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n": "\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n",
|
||||
"Generate Gamma": "Generate Gamma",
|
||||
"Get Generation": "Get Generation",
|
||||
"Create a new Gamma generation job.": "Create a new Gamma generation job.",
|
||||
"Given a Generation ID, fetch the status, outputs, metadata, etc.": "Given a Generation ID, fetch the status, outputs, metadata, etc.",
|
||||
"Input Text": "Input Text",
|
||||
"Text Mode": "Text Mode",
|
||||
"Format": "Format",
|
||||
"Theme Name": "Theme Name",
|
||||
"Number of Cards": "Number of Cards",
|
||||
"Card Split": "Card Split",
|
||||
"Additional Instructions": "Additional Instructions",
|
||||
"Export As": "Export As",
|
||||
"Text Options": "Text Options",
|
||||
"Image Options": "Image Options",
|
||||
"Card Options": "Card Options",
|
||||
"Sharing Options": "Sharing Options",
|
||||
"Generation ID": "Generation ID",
|
||||
"Text used to generate your gamma (1-750,000 characters).": "Text used to generate your gamma (1-750,000 characters).",
|
||||
"How you want your inputText to be modified.": "How you want your inputText to be modified.",
|
||||
"The type of artifact you want to create.": "The type of artifact you want to create.",
|
||||
"The theme from Gamma to be used. Defaults to workspace default.": "The theme from Gamma to be used. Defaults to workspace default.",
|
||||
"How many cards to create (default 10). Pro: 1-50, Ultra: 1-75.": "How many cards to create (default 10). Pro: 1-50, Ultra: 1-75.",
|
||||
"How your content will be divided into cards. Use '---' in text for breaks.": "How your content will be divided into cards. Use '---' in text for breaks.",
|
||||
"Extra specifications about the desired content and layouts (1-500 characters).": "Extra specifications about the desired content and layouts (1-500 characters).",
|
||||
"Additional file types for saving your gamma.": "Additional file types for saving your gamma.",
|
||||
"JSON object for text attributes (e.g., amount, tone, audience, language).": "JSON object for text attributes (e.g., amount, tone, audience, language).",
|
||||
"JSON object for image attributes (e.g., source, model, style).": "JSON object for image attributes (e.g., source, model, style).",
|
||||
"JSON object for card attributes (e.g., dimensions).": "JSON object for card attributes (e.g., dimensions).",
|
||||
"JSON object for sharing attributes (e.g., workspaceAccess, externalAccess).": "JSON object for sharing attributes (e.g., workspaceAccess, externalAccess).",
|
||||
"The ID of the generation job (from the \"Generate Gamma\" action).": "The ID of the generation job (from the \"Generate Gamma\" action).",
|
||||
"Generate": "Generate",
|
||||
"Condense": "Condense",
|
||||
"Preserve": "Preserve",
|
||||
"Presentation": "Presentation",
|
||||
"Document": "Document",
|
||||
"Social": "Social",
|
||||
"Auto": "Auto",
|
||||
"Input Text Breaks": "Input Text Breaks",
|
||||
"PDF": "PDF",
|
||||
"PowerPoint (PPTX)": "PowerPoint (PPTX)"
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"An AI-powered design partner that helps users generate presentations, documents, social media posts, cards, etc., via natural language.": "An AI-powered design partner that helps users generate presentations, documents, social media posts, cards, etc., via natural language.",
|
||||
"API Key": "API 密钥",
|
||||
"Paste your API key here.": "Paste your API key here.",
|
||||
"\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n": "\nFollow these steps to get your Gamma API Key:\n\n1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.\n2. Navigate to **Settings & Members** (click your workspace name in the top-left).\n3. Go to the **API Key** tab.\n4. Click **Create API key** and give it a name (e.g., \"Activepieces\").\n5. Copy the key (it starts with `sk-gamma-`) and paste it below.\n\n**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)\n",
|
||||
"Generate Gamma": "Generate Gamma",
|
||||
"Get Generation": "Get Generation",
|
||||
"Create a new Gamma generation job.": "Create a new Gamma generation job.",
|
||||
"Given a Generation ID, fetch the status, outputs, metadata, etc.": "Given a Generation ID, fetch the status, outputs, metadata, etc.",
|
||||
"Input Text": "Input Text",
|
||||
"Text Mode": "Text Mode",
|
||||
"Format": "Format",
|
||||
"Theme Name": "Theme Name",
|
||||
"Number of Cards": "Number of Cards",
|
||||
"Card Split": "Card Split",
|
||||
"Additional Instructions": "Additional Instructions",
|
||||
"Export As": "Export As",
|
||||
"Text Options": "Text Options",
|
||||
"Image Options": "Image Options",
|
||||
"Card Options": "Card Options",
|
||||
"Sharing Options": "Sharing Options",
|
||||
"Generation ID": "Generation ID",
|
||||
"Text used to generate your gamma (1-750,000 characters).": "Text used to generate your gamma (1-750,000 characters).",
|
||||
"How you want your inputText to be modified.": "How you want your inputText to be modified.",
|
||||
"The type of artifact you want to create.": "The type of artifact you want to create.",
|
||||
"The theme from Gamma to be used. Defaults to workspace default.": "The theme from Gamma to be used. Defaults to workspace default.",
|
||||
"How many cards to create (default 10). Pro: 1-50, Ultra: 1-75.": "How many cards to create (default 10). Pro: 1-50, Ultra: 1-75.",
|
||||
"How your content will be divided into cards. Use '---' in text for breaks.": "How your content will be divided into cards. Use '---' in text for breaks.",
|
||||
"Extra specifications about the desired content and layouts (1-500 characters).": "Extra specifications about the desired content and layouts (1-500 characters).",
|
||||
"Additional file types for saving your gamma.": "Additional file types for saving your gamma.",
|
||||
"JSON object for text attributes (e.g., amount, tone, audience, language).": "JSON object for text attributes (e.g., amount, tone, audience, language).",
|
||||
"JSON object for image attributes (e.g., source, model, style).": "JSON object for image attributes (e.g., source, model, style).",
|
||||
"JSON object for card attributes (e.g., dimensions).": "JSON object for card attributes (e.g., dimensions).",
|
||||
"JSON object for sharing attributes (e.g., workspaceAccess, externalAccess).": "JSON object for sharing attributes (e.g., workspaceAccess, externalAccess).",
|
||||
"The ID of the generation job (from the \"Generate Gamma\" action).": "The ID of the generation job (from the \"Generate Gamma\" action).",
|
||||
"Generate": "Generate",
|
||||
"Condense": "Condense",
|
||||
"Preserve": "Preserve",
|
||||
"Presentation": "Presentation",
|
||||
"Document": "Document",
|
||||
"Social": "Social",
|
||||
"Auto": "Auto",
|
||||
"Input Text Breaks": "Input Text Breaks",
|
||||
"PDF": "PDF",
|
||||
"PowerPoint (PPTX)": "PowerPoint (PPTX)"
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
import { createPiece } from "@activepieces/pieces-framework";
|
||||
import { PieceCategory } from "@activepieces/shared";
|
||||
import { gammaAuth } from "./lib/common/auth";
|
||||
import { generateGamma } from "./lib/actions/generate-gamma";
|
||||
import { getGeneration } from "./lib/actions/get-generation";
|
||||
|
||||
export const gamma = createPiece({
|
||||
displayName: "Gamma",
|
||||
auth: gammaAuth,
|
||||
minimumSupportedRelease: '0.36.1',
|
||||
logoUrl: "https://cdn.activepieces.com/pieces/gamma.png",
|
||||
authors: ['Pranith124'],
|
||||
description: "An AI-powered design partner that helps users generate presentations, documents, social media posts, cards, etc., via natural language.",
|
||||
categories: [
|
||||
PieceCategory.CONTENT_AND_FILES,
|
||||
PieceCategory.ARTIFICIAL_INTELLIGENCE
|
||||
],
|
||||
actions: [
|
||||
generateGamma,
|
||||
getGeneration
|
||||
],
|
||||
triggers: [],
|
||||
});
|
||||
@@ -0,0 +1,162 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
import { gammaAuth } from '../common/auth';
|
||||
|
||||
export const generateGamma = createAction({
|
||||
auth: gammaAuth,
|
||||
name: 'generateGamma',
|
||||
displayName: 'Generate Gamma',
|
||||
description: 'Create a new Gamma generation job.',
|
||||
props: {
|
||||
inputText: Property.LongText({
|
||||
displayName: 'Input Text',
|
||||
description:
|
||||
'Text used to generate your gamma (1-750,000 characters).',
|
||||
required: true,
|
||||
}),
|
||||
textMode: Property.StaticDropdown({
|
||||
displayName: 'Text Mode',
|
||||
description: 'How you want your inputText to be modified.',
|
||||
required: false,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Generate', value: 'generate' },
|
||||
{ label: 'Condense', value: 'condense' },
|
||||
{ label: 'Preserve', value: 'preserve' },
|
||||
],
|
||||
},
|
||||
}),
|
||||
format: Property.StaticDropdown({
|
||||
displayName: 'Format',
|
||||
description: 'The type of artifact you want to create.',
|
||||
required: false,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Presentation', value: 'presentation' },
|
||||
{ label: 'Document', value: 'document' },
|
||||
{ label: 'Social', value: 'social' },
|
||||
],
|
||||
},
|
||||
}),
|
||||
themeName: Property.ShortText({
|
||||
displayName: 'Theme Name',
|
||||
description:
|
||||
'The theme from Gamma to be used. Defaults to workspace default.',
|
||||
required: false,
|
||||
}),
|
||||
numCards: Property.Number({
|
||||
displayName: 'Number of Cards',
|
||||
description:
|
||||
'How many cards to create (default 10). Pro: 1-50, Ultra: 1-75.',
|
||||
required: false,
|
||||
}),
|
||||
cardSplit: Property.StaticDropdown({
|
||||
displayName: 'Card Split',
|
||||
description: "How your content will be divided into cards. Use '---' in text for breaks.",
|
||||
required: false,
|
||||
options: {
|
||||
options: [
|
||||
{ label: 'Auto', value: 'auto' },
|
||||
{ label: 'Input Text Breaks', value: 'inputTextBreaks' },
|
||||
],
|
||||
},
|
||||
}),
|
||||
additionalInstructions: Property.LongText({
|
||||
displayName: 'Additional Instructions',
|
||||
description:
|
||||
'Extra specifications about the desired content and layouts (1-500 characters).',
|
||||
required: false,
|
||||
}),
|
||||
exportAs: Property.StaticDropdown({
|
||||
displayName: 'Export As',
|
||||
description: 'Additional file types for saving your gamma.',
|
||||
required: false,
|
||||
options: {
|
||||
placeholder: "Don't export",
|
||||
options: [
|
||||
{ label: 'PDF', value: 'pdf' },
|
||||
{ label: 'PowerPoint (PPTX)', value: 'pptx' },
|
||||
],
|
||||
},
|
||||
}),
|
||||
textOptions: Property.Json({
|
||||
displayName: 'Text Options',
|
||||
description:
|
||||
'JSON object for text attributes (e.g., amount, tone, audience, language).',
|
||||
required: false,
|
||||
defaultValue: {},
|
||||
}),
|
||||
imageOptions: Property.Json({
|
||||
displayName: 'Image Options',
|
||||
description:
|
||||
'JSON object for image attributes (e.g., source, model, style).',
|
||||
required: false,
|
||||
defaultValue: {},
|
||||
}),
|
||||
cardOptions: Property.Json({
|
||||
displayName: 'Card Options',
|
||||
description: 'JSON object for card attributes (e.g., dimensions).',
|
||||
required: false,
|
||||
defaultValue: {},
|
||||
}),
|
||||
sharingOptions: Property.Json({
|
||||
displayName: 'Sharing Options',
|
||||
description:
|
||||
'JSON object for sharing attributes (e.g., workspaceAccess, externalAccess).',
|
||||
required: false,
|
||||
defaultValue: {},
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const {
|
||||
inputText,
|
||||
textMode,
|
||||
format,
|
||||
themeName,
|
||||
numCards,
|
||||
cardSplit,
|
||||
additionalInstructions,
|
||||
exportAs,
|
||||
textOptions,
|
||||
imageOptions,
|
||||
cardOptions,
|
||||
sharingOptions,
|
||||
} = context.propsValue;
|
||||
|
||||
|
||||
const body: Record<string, unknown> = {
|
||||
inputText,
|
||||
};
|
||||
|
||||
if (textMode) body['textMode'] = textMode;
|
||||
if (format) body['format'] = format;
|
||||
if (themeName) body['themeName'] = themeName;
|
||||
if (numCards) body['numCards'] = numCards;
|
||||
if (cardSplit) body['cardSplit'] = cardSplit;
|
||||
if (additionalInstructions)
|
||||
body['additionalInstructions'] = additionalInstructions;
|
||||
if (exportAs) body['exportAs'] = exportAs;
|
||||
|
||||
if (textOptions && Object.keys(textOptions).length > 0)
|
||||
body['textOptions'] = textOptions;
|
||||
if (imageOptions && Object.keys(imageOptions).length > 0)
|
||||
body['imageOptions'] = imageOptions;
|
||||
if (cardOptions && Object.keys(cardOptions).length > 0)
|
||||
body['cardOptions'] = cardOptions;
|
||||
if (sharingOptions && Object.keys(sharingOptions).length > 0)
|
||||
body['sharingOptions'] = sharingOptions;
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: 'https://public-api.gamma.app/v0.2/generations',
|
||||
headers: {
|
||||
'X-API-KEY': context.auth.props.apiKey,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: body,
|
||||
});
|
||||
|
||||
|
||||
return response.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,34 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { HttpMethod, httpClient } from '@activepieces/pieces-common';
|
||||
|
||||
import { gammaAuth } from '../common/auth';
|
||||
|
||||
export const getGeneration = createAction({
|
||||
|
||||
auth: gammaAuth,
|
||||
name: 'getGeneration',
|
||||
displayName: 'Get Generation',
|
||||
description: 'Given a Generation ID, fetch the status, outputs, metadata, etc.',
|
||||
props: {
|
||||
generationId: Property.ShortText({
|
||||
displayName: 'Generation ID',
|
||||
description: 'The ID of the generation job (from the "Generate Gamma" action).',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
const { generationId } = context.propsValue;
|
||||
const apiKey = context.auth.props.apiKey;
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: `https://public-api.gamma.app/v0.2/generations/${generationId}`,
|
||||
headers: {
|
||||
'X-API-KEY': apiKey,
|
||||
'accept': 'application/json',
|
||||
},
|
||||
});
|
||||
|
||||
return response.body;
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,50 @@
|
||||
import { PieceAuth } from "@activepieces/pieces-framework";
|
||||
import { HttpError, HttpMethod, httpClient } from "@activepieces/pieces-common";
|
||||
|
||||
const markdownDescription = `
|
||||
Follow these steps to get your Gamma API Key:
|
||||
|
||||
1. Log in to your Gamma account. You must have a **Pro or Ultra plan** to access the API.
|
||||
2. Navigate to **Settings & Members** (click your workspace name in the top-left).
|
||||
3. Go to the **API Key** tab.
|
||||
4. Click **Create API key** and give it a name (e.g., "Activepieces").
|
||||
5. Copy the key (it starts with \`sk-gamma-\`) and paste it below.
|
||||
|
||||
**Direct Link to API Settings:** [**https://gamma.app/settings/api**](https://gamma.app/settings/api)
|
||||
`;
|
||||
|
||||
export const gammaAuth = PieceAuth.CustomAuth({
|
||||
description: markdownDescription,
|
||||
required: true,
|
||||
props: {
|
||||
apiKey: PieceAuth.SecretText({
|
||||
displayName: "API Key",
|
||||
description: "Paste your API key here.",
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
async validate(auth) {
|
||||
const apiKey = auth.auth.apiKey;
|
||||
|
||||
try {
|
||||
await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: 'https://public-api.gamma.app/v0.2/generations/1',
|
||||
headers: {
|
||||
'X-API-KEY': apiKey,
|
||||
},
|
||||
});
|
||||
return { valid: true };
|
||||
} catch (e) {
|
||||
if (e instanceof HttpError) {
|
||||
if (e.response.status === 404) {
|
||||
return { valid: true };
|
||||
}
|
||||
if (e.response.status === 401) {
|
||||
return { valid: false, error: 'Invalid API Key' };
|
||||
}
|
||||
}
|
||||
return { valid: false, error: 'Failed to connect to Gamma API' };
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"extends": "../../../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"importHelpers": true,
|
||||
"noImplicitOverride": true,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noPropertyAccessFromIndexSignature": true
|
||||
},
|
||||
"files": [],
|
||||
"include": [],
|
||||
"references": [
|
||||
{
|
||||
"path": "./tsconfig.lib.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../../../../dist/out-tsc",
|
||||
"declaration": true,
|
||||
"types": ["node"]
|
||||
},
|
||||
"include": ["src/**/*.ts"]
|
||||
}
|
||||
Reference in New Issue
Block a user