@activepieces/piece-ai 0.4.3 → 0.4.5

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.
Files changed (53) hide show
  1. package/package.json +7 -30
  2. package/src/index.js +271 -28
  3. package/src/index.d.ts +0 -4
  4. package/src/index.d.ts.map +0 -1
  5. package/src/index.js.map +0 -1
  6. package/src/lib/actions/agents/agent-output-builder.d.ts +0 -32
  7. package/src/lib/actions/agents/agent-output-builder.d.ts.map +0 -1
  8. package/src/lib/actions/agents/agent-output-builder.js +0 -112
  9. package/src/lib/actions/agents/agent-output-builder.js.map +0 -1
  10. package/src/lib/actions/agents/run-agent.d.ts +0 -10
  11. package/src/lib/actions/agents/run-agent.d.ts.map +0 -1
  12. package/src/lib/actions/agents/run-agent.js +0 -324
  13. package/src/lib/actions/agents/run-agent.js.map +0 -1
  14. package/src/lib/actions/agents/tools.d.ts +0 -30
  15. package/src/lib/actions/agents/tools.d.ts.map +0 -1
  16. package/src/lib/actions/agents/tools.js +0 -307
  17. package/src/lib/actions/agents/tools.js.map +0 -1
  18. package/src/lib/actions/agents/utils.d.ts +0 -24
  19. package/src/lib/actions/agents/utils.d.ts.map +0 -1
  20. package/src/lib/actions/agents/utils.js +0 -190
  21. package/src/lib/actions/agents/utils.js.map +0 -1
  22. package/src/lib/actions/image/generate-image.d.ts +0 -8
  23. package/src/lib/actions/image/generate-image.d.ts.map +0 -1
  24. package/src/lib/actions/image/generate-image.js +0 -285
  25. package/src/lib/actions/image/generate-image.js.map +0 -1
  26. package/src/lib/actions/text/ask-ai.d.ts +0 -11
  27. package/src/lib/actions/text/ask-ai.d.ts.map +0 -1
  28. package/src/lib/actions/text/ask-ai.js +0 -114
  29. package/src/lib/actions/text/ask-ai.js.map +0 -1
  30. package/src/lib/actions/text/summarize-text.d.ts +0 -8
  31. package/src/lib/actions/text/summarize-text.d.ts.map +0 -1
  32. package/src/lib/actions/text/summarize-text.js +0 -64
  33. package/src/lib/actions/text/summarize-text.js.map +0 -1
  34. package/src/lib/actions/utility/classify-text.d.ts +0 -7
  35. package/src/lib/actions/utility/classify-text.d.ts.map +0 -1
  36. package/src/lib/actions/utility/classify-text.js +0 -54
  37. package/src/lib/actions/utility/classify-text.js.map +0 -1
  38. package/src/lib/actions/utility/extract-structured-data.d.ts +0 -11
  39. package/src/lib/actions/utility/extract-structured-data.d.ts.map +0 -1
  40. package/src/lib/actions/utility/extract-structured-data.js +0 -259
  41. package/src/lib/actions/utility/extract-structured-data.js.map +0 -1
  42. package/src/lib/common/ai-sdk.d.ts +0 -90
  43. package/src/lib/common/ai-sdk.d.ts.map +0 -1
  44. package/src/lib/common/ai-sdk.js +0 -242
  45. package/src/lib/common/ai-sdk.js.map +0 -1
  46. package/src/lib/common/props.d.ts +0 -12
  47. package/src/lib/common/props.d.ts.map +0 -1
  48. package/src/lib/common/props.js +0 -69
  49. package/src/lib/common/props.js.map +0 -1
  50. package/src/lib/common/web-search.d.ts +0 -41
  51. package/src/lib/common/web-search.d.ts.map +0 -1
  52. package/src/lib/common/web-search.js +0 -191
  53. package/src/lib/common/web-search.js.map +0 -1
