@activepieces/piece-google-vertexai 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +9 -5
- package/src/i18n/de.json +4 -0
- package/src/i18n/es.json +4 -0
- package/src/i18n/fr.json +4 -0
- package/src/i18n/ja.json +4 -0
- package/src/i18n/nl.json +4 -0
- package/src/i18n/pt.json +4 -0
- package/src/i18n/translation.json +80 -0
- package/src/i18n/zh.json +4 -0
- package/src/index.d.ts +1 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +1 -1
- package/src/index.js.map +1 -1
- package/src/lib/actions/generate-content.d.ts +3 -0
- package/src/lib/actions/generate-content.d.ts.map +1 -0
- package/src/lib/actions/generate-content.js +40 -2
- package/src/lib/actions/generate-content.js.map +1 -1
- package/src/lib/actions/generate-image.d.ts +4 -7
- package/src/lib/actions/generate-image.d.ts.map +1 -0
- package/src/lib/actions/generate-image.js +180 -62
- package/src/lib/actions/generate-image.js.map +1 -1
- package/src/lib/actions/index.d.ts +1 -0
- package/src/lib/actions/index.d.ts.map +1 -0
- package/src/lib/actions/raw-request.d.ts +1 -0
- package/src/lib/actions/raw-request.d.ts.map +1 -0
- package/src/lib/auth.d.ts +1 -0
- package/src/lib/auth.d.ts.map +1 -0
- package/src/lib/common.d.ts +1 -0
- package/src/lib/common.d.ts.map +1 -0
- package/src/lib/common.js +15 -2
- package/src/lib/common.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@activepieces/piece-google-vertexai",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"types": "./src/index.d.ts",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@activepieces/pieces-common": "0.
|
|
8
|
-
"@activepieces/pieces-framework": "0.
|
|
9
|
-
"@activepieces/shared": "0.
|
|
7
|
+
"@activepieces/pieces-common": "0.12.0",
|
|
8
|
+
"@activepieces/pieces-framework": "0.26.0",
|
|
9
|
+
"@activepieces/shared": "0.47.0",
|
|
10
10
|
"@google/genai": "1.43.0",
|
|
11
|
-
"google-auth-library": "10.6.1"
|
|
11
|
+
"google-auth-library": "10.6.1",
|
|
12
|
+
"mime-types": "2.1.35"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@types/mime-types": "2.1.1"
|
|
12
16
|
},
|
|
13
17
|
"scripts": {
|
|
14
18
|
"build": "tsc -p tsconfig.lib.json && cp package.json dist/",
|
package/src/i18n/de.json
ADDED
package/src/i18n/es.json
ADDED
package/src/i18n/fr.json
ADDED
package/src/i18n/ja.json
ADDED
package/src/i18n/nl.json
ADDED
package/src/i18n/pt.json
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Generate content and images using Gemini and Imagen models on Google Vertex AI.": "Generate content and images using Gemini and Imagen models on Google Vertex AI.",
|
|
3
|
+
"Service Account JSON": "Service Account JSON",
|
|
4
|
+
"The complete JSON content from your Google Service Account key file.": "The complete JSON content from your Google Service Account key file.",
|
|
5
|
+
"\n To authenticate with Google Vertex AI using a Service Account:\n 1. Go to [Google Cloud Console](https://console.cloud.google.com).\n 2. Create a new project or select an existing one.\n 3. Enable the **Vertex AI API** under *APIs & Services > Enabled APIs*.\n 4. Create a Service Account:\n - Go to **IAM & Admin > Service Accounts**.\n - Click **Create Service Account**, fill in the details and click **Create**.\n - Grant the **Vertex AI User** role.\n 5. Create a JSON key:\n - Click on the c": "\n To authenticate with Google Vertex AI using a Service Account:\n 1. Go to [Google Cloud Console](https://console.cloud.google.com).\n 2. Create a new project or select an existing one.\n 3. Enable the **Vertex AI API** under *APIs & Services > Enabled APIs*.\n 4. Create a Service Account:\n - Go to **IAM & Admin > Service Accounts**.\n - Click **Create Service Account**, fill in the details and click **Create**.\n - Grant the **Vertex AI User** role.\n 5. Create a JSON key:\n - Click on the created service account.\n - Go to the **Keys** tab.\n - Click **Add Key > Create new key**, choose **JSON** and click **Create**.\n - The JSON key file will be downloaded automatically.\n 6. Copy the **entire contents** of the downloaded JSON file and paste it below.\n ",
|
|
6
|
+
"Generate Content": "Generate Content",
|
|
7
|
+
"Generate Image": "Generate Image",
|
|
8
|
+
"Custom API Call": "Custom API Call",
|
|
9
|
+
"Call a Gemini model on Vertex AI to generate a text response.": "Call a Gemini model on Vertex AI to generate a text response.",
|
|
10
|
+
"Generate an image from a text prompt using Google Imagen models on Vertex AI.": "Generate an image from a text prompt using Google Imagen models on Vertex AI.",
|
|
11
|
+
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
|
|
12
|
+
"Location": "Location",
|
|
13
|
+
"Model": "Model",
|
|
14
|
+
"System Message": "System Message",
|
|
15
|
+
"User Message": "User Message",
|
|
16
|
+
"Image URLs": "Image URLs",
|
|
17
|
+
"Temperature": "Temperature",
|
|
18
|
+
"Max Output Tokens": "Max Output Tokens",
|
|
19
|
+
"Thinking Level": "Thinking Level",
|
|
20
|
+
"Thinking Budget (tokens)": "Thinking Budget (tokens)",
|
|
21
|
+
"Include Thoughts in Response": "Include Thoughts in Response",
|
|
22
|
+
"Prompt": "Prompt",
|
|
23
|
+
"Negative Prompt": "Negative Prompt",
|
|
24
|
+
"Number of Images": "Number of Images",
|
|
25
|
+
"Aspect Ratio": "Aspect Ratio",
|
|
26
|
+
"Output Format": "Output Format",
|
|
27
|
+
"Seed": "Seed",
|
|
28
|
+
"Enhance Prompt": "Enhance Prompt",
|
|
29
|
+
"Add Watermark": "Add Watermark",
|
|
30
|
+
"Method": "Method",
|
|
31
|
+
"Headers": "Headers",
|
|
32
|
+
"Query Parameters": "Query Parameters",
|
|
33
|
+
"Body Type": "Body Type",
|
|
34
|
+
"Body": "Body",
|
|
35
|
+
"Response is Binary ?": "Response is Binary ?",
|
|
36
|
+
"No Error on Failure": "No Error on Failure",
|
|
37
|
+
"Timeout (in seconds)": "Timeout (in seconds)",
|
|
38
|
+
"Follow redirects": "Follow redirects",
|
|
39
|
+
"Google Cloud region where your Vertex AI resources are hosted.": "Google Cloud region where your Vertex AI resources are hosted.",
|
|
40
|
+
"Gemini model to use for content generation.": "Gemini model to use for content generation.",
|
|
41
|
+
"Instructions that guide the model's behavior throughout the conversation.": "Instructions that guide the model's behavior throughout the conversation.",
|
|
42
|
+
"The prompt to send to the model.": "The prompt to send to the model.",
|
|
43
|
+
"Public image URLs to include alongside the user message. The model will analyze these images.": "Public image URLs to include alongside the user message. The model will analyze these images.",
|
|
44
|
+
"Controls randomness. Lower values are more deterministic (0–2). Leave empty to use the model default.": "Controls randomness. Lower values are more deterministic (0–2). Leave empty to use the model default.",
|
|
45
|
+
"Maximum number of tokens to generate. Leave empty to use the model default.": "Maximum number of tokens to generate. Leave empty to use the model default.",
|
|
46
|
+
"Controls how much the model thinks before responding. Supported on Gemini 2.5 and later models.": "Controls how much the model thinks before responding. Supported on Gemini 2.5 and later models.",
|
|
47
|
+
"Maximum number of tokens the model can use for internal reasoning. Set to 0 to disable thinking. Supported on Gemini 2.5 and later models.": "Maximum number of tokens the model can use for internal reasoning. Set to 0 to disable thinking. Supported on Gemini 2.5 and later models.",
|
|
48
|
+
"When enabled, the model's reasoning is returned alongside the final response. Supported on Gemini 2.5 and later models.": "When enabled, the model's reasoning is returned alongside the final response. Supported on Gemini 2.5 and later models.",
|
|
49
|
+
"Imagen model to use for image generation.": "Imagen model to use for image generation.",
|
|
50
|
+
"A text description of the image you want to generate.": "A text description of the image you want to generate.",
|
|
51
|
+
"Describe what you do NOT want in the image.": "Describe what you do NOT want in the image.",
|
|
52
|
+
"Number of images to generate (1–4).": "Number of images to generate (1–4).",
|
|
53
|
+
"Aspect ratio of the generated image.": "Aspect ratio of the generated image.",
|
|
54
|
+
"Image format for the generated output.": "Image format for the generated output.",
|
|
55
|
+
"Random seed for reproducible results. Requires \"Add Watermark\" to be disabled.": "Random seed for reproducible results. Requires \"Add Watermark\" to be disabled.",
|
|
56
|
+
"When enabled, the model rewrites your prompt to improve output quality.": "When enabled, the model rewrites your prompt to improve output quality.",
|
|
57
|
+
"When enabled, adds an invisible watermark to generated images.": "When enabled, adds an invisible watermark to generated images.",
|
|
58
|
+
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
|
|
59
|
+
"Enable for files like PDFs, images, etc.": "Enable for files like PDFs, images, etc.",
|
|
60
|
+
"Low": "Low",
|
|
61
|
+
"Medium": "Medium",
|
|
62
|
+
"High": "High",
|
|
63
|
+
"Square (1:1)": "Square (1:1)",
|
|
64
|
+
"Portrait (3:4)": "Portrait (3:4)",
|
|
65
|
+
"Landscape (4:3)": "Landscape (4:3)",
|
|
66
|
+
"Portrait (9:16)": "Portrait (9:16)",
|
|
67
|
+
"Landscape (16:9)": "Landscape (16:9)",
|
|
68
|
+
"PNG": "PNG",
|
|
69
|
+
"JPEG": "JPEG",
|
|
70
|
+
"GET": "GET",
|
|
71
|
+
"POST": "POST",
|
|
72
|
+
"PATCH": "PATCH",
|
|
73
|
+
"PUT": "PUT",
|
|
74
|
+
"DELETE": "DELETE",
|
|
75
|
+
"HEAD": "HEAD",
|
|
76
|
+
"None": "None",
|
|
77
|
+
"JSON": "JSON",
|
|
78
|
+
"Form Data": "Form Data",
|
|
79
|
+
"Raw": "Raw"
|
|
80
|
+
}
|
package/src/i18n/zh.json
ADDED
package/src/index.d.ts
CHANGED
|
@@ -2,3 +2,4 @@ export declare const googleVertexai: import("@activepieces/pieces-framework").Pi
|
|
|
2
2
|
serviceAccountJson: import("@activepieces/pieces-framework").LongTextProperty<true>;
|
|
3
3
|
}>>;
|
|
4
4
|
export { vertexAiAuth, GoogleVertexAIAuthValue } from "./lib/auth";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc;;GAUzB,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
|
package/src/index.js
CHANGED
|
@@ -12,7 +12,7 @@ exports.googleVertexai = (0, pieces_framework_1.createPiece)({
|
|
|
12
12
|
minimumSupportedRelease: "0.71.4",
|
|
13
13
|
logoUrl: "https://cdn.activepieces.com/pieces/google-vertexai.png",
|
|
14
14
|
categories: [shared_1.PieceCategory.ARTIFICIAL_INTELLIGENCE],
|
|
15
|
-
authors: ["alinperghel", "onyedikachi-david"],
|
|
15
|
+
authors: ["alinperghel", "onyedikachi-david", "bertrandong"],
|
|
16
16
|
actions: [actions_1.generateContent, actions_1.generateImage, actions_1.customApiCall],
|
|
17
17
|
triggers: [],
|
|
18
18
|
});
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,qEAA6D;AAC7D,iDAAqD;AACrD,qCAA0C;AAC1C,2CAA8E;AAEjE,QAAA,cAAc,GAAG,IAAA,8BAAW,EAAC;IACxC,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,iFAAiF;IAC9F,IAAI,EAAE,mBAAY;IAClB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,yDAAyD;IAClE,UAAU,EAAE,CAAC,sBAAa,CAAC,uBAAuB,CAAC;IACnD,OAAO,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,qEAA6D;AAC7D,iDAAqD;AACrD,qCAA0C;AAC1C,2CAA8E;AAEjE,QAAA,cAAc,GAAG,IAAA,8BAAW,EAAC;IACxC,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,iFAAiF;IAC9F,IAAI,EAAE,mBAAY;IAClB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,yDAAyD;IAClE,UAAU,EAAE,CAAC,sBAAa,CAAC,uBAAuB,CAAC;IACnD,OAAO,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAC,aAAa,CAAC;IAC3D,OAAO,EAAE,CAAC,yBAAe,EAAE,uBAAa,EAAE,uBAAa,CAAC;IACxD,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC;AAEH,mCAAmE;AAA1D,oGAAA,YAAY,OAAA"}
|
|
@@ -10,6 +10,8 @@ export declare const generateContent: import("@activepieces/pieces-framework").I
|
|
|
10
10
|
}>>;
|
|
11
11
|
systemMessage: import("@activepieces/pieces-framework").LongTextProperty<false>;
|
|
12
12
|
userMessage: import("@activepieces/pieces-framework").LongTextProperty<true>;
|
|
13
|
+
files: import("@activepieces/pieces-framework").ArrayProperty<true> | import("@activepieces/pieces-framework").ArrayProperty<false>;
|
|
14
|
+
youtubeUrl: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
13
15
|
imageUrls: import("@activepieces/pieces-framework").ArrayProperty<false>;
|
|
14
16
|
temperature: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
15
17
|
maxOutputTokens: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
@@ -17,3 +19,4 @@ export declare const generateContent: import("@activepieces/pieces-framework").I
|
|
|
17
19
|
thinkingBudget: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
18
20
|
includeThoughts: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
19
21
|
}>;
|
|
22
|
+
//# sourceMappingURL=generate-content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-content.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/generate-content.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,aAAa,EACd,MAAM,eAAe,CAAC;AASvB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;EA0N1B,CAAC"}
|
|
@@ -4,6 +4,7 @@ exports.generateContent = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
6
|
const genai_1 = require("@google/genai");
|
|
7
|
+
const mime_types_1 = tslib_1.__importDefault(require("mime-types"));
|
|
7
8
|
const auth_1 = require("../auth");
|
|
8
9
|
const common_1 = require("../common");
|
|
9
10
|
exports.generateContent = (0, pieces_framework_1.createAction)({
|
|
@@ -42,6 +43,22 @@ exports.generateContent = (0, pieces_framework_1.createAction)({
|
|
|
42
43
|
description: 'The prompt to send to the model.',
|
|
43
44
|
required: true,
|
|
44
45
|
}),
|
|
46
|
+
files: pieces_framework_1.Property.Array({
|
|
47
|
+
displayName: 'Files',
|
|
48
|
+
required: false,
|
|
49
|
+
description: 'Optional files to include in the prompt (images, PDFs, text, audio, video)',
|
|
50
|
+
properties: {
|
|
51
|
+
file: pieces_framework_1.Property.File({
|
|
52
|
+
displayName: 'File',
|
|
53
|
+
required: true,
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
}),
|
|
57
|
+
youtubeUrl: pieces_framework_1.Property.ShortText({
|
|
58
|
+
displayName: 'YouTube URL',
|
|
59
|
+
required: false,
|
|
60
|
+
description: 'Optional public YouTube video URL for the AI to use as a reference.',
|
|
61
|
+
}),
|
|
45
62
|
imageUrls: pieces_framework_1.Property.Array({
|
|
46
63
|
displayName: 'Image URLs',
|
|
47
64
|
description: 'Public image URLs to include alongside the user message. The model will analyze these images.',
|
|
@@ -83,8 +100,8 @@ exports.generateContent = (0, pieces_framework_1.createAction)({
|
|
|
83
100
|
},
|
|
84
101
|
run(context) {
|
|
85
102
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
86
|
-
var _a, _b, _c;
|
|
87
|
-
const { location, model, systemMessage, userMessage, imageUrls, temperature, maxOutputTokens, thinkingLevel, thinkingBudget, includeThoughts, } = context.propsValue;
|
|
103
|
+
var _a, _b, _c, _d;
|
|
104
|
+
const { location, model, systemMessage, userMessage, files, youtubeUrl, imageUrls, temperature, maxOutputTokens, thinkingLevel, thinkingBudget, includeThoughts, } = context.propsValue;
|
|
88
105
|
const auth = context.auth;
|
|
89
106
|
const rawCredentials = JSON.parse(auth.props.serviceAccountJson);
|
|
90
107
|
const credentials = Object.assign(Object.assign({}, rawCredentials), { private_key: (_a = rawCredentials.private_key) === null || _a === void 0 ? void 0 : _a.replace(/\\n/g, '\n') });
|
|
@@ -98,6 +115,18 @@ exports.generateContent = (0, pieces_framework_1.createAction)({
|
|
|
98
115
|
},
|
|
99
116
|
});
|
|
100
117
|
const parts = [{ text: userMessage }];
|
|
118
|
+
if (files && files.length > 0) {
|
|
119
|
+
for (const item of files) {
|
|
120
|
+
if (item.file && item.file.data) {
|
|
121
|
+
const base64Data = Buffer.from(item.file.data).toString('base64');
|
|
122
|
+
const mimeType = mime_types_1.default.lookup(item.file.extension || '') || 'application/octet-stream';
|
|
123
|
+
parts.push({ inlineData: { data: base64Data, mimeType } });
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (youtubeUrl) {
|
|
128
|
+
parts.push({ fileData: { fileUri: youtubeUrl, mimeType: 'video/mp4' } });
|
|
129
|
+
}
|
|
101
130
|
for (const imageUrl of (_b = imageUrls) !== null && _b !== void 0 ? _b : []) {
|
|
102
131
|
try {
|
|
103
132
|
const imageResponse = yield fetch(imageUrl);
|
|
@@ -145,6 +174,15 @@ exports.generateContent = (0, pieces_framework_1.createAction)({
|
|
|
145
174
|
contents: [{ role: 'user', parts }],
|
|
146
175
|
config,
|
|
147
176
|
});
|
|
177
|
+
const candidate = (_d = response.candidates) === null || _d === void 0 ? void 0 : _d[0];
|
|
178
|
+
if (candidate) {
|
|
179
|
+
const finishReason = candidate.finishReason;
|
|
180
|
+
if (finishReason !== 'STOP') {
|
|
181
|
+
if (finishReason === 'MAX_TOKENS') {
|
|
182
|
+
throw new Error(`Generation stopped due to token limit. Consider removing the max output tokens or shortening your prompt.`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
148
186
|
return {
|
|
149
187
|
text: response.text,
|
|
150
188
|
candidates: response.candidates,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-content.js","sourceRoot":"","sources":["../../../../src/lib/actions/generate-content.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"generate-content.js","sourceRoot":"","sources":["../../../../src/lib/actions/generate-content.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,8 @@ export declare const generateImage: import("@activepieces/pieces-framework").IAc
|
|
|
8
8
|
serviceAccountJson: import("@activepieces/pieces-framework").LongTextProperty<true>;
|
|
9
9
|
}>>;
|
|
10
10
|
prompt: import("@activepieces/pieces-framework").LongTextProperty<true>;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
outputMimeType: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
|
|
15
|
-
seed: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
16
|
-
enhancePrompt: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
17
|
-
addWatermark: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
11
|
+
modelOptions: import("@activepieces/pieces-framework").DynamicProperties<true, import("@activepieces/pieces-framework").CustomAuthProperty<{
|
|
12
|
+
serviceAccountJson: import("@activepieces/pieces-framework").LongTextProperty<true>;
|
|
13
|
+
}>>;
|
|
18
14
|
}>;
|
|
15
|
+
//# sourceMappingURL=generate-image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-image.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/generate-image.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,aAAa;;;;;;;;;;;;;EA6SxB,CAAC"}
|
|
@@ -6,6 +6,7 @@ const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
|
6
6
|
const genai_1 = require("@google/genai");
|
|
7
7
|
const auth_1 = require("../auth");
|
|
8
8
|
const common_1 = require("../common");
|
|
9
|
+
const mime_types_1 = tslib_1.__importDefault(require("mime-types"));
|
|
9
10
|
exports.generateImage = (0, pieces_framework_1.createAction)({
|
|
10
11
|
auth: auth_1.vertexAiAuth,
|
|
11
12
|
name: 'generate_image',
|
|
@@ -23,12 +24,18 @@ exports.generateImage = (0, pieces_framework_1.createAction)({
|
|
|
23
24
|
}),
|
|
24
25
|
model: pieces_framework_1.Property.Dropdown({
|
|
25
26
|
displayName: 'Model',
|
|
26
|
-
description: '
|
|
27
|
+
description: 'Model to use for image generation.',
|
|
27
28
|
required: true,
|
|
28
29
|
refreshers: ['location'],
|
|
29
|
-
defaultValue: 'imagen-4.0-generate-001',
|
|
30
30
|
auth: auth_1.vertexAiAuth,
|
|
31
31
|
options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, location }) {
|
|
32
|
+
if (!location) {
|
|
33
|
+
return {
|
|
34
|
+
disabled: true,
|
|
35
|
+
placeholder: 'Please select a location first',
|
|
36
|
+
options: [],
|
|
37
|
+
};
|
|
38
|
+
}
|
|
32
39
|
return (0, common_1.getVertexAIImageModelOptions)(auth, location);
|
|
33
40
|
}),
|
|
34
41
|
}),
|
|
@@ -37,88 +44,199 @@ exports.generateImage = (0, pieces_framework_1.createAction)({
|
|
|
37
44
|
description: 'A text description of the image you want to generate.',
|
|
38
45
|
required: true,
|
|
39
46
|
}),
|
|
40
|
-
|
|
41
|
-
displayName: '
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
47
|
+
modelOptions: pieces_framework_1.Property.DynamicProperties({
|
|
48
|
+
displayName: 'Model Configurations',
|
|
49
|
+
required: true,
|
|
50
|
+
refreshers: ['model'],
|
|
51
|
+
auth: auth_1.vertexAiAuth,
|
|
52
|
+
props: (propsValue) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
53
|
+
const fields = {};
|
|
54
|
+
const selectedModel = String(propsValue['model'] || '');
|
|
55
|
+
const isGeminiModel = selectedModel.includes('gemini-');
|
|
56
|
+
// Common Field: Number of Images
|
|
57
|
+
fields['numberOfImages'] = pieces_framework_1.Property.Number({
|
|
58
|
+
displayName: 'Number of Images',
|
|
59
|
+
description: 'Number of images to generate (1–4).',
|
|
60
|
+
required: false,
|
|
61
|
+
defaultValue: 1,
|
|
62
|
+
});
|
|
63
|
+
if (isGeminiModel) {
|
|
64
|
+
fields['inputImage'] = pieces_framework_1.Property.Array({
|
|
65
|
+
displayName: 'Input Image',
|
|
66
|
+
description: 'Optional images for image-to-image editing.',
|
|
67
|
+
required: false,
|
|
68
|
+
properties: {
|
|
69
|
+
image: pieces_framework_1.Property.File({
|
|
70
|
+
displayName: 'Image File',
|
|
71
|
+
required: true,
|
|
72
|
+
}),
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
fields['aspectRatio'] = pieces_framework_1.Property.StaticDropdown({
|
|
76
|
+
displayName: 'Aspect Ratio',
|
|
77
|
+
description: 'Aspect ratio of the generated image.',
|
|
78
|
+
required: false,
|
|
79
|
+
defaultValue: '1:1',
|
|
80
|
+
options: {
|
|
81
|
+
options: [
|
|
82
|
+
{ label: 'Square (1:1)', value: '1:1' },
|
|
83
|
+
{ label: 'Portrait (2:3)', value: '2:3' },
|
|
84
|
+
{ label: 'Landscape (3:2)', value: '3:2' },
|
|
85
|
+
{ label: 'Portrait (3:4)', value: '3:4' },
|
|
86
|
+
{ label: 'Landscape (4:3)', value: '4:3' },
|
|
87
|
+
{ label: 'Portrait (4:5)', value: '4:5' },
|
|
88
|
+
{ label: 'Landscape (5:4)', value: '5:4' },
|
|
89
|
+
{ label: 'Portrait (9:16)', value: '9:16' },
|
|
90
|
+
{ label: 'Landscape (16:9)', value: '16:9' },
|
|
91
|
+
{ label: 'Ultrawide (21:9)', value: '21:9' },
|
|
92
|
+
],
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
fields['negativePrompt'] = pieces_framework_1.Property.LongText({
|
|
98
|
+
displayName: 'Negative Prompt',
|
|
99
|
+
description: 'Describe what you do NOT want in the image.',
|
|
100
|
+
required: false,
|
|
101
|
+
});
|
|
102
|
+
fields['aspectRatio'] = pieces_framework_1.Property.StaticDropdown({
|
|
103
|
+
displayName: 'Aspect Ratio',
|
|
104
|
+
description: 'Aspect ratio of the generated image.',
|
|
105
|
+
required: false,
|
|
106
|
+
defaultValue: '1:1',
|
|
107
|
+
options: {
|
|
108
|
+
options: [
|
|
109
|
+
{ label: 'Square (1:1)', value: '1:1' },
|
|
110
|
+
{ label: 'Portrait (3:4)', value: '3:4' },
|
|
111
|
+
{ label: 'Landscape (4:3)', value: '4:3' },
|
|
112
|
+
{ label: 'Portrait (9:16)', value: '9:16' },
|
|
113
|
+
{ label: 'Landscape (16:9)', value: '16:9' },
|
|
114
|
+
],
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
fields['personGeneration'] = pieces_framework_1.Property.StaticDropdown({
|
|
118
|
+
displayName: 'Person Generation',
|
|
119
|
+
description: 'Safety controls for generating images of people.',
|
|
120
|
+
required: false,
|
|
121
|
+
options: {
|
|
122
|
+
options: [
|
|
123
|
+
{ label: 'Block generation of all people', value: 'DONT_ALLOW' },
|
|
124
|
+
{ label: 'Generate images of adults, but not children (Default)', value: 'ALLOW_ADULT' },
|
|
125
|
+
{ label: 'Generate images that include adults and children', value: 'ALLOW_ALL' },
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
fields['outputMimeType'] = pieces_framework_1.Property.StaticDropdown({
|
|
130
|
+
displayName: 'Output Format',
|
|
131
|
+
description: 'Image format for the generated output.',
|
|
132
|
+
required: false,
|
|
133
|
+
defaultValue: 'image/png',
|
|
134
|
+
options: {
|
|
135
|
+
options: [
|
|
136
|
+
{ label: 'PNG', value: 'image/png' },
|
|
137
|
+
{ label: 'JPEG', value: 'image/jpeg' },
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
fields['seed'] = pieces_framework_1.Property.Number({
|
|
142
|
+
displayName: 'Seed',
|
|
143
|
+
description: 'Random seed for reproducible results. Requires "Add Watermark" to be disabled.',
|
|
144
|
+
required: false,
|
|
145
|
+
});
|
|
146
|
+
fields['enhancePrompt'] = pieces_framework_1.Property.Checkbox({
|
|
147
|
+
displayName: 'Enhance Prompt',
|
|
148
|
+
description: 'When enabled, the model rewrites your prompt to improve output quality.',
|
|
149
|
+
required: false,
|
|
150
|
+
defaultValue: false,
|
|
151
|
+
});
|
|
152
|
+
fields['addWatermark'] = pieces_framework_1.Property.Checkbox({
|
|
153
|
+
displayName: 'Add Watermark',
|
|
154
|
+
description: 'When enabled, adds an invisible watermark to generated images.',
|
|
155
|
+
required: false,
|
|
156
|
+
defaultValue: false,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
return fields;
|
|
160
|
+
}),
|
|
94
161
|
}),
|
|
95
162
|
},
|
|
96
163
|
run(context) {
|
|
97
164
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
98
|
-
var _a, _b;
|
|
99
|
-
const { location, model, prompt,
|
|
165
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
166
|
+
const { location, model, prompt, modelOptions } = context.propsValue;
|
|
100
167
|
const auth = context.auth;
|
|
101
168
|
const rawCredentials = JSON.parse(auth.props.serviceAccountJson);
|
|
102
169
|
const credentials = Object.assign(Object.assign({}, rawCredentials), { private_key: (_a = rawCredentials.private_key) === null || _a === void 0 ? void 0 : _a.replace(/\\n/g, '\n') });
|
|
170
|
+
const inputImage = modelOptions === null || modelOptions === void 0 ? void 0 : modelOptions['inputImage'];
|
|
171
|
+
const numberOfImages = (_b = modelOptions === null || modelOptions === void 0 ? void 0 : modelOptions['numberOfImages']) !== null && _b !== void 0 ? _b : 1; // Strictly defaults to 1
|
|
172
|
+
const aspectRatio = modelOptions === null || modelOptions === void 0 ? void 0 : modelOptions['aspectRatio'];
|
|
173
|
+
const negativePrompt = modelOptions === null || modelOptions === void 0 ? void 0 : modelOptions['negativePrompt'];
|
|
174
|
+
const personGeneration = modelOptions === null || modelOptions === void 0 ? void 0 : modelOptions['personGeneration'];
|
|
175
|
+
const outputMimeType = (_c = modelOptions === null || modelOptions === void 0 ? void 0 : modelOptions['outputMimeType']) !== null && _c !== void 0 ? _c : 'image/png';
|
|
176
|
+
const seed = modelOptions === null || modelOptions === void 0 ? void 0 : modelOptions['seed'];
|
|
177
|
+
const enhancePrompt = modelOptions === null || modelOptions === void 0 ? void 0 : modelOptions['enhancePrompt'];
|
|
178
|
+
const addWatermark = modelOptions === null || modelOptions === void 0 ? void 0 : modelOptions['addWatermark'];
|
|
179
|
+
const isGeminiModel = model.includes('gemini-');
|
|
103
180
|
const ai = new genai_1.GoogleGenAI({
|
|
104
181
|
vertexai: true,
|
|
105
182
|
project: credentials.project_id,
|
|
106
|
-
location,
|
|
183
|
+
location: location,
|
|
107
184
|
googleAuthOptions: {
|
|
108
185
|
credentials,
|
|
109
186
|
scopes: ['https://www.googleapis.com/auth/cloud-platform'],
|
|
110
187
|
},
|
|
111
188
|
});
|
|
189
|
+
const ext = (outputMimeType !== null && outputMimeType !== void 0 ? outputMimeType : 'image/png') === 'image/jpeg' ? 'jpg' : 'png';
|
|
190
|
+
if (isGeminiModel) {
|
|
191
|
+
let promptContent;
|
|
192
|
+
if (inputImage && inputImage.data) {
|
|
193
|
+
const mimeType = mime_types_1.default.lookup(inputImage.extension || '') || 'image/png';
|
|
194
|
+
const imagePart = {
|
|
195
|
+
inlineData: {
|
|
196
|
+
mimeType,
|
|
197
|
+
data: Buffer.from(inputImage.data).toString('base64'),
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
promptContent = [{ role: 'user', parts: [{ text: prompt }, imagePart] }];
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
// Fallback to text-only if no valid image was found
|
|
204
|
+
promptContent = [{ role: 'user', parts: [{ text: prompt }] }];
|
|
205
|
+
}
|
|
206
|
+
const response = yield ai.models.generateContent({
|
|
207
|
+
model,
|
|
208
|
+
contents: promptContent,
|
|
209
|
+
config: {
|
|
210
|
+
responseModalities: ['TEXT', 'IMAGE'],
|
|
211
|
+
imageConfig: Object.assign({}, (aspectRatio ? { aspectRatio: aspectRatio } : {})),
|
|
212
|
+
},
|
|
213
|
+
});
|
|
214
|
+
const parts = ((_f = (_e = (_d = response.candidates) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.content) === null || _f === void 0 ? void 0 : _f.parts) || [];
|
|
215
|
+
const generatedImagesBytes = parts
|
|
216
|
+
.filter((part) => part.inlineData && part.inlineData.data)
|
|
217
|
+
.map((part) => part.inlineData.data);
|
|
218
|
+
if (generatedImagesBytes.length === 0) {
|
|
219
|
+
throw new Error('No images were generated by the Gemini model. Adjust your prompt.');
|
|
220
|
+
}
|
|
221
|
+
const images = yield Promise.all(generatedImagesBytes.map((base64Data, index) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
222
|
+
const file = yield context.files.write({
|
|
223
|
+
fileName: `generated-image-${index + 1}.${ext}`,
|
|
224
|
+
data: Buffer.from(base64Data, 'base64'),
|
|
225
|
+
});
|
|
226
|
+
return { image: file };
|
|
227
|
+
})));
|
|
228
|
+
return { images, model, prompt };
|
|
229
|
+
}
|
|
230
|
+
// Imagen models
|
|
112
231
|
const response = yield ai.models.generateImages({
|
|
113
232
|
model,
|
|
114
233
|
prompt,
|
|
115
|
-
config: Object.assign(Object.assign(Object.assign(Object.assign({}, (negativePrompt ? { negativePrompt } : {})), { numberOfImages: numberOfImages
|
|
234
|
+
config: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (negativePrompt ? { negativePrompt } : {})), { numberOfImages: numberOfImages, aspectRatio: aspectRatio !== null && aspectRatio !== void 0 ? aspectRatio : '1:1', outputMimeType: outputMimeType }), (personGeneration ? { personGeneration: personGeneration } : {})), (seed !== undefined && seed !== null ? { seed } : {})), { enhancePrompt: enhancePrompt !== null && enhancePrompt !== void 0 ? enhancePrompt : false, addWatermark: addWatermark !== null && addWatermark !== void 0 ? addWatermark : false }),
|
|
116
235
|
});
|
|
117
|
-
const generated = (
|
|
236
|
+
const generated = (_g = response.generatedImages) !== null && _g !== void 0 ? _g : [];
|
|
118
237
|
if (generated.length === 0) {
|
|
119
238
|
throw new Error('No images were generated. The prompt may have been blocked by safety filters.');
|
|
120
239
|
}
|
|
121
|
-
const ext = (outputMimeType !== null && outputMimeType !== void 0 ? outputMimeType : 'image/png') === 'image/jpeg' ? 'jpg' : 'png';
|
|
122
240
|
const images = yield Promise.all(generated.map((img, index) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
123
241
|
var _a;
|
|
124
242
|
const imageBytes = (_a = img.image) === null || _a === void 0 ? void 0 : _a.imageBytes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-image.js","sourceRoot":"","sources":["../../../../src/lib/actions/generate-image.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"generate-image.js","sourceRoot":"","sources":["../../../../src/lib/actions/generate-image.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -16,3 +16,4 @@ export declare const customApiCall: import("@activepieces/pieces-framework").IAc
|
|
|
16
16
|
timeout: import("@activepieces/pieces-framework").NumberProperty<false> | import("@activepieces/pieces-framework").NumberProperty<true>;
|
|
17
17
|
followRedirects: import("@activepieces/pieces-framework").CheckboxProperty<false>;
|
|
18
18
|
}>;
|
|
19
|
+
//# sourceMappingURL=raw-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-request.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/raw-request.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,aAAa;;;;;;;oBAsB8tB,gCAAgC,iCAAiC,gCAAgC;wBAAgD,gCAAgC,iCAAiC,gCAAgC;;;;;+BAAiN,gCAAgC;qBAAgD,gCAAgC,mCAAmC,gCAAgC;oBAA8C,gCAAgC,iCAAiC,gCAAgC;4BAAoD,gCAAgC;EAD/kD,CAAC"}
|
package/src/lib/auth.d.ts
CHANGED
|
@@ -3,3 +3,4 @@ export declare const vertexAiAuth: import("@activepieces/pieces-framework").Cust
|
|
|
3
3
|
serviceAccountJson: import("@activepieces/pieces-framework").LongTextProperty<true>;
|
|
4
4
|
}>;
|
|
5
5
|
export type GoogleVertexAIAuthValue = AppConnectionValueForAuthProperty<typeof vertexAiAuth>;
|
|
6
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/lib/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAuB,MAAM,gCAAgC,CAAC;AAExG,eAAO,MAAM,YAAY;;EA2DvB,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,iCAAiC,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
package/src/lib/common.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/lib/common.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAC;AAoFjD,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,uBAAuB,GAAG,SAAS;;;;;;;;;;;GAmCzF;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,uBAAuB,GAAG,SAAS,EACzC,QAAQ,EAAE,MAAM,GAAG,SAAS;;;;;;;eA3DV,MAAM;eAAS,MAAM;;;GA0ExC;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,uBAAuB,GAAG,SAAS,EACzC,QAAQ,EAAE,MAAM,GAAG,SAAS;;;;;;;eA9EV,MAAM;eAAS,MAAM;;;GA8GxC"}
|
package/src/lib/common.js
CHANGED
|
@@ -148,10 +148,23 @@ function getVertexAIImageModelOptions(auth, location) {
|
|
|
148
148
|
return { disabled: true, placeholder: 'Connect your account first', options: [] };
|
|
149
149
|
}
|
|
150
150
|
try {
|
|
151
|
-
const
|
|
151
|
+
const targetLocation = location !== null && location !== void 0 ? location : 'us-central1';
|
|
152
|
+
const options = yield fetchVertexAIModels(auth, targetLocation, 'imagen');
|
|
153
|
+
try {
|
|
154
|
+
const geminiModels = yield fetchVertexAIModels(auth, targetLocation, 'gemini');
|
|
155
|
+
const geminiImageModels = geminiModels.filter((model) => {
|
|
156
|
+
const name = model.value.toLowerCase();
|
|
157
|
+
return name.includes('image');
|
|
158
|
+
});
|
|
159
|
+
options.push(...geminiImageModels);
|
|
160
|
+
}
|
|
161
|
+
catch (_a) {
|
|
162
|
+
// If the Gemini fetch fails for any reason, fail silently
|
|
163
|
+
// and just return the Imagen models we already successfully fetched
|
|
164
|
+
}
|
|
152
165
|
return { disabled: false, options };
|
|
153
166
|
}
|
|
154
|
-
catch (
|
|
167
|
+
catch (_b) {
|
|
155
168
|
return {
|
|
156
169
|
disabled: true,
|
|
157
170
|
options: [],
|
package/src/lib/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/lib/common.ts"],"names":[],"mappings":";;AAuFA,gEAmCC;AAED,0DAiBC;AAED,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/lib/common.ts"],"names":[],"mappings":"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"}
|