@activepieces/piece-deepl 0.0.1

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/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # pieces-deepl
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build pieces-deepl` to build the library.
package/package.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "@activepieces/piece-deepl",
3
+ "version": "0.0.1",
4
+ "dependencies": {
5
+ "@sinclair/typebox": "^0.26.3",
6
+ "axios": "1.4.0",
7
+ "dayjs": "^1.11.8",
8
+ "is-base64": "^1.1.0",
9
+ "nanoid": "^3.3.4",
10
+ "semver": "7.5.3",
11
+ "@activepieces/pieces-common": "0.2.1",
12
+ "@activepieces/pieces-framework": "0.6.7",
13
+ "@activepieces/shared": "0.5.11",
14
+ "tslib": "1.14.1"
15
+ },
16
+ "main": "./src/index.js",
17
+ "types": "./src/index.d.ts"
18
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export declare const deeplAuth: import("@activepieces/pieces-framework").CustomAuthProperty<true, {
2
+ key: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ type: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
4
+ }>;
5
+ export declare const deepl: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").CustomAuthProperty<true, {
6
+ key: import("@activepieces/pieces-framework").ShortTextProperty<true>;
7
+ type: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
8
+ }>>;
package/src/index.js ADDED
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deepl = exports.deeplAuth = void 0;
4
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
5
+ const translate_text_1 = require("./lib/actions/translate-text");
6
+ const markdownDescription = `
7
+ Follow these instructions to get your DeepL API Key:
8
+
9
+ 1. Log in to your DeepL account.
10
+ 2. Visit https://www.deepl.com/account/summary
11
+ 3. Go to the API section and obtain your DeepL API Key.
12
+ `;
13
+ exports.deeplAuth = pieces_framework_1.PieceAuth.CustomAuth({
14
+ displayName: 'Authentication',
15
+ description: markdownDescription,
16
+ props: {
17
+ key: pieces_framework_1.Property.ShortText({
18
+ displayName: 'Api key',
19
+ description: 'Enter the api key',
20
+ required: true,
21
+ }),
22
+ type: pieces_framework_1.Property.StaticDropdown({
23
+ displayName: 'Api url',
24
+ description: 'Select api url',
25
+ required: true,
26
+ options: {
27
+ options: [
28
+ {
29
+ label: 'Free API',
30
+ value: 'free'
31
+ },
32
+ {
33
+ label: 'Paid API',
34
+ value: 'paid'
35
+ }
36
+ ]
37
+ }
38
+ })
39
+ },
40
+ required: true
41
+ });
42
+ exports.deepl = (0, pieces_framework_1.createPiece)({
43
+ displayName: "DeepL",
44
+ auth: exports.deeplAuth,
45
+ minimumSupportedRelease: '0.6.0',
46
+ logoUrl: "https://cdn.activepieces.com/pieces/deepl.png",
47
+ authors: ['BBND'],
48
+ actions: [translate_text_1.translateText],
49
+ triggers: [],
50
+ });
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pieces/deepl/src/index.ts"],"names":[],"mappings":";;;AACA,qEAAkF;AAClF,iEAA6D;AAE7D,MAAM,mBAAmB,GAAG;;;;;;CAM3B,CAAA;AACY,QAAA,SAAS,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC5C,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,mBAAmB;IAChC,KAAK,EAAE;QACH,GAAG,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACpB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,IAAI,EAAE,2BAAQ,CAAC,cAAc,CAAC;YAC5B,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACL,OAAO,EAAE;oBACL;wBACI,KAAK,EAAE,UAAU;wBACjB,KAAK,EAAE,MAAM;qBAChB;oBACD;wBACI,KAAK,EAAE,UAAU;wBACjB,KAAK,EAAE,MAAM;qBAChB;iBACJ;aACJ;SACJ,CAAC;KACH;IACD,QAAQ,EAAE,IAAI;CACf,CAAC,CAAA;AAEW,QAAA,KAAK,GAAG,IAAA,8BAAW,EAAC;IAC/B,WAAW,EAAE,OAAO;IACpB,IAAI,EAAE,iBAAS;IACf,uBAAuB,EAAE,OAAO;IAChC,OAAO,EAAE,+CAA+C;IACxD,OAAO,EAAE,CAAC,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,8BAAa,CAAC;IACxB,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare const translateText: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<true, {
2
+ key: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ type: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
4
+ }>, {
5
+ text: import("@activepieces/pieces-framework").LongTextProperty<true>;
6
+ target_lang: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
7
+ source_lang: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
8
+ split_sentences: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
9
+ preserve_formatting: import("@activepieces/pieces-framework").StaticDropdownProperty<boolean, false>;
10
+ formality: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
11
+ glossary_id: import("@activepieces/pieces-framework").ShortTextProperty<false>;
12
+ tag_handling: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
13
+ outline_detection: import("@activepieces/pieces-framework").StaticDropdownProperty<boolean, false>;
14
+ non_splitting_tags: import("@activepieces/pieces-framework").ShortTextProperty<false>;
15
+ splitting_tags: import("@activepieces/pieces-framework").ShortTextProperty<false>;
16
+ ignore_tags: import("@activepieces/pieces-framework").ShortTextProperty<false>;
17
+ }>;
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.translateText = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const __1 = require("../..");
8
+ exports.translateText = (0, pieces_framework_1.createAction)({
9
+ name: 'translate_text',
10
+ auth: __1.deeplAuth,
11
+ displayName: 'Translate text',
12
+ description: 'Translate a text to the target language',
13
+ props: {
14
+ text: pieces_framework_1.Property.LongText({
15
+ displayName: 'Text',
16
+ required: true,
17
+ description: 'Text to be translated. Only UTF-8-encoded plain text is supported.',
18
+ }),
19
+ target_lang: pieces_framework_1.Property.StaticDropdown({
20
+ displayName: 'Target language',
21
+ description: 'The language into which the text should be translated.',
22
+ required: true,
23
+ options: {
24
+ options: [
25
+ { value: 'BG', label: 'Bulgarian' },
26
+ { value: 'CS', label: 'Czech' },
27
+ { value: 'DA', label: 'Danish' },
28
+ { value: 'DE', label: 'German' },
29
+ { value: 'EL', label: 'Greek' },
30
+ { value: 'EN-GB', label: 'English (British)' },
31
+ { value: 'EN-US', label: 'English (American)' },
32
+ { value: 'ES', label: 'Spanish' },
33
+ { value: 'ET', label: 'Estonian' },
34
+ { value: 'FI', label: 'Finnish' },
35
+ { value: 'FR', label: 'French' },
36
+ { value: 'HU', label: 'Hungarian' },
37
+ { value: 'ID', label: 'Indonesian' },
38
+ { value: 'IT', label: 'Italian' },
39
+ { value: 'JA', label: 'Japanese' },
40
+ { value: 'KO', label: 'Korean' },
41
+ { value: 'LT', label: 'Lithuanian' },
42
+ { value: 'LV', label: 'Latvian' },
43
+ { value: 'NB', label: 'Norwegian' },
44
+ { value: 'NL', label: 'Dutch' },
45
+ { value: 'PL', label: 'Polish' },
46
+ { value: 'PT-BR', label: 'Portuguese (Brazilian)' },
47
+ { value: 'PT-PT', label: 'Portuguese' },
48
+ { value: 'RO', label: 'Romanian' },
49
+ { value: 'RU', label: 'Russian' },
50
+ { value: 'SK', label: 'Slovak' },
51
+ { value: 'SL', label: 'Slovenian' },
52
+ { value: 'SV', label: 'Swedish' },
53
+ { value: 'TR', label: 'Turkish' },
54
+ { value: 'UK', label: 'Ukrainian' },
55
+ { value: 'ZH', label: 'Chinese (simplified)' }
56
+ ]
57
+ }
58
+ }),
59
+ source_lang: pieces_framework_1.Property.StaticDropdown({
60
+ displayName: 'Source language',
61
+ description: 'Language of the text to be translated',
62
+ required: false,
63
+ options: {
64
+ options: [
65
+ { value: 'BG', label: 'Bulgarian' },
66
+ { value: 'CS', label: 'Czech' },
67
+ { value: 'DA', label: 'Danish' },
68
+ { value: 'DE', label: 'German' },
69
+ { value: 'EL', label: 'Greek' },
70
+ { value: 'EN', label: 'English' },
71
+ { value: 'ES', label: 'Spanish' },
72
+ { value: 'ET', label: 'Estonian' },
73
+ { value: 'FI', label: 'Finnish' },
74
+ { value: 'FR', label: 'French' },
75
+ { value: 'HU', label: 'Hungarian' },
76
+ { value: 'ID', label: 'Indonesian' },
77
+ { value: 'IT', label: 'Italian' },
78
+ { value: 'JA', label: 'Japanese' },
79
+ { value: 'KO', label: 'Korean' },
80
+ { value: 'LT', label: 'Lithuanian' },
81
+ { value: 'LV', label: 'Latvian' },
82
+ { value: 'NB', label: 'Norwegian' },
83
+ { value: 'NL', label: 'Dutch' },
84
+ { value: 'PL', label: 'Polish' },
85
+ { value: 'PT', label: 'Portuguese' },
86
+ { value: 'RO', label: 'Romanian' },
87
+ { value: 'RU', label: 'Russian' },
88
+ { value: 'SK', label: 'Slovak' },
89
+ { value: 'SL', label: 'Slovenian' },
90
+ { value: 'SV', label: 'Swedish' },
91
+ { value: 'TR', label: 'Turkish' },
92
+ { value: 'UK', label: 'Ukrainian' },
93
+ { value: 'ZH', label: 'Chinese' }
94
+ ]
95
+ }
96
+ }),
97
+ split_sentences: pieces_framework_1.Property.StaticDropdown({
98
+ displayName: 'Split sentences',
99
+ description: 'Sets whether the translation engine should first split the input into sentences. For text translations where tag_handling is not set to html, the default value is 1, meaning the engine splits on punctuation and on newlines.',
100
+ required: false,
101
+ options: {
102
+ options: [
103
+ { value: '0', label: 'No splitting at all, whole input is treated as one sentence' },
104
+ { value: '1', label: 'Splits on punctuation and on newlines' },
105
+ { value: 'nonewlines', label: 'Splits on punctuation only, ignoring newlines' }
106
+ ]
107
+ }
108
+ }),
109
+ preserve_formatting: pieces_framework_1.Property.StaticDropdown({
110
+ displayName: 'Preserve formatting',
111
+ description: 'Sets whether the translation engine should respect the original formatting, even if it would usually correct some aspects.',
112
+ required: false,
113
+ options: {
114
+ options: [
115
+ { value: true, label: 'Yes' },
116
+ { value: false, label: 'No' }
117
+ ]
118
+ }
119
+ }),
120
+ formality: pieces_framework_1.Property.StaticDropdown({
121
+ displayName: 'Formality',
122
+ description: 'Sets whether the translated text should lean towards formal or informal language.',
123
+ required: false,
124
+ options: {
125
+ options: [
126
+ { value: 'default', label: 'Default' },
127
+ { value: 'more', label: 'For a more formal language' },
128
+ { value: 'less', label: 'For a more informal language' },
129
+ { value: 'prefer_more', label: 'For a more formal language if available, otherwise fallback to default formality' },
130
+ { value: 'prefer_less', label: 'For a more informal language if available, otherwise fallback to default formality' },
131
+ ]
132
+ }
133
+ }),
134
+ glossary_id: pieces_framework_1.Property.ShortText({
135
+ displayName: 'Glossary id',
136
+ description: 'Specify the glossary to use for the translation.',
137
+ required: false
138
+ }),
139
+ tag_handling: pieces_framework_1.Property.StaticDropdown({
140
+ displayName: 'Tag handling',
141
+ description: 'Sets which kind of tags should be handled.',
142
+ required: false,
143
+ options: {
144
+ options: [
145
+ { value: 'xml', label: 'Enable XML tag handling' },
146
+ { value: 'html', label: 'Enable HTML tag handling' },
147
+ ]
148
+ }
149
+ }),
150
+ outline_detection: pieces_framework_1.Property.StaticDropdown({
151
+ displayName: 'Outline detection',
152
+ description: "The automatic detection of the XML structure won't yield best results in all XML files.",
153
+ required: false,
154
+ options: {
155
+ options: [
156
+ { value: true, label: 'Yes' },
157
+ { value: false, label: 'No' }
158
+ ]
159
+ }
160
+ }),
161
+ non_splitting_tags: pieces_framework_1.Property.ShortText({
162
+ displayName: 'Non splitting tags',
163
+ description: 'Comma-separated list of XML or HTML tags.',
164
+ required: false
165
+ }),
166
+ splitting_tags: pieces_framework_1.Property.ShortText({
167
+ displayName: 'Splitting tags',
168
+ description: 'Comma-separated list of XML or HTML tags.',
169
+ required: false
170
+ }),
171
+ ignore_tags: pieces_framework_1.Property.ShortText({
172
+ displayName: 'Ignore tags',
173
+ description: 'Comma-separated list of XML or HTML tags.',
174
+ required: false
175
+ }),
176
+ },
177
+ sampleData: {
178
+ "translations": [
179
+ {
180
+ "detected_source_language": "EN",
181
+ "text": "Hallo, Welt!"
182
+ }
183
+ ]
184
+ },
185
+ run(context) {
186
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
187
+ const DEEPL_FREE_URL = "https://api-free.deepl.com/v2/translate";
188
+ const DEEPL_PAID_URL = "https://api.deepl.com/v2/translate";
189
+ const { text, target_lang, source_lang, split_sentences, preserve_formatting, formality, glossary_id, tag_handling, outline_detection, non_splitting_tags, splitting_tags, ignore_tags } = context.propsValue;
190
+ const request = yield pieces_common_1.httpClient.sendRequest({
191
+ method: pieces_common_1.HttpMethod.POST,
192
+ url: (context.auth.type === 'free') ? DEEPL_FREE_URL : DEEPL_PAID_URL,
193
+ headers: {
194
+ 'Authorization': `DeepL-Auth-Key ${context.auth.key}`,
195
+ 'Content-Type': 'application/json'
196
+ },
197
+ body: {
198
+ text: [
199
+ text
200
+ ],
201
+ target_lang: target_lang,
202
+ source_lang: source_lang,
203
+ split_sentences: split_sentences,
204
+ preserve_formatting: preserve_formatting,
205
+ formality: formality,
206
+ glossary_id: glossary_id,
207
+ tag_handling: tag_handling,
208
+ outline_detection: outline_detection,
209
+ non_splitting_tags: non_splitting_tags === null || non_splitting_tags === void 0 ? void 0 : non_splitting_tags.split(','),
210
+ splitting_tags: splitting_tags === null || splitting_tags === void 0 ? void 0 : splitting_tags.split(','),
211
+ ignore_tags: ignore_tags === null || ignore_tags === void 0 ? void 0 : ignore_tags.split(',')
212
+ }
213
+ });
214
+ return request.body;
215
+ });
216
+ },
217
+ });
218
+ //# sourceMappingURL=translate-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translate-text.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/deepl/src/lib/actions/translate-text.ts"],"names":[],"mappings":"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"}