@@ -1,285 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateImageAction = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const ai_1 = require("ai");
7
- const ai_2 = require("ai");
8
- const mime_types_1 = tslib_1.__importDefault(require("mime-types"));
9
- const shared_1 = require("@activepieces/shared");
10
- const ai_sdk_1 = require("../../common/ai-sdk");
11
- const shared_2 = require("@activepieces/shared");
12
- const props_1 = require("../../common/props");
13
- exports.generateImageAction = (0, pieces_framework_1.createAction)({
14
- name: 'generateImage',
15
- displayName: 'Generate Image',
16
- description: 'Create unique, high-quality images from simple text descriptions using AI.',
17
- props: {
18
- provider: (0, props_1.aiProps)({ modelType: 'image' }).provider,
19
- model: (0, props_1.aiProps)({ modelType: 'image' }).model,
20
- prompt: pieces_framework_1.Property.LongText({
21
- displayName: 'Prompt',
22
- required: true,
23
- }),
24
- inputImages: pieces_framework_1.Property.Array({
25
- displayName: 'Input Images',
26
- description: 'Provide images for editing, variation, or merging. Support depends on the selected model.',
27
- required: false,
28
- properties: {
29
- file: pieces_framework_1.Property.File({
30
- displayName: 'Image File',
31
- required: true,
32
- }),
33
- },
34
- }),
35
- advancedOptions: pieces_framework_1.Property.DynamicProperties({
36
- displayName: 'Advanced Options',
37
- required: false,
38
- auth: pieces_framework_1.PieceAuth.None(),
39
- refreshers: ['provider', 'model'],
40
- props: (propsValue) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
41
- const rawProvider = propsValue['provider'];
42
- const rawModel = propsValue['model'];
43
- const { provider: effectiveProvider, model: effectiveModel } = (0, shared_1.getEffectiveProviderAndModel)({
44
- provider: rawProvider,
45
- model: rawModel,
46
- });
47
- const providerId = effectiveProvider !== null && effectiveProvider !== void 0 ? effectiveProvider : rawProvider;
48
- const modelId = effectiveModel !== null && effectiveModel !== void 0 ? effectiveModel : rawModel;
49
- let options = {};
50
- if (providerId === shared_2.AIProviderName.OPENAI) {
51
- options = {
52
- quality: pieces_framework_1.Property.StaticDropdown({
53
- options: {
54
- options: modelId === 'dall-e-3'
55
- ? [
56
- { label: 'Standard', value: 'standard' },
57
- { label: 'HD', value: 'hd' },
58
- ]
59
- : modelId === 'gpt-image-1'
60
- ? [
61
- { label: 'High', value: 'high' },
62
- { label: 'Medium', value: 'medium' },
63
- { label: 'Low', value: 'low' },
64
- ]
65
- : [],
66
- disabled: modelId === 'dall-e-2',
67
- },
68
- defaultValue: modelId === 'dall-e-3' ? 'standard' : 'high',
69
- displayName: 'Image Quality',
70
- required: false,
71
- }),
72
- size: pieces_framework_1.Property.StaticDropdown({
73
- options: {
74
- options: modelId === 'dall-e-3'
75
- ? [
76
- { label: '1024x1024', value: '1024x1024' },
77
- { label: '1792x1024', value: '1792x1024' },
78
- { label: '1024x1792', value: '1024x1792' },
79
- ]
80
- : modelId === 'gpt-image-1'
81
- ? [
82
- { label: '1024x1024', value: '1024x1024' },
83
- { label: '1536x1024', value: '1536x1024' },
84
- { label: '1024x1536', value: '1024x1536' },
85
- ]
86
- : [
87
- { label: '256x256', value: '256x256' },
88
- { label: '512x512', value: '512x512' },
89
- { label: '1024x1024', value: '1024x1024' },
90
- ],
91
- },
92
- displayName: 'Image Size',
93
- required: false,
94
- }),
95
- };
96
- if (modelId === 'gpt-image-1') {
97
- options = Object.assign(Object.assign({}, options), { background: pieces_framework_1.Property.StaticDropdown({
98
- options: {
99
- options: [
100
- { label: 'Auto', value: 'auto' },
101
- { label: 'Transparent', value: 'transparent' },
102
- { label: 'Opaque', value: 'opaque' },
103
- ],
104
- },
105
- defaultValue: 'auto',
106
- description: 'The background of the image.',
107
- displayName: 'Background',
108
- required: true,
109
- }) });
110
- }
111
- return options;
112
- }
113
- return options;
114
- }),
115
- }),
116
- },
117
- run(context) {
118
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
119
- const provider = context.propsValue.provider;
120
- const modelId = context.propsValue.model;
121
- const inputImages = collectInputImages({
122
- inputImages: context.propsValue.inputImages,
123
- advancedOptions: context.propsValue.advancedOptions,
124
- });
125
- const image = yield getGeneratedImage({
126
- provider: provider,
127
- modelId,
128
- engineToken: context.server.token,
129
- apiUrl: context.server.apiUrl,
130
- prompt: context.propsValue.prompt,
131
- inputImages,
132
- projectId: context.project.id,
133
- flowId: context.flows.current.id,
134
- runId: context.run.id,
135
- advancedOptions: context.propsValue.advancedOptions,
136
- });
137
- const imageData = image.base64 && image.base64.length > 0
138
- ? Buffer.from(image.base64, 'base64')
139
- : Buffer.from(image.uint8Array);
140
- return context.files.write({
141
- data: imageData,
142
- fileName: 'image.png',
143
- });
144
- });
145
- },
146
- });
147
- const collectInputImages = ({ inputImages, advancedOptions, }) => {
148
- const fromTopLevel = extractImageFiles(inputImages);
149
- if (fromTopLevel.length > 0) {
150
- return fromTopLevel;
151
- }
152
- return extractImageFiles(advancedOptions === null || advancedOptions === void 0 ? void 0 : advancedOptions['image']);
153
- };
154
- const extractImageFiles = (value) => {
155
- if (!Array.isArray(value)) {
156
- return [];
157
- }
158
- return value.flatMap((entry) => {
159
- if (entry &&
160
- typeof entry === 'object' &&
161
- 'file' in entry &&
162
- entry.file) {
163
- return [entry.file];
164
- }
165
- return [];
166
- });
167
- };
168
- const getGeneratedImage = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ provider, modelId, engineToken, apiUrl, prompt, inputImages, projectId, flowId, runId, advancedOptions, }) {
169
- const model = yield (0, ai_sdk_1.createAIModel)({
170
- provider,
171
- modelId,
172
- engineToken,
173
- apiUrl,
174
- projectId,
175
- flowId,
176
- runId,
177
- isImage: true,
178
- });
179
- const { provider: effectiveProvider } = (0, shared_1.getEffectiveProviderAndModel)({ provider, model: modelId });
180
- const resolvedProvider = (effectiveProvider !== null && effectiveProvider !== void 0 ? effectiveProvider : provider);
181
- const hasInputImages = inputImages.length > 0;
182
- return withImageInputErrorContext({ modelId, hasInputImages }, () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
183
- switch (resolvedProvider) {
184
- case shared_2.AIProviderName.GOOGLE:
185
- case shared_2.AIProviderName.ACTIVEPIECES:
186
- case shared_2.AIProviderName.OPENROUTER:
187
- case shared_2.AIProviderName.CLOUDFLARE_GATEWAY:
188
- return generateImageUsingGenerateText({
189
- model: model,
190
- prompt,
191
- inputImages,
192
- });
193
- default: {
194
- const sanitizedAdvancedOptions = stripLegacyImageField(advancedOptions);
195
- const sdkImages = inputImages.map((file) => Buffer.from(file.base64, 'base64'));
196
- const { image } = yield (0, ai_2.generateImage)({
197
- model,
198
- prompt: hasInputImages
199
- ? { text: prompt, images: sdkImages }
200
- : prompt,
201
- providerOptions: {
202
- [resolvedProvider]: Object.assign({}, sanitizedAdvancedOptions),
203
- },
204
- });
205
- return image;
206
- }
207
- }
208
- }));
209
- });
210
- const withImageInputErrorContext = (_a, run_1) => tslib_1.__awaiter(void 0, [_a, run_1], void 0, function* ({ modelId, hasInputImages }, run) {
211
- try {
212
- return yield run();
213
- }
214
- catch (error) {
215
- if (!hasInputImages) {
216
- throw error;
217
- }
218
- const original = error instanceof Error ? error.message : String(error);
219
- throw new Error(`Image generation failed for model "${modelId}". ` +
220
- `This model may not support input images. Try a model that supports image editing — ` +
221
- `for example gpt-image-1, dall-e-2, or a Gemini Nano Banana model — or remove the input images. ` +
222
- `Original error: ${original}`);
223
- }
224
- });
225
- const generateImageUsingGenerateText = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ model, prompt, inputImages, }) {
226
- const imageFiles = inputImages.map((file) => {
227
- const detected = file.extension ? mime_types_1.default.lookup(file.extension) : false;
228
- const fileType = detected && ALLOWED_IMAGE_MIME_TYPES.has(detected)
229
- ? detected
230
- : 'image/jpeg';
231
- return {
232
- type: 'image',
233
- image: `data:${fileType};base64,${file.base64}`,
234
- };
235
- });
236
- const result = yield (0, ai_1.generateText)({
237
- model,
238
- providerOptions: {
239
- google: { responseModalities: ['TEXT', 'IMAGE'] },
240
- openrouter: { modalities: ['image', 'text'] },
241
- },
242
- messages: [
243
- {
244
- role: 'user',
245
- content: [{ type: 'text', text: prompt }, ...imageFiles],
246
- },
247
- ],
248
- });
249
- assertImageGenerationSuccess(result);
250
- return result.files[0];
251
- });
252
- const stripLegacyImageField = (advancedOptions) => {
253
- if ((0, shared_1.isNil)(advancedOptions)) {
254
- return advancedOptions;
255
- }
256
- const _a = advancedOptions, { image: _legacy } = _a, rest = tslib_1.__rest(_a, ["image"]);
257
- return rest;
258
- };
259
- const ALLOWED_IMAGE_MIME_TYPES = new Set([
260
- 'image/jpeg',
261
- 'image/png',
262
- 'image/gif',
263
- 'image/webp',
264
- 'image/avif',
265
- ]);
266
- const assertImageGenerationSuccess = (result) => {
267
- const responseBody = result.response.body &&
268
- typeof result.response.body === 'object' &&
269
- 'candidates' in result.response.body
270
- ? result.response.body
271
- : { candidates: [] };
272
- const responseCandidates = Array.isArray(responseBody === null || responseBody === void 0 ? void 0 : responseBody.candidates)
273
- ? responseBody === null || responseBody === void 0 ? void 0 : responseBody.candidates
274
- : [];
275
- responseCandidates.forEach((candidate) => {
276
- if (candidate.finishReason !== 'STOP') {
277
- throw new Error('Image generation failed Reason:\n ' +
278
- JSON.stringify(responseCandidates, null, 2));
279
- }
280
- });
281
- if ((0, shared_1.isNil)(result.files) || result.files.length === 0) {
282
- throw new Error('No image generated');
283
- }
284
- };
285
- //# sourceMappingURL=generate-image.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-image.js","sourceRoot":"","sources":["../../../../../src/lib/actions/image/generate-image.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- export declare const askAI: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").PieceAuthProperty, {
2
- provider: import("@activepieces/pieces-framework").DropdownProperty<string, true, undefined>;
3
- model: import("@activepieces/pieces-framework").DropdownProperty<string, true, undefined>;
4
- prompt: import("@activepieces/pieces-framework").LongTextProperty<true>;
5
- conversationKey: import("@activepieces/pieces-framework").ShortTextProperty<false>;
6
- creativity: import("@activepieces/pieces-framework").NumberProperty<false>;
7
- maxOutputTokens: import("@activepieces/pieces-framework").NumberProperty<false>;
8
- webSearch: import("@activepieces/pieces-framework").CheckboxProperty<false>;
9
- webSearchOptions: import("@activepieces/pieces-framework").DynamicProperties<false, undefined>;
10
- }>;
11
- //# sourceMappingURL=ask-ai.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ask-ai.d.ts","sourceRoot":"","sources":["../../../../../src/lib/actions/text/ask-ai.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,KAAK;;;;;;;;;EA2HhB,CAAC"}
@@ -1,114 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.askAI = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const ai_1 = require("ai");
7
- const shared_1 = require("@activepieces/shared");
8
- const props_1 = require("../../common/props");
9
- const ai_sdk_1 = require("../../common/ai-sdk");
10
- const web_search_1 = require("../../common/web-search");
11
- exports.askAI = (0, pieces_framework_1.createAction)({
12
- name: 'askAi',
13
- displayName: 'Ask AI',
14
- description: 'A flexible AI step. ask it to analyze data, explain, draft, or decide based on your flow\'s data.',
15
- props: {
16
- provider: (0, props_1.aiProps)({ modelType: 'text' }).provider,
17
- model: (0, props_1.aiProps)({ modelType: 'text' }).model,
18
- prompt: pieces_framework_1.Property.LongText({
19
- displayName: 'Prompt',
20
- required: true,
21
- }),
22
- conversationKey: pieces_framework_1.Property.ShortText({
23
- displayName: 'Conversation Key',
24
- required: false,
25
- }),
26
- creativity: pieces_framework_1.Property.Number({
27
- displayName: 'Creativity',
28
- required: false,
29
- defaultValue: 100,
30
- description: 'Controls the creativity of the AI response. A higher value will make the AI more creative and a lower value will make it more deterministic.',
31
- }),
32
- maxOutputTokens: pieces_framework_1.Property.Number({
33
- displayName: 'Max Tokens',
34
- required: false,
35
- defaultValue: 2000,
36
- }),
37
- webSearch: pieces_framework_1.Property.Checkbox({
38
- displayName: 'Web Search',
39
- required: false,
40
- defaultValue: false,
41
- description: 'Whether to use web search to find information for the AI to use in its response.',
42
- }),
43
- webSearchOptions: (0, web_search_1.buildWebSearchOptionsProperty)((propsValue) => ({
44
- provider: propsValue['provider'],
45
- model: propsValue['model'],
46
- }), ['webSearch', 'provider', 'model']),
47
- },
48
- run(context) {
49
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
50
- var _a, _b, _c, _d, _e;
51
- const provider = context.propsValue.provider;
52
- const modelId = context.propsValue.model;
53
- const storage = context.store;
54
- const webSearchEnabled = !!context.propsValue.webSearch;
55
- const webSearchOptions = ((_a = context.propsValue.webSearchOptions) !== null && _a !== void 0 ? _a : {});
56
- const { tools: webSearchTools, providerOptions } = (0, web_search_1.buildWebSearchConfig)({
57
- provider,
58
- model: modelId,
59
- webSearchEnabled,
60
- webSearchOptions,
61
- });
62
- const { provider: effectiveProvider } = (0, shared_1.getEffectiveProviderAndModel)({
63
- provider: provider,
64
- model: modelId,
65
- });
66
- const model = yield (0, ai_sdk_1.createAIModel)(Object.assign({ provider: provider, modelId, engineToken: context.server.token, apiUrl: context.server.apiUrl, projectId: context.project.id, flowId: context.flows.current.id, runId: context.run.id }, (0, shared_1.spreadIfDefined)('openaiResponsesModel', webSearchEnabled && effectiveProvider === shared_1.AIProviderName.OPENAI ? true : undefined)));
67
- const conversationKey = context.propsValue.conversationKey
68
- ? `ask-ai-conversation:${context.propsValue.conversationKey}`
69
- : null;
70
- let conversation = null;
71
- if (conversationKey) {
72
- conversation = (_b = (yield storage.get(conversationKey))) !== null && _b !== void 0 ? _b : [];
73
- if (!conversation) {
74
- yield storage.put(conversationKey, { messages: [] });
75
- }
76
- }
77
- const stopWhen = webSearchTools
78
- ? (0, ai_1.stepCountIs)((_c = webSearchOptions === null || webSearchOptions === void 0 ? void 0 : webSearchOptions.maxUses) !== null && _c !== void 0 ? _c : 5)
79
- : undefined;
80
- const response = yield (0, ai_1.generateText)({
81
- model,
82
- messages: [
83
- ...(conversation !== null && conversation !== void 0 ? conversation : []),
84
- {
85
- role: 'user',
86
- content: context.propsValue.prompt,
87
- },
88
- ],
89
- maxOutputTokens: context.propsValue.maxOutputTokens,
90
- temperature: ((_d = context.propsValue.creativity) !== null && _d !== void 0 ? _d : 100) / 100,
91
- tools: webSearchTools,
92
- stopWhen,
93
- providerOptions,
94
- });
95
- conversation === null || conversation === void 0 ? void 0 : conversation.push({
96
- role: 'user',
97
- content: context.propsValue.prompt,
98
- });
99
- conversation === null || conversation === void 0 ? void 0 : conversation.push({
100
- role: 'assistant',
101
- content: (_e = response.text) !== null && _e !== void 0 ? _e : '',
102
- });
103
- if (conversationKey) {
104
- yield storage.put(conversationKey, conversation);
105
- }
106
- const includeSources = webSearchTools && webSearchOptions.includeSources;
107
- if (includeSources) {
108
- return { text: response.text, sources: response.sources };
109
- }
110
- return response.text;
111
- });
112
- },
113
- });
114
- //# sourceMappingURL=ask-ai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ask-ai.js","sourceRoot":"","sources":["../../../../../src/lib/actions/text/ask-ai.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export declare const summarizeText: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").PieceAuthProperty, {
2
- provider: import("@activepieces/pieces-framework").DropdownProperty<string, true, undefined>;
3
- model: import("@activepieces/pieces-framework").DropdownProperty<string, true, undefined>;
4
- text: import("@activepieces/pieces-framework").LongTextProperty<true>;
5
- prompt: import("@activepieces/pieces-framework").ShortTextProperty<true>;
6
- maxOutputTokens: import("@activepieces/pieces-framework").NumberProperty<false>;
7
- }>;
8
- //# sourceMappingURL=summarize-text.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summarize-text.d.ts","sourceRoot":"","sources":["../../../../../src/lib/actions/text/summarize-text.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa;;;;;;EAwDxB,CAAC"}
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.summarizeText = void 0;
4
- const tslib_1 = require("tslib");
5
- const shared_1 = require("@activepieces/shared");
6
- const ai_sdk_1 = require("../../common/ai-sdk");
7
- const pieces_framework_1 = require("@activepieces/pieces-framework");
8
- const ai_1 = require("ai");
9
- const props_1 = require("../../common/props");
10
- exports.summarizeText = (0, pieces_framework_1.createAction)({
11
- name: 'summarizeText',
12
- displayName: 'Summarize Text',
13
- description: 'Summarize long emails, articles, or documents into what matters.',
14
- props: {
15
- provider: (0, props_1.aiProps)({ modelType: 'text' }).provider,
16
- model: (0, props_1.aiProps)({ modelType: 'text' }).model,
17
- text: pieces_framework_1.Property.LongText({
18
- displayName: 'Text',
19
- required: true,
20
- }),
21
- prompt: pieces_framework_1.Property.ShortText({
22
- displayName: 'Prompt',
23
- defaultValue: 'Summarize the following text in a clear and concise manner, capturing the key points and main ideas while keeping the summary brief and informative.',
24
- required: true,
25
- }),
26
- maxOutputTokens: pieces_framework_1.Property.Number({
27
- displayName: 'Max Tokens',
28
- required: false,
29
- defaultValue: 2000,
30
- }),
31
- },
32
- run(context) {
33
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
34
- var _a;
35
- const provider = context.propsValue.provider;
36
- const modelId = context.propsValue.model;
37
- const model = yield (0, ai_sdk_1.createAIModel)({
38
- provider: provider,
39
- modelId,
40
- engineToken: context.server.token,
41
- apiUrl: context.server.apiUrl,
42
- projectId: context.project.id,
43
- flowId: context.flows.current.id,
44
- runId: context.run.id,
45
- });
46
- const response = yield (0, ai_1.generateText)({
47
- model,
48
- messages: [
49
- {
50
- role: 'user',
51
- content: `${context.propsValue.prompt} Summarize the following text : ${context.propsValue.text}`
52
- },
53
- ],
54
- maxOutputTokens: context.propsValue.maxOutputTokens,
55
- temperature: 1,
56
- providerOptions: {
57
- [provider]: Object.assign({}, (provider === shared_1.AIProviderName.OPENAI ? { reasoning_effort: 'minimal' } : {}))
58
- }
59
- });
60
- return (_a = response.text) !== null && _a !== void 0 ? _a : '';
61
- });
62
- },
63
- });
64
- //# sourceMappingURL=summarize-text.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summarize-text.js","sourceRoot":"","sources":["../../../../../src/lib/actions/text/summarize-text.ts"],"names":[],"mappings":";;;;AAAA,iDAAsD;AACtD,gDAAoD;AACpD,qEAAwE;AACxE,2BAAkC;AAClC,8CAA6C;AAEhC,QAAA,aAAa,GAAG,IAAA,+BAAY,EAAC;IACxC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,kEAAkE;IAC/E,KAAK,EAAE;QACL,QAAQ,EAAE,IAAA,eAAO,EAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ;QACjD,KAAK,EAAE,IAAA,eAAO,EAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK;QAC3C,IAAI,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACtB,WAAW,EAAE,MAAM;YACnB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACzB,WAAW,EAAE,QAAQ;YACrB,YAAY,EACV,sJAAsJ;YACxJ,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,eAAe,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAC/B,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,IAAI;SACnB,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;;YACf,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAEzC,MAAM,KAAK,GAAG,MAAM,IAAA,sBAAa,EAAC;gBAChC,QAAQ,EAAE,QAA0B;gBACpC,OAAO;gBACP,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;gBACjC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;gBAC7B,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC7B,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBAChC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE;aACtB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAY,EAAC;gBAClC,KAAK;gBACL,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,mCAAmC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE;qBAClG;iBACF;gBACD,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,eAAe;gBACnD,WAAW,EAAE,CAAC;gBACd,eAAe,EAAE;oBACf,CAAC,QAAQ,CAAC,oBACL,CAAC,QAAQ,KAAK,uBAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/E;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,MAAA,QAAQ,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC7B,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- export declare const classifyText: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").PieceAuthProperty, {
2
- provider: import("@activepieces/pieces-framework").DropdownProperty<string, true, undefined>;
3
- model: import("@activepieces/pieces-framework").DropdownProperty<string, true, undefined>;
4
- text: import("@activepieces/pieces-framework").LongTextProperty<true>;
5
- categories: import("@activepieces/pieces-framework").ArrayProperty<true>;
6
- }>;
7
- //# sourceMappingURL=classify-text.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"classify-text.d.ts","sourceRoot":"","sources":["../../../../../src/lib/actions/utility/classify-text.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY;;;;;EAkDvB,CAAC"}
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.classifyText = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const ai_1 = require("ai");
7
- const ai_sdk_1 = require("../../common/ai-sdk");
8
- const props_1 = require("../../common/props");
9
- exports.classifyText = (0, pieces_framework_1.createAction)({
10
- name: 'classifyText',
11
- displayName: 'Classify Text',
12
- description: 'Categorize any text input using custom labels, so your flow knows what to do next.',
13
- props: {
14
- provider: (0, props_1.aiProps)({ modelType: 'text' }).provider,
15
- model: (0, props_1.aiProps)({ modelType: 'text' }).model,
16
- text: pieces_framework_1.Property.LongText({
17
- displayName: 'Text to Classify',
18
- required: true,
19
- }),
20
- categories: pieces_framework_1.Property.Array({
21
- displayName: 'Categories',
22
- description: 'Categories to classify text into.',
23
- required: true,
24
- }),
25
- },
26
- run(context) {
27
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
28
- var _a;
29
- const categories = (_a = context.propsValue.categories) !== null && _a !== void 0 ? _a : [];
30
- const provider = context.propsValue.provider;
31
- const modelId = context.propsValue.model;
32
- const model = yield (0, ai_sdk_1.createAIModel)({
33
- provider: provider,
34
- modelId,
35
- engineToken: context.server.token,
36
- apiUrl: context.server.apiUrl,
37
- projectId: context.project.id,
38
- flowId: context.flows.current.id,
39
- runId: context.run.id,
40
- });
41
- const response = yield (0, ai_1.generateText)({
42
- model,
43
- prompt: `As a text classifier, your task is to assign one of the following categories to the provided text: ${categories.join(', ')}. Please respond with only the selected category as a single word, and nothing else.
44
- Text to classify: "${context.propsValue.text}"`,
45
- });
46
- const result = response.text.trim();
47
- if (!categories.includes(result)) {
48
- throw new Error('Unable to classify the text into the provided categories.');
49
- }
50
- return result;
51
- });
52
- },
53
- });
54
- //# sourceMappingURL=classify-text.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"classify-text.js","sourceRoot":"","sources":["../../../../../src/lib/actions/utility/classify-text.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,2BAAkC;AAClC,gDAAoD;AACpD,8CAA6C;AAGhC,QAAA,YAAY,GAAG,IAAA,+BAAY,EAAC;IACvC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,oFAAoF;IACjG,KAAK,EAAE;QACL,QAAQ,EAAE,IAAA,eAAO,EAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ;QACjD,KAAK,EAAE,IAAA,eAAO,EAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK;QAC3C,IAAI,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACtB,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,KAAK,CAAC;YACzB,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,mCAAmC;YAChD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;;YACf,MAAM,UAAU,GAAG,MAAC,OAAO,CAAC,UAAU,CAAC,UAAuB,mCAAI,EAAE,CAAC;YAErE,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAEzC,MAAM,KAAK,GAAG,MAAM,IAAA,sBAAa,EAAC;gBAChC,QAAQ,EAAE,QAA0B;gBACpC,OAAO;gBACP,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;gBACjC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;gBAC7B,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC7B,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBAChC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE;aACtB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAY,EAAC;gBAClC,KAAK;gBACL,MAAM,EAAE,sGAAsG,UAAU,CAAC,IAAI,CAC3H,IAAI,CACL;2BACoB,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG;aAChD,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAEpC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- export declare const extractStructuredData: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").PieceAuthProperty, {
2
- provider: import("@activepieces/pieces-framework").DropdownProperty<string, true, undefined>;
3
- model: import("@activepieces/pieces-framework").DropdownProperty<string, true, undefined>;
4
- text: import("@activepieces/pieces-framework").LongTextProperty<false>;
5
- files: import("@activepieces/pieces-framework").ArrayProperty<false>;
6
- prompt: import("@activepieces/pieces-framework").LongTextProperty<false>;
7
- mode: import("@activepieces/pieces-framework").StaticDropdownProperty<"simple" | "advanced", false> | import("@activepieces/pieces-framework").StaticDropdownProperty<"simple" | "advanced", true>;
8
- schema: import("@activepieces/pieces-framework").DynamicProperties<true, undefined>;
9
- maxOutputTokens: import("@activepieces/pieces-framework").NumberProperty<false>;
10
- }>;
11
- //# sourceMappingURL=extract-structured-data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extract-structured-data.d.ts","sourceRoot":"","sources":["../../../../../src/lib/actions/utility/extract-structured-data.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB;;;;;;;;;EAqRhC,CAAC"